KR19990045059A - 캐시 메모리 시스템 - Google Patents

캐시 메모리 시스템 Download PDF

Info

Publication number
KR19990045059A
KR19990045059A KR1019980047422A KR19980047422A KR19990045059A KR 19990045059 A KR19990045059 A KR 19990045059A KR 1019980047422 A KR1019980047422 A KR 1019980047422A KR 19980047422 A KR19980047422 A KR 19980047422A KR 19990045059 A KR19990045059 A KR 19990045059A
Authority
KR
South Korea
Prior art keywords
cache
controller
memory
data
dma
Prior art date
Application number
KR1019980047422A
Other languages
English (en)
Other versions
KR100327854B1 (ko
Inventor
가즈오 구마키리
Original Assignee
가네꼬 히사시
닛본 덴기 가부시끼가이샤
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 가네꼬 히사시, 닛본 덴기 가부시끼가이샤 filed Critical 가네꼬 히사시
Publication of KR19990045059A publication Critical patent/KR19990045059A/ko
Application granted granted Critical
Publication of KR100327854B1 publication Critical patent/KR100327854B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0862Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with prefetch
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0844Multiple simultaneous or quasi-simultaneous cache accessing
    • G06F12/0846Cache with multiple tag or data arrays being simultaneously accessible
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/1027Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
    • G06F12/1045Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB] associated with a data cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/60Details of cache memory
    • G06F2212/6028Prefetching based on hints or prefetch instructions

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

본 발명은 특별한 하드웨어의 추가 없이 사용자가 미리 캐시 메모리를 갱신할 수 있는 캐시 메모리 시스템을 제공하는 것이다. 캐시 메모리 시스템은 복수의 뱅크로 구성되는 캐시 메모리, 명령에 의해 지시되는 갱신 명령을 발생하는 캐시 컨트롤러, 및 데이터를 전송하는 DMA 컨트롤러를 포함한다. 캐시 컨트롤러는 중앙 처리 장치로부터의 캐시 갱신 명령이 저장된 커맨드 레지스터를 갖는다. 캐시 미스가 발생할 때, 또는 데이터가 커맨드 레지스터에 기록된 것을 캐시 컨트롤러가 검출하였을 때, 캐시 컨트롤러는 DMA 컨트롤러에 DMA 전송 명령을 발생한다.

Description

캐시 메모리 시스템
<발명이 속하는 기술 분야>
본 발명은 캐시 메모리 시스템에 관한 것이다.
<관련되는 기술>
마이크로프로세서(microprocessor)의 고속화에 따라, 메모리에 대한 억세스 속도 향상을 위해 계층 구조의 캐시 메모리의 사용이 많아지고 있다. 억세스될 데이터가 캐시 메모리 시스템의 캐시 메모리내에 없을 경우에, 캐시 메모리로부터 데이터를 얻기 위한 시도는, 미스 히트(miss hit)가 발생되고, 메인 메모리로부터 캐시 메모리에 데이터 전송이 행해진다. 그러므로, 원하는 데이터가 캐시 메모리에 없을 경우, 프로세서는 메인 메모리에서 캐시 메모리로 데이터 전송이 완료될 때까지 처리를 중지하여야 하므로 처리 능력이 저하된다.
캐시 메모리의 히트율을 높이기 위해, 여러 가지 방법이 제안되었다. 예를 들면, 일본 특개평4-190438에 공개된 방법에 의하면 브랜치 어드레스들(branch addresses)에서 사용될 데이터를 미리 캐시 메모리에 가져오기 이전에 프로그램의 실행 흐름을 먼저 판독하는 방법이다.
도 3은 종래의 캐시 메모리 구성을 나타내는 블록도다. 도 3에 나타내는 바와 같은 중앙 처리 장치(CPU)(301)는 어드레스 버스(311) 및 데이터 버스(321)를 통해 캐시 메모리(CM)(303)와 캐시 컨트롤러(CMC)(304)에 접속된다. 보조 처리 장치(SPU)(302)는 어드레스 버스(312) 및 데이터 버스(321)를 통해 캐시 컨트롤러(CMC)(304)에 접속되고, 데이터 버스(321)를 통해 캐시 메모리(CM)(303)에 접속된다. 보조 처리 장치(302)는, 데이터 버스(321)를 통해 중앙 처리 장치(CPU)(301)에 접속되는 명령들을 모니터한다. 컴파일러에 의해 자동적으로 삽입된 점프 명령 이전의 캐시 갱신 데이터를 검출하면, 보조 처리 장치(302)는 캐시 컨트롤러(CMC)(304)에 캐시 메모리의 갱신을 알린다. 캐시 컨트롤러(CMC)(304)는 자신이 캐시 메모리를 갱신하지 않는다. 대신에, 캐시 컨트롤러(CMC)(304)는 DMA 컨트롤러(305)에 갱신 어드레스 정보를 통과시키고, 그로 인해, 어드레스 정보에 의해 표시되는 캐시 메모리(303)내의 위치로 메인 메모리(306)로부터의 데이터 전송을 시작한다. 이러한 캐시 갱신 명령은 중앙 처리 장치(CPU)(301)에는 무의미하므로 무시된다. 그후, 점프 명령에 대한 제어가 통과될 때, 데이터가 메인 메모리(306)로부터 캐시 메모리(CM)(303)에 미리 되었기 때문에 히트 미스(hit miss)는 발생하지 않는다.
다른 제안된 방법은, 미리 미스 히트를 발견하여 컨트롤러(CMC)(304)가 캐시 메모리를 갱신할 수 있도록 보조 처리 장치(SPU)(302)는 현재 명령 이전의 여러 명령들로 이루어진 명령을 인출(fetch)하는 것이다.
캐시 메모리의 일반적인 메커니즘은 예를 들어, 닛케이 BP(Nikkei BP)의 "컴퓨터 구성 및 설계(Computer Configuration and Design)"에 기재되어 있다.
그러나, 상술한 종래 기술은 다음과 같은 문제들이 있다.
제 1 문제점에 있어서, 종래 기술에 따른 시스템은 프로그램들을 모니터하기 위해 특별히 설계된 하드웨어가 필요하고, 그로 인해 회로 규모가 커진다.
제 2 문제점에 있어서, 현재 명령 이전의 몇 개의 명령들로 이루어진 명령을 판독하기 위해서는 2개 이상의 포트를 갖는 메모리가 필요하다. 보통, 2개 이상의 포트가 있는 메모리는 커진다.
제 3 문제점에 있어서, 현재의 명령 이전에 여러 명령들이 있는 위치에 갱신 명령이 컴파일러에 의해 자동적으로 삽입되어 있기 때문에, 캐시 메모리 갱신 시작 시간을 자유롭게 설정할 수 없다. 그러므로, 심지어, 캐시 메모리의 블록 크기 또는 메인 메모리의 억세스 시간의 증가로 인하여 더 이상 캐시 메모리를 갱신할 수 없음을 발견해도, 캐시 메모리 갱신을 조기에 시작할 수 없다. 이로 인해, 때때로, 캐시 메모리의 갱신은 선정된 시간내에 완전하게 이루어지지 않는다.
제 4 문제점에 있어서, 컴파일러의 이용을 통해 현재의 명령 이전에 여러 명령들의 위치에 점프 명령을 자동적으로 삽입하는 방법은, 빌트-인 기능(function built-in)을 갖는 컴파일러가 필요하며, 이는 컴파일러 등의 개발 도구(tool)의 개발 비용이 증가하게 된다.
도 1은 본 발명의 한 실시예의 구성을 도시한 블록도.
도 2는 본 발명의 제 1 도의 실시예에 이용된 커맨드 레지스터의 구성예를 도시한 도면.
도 3은 종래 기술에 따른 캐시 메모리 시스템을 도시한 블록도.
*도면의 주요 부분에 대한 부호의 설명*
1: 중앙 처리 장치(CPU) 2: 캐시 컨트롤러
3: 캐시 메모리 5: 메인 메모리
<발명의 요약>
본 발명은 상술한 종래 기술에 관련된 문제점을 해결하는 것이다. 본 발명의 목적은, 구성된 메인 메모리 또는 캐시 메모리의 구성에 기초하고, 추가 컴파일러 기능 없이 또는, 명령들을 모니터하기 위한 특별한 장치 없이 캐시 메모리를 효과적으로 갱신하는 캐시 메모리 시스템을 제공하는 것이다.
상기 목적을 달성하기 위해, 본 발명은 복수의 뱅크로 구성되는 메모리와, 중앙 처리 장치의 지시로 캐시 갱신 명령을 다이렉트 메모리 억세스(direct memory access)(DMA) 컨트롤러에 전송하는 캐시 컨트롤러와, 상기 캐시 컨트롤러로부터 수신된 명령에 따라 메인 메모리에서 캐시 메모리로 데이터를 전송하는 DMA 컨트롤러를 포함하는 캐시 메모리 시스템을 제공한다.
(양호한 실시예의 상세한 설명)
본 발명의 양호한 실시예에 대해 상세하게 설명한다. 양호한 실시예에 있어서, 본 발명에 따른 캐시 메모리 시스템은 복수의 뱅크로 이루어지는 캐시 메모리(도 1의 3)와, 중앙 처리 장치(1)의 지시로 DMA 컨트롤러(도 1의 4)에 캐시 갱신 명령을 전송하는 캐시 컨트롤러(도 1의 2)를 포함한다. DMA 컨트롤러(4)는 DMA 모드에서 캐시 메모리(도 1의 3)와 메인 메모리(도 1의 5)의 사이에서 데이터를 전송한다.
양호한 실시예에 있어서, 본 발명에 따른 캐시 메모리는, 각각 다른 자원으로부터 동시에 억세스할 수 있는 복수의 뱅크를 포함한다.
양호한 실시예에 있어서, 중앙 처리 장치(1)가 갱신될 메모리 뱅크를 사용하지 않는 경우, 본 발명에 따른 캐시 메모리 시스템은 중앙 처리 장치(1)의 처리를 정지시키지 않고 중앙 처리 장치의 처리와 동시에, 메모리 뱅크와 메인 메모리 사이에 데이터를 전송시킬 수 있다.
양호한 실시예에 있어서, 중앙 처리 장치(1)가 갱신될 메모리 뱅크를 사용하는 경우, 본 발명에 의한 캐시 메모리 시스템은 캐시 메모리에 대한 억세스를 조정하는데, 예를 들어, 다른 뱅크(또는 남아있는 뱅크)가 억세스될 수 있도록 뱅크들에 대한 액세스를 조정한다.
본 발명의 실시예와 도면을 참조하여 보다 자세하게 설명한다.
도 1은 본 발명의 구성예를 도시한 도면이다. 도 1을 참조하면, 본 발명의 예에 이용된 마이크로프로세서는 중앙 처리 장치(CPU)(1), 어드레스 버스(11) 및 데이터 버스(12)를 통해 중앙 처리 장치(1)에 접속된 캐시 메모리(3), 캐시 컨트롤러(2), DMA 컨트롤러(4) 및, 메인 메모리(5)를 포함한다.
캐시 메모리(3)는 DMA 어드레스 버스(21) 및 DMA 데이터 버스(22)를 통해 DMA 컨트롤러(4)에 접속된다. 또한 DMA 컨트롤러(4)를 활성화하기 위한 신호선(24)은 캐시 컨트롤러(2)에서 DMA 컨트롤러(4)로 연결되어 있다.
DMA 컨트롤러(4)는 외부 어드레스 버스(41) 및 외부 데이터 버스(42)를 통해 메인 메모리와 접속된다. 처리 정지 신호선(7)은 캐시 컨트롤러(2)에서 중앙 처리 장치(1)에 접속되어 있다.
캐시 컨트롤러(2)는 캐시 메모리(3)를 복수의 블록으로 분할하고, 각각의 블록은 한번에 갱신되는 다수의 워드(word)로 구성된다. 블록 관리에 사용하기 위해, 블록 관리용 태그(tag) 메모리(도시하지 않음)가 제공된다.
태그 메모리는 캐시 메모리(3)내의 내용을 저장하는 각각의 블록의 어드레스의 선정된 비트수를 포함한다. 어드레스가 중앙 처리 장치(1)로부터 전송될 때, 어드레스의 태그 부분은 캐시 메모리(3)내의 내용을 저장하는 대응하는 블록이 식별될 수 있도록 태그 메모리에 저장된다.
또한, 캐시 컨트롤러(2)는 중앙 처리 장치(1)로부터의 캐시 갱신 명령이 저장되는 커맨드 레지스터를 갖는다. 캐시 미스의 발생 또는, 커맨드 레지스터에 데이터가 기록되는 것이 검출될 때, DMA 컨트롤러(4)에는 DMA 전송 명령이 발생된다.
상기 복수의 뱅크로 구성된 캐시 메모리(3)는 메인 메모리(5) 보다 속도가 빠르다. 다중화기(61, 62, 63 및 64)는 각각의 뱅크가 데이터의 전송에 관련된 장치를 선택할 수 있도록 캐시 메모리(3)에 접속되어 있다. 비록 도 1에는 뱅크의 수가 단지 2개를 도시하고 있지만, 그 뱅크의 수는 2개로 한정하지 않는다.
DMA 컨트롤러(4)는 캐시 컨트롤러로부터의 명령을 수신함에 따라 동작을 시작한다. 동시에, DMA 컨트롤러(4)는 소스 데이터[메인 메모리(5)내의 소스 데이터의 시작 어드레스와 원본 데이터의 워드 수]상의 정보와, 착신지(destination location)[데이터가 전송될 캐시 메모리(3)의 착신지의 시작 어드레스]상의 정보를 수신한다.
DMA 컨트롤러(4)는 데이터를 중앙 처리 장치(1) 또는 캐시 컨트롤러(2)를 통하지 않고, 직접 캐시 메모리(3)에 전송한다.
도 2는 캐시 컨트롤러(2)내의 커맨드 레지스터의 예를 도시한 도면이다. 도 2에 나타내는 바와 같이, 커맨드 레지스터는 캐시 갱신 시작 어드레스 필드와 블록수의 필드로 이루어져 있다.
본 예의 동작에 대해 이하에 기술한다.
도 1을 참조하면, 중앙 처리 장치(1)가 데이터를 판독할 때, 어드레스 버스(11)를 통해 어드레스를 캐시 메모리(3) 및 캐시 컨트롤러(2)에 전송한다.
캐시 컨트롤러(2)는, 중앙 처리 장치(1)로부터의 어드레스의 일부를 받고, 캐시 메모리(3)내에 원하는 데이터가 있는지 판정하기 위해 태그 메모리를 조회한다.
원하는 데이터가 발견되었을 때, 중앙 처리 장치(1)는 캐시 메모리(3)로부터 그 데이터를 판독한다. 한편, 캐시 메모리(3)내에 원하는 데이터가 없을 경우, 캐시 컨트롤러(2)는 중앙 처리 장치의 처리를 정지시키고, 태그 메모리를 갱신하고, DMA 컨트롤러(4)에 캐시 메모리 갱신 정보(원하는 데이터를 포함하는 블록의 시작 어드레스와 전송될 워드 수 및, 데이터가 전송되는 캐시 메모리내의 시작 어드레스)를 전송하고 캐시 메모리(3)를 갱신한다.
캐시 컨트롤러(2)로부터의 명령을 수신함에 따라, DMA 컨트롤러(4)는 메인 메모리(5)에서 캐시 메모리(3)로 데이터를 전송한다.
원하는 데이터를 포함하는 블록의 전송이 완료되었을 때, 캐시 컨트롤러(2)는 중앙 처리 장치(1)의 처리를 재개시 한다.
캐시 메모리(3)를 미리 갱신하기 위해, 중앙 처리 장치(1)는 커맨드 데이터 전송 명령을 실행한다. 이 명령은, 다른 명령들 사이에 사용자에 의해 코드화되어 삽입된 명령으로, 캐시 컨트롤러(2)로부터 메모리에 매핑(mapping)된 커맨드 레지스터에 커맨드 데이터를 전송한다.
캐시 컨트롤러(2)는 커맨드 레지스터내의 시작 어드레스 데이터로부터 블록 시작 어드레스를 발생하고, 또한, 커맨드 레지스터내의 블록수 데이터로부터 전송 워드수를 발생한다. 그러면, 통상적인 캐시 휠(fill) 동작에서처럼, 캐시 컨트롤러(2)는 로드(load)될 블록의 시작 어드레스와 전송될 워드수, 및 데이터가 전송될 캐시 메모리내의 대응하는 블록의 시작 어드레스를 DMA 컨트롤러(4)에 전송한다. DMA 컨트롤러(4)가 데이터를 전송할 때, 캐시 메모리(3)는 갱신된다. 이때, 중앙 처리 장치(1)에 접속된 다중화기(63 및 64)는 데이터가 전송될 캐시 메모리내의 뱅크에 데이터를 수신하기 위해 DMA 컨트롤러(4)에 접속되도록 전환된다.
또한, 갱신 명령에 기초하여, 캐시 컨트롤러(2)는 내부 태그 메모리의 내용을 갱신될 블록에 대응하는 태그로 변경한다. 이러한 전송은, 캐시 컨트롤러(2)와 DMA 컨트롤러(4) 사이에서 실행되고, 중앙 처리 장치(1)에 영향을 끼치지 않는다.
데이터가 전송될 캐시 메모리(3)내의 뱅크가 중앙 처리 장치에 의해 이용되지 않는다면, 전송은 중앙 처리 장치(1)의 처리와 동시에 행해질 수 있고, 그에 따라, 중앙 처리 장치(1)는 정지할 필요가 없다. 그러나, 갱신될 캐시 메모리(3)내의 뱅크가 중앙 처리 장치(1)에 의해 이용되는 경우에, 중앙 처리 장치(1)의 억세스와 DMA 컨트롤러(4)의 억세스는 조정되어야 한다.
예를 들면, 액세스 조정은 캐시 메모리가 갱신될 때까지 인가되는 중앙 처리 장치(1)에 대한 처리 중지 신호를 유지하여 행해진다. 이 방법은 갱신 명령이 발행되는 시간에 따라 지연 시간동안 중앙 처리 장치(1)가 정지된 상태로 될 수 있어도, 실패 없이 프로그램이 완료될 수 있도록 보장한다.
다른 조정 방법은 중앙 처리 장치(1)의 처리가 종료될 때까지 캐시 메모리의 억세스로부터 DMA 컨트롤러(4)를 보호한다.
본 발명에 따른 캐시 시스템은 다음과 같은 강점이 있다.
본 발명의 제 1 강점에 있어서, 캐시 시스템에 프로그램을 모니터하기 위한 특별한 장치가 필요 없으므로, 회로의 사이즈를 줄일 수 있다.
본 발명의 제 2 강점에 있어서, 상기 캐시 시스템은 하드웨어 사이즈의 증가를 방지한다. 이는 캐시 시스템이 2개 이상의 포트를 갖는 메모리를 사용하지 않기 때문이다.
본 발명의 제 3 강점에 있어서, 캐시 메모리의 갱신 시작 시간은 자유롭게 설정될 수 있는 점이다.
그 이유는, 사용자가 캐시 메모리를 갱신하기 위해 언제라도 커맨드 레지스터내의 데이터 전송 명령을 지정할 수 있기 때문이다. 그러므로, 캐시 메모리의 뱅크 사이즈가 증가할 때, 또는 메인 메모리의 억세스 시간이 변경될 때, 캐시 메모리의 갱신이 완료될 수 있을 만큼 커맨드 데이터 전송 명령을 미리 지정할 수 있다.
본 발명의 제 4 강점에 있어서, 캐시 시스템은 추가적인 컴파일러를 필요로 하지 않으므로 추가적인 개발 비용을 요하지 않는다.
본 명세서에 기술되고 첨부된 특허 청구 범위에 기재된 본 발명의 요지 및 범위에 벗어나지 않고 본 기술 분야에서 수정안이 있을 수 있음을 주목한다.

Claims (9)

  1. 복수의 뱅크로 구성되는 메모리와,
    중앙 처리 장치(CPU)의 지시로 캐시 갱신 명령을 DMA(direct memory access) 컨트롤러에 전송하는 캐시 컨트롤러를 포함하는 캐시 메모리 시스템에 있어서,
    상기 DMA 컨트롤러는 상기 캐시 컨트롤러로부터 수신된 명령에 따라 메인 메모리와 캐시 메모리 사이에 데이터를 전송하는 캐시 메모리 시스템.
  2. 제 1 항에 있어서, 상기 메모리의 복수의 뱅크는 각각 상이한 자원들에 의해 동시에 액세스될 수 있는 캐시 메모리 시스템.
  3. 제 1 항에 있어서, 갱신될 상기 복수의 뱅크중 한 뱅크가 중앙 처리 장치에 의해 사용되지 않을 경우, 상기 중앙 처리 장치의 처리를 정지시키지 않고, 상기 캐시 메모리와 상기 메인 메모리 사이에 데이터가 전송될 수 있는 캐시 메모리 시스템.
  4. 제 1 항에 있어서, 갱신될 상기 복수의 뱅크중 한 뱅크가 중앙 처리 장치에의해 사용되고 있을 경우, 상기 메모리는 상기 중앙 처리 장치와 상기 DMA 컨트롤러 사이의 뱅크들에 대한 억세스를 조정할 수 있도록 구성된 캐시 메모리 시스템.
  5. 제 1 항에 있어서, 상기 캐시 컨트롤러는 상기 중앙 처리 장치로부터의 캐시 갱신 데이터가 저장된 커맨드 레지스터를 갖고, 캐시의 미싱(cache missing)이 발생한 경우 또는 상기 캐시 컨트롤러가 상기 커맨드 레지스터에 기록된 데이터를 검출한 경우, 상기 DMA 컨트롤러에 DMA 전송 명령을 발생하는 캐시 메모리 시스템.
  6. 제 1 항에 있어서, 상기 중앙 처리 장치가 상기 캐시 컨트롤러내의 상기 커맨드 레지스터에 대해 커맨드 전송 명령을 실행하는 경우, 상기 캐시 컨트롤러는, 상기 커맨드 레지스터에 저장된 전송 블록수 데이터 및 시작 어드레스 데이터에 기초하여, 상기 DMA 컨트롤러에 DMA 전송 시작 명령을 발생하여, 상기 캐시 컨트롤러의 명령에 따라 상기 DMA 컨트롤러가 메인 메모리와 캐시 메모리 사이에 데이터를 전송하도록 하는 캐시 메모리 시스템.
  7. 제 1 항에 있어서, 상기 DMA 컨트롤러는 DMA 어드레스 버스와 DMA 데이터 버스를 통해 상기 메모리 뱅크들에 접속되는 캐시 메모리 시스템.
  8. 제 1 항에 있어서, 상기 CPU는 어드레스 버스와 데이터 버스를 통해 캐시 컨트롤러에 접속되고, 상기 CPU는 상기 메모리의 뱅크들에 더 연결되며, 상기 DMA 컨트롤러는 액세스 버스 및 데이터 버스를 통하여 상기 메인 메모리에 접속되는 캐시 메모리 시스템.
  9. 제 7 항에 있어서, 상기 다중화기는, 각각의 뱅크에 의해 데이터가 전송되는 장치를 선택할 수 있도록, 상기 뱅크들과 DMA 어드레스 버스 및 DMA 데이터 버스 사이에 삽입되어 상기 메모리의 뱅크들에 배치되어 있는 캐시 메모리 시스템.
KR1019980047422A 1997-11-07 1998-11-06 캐시메모리시스템 KR100327854B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP97-322068 1997-11-07
JP32206897A JP3289661B2 (ja) 1997-11-07 1997-11-07 キャッシュメモリシステム

Publications (2)

Publication Number Publication Date
KR19990045059A true KR19990045059A (ko) 1999-06-25
KR100327854B1 KR100327854B1 (ko) 2002-08-13

Family

ID=18139567

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019980047422A KR100327854B1 (ko) 1997-11-07 1998-11-06 캐시메모리시스템

Country Status (6)

Country Link
US (1) US6219759B1 (ko)
EP (1) EP0915424A3 (ko)
JP (1) JP3289661B2 (ko)
KR (1) KR100327854B1 (ko)
CN (1) CN1125401C (ko)
TW (1) TW390986B (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100940961B1 (ko) * 2004-03-24 2010-02-05 콸콤 인코포레이티드 내장형 디지털 신호 처리기용 캐시 메모리 시스템 및 캐시 제어기

Families Citing this family (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR19990049284A (ko) * 1997-12-12 1999-07-05 구본준 데이터 프로그램 장치
US6560674B1 (en) 1998-10-14 2003-05-06 Hitachi, Ltd. Data cache system
US6434649B1 (en) * 1998-10-14 2002-08-13 Hitachi, Ltd. Data streamer
US6574682B1 (en) * 1999-11-23 2003-06-03 Zilog, Inc. Data flow enhancement for processor architectures with cache
JP2001344153A (ja) 2000-05-30 2001-12-14 Nec Corp マルチプロセッサシステムのキャッシュメモリ制御装置
EP1182561B1 (en) * 2000-08-21 2011-10-05 Texas Instruments France Cache with block prefetch and DMA
US6799264B2 (en) * 2001-02-20 2004-09-28 Koninklijke Philips Electronics N.V. Memory accelerator for ARM processor pre-fetching multiple instructions from cyclically sequential memory partitions
US6754733B2 (en) * 2001-08-23 2004-06-22 Texas Instruments Incorporated Shared memory architecture for increased bandwidth in a printer controller
KR100541366B1 (ko) * 2002-07-19 2006-01-16 주식회사 하이닉스반도체 고속 데이터 억세스를 위한 디램
JP4837247B2 (ja) * 2003-09-24 2011-12-14 パナソニック株式会社 プロセッサ
CN100390755C (zh) * 2003-10-14 2008-05-28 中国科学院计算技术研究所 含有显式高速缓冲存储器的计算机微体系结构
CN1308840C (zh) * 2004-02-13 2007-04-04 联想(北京)有限公司 一种获取硬盘中数据的方法
US7657667B2 (en) * 2004-03-25 2010-02-02 International Business Machines Corporation Method to provide cache management commands for a DMA controller
JP4451717B2 (ja) 2004-05-31 2010-04-14 株式会社ソニー・コンピュータエンタテインメント 情報処理装置および情報処理方法
US7669009B2 (en) * 2004-09-23 2010-02-23 Intel Corporation Method and apparatus for run-ahead victim selection to reduce undesirable replacement behavior in inclusive caches
US8065459B2 (en) * 2006-05-17 2011-11-22 Nxp B.V. Multi-processing system and a method of executing a plurality of data processing tasks
JP2008090492A (ja) * 2006-09-29 2008-04-17 Fujitsu Ltd キャッシュコントローラ、マイクロプロセッサシステム、記憶装置
US7721066B2 (en) * 2007-06-05 2010-05-18 Apple Inc. Efficient encoding for detecting load dependency on store with misalignment
US20110004732A1 (en) * 2007-06-06 2011-01-06 3Leaf Networks, Inc. DMA in Distributed Shared Memory System
US8166213B2 (en) * 2007-11-21 2012-04-24 Microchip Technology Incorporated Controller with indirect accessible memory
US8069300B2 (en) * 2008-09-30 2011-11-29 Micron Technology, Inc. Solid state storage device controller with expansion mode
US8412862B2 (en) * 2008-12-18 2013-04-02 International Business Machines Corporation Direct memory access transfer efficiency
US8352646B2 (en) * 2010-12-16 2013-01-08 International Business Machines Corporation Direct access to cache memory
CN102955872B (zh) * 2011-08-31 2016-05-04 北京中电华大电子设计有限责任公司 具有参数传递功能的仿真器
US9098491B2 (en) * 2012-11-23 2015-08-04 Hong Kong Applied Science and Technology Research Institute Company Limited Method and system for performing data transfer with a flash storage medium
WO2014201961A1 (en) * 2013-06-20 2014-12-24 Silicon Motion, Inc. Control device and access system utilizing the same
CN104240756B (zh) 2013-06-20 2018-08-21 慧荣科技股份有限公司 控制装置及存取系统
US9239788B2 (en) * 2013-10-24 2016-01-19 Qualcomm Incorporated Split write operation for resistive memory cache
CN105786733B (zh) * 2014-12-26 2020-08-07 南京中兴新软件有限责任公司 一种写入tcam条目的方法及装置
US11048636B2 (en) * 2019-07-31 2021-06-29 Micron Technology, Inc. Cache with set associativity having data defined cache sets

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60258660A (ja) * 1984-06-05 1985-12-20 Fujitsu Ltd キヤシユメモリ制御方式
US5276852A (en) * 1990-10-01 1994-01-04 Digital Equipment Corporation Method and apparatus for controlling a processor bus used by multiple processor components during writeback cache transactions
JPH04190438A (ja) 1990-11-26 1992-07-08 Hitachi Ltd ディジタル処理システム
AU6410994A (en) * 1993-03-30 1994-10-24 Ast Research, Inc. Cache address strobe control logic for simulated bus cycle initiation
EP0803095A1 (en) 1994-10-14 1997-10-29 Silicon Graphics, Inc. Indexing and multiplexing of interleaved cache memory arrays
JPH08263424A (ja) * 1995-03-20 1996-10-11 Fujitsu Ltd コンピュータ装置
US5838943A (en) * 1996-03-26 1998-11-17 Advanced Micro Devices, Inc. Apparatus for speculatively storing and restoring data to a cache memory
US5802569A (en) * 1996-04-22 1998-09-01 International Business Machines Corp. Computer system having cache prefetching amount based on CPU request types
US6012106A (en) * 1997-11-03 2000-01-04 Digital Equipment Corporation Prefetch management for DMA read transactions depending upon past history of actual transfer lengths

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100940961B1 (ko) * 2004-03-24 2010-02-05 콸콤 인코포레이티드 내장형 디지털 신호 처리기용 캐시 메모리 시스템 및 캐시 제어기
US7769950B2 (en) 2004-03-24 2010-08-03 Qualcomm Incorporated Cached memory system and cache controller for embedded digital signal processor
US8316185B2 (en) 2004-03-24 2012-11-20 Qualcomm Incorporated Cached memory system and cache controller for embedded digital signal processor

Also Published As

Publication number Publication date
US6219759B1 (en) 2001-04-17
CN1217506A (zh) 1999-05-26
EP0915424A3 (en) 2000-10-04
JP3289661B2 (ja) 2002-06-10
EP0915424A2 (en) 1999-05-12
KR100327854B1 (ko) 2002-08-13
CN1125401C (zh) 2003-10-22
TW390986B (en) 2000-05-21
JPH11143775A (ja) 1999-05-28

Similar Documents

Publication Publication Date Title
KR100327854B1 (ko) 캐시메모리시스템
KR0154533B1 (ko) 데이타 프로세서
US5644788A (en) Burst transfers using an ascending or descending only burst ordering
US5247639A (en) Microprocessor having cache bypass signal terminal
AU637543B2 (en) Receiving buffer control system
US6138208A (en) Multiple level cache memory with overlapped L1 and L2 memory access
US5347643A (en) Bus system for coordinating internal and external direct memory access controllers
US5148526A (en) Data processing system with an enhanced cache memory control
US6865651B2 (en) Method and system for optimizing translation buffer recovery after a miss operation within a multi-processor environment
US6049852A (en) Preserving cache consistency in a computer system having a plurality of memories with overlapping address ranges
US8312216B2 (en) Data processing apparatus and data processing method
JPH1055276A (ja) 多重レベル分岐予測方法および装置
KR940005769B1 (ko) 캐쉬 메모리를 포함하는 멀티프로세서 시스템 및 그들사이의 데이타의 코히어런스를 유지하기 위한 캐쉬 메모리를 제어하는 방법
JP3162459B2 (ja) データ処理装置
JPS6250863B2 (ko)
KR930004433B1 (ko) 직접제어가 가능한 캐쉬메모리
JP2680293B2 (ja) データ処理装置及びキャッシュメモリ制御方法
JPH10222423A (ja) キャッシュメモリ制御方式
JP2791319B2 (ja) データ処理装置
JPH05265916A (ja) データ処理装置
JP2923273B2 (ja) データ処理システム
JPH06309229A (ja) データ処理装置
JPH02118860A (ja) キャッシュ・コントローラ
JPH05282207A (ja) キャッシュメモリ無効化制御方式
JPH0713865A (ja) キャッシュメモリ制御システム

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20070223

Year of fee payment: 6

LAPS Lapse due to unpaid annual fee