KR970004520B1 - 고속 메모리 제어방법 및 장치 - Google Patents
고속 메모리 제어방법 및 장치 Download PDFInfo
- Publication number
- KR970004520B1 KR970004520B1 KR1019930007118A KR930007118A KR970004520B1 KR 970004520 B1 KR970004520 B1 KR 970004520B1 KR 1019930007118 A KR1019930007118 A KR 1019930007118A KR 930007118 A KR930007118 A KR 930007118A KR 970004520 B1 KR970004520 B1 KR 970004520B1
- Authority
- KR
- South Korea
- Prior art keywords
- memory
- data
- cache
- controller
- buffer
- Prior art date
Links
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
Abstract
요약없음
Description
제1도는 종래의 메모리 관련 구성 블록도이다.
제2도는 본 발명의 구성도를 도시한 것이다.
제3도는 제2도에 도시한 메모리콘트롤러에 추가된 카피인버퍼 및 카피아웃버퍼의 일실시예에 해다아는 자세한 구성 블록도를 도시한 것이다.
제4A도는 중앙처리장치가 데이타처리를 하다가 캐쉬메모리 내부에 사용하고자 하는 데이타가 없는 경우, 즉 캐쉬미스가 발생한 경우, 본 발명에 따른 고속 메모리 제어방법의 흐름을 도시한 것이다.
제4B도는 중앙처리장치가 데이타처리를 하다가 캐쉬메모리 내부에 사용하고자 하는 데이타가 없는 경우, 즉 캐쉬미스가 발생한 경우에 해당 어드레스의 데이타가 이미 수정이 되어 캐쉬메모리의 데이타와 메인메모리의 데이타가 다른 경우에 대한 본 발명에 따른 고속 메모리 제어방법의 흐름을 도시한 것이다.
제4C도는 중앙처리장치가 처리하고자 하는 메인메모리의 데이타가 독출수정기입이 일어나야 할 경우에 대한 본 발명에 따른 고속 메모리 제어방법의 흐름을 도시한 것이다.
본 발명은 고속 메모리 제어방법 및 장치에 관한 것으로, 특히 메모리 억세스 수행능력을 향상시키기 위하여 프리페치 어드레스를 이용하여 메모리 콘트롤러 내부에 있는 버퍼를 데이타 경로로 사용함으로써 캐쉬메모리와 메인메모리간의 억세스 속도의 차이를 극복하여 시스템의 성능을 향상시키는 고속 메모리 제어방법 및 장치에 관한 것이다.
일반적으로 중앙처리장치의 처리속도에 비하면 메모리 억세스 속도는 1000배 정도 느리다고 볼수 있다. 즉, 아무리 좋은 중앙처리장치를 사용한다 하더라도 메모리 억세스 속도를 극복하지 못하는한, 별 쓸모가 없다는 말이다. 그래서, 메인메모리 장치와 더불어 사용되는 것이 캐쉬메모리인데, 이러한 캐쉬메모리는 소형의 버퍼메모리로서 메인메모리 장치의 억세스 타임보다 대략 5배 내지 10배 정도가 빠르다. 가상 메모리 시스템이 주변 메모리와 메인메모리 사이의 데이타 전송을 관리하는 반면, 캐쉬메모리는 메인메모리와 중앙처리장치사이의 정보교환관리를 관장한다고 보면 된다. 그러나, 캐쉬메모리를 사용함으로써 고속으로 메모리 억세스 수행은 가능하지만, 반면에 캐쉬메모리와 메인메모리 사이의 데이타 동일성 보장문제(Cache Coherency)가 대두되어서 시스템 전체 성능에 영향을 끼친다. 어러한 데이타 동일서 보장문제를 해결하기 위해서 보통 라이트-쓰루(Write-Through)방식을 이용하는데, 종래의 메모리 관련 구성 블럭도인 제1도를 가지고 이를 설명하고자 한다.
라이트-쓰루 방식이란 캐쉬메모리 데이타의 변경이 있을 때 마다 캐쉬메모리(14)와 메인메모리(12)의 데이타를 동일하게 하기 위해 상기 캐쉬메모리(14)와 메인메모리(12)의 데이타를 동시에 업데이트(update)하는 방식이다. 즉, 데이타가 변경이 되면 변경된 데이타를 메인메모리(12)와 캐쉬메모리(14)에 동시에 업데이트하는 방식이다. 따라서, 상기 라이트-쓰루 방식을 사용하는 경우는 변경된 데이타가 곧바로 메인메모리(12) 및 캐쉬메모리(14)에 반영되기 때문에 데이타 동일성 보장문제를 해결할 수 있다. 그러나, 변경이 있을때마다 메인메모리(12)와 캐쉬메모리(14)의 데이타 업데이트가 동시에 일어나기 때문에 메인메모리(12)의 메모리 억세스로 인한 지연(Latency)이 발생하여 고속 메모리 제어에 있어서 비효율적이다. 또한, 메인메모리(12)로부터 중앙처리장치(10)로 독출(read)하거나 중앙처리장치(10)로부터 메인메모리(12)로 기입(write)할 경우, 두가지 동작이 동시에 일어나면 버스상에서 서로 충돌이 일어나기 때문에 두 번에 걸쳐 메인메모리(12)를 억세스(access)해야하므로 한번에 독출과 기입의 동작이 일어날수 있는 경우보다는 메모리 지연이 발생하여 고속 메모리 제어에 있어서 중앙처리장치(10)의 실행속도저하를 초래한다. 이러한 Write-Through방식으로 인한 메인메모리의 독출/기입 동작시에 발생하는 메모리 지연을 극소화하고, 고속으로 메모리의 데이터를 독출/기입이 가능하도록 하는 고속 메모리 제어장치의 필요성이 대두되었다.
따라서 본 발명은 미리 페치(fetch)된 어드레스에 의한 데이타를 저장할 수 있는 버퍼들을 메모리 콘트롤러 내부에 둠으로써 메인메모리 억세스시 발생하는 메모리 지연을 극소화하여 메인메모리와 캐쉬메모리간의 억세스시간 차이를 줄여 시스템의 성능을 향상시키기 위한 고속 메모리 제어방법 및 장치를 제공하는데 그 목적이 있다.
상기 목적을 달성하기 위한, 중앙처리장치, 메인메모리, 캐쉬메모리, 상기 메인메모리를 제어하는 메모리콘트롤러 및 상기 캐쉬메모리를 제어하는 캐쉬콘트롤러를 구비한 컴퓨터 시스템에서, 상기 메모리콘트롤러가 상기 메인메모리로부터 상기 캐쉬메모리로 전달되는 데이타를 저장하기 위한 카피인버퍼 및 상기 캐쉬메모리로 부터 상기 메인메모리로 전달되는 데이타를 저장하기 위한 카피아웃버퍼를 구비하고 있을 때, 고속 메모리제어 방법은 캐쉬미스이고 해당 데이타의 상태가 더티가 아닐경우, 미스된 어드레스를 상기 캐쉬콘트롤러에 프리페치하고, 상기 캐쉬콘트롤러로부터 상기 메모리콘트롤러로부터 상기 메모리콘트롤러로 전달된 상기 프리페치 어드레스에 해당하는 데이타를 상기 메인메로리로부터 버스트모드로 억세스하여 상기 카피인버퍼에 저장하고, 사기 저장된 카피인버퍼를 캐쉬콘트롤러에 프리페치된 어드레스에 따라 상기 캐쉬메모리에 저장하는 과정; 캐쉬미스이고 해당 데이타의 상태가 더티일 경우, 상기 캐쉬콘트롤러로부터 상기 메모리 콘트롤러로 전달된 상기 캐쉬미스 어드레스에 해당하는 데이타를 상기 메인메모리에 억세스하고,상기 메인메모리를 억세스하는 동안 상기 캐쉬콘트롤러가 상기 캐쉬메모리의 더티메이터를 상기 카피아웃버퍼에 보내어 저장하게한 후, 상기 메인메모리로부터 억세스된 데이타를 카피인버퍼에 저장하여 상기 캐쉬콘트롤러가 상기 카피인버퍼에 저자된 데이타를 독출하여 상기 캐쉬메모리에 저장하는 과정; 및 상기 중앙처리장치가 상기 메인메모리의 데이타를 독출수정기입(RMW)할 경우, 상기 캐쉬콘트롤러가 독출을 위한 어드레스 및 기입데이타를 메모리콘트롤러에 전송하여 상기 메모리콘트롤러가 상기 메인메모리를 억세스하여 독출된 데이타를 상기 메모리콘트롤러에서 수정한 후, 상기 메인메모리에 기입하는 과정을 포함함이 바람직하다.
상기의 다른 목적을 달성하기 위한, 중앙처리장치, 메인메모리, 캐쉬메모리, 상기 메인메모리와는 메모리버스를 통해 연결되고 상기 중앙처리장치와는 프로세서버스를 통해 연결되어 상기 메인메모리를 제어하는 메모리콘트롤러 및 상기 캐쉬메모리를 제어하는 캐쉬메모리콘트롤러를 구비한 컴퓨터 시스템의 고속메모리제어 장치는 상기 메모리콘트롤러가 상기 메모리버스로부터 상기 프로세서버스로 전달되는 데이타를 저장하기 위한 제1버퍼수단 및 상기 프로세서버스로부터 상기 메모리 버스로 전달되는 데이타를 저장하기 위한 제2버퍼수단을 구비하고, 상기 메인메모리의 데이타 독출/기입을 위해, 상기 고속메모리제어방법에 의해 상기 제1 및 제2버퍼 수단을 제어하고, 상기 캐쉬메모리는 상기 메인메모리와 상기 중앙처리장치 상에 존재하며, 억세스 속도가 상기 메인메모리보다 빠른 데이타 기억장치이고, 상기 캐쉬콘트롤러는 상기 캐쉬메모리의 데이타 일관성을 유지하면서, 상기 캐쉬메모리의 데이타 돌출/기입을 상기 메모리콘트롤러와 상응하도록 제어함이 바람직하다.
이하에서 첨부된 도면을 참조하여 본 발명을 상세히 설명하기로 한다. 제2도는 본 발명의 구성도를 도시한 것으로서, 캐쉬콘트롤러(204)를 포함하는 중앙처리장치(200), 카피인버퍼(214) 및 카피아웃버퍼(216)을 포함하고 있는 메모리콘트롤러(210), 캐쉬메모리(220) 및 메인메모리(230)로 이루어진다. 상기 캐쉬콘트롤러(204)는 중앙처리장치(100)가 캐쉬메모리(220)를 억세스할 때 이를 제어하는 역할을 하며, 캐쉬에 원하는 데이타가 있는지 검사하고 있으면 이를 중앙처리장치(200)에게 공급하고, 만일 원하는 데이타가 없으면 이를 메모리콘트롤러(210)를 통해 메인메모리(230)에서 원하는 데이타를 읽어 오도록 하는 등의 캐쉬메모리(220) 제어를 한다. 상기 카피인버퍼(214) 및 카피아웃버퍼(216)는 제3도를 참조하여 설명하기로 한다.
제3도는 제2도에 도시한 메모리콘트롤러(210)에 추가된 카피인버퍼(214) 및 카피아웃버퍼(216)의 일실시예에 해당하는 자세한 구성 블록도를 도시한 것이다. 제3도에서 프로세스 버스는 32비트인 경우와 메모리 버스는 64비트인 경우로 설계한 것이다. 메모리 버스로부터 프로세스 버스로 전달되는 정보를 저장하기 위한 카피인버퍼(214)는 메모리 버스로부터 정보를 받아 저장하고 프로세스 버스로 그 정보를 출력하여 캐쉬메모리(220)에 카피인(Copy In) 할 수 있게 된다. 상기 카피인버퍼(214)는 캐쉬메모리(220)의 블럭크기에 의해서 계산된 수만큼의 버퍼들로 구성되어 있다. 즉, 보통의 경우 캐쉬메모리의 블럭크기는 256바이트이기 때문에 본 도면에서는 64비트를 처리할 수 있는 4개의 버퍼들(300, 302, 304, 306)로 구성되어 있다. 프로세스 버스로부터 메모리 버스로 전달되는 정보를 저장하기 위한 카피아웃버퍼(216)는 프로세스 버스로부터 정보를 받아 저장하고 메모리 버스로 그 정보를 출력하여 캐쉬메모리(220)에 카피아웃(Copy Out)할 수 있다. 상기 카피아웃버퍼(216)는 프로세스 버스가 32비트밖에 병렬처리할 수 없기 때문에 32비트를 처리할 수 있는 8개의 버퍼들(308, 310, 312, 314, 316, 318, 320, 322)로 구성되어 있다.
상술한 제2도 및 제3도와 제4A도 내지 제4C도를 참조하여 상기 고속메모리 제어장치의 동작 및 제어방법을 설명한다.
먼저, 캐쉬미스(cache miss)인 경우를 설명하기로 한다. 제4A도는 중앙처리장치(200)가 데이타 처리를 하다가 캐쉬메모리(220) 내부에 사용하고자 하는 데이타가 없는 경우, 즉 캐쉬미스(miss)가 발생한 경우, 본 발명에 따른 고속 메모리 제어방법의 흐름을 도시한 것이다.
중앙처리장치(200)가 캐쉬메모리(220)를 이용하여 데이타처리를 하다가 캐쉬메모리(220)내부에 원하는 데이타가 없는 경우, 즉 캐쉬미스가 발생한 경우(제400단계), 캐쉬콘트롤러(204)는 메인메모리(230)에 있는 데이타를 (22)에 기입(이를 '카피인(copy in)'이라 함)하기 위한 어드레스 메모리콘트롤러(210)에 전달한다.(제402단계) 상기 어드레스에 의해서 메모리콘트롤러(210)는 메인메모리(230)를 억세스 한다.(제404단계) 상기 제404단계에는 메인메모리(230)의 억세스타임도 포함된다. 상기 억세스타임이 지난 후에 카피인(copy in) 어드레스의 데이타는 64비트의 메모리 버스를 통해 64비트씩 4번 연속하여 독출되어(이를 버스트모드(brurst mode)라 함), 카피인버퍼(214)내의 64비트크기를 갖는 각 버퍼들(300, 302, 304, 306)에 차례대로 저장된다.(408단계) 그리고 나서 각 캐쉬콘트롤러(204)는 프리페치 어드레스에 의해서 1라인 단위의 카피인을 위한 독출 데이타를 2등분해서 32비트 크기를 갖는 프로세서 버스를 통해 캐쉬메모리(220)에 차례대로 저장한다.(409단계) 이와 같이 할 때 카피인버퍼(214)를 이용하여 버스트모드로 메모리 억세스를 하고, 프리페치 어드레스를 이용하여 카피인버퍼(214)에 저장된 데이타를 캐쉬메모리(220)에 저장되게 됨으로써 데이타 억세스 시간 및 억세스 간격이 줄어들게 된다.
다음은, 캐쉬미스가 발생했을 때 해당 데이타의 상태가 더티(dirty)인 경우를 설명하기로 한다. 제4B도는 중앙처리장치(200)가 데이타 처리를 하다가 캐쉬메모리(220) 내부에 사용하고자 하는 데이타가 없는 경우, 즉 캐쉬미스(miss)가 발생한 경우에 해당 어드레스의 데이타가 이미 수정이 되어 캐쉬메모리의 데이타와 메인메모리의 데이타가 다른 경우(이를 '더티 데이타'라 함)에 대한 본 발명에 따른 고속 메모리 제어방법의 흐름을 도시한 것이다.
캐쉬미스가 나고 이 때의 데이타 상태가 더티일 때, 즉 더티 데이타가 발생했을 때(제410단계), 캐쉬콘트롤러(204)는 먼저 카피인을 위한 어드레스를 메모리콘트롤러(210)에 전달한다.(제412단계) 상기 제412단계의 카피인 어드레스에 의해 메모리콘트롤러(210)는 메인메모리(230)를 억세스 한다.(제414단계) 상기 제414단계가 진행되는 동안, 캐쉬콘트롤러(204)는 캐쉬메모리(220)의 더티 데이타를 메인메모리(230)에 기입(이를 '카피아웃(copy out)'이라 함)하기 위해 더티 데이타를 메모리콘트롤러(210) 내부에 있는 카피아웃버퍼(216)로 보낸다.(제416단계) 그러면 상기 메모리콘트롤러(210)는 카피아웃버퍼(216)에게 카피아웃을 위한 더티데이타를 저장한다.(제418단계)
한편, 상기 제414단계가 끝난 후에, 메인메모리(230)에 있는 카피인을 위한 독출 데이타를 카피인버퍼(214)로 보낸다.(제420단계) 상기 제420단계가 진행되고 상기 제418단계가 끝난 후에 메모리콘트롤러(210) 내부에 있는 카피인버퍼(214)에 카피인을 위한 독출데이타가 저장된다.(제422단계) 상기 제416단계가 끝난 후 카피인을 위한 독출 데이타가 프리페치 어드레스에 의해서 프로세서 버스로 전달되어 캐쉬메모리(220)에 저장된다.(제424단계) 상기 제420단계가 끝난 후 카피아웃을 위한 기입 데이터를 메인메모리(230)에 저장한다.(제426단계) 상기 제4B도의 흐름을 수행하기 위한 본 발명에 따른 고속 메모리 제어장치의 동작상 특성을 살펴보면 다음과 같다. 캐쉬메모리(220)에 더티(Dirty) 데이타가 발생하면 카피아웃(Copy Out) 및 카피인(Copy In)을 동시에 수행해야 한다. 이때 프로세스 버스상에는 카피인을 위한 어드레스가 먼저 메모리콘트롤러(210)에 전달되어 카피인 동작이 발생하여 독출 데이타가 상기 카피인버퍼(214)에 저장되고, 동시에 상기 프로세서 버스상의 카피아웃 데이터가 32비트의 크기를 갖은 각 버퍼들(308, 310, 312, 314, 316, 318, 320, 322)로 구성된 카피아웃버퍼(216)에 저장되므로, 메모리 버스의 충돌없이 카피인/카피아웃 동작이 동시에 수행된다는 특징이 있다. 상기 카피아웃버퍼(216)의 구성은 상기 프로세서 버스가 32비트이기 때문에 32비트의 기입 데이타는 각각 8개의 버퍼들(308, 310, 312, 314, 316, 318, 320, 322)로 구성하여 카피인이 모두 끝난 후 메인메모리(230)에 기입된다. 따라서, 메모리 억세스 시간에 상관없이 상기 프로세서 버스상에서 매 클럭마다 상기 기입 데이타를 메모리콘트롤러(210)에 8번 전달하면 프리페치 어드레스에 따라 카피인을 위한 독출 데이타가 다음 클럭에서 상기 프로세서 버스로 전달된다. 상기 카피인 동작이 완료되면 상기 프로세서 버스의 영향을 받지 않고 메모리콘트롤러(210)는 메인메모리(230)에 카피아웃을 위한 기입 데이타를 기입함으로써 카피인과 카피아웃을 위한 시간이 대폭 줄게된다.
마지막으로, 독출수정기입(read-modify-write)인 경우를 설명하기로 한다. 일반적으로 마이크로프로세서의 명령어 수행 사이클 가운데 다른 프로세서나 타스크(task)의 개입을 허용치 않고, 특정 프로세서나 타스크가 독출수정기입(read-modify-write)을 연속해서 할 경우가 있다. 제4C도는 중앙처리장치(200)가 처리하고자 하는 메인메모리(230)의 데이타가 상기 독출수정기입이 일어나야 할 경우에 대한 본 발명에 따른 고속 메모리 제어방법의 흐름을 도시한 것이다.
메인메모리(230) 내부의 특정 데이터를 독출하여 캐쉬메모리(220)에서 수정하고자 하는 기입 데이타로 수정하여 메인메모리로 다시 저장하고자 하는 경우에는 캐쉬콘트롤러(204)에서 독출수정기입을 위한 어드레스 및 기입데이타를 메모리콘트롤러(210)로 보낸다.(제428단계) 상기 제428단계의 어드레스에 의해서 메인메모리(230)를 억세스 한다.(제430단계) 상기 제430단계가 끝난 후 메인메모리(230)로부터 독출 데이타를 메모리콘트롤러(210)로 보낸다.(제432단계) 상기 제432단계가 끝난 후 독출 데이타에서 수정하고자 하는 바이트에 기입데이타를 병합시킨다.(제434단계) 상기 제434단계가 끝난 후 독출수정기입 데이타를 메인메모리(230)에 저장한다.(제436단계) 한편 상기 제4C도의 방법을 수행하기 위한 본 발명에 따른 상기 고속메모리 제어장치의 동작 특성은 다음과 같다. 종래의 경우에는 메인 메모리 자체에서 독출수정기입 싸이클을 이용하여 외부에서 상기 싸이클에 맞게 제어신호를 공급하여 줌으로써 독출수정기입을 수행한반면, 본 발명인 상기 고속 메모리 제어장치에서는 메모리콘트롤러(210)는 캐쉬콘트롤러(204)부터 어드레스와 독출수정기입을 위한 기입 데이타를 받아서 수행함으로써 버스 지연없이 수정하고자 하는 바이트만을 내부 버퍼에서 자체적으로 독출수정기입을 수행한다.
상술한 바와 같이 본 발명에 의하면, 프리페치 어드레스에 의한 데이타를 저장할 수 있는 버퍼들(214, 216)을 메모리콘트롤러(210)에 추가하여 메인메모리(230) 억세스시 발생하는 메모리 지연을 극소화하고 메모리 버스 점유시간을 줄임으로써 메인메모리(230)와 캐쉬메모리(220)사이의 억세스 시간의 차이를 극복하고 시스템의 성능을 향상시킬수 있다.
Claims (5)
- 중앙처리장치, 메인메모리, 캐쉬메모리, 상기 메인메모리와는 메모리버스를 통해 연결되고 상기 중앙처리장치와는 프로세서버스를 통해 연결되어 상기 메인메모리를 제어하는 메모리콘트롤러 및 상기 캐쉬메모리를 제어하는 캐쉬콘트롤러를 구비한 컴퓨터 시스템의 고속 메모리제어 장치에 있어서, 상기 메모리 콘트롤러는 상기 메모리 버스로부터 상기 프로세서 버스로 전달되는 데이타를 저장하기 위한 제1버퍼수단 및 상기 프로세서버스로부터 상기 메모리 버스로 전달되는 데이타를 저장하기 위한 제2버퍼수단을 구비하고, 상기 메인메모리의 데이타 독출/기입을 위해, 캐쉬미스, 캐쉬미스 중 더티, 독출수정기입 발생에 따라 각각 선택되는 제어방식에 의해 상기 제1버퍼수단 및 제2버퍼수단을 제어하고, 상기 캐쉬메모리는 상기 메인메모리와 상기 중앙처리장치 상이에 존재하며, 억세스 속도가 상기 메인메모리보다 빠른 데이타 기억장치이고, 상기 캐쉬콘트롤러는 상기 캐쉬메모리의 데이타 일관성을 유지하면서, 상기 캐쉬메모리의 데이타 독출/기입을 상기 메모리콘트롤러에 상응하도록 제어함을 특징으로 하는 고속메모리제어장치.
- 제1항에 있어서, 상기 메모리콘트롤러의 제1버퍼수단은 상기 메모리 버스의 데이타버스 비트수의 크기를 갖는 데이타를 입력으로 하여 상기 프로세서 버스의 데이타버스 비트수의 크기를 갖는 데이타로 출력하고, 복수의 버퍼로 구성됨을 특징으로 하는 고속메모리제어장치.
- 제1항에 있어서, 상기 메모리 콘트롤러의 제2버퍼수단은 상기 프로세서의 데이타버스 비트수의 크기를 갖는 데이타를 입력으로하여 상기 메모리버스의 데이타버스 비트수의 크기를 갖는 데이타로 출력하고, 복수의 버퍼로 구성됨을 특징으로 하는 고속메모리제어장치.
- 제1항에 있어서, 상기 메모리 콘트롤러의 제어방식은 캐쉬미스이고 해당 데이타의 상태가 더티가 아닐 경우, 미스된 어드레스를 상기 캐쉬콘트롤러에 프리페치하고, 상기 캐쉬콘트롤러로부터 상기 메모리콘트롤러로 전달된 상기 프리페치 어드레스에 해당하는 데이타를 상기 메인메모리로부터 버스트모드로 억세스하여 상기 카피인버퍼에 저장하고, 상기 저장된 카피인버퍼를 캐쉬콘트롤러에 프리페치된 어드레스에 따라 상기 캐쉬메모리에 저장하는 과정; 캐쉬미스이고 해당 데이타의 상태가 더티일 경우, 상기 캐쉬콘트롤러로부터 상기 메모리콘트롤러로 전달된 상기 캐쉬미스 어드레스에 해당하는 데이타를 상기 메인메모리에 억세스하고, 상기 메인메모리를 억세스하는 동안 상기 캐쉬콘트롤러가 상기 캐쉬메모리의 더티데이타를 상기 카피아웃버퍼에 보내어 저장하게 한 후, 상기 메인메모리로부터 억세스된 데이타를 카피인버퍼에 저장된 데이타를 독출하여 상기 캐쉬메모리에 저장하고, 상기 카피아웃버퍼에 저장된 데이타를 상기 메인메모리에 저장하는 과정; 및 상기 중앙처리장치가 상기 메인메모리의 데이타를 독출수정기입(RMW)할 경우, 상기 캐쉬콘트롤러가 독출을 위한 어드레스 및 기입데이타를 메모리콘트롤러에 전송하여 상기 메모리콘트롤러가 상기 메인메모리를 억세스 하여 독출된 데이타를 상기 메모리 콘트롤러에 전송하여 상기 메모리 콘트롤러가 상기 메인메모리를 억세스하여 독출된 데이타를 상기 메모리콘트롤러에서 수정한 후, 상기 메인메모리에 기입하는 과정을 포함함을 특징으로 하는 고속 메모리 제어장치.
- 중앙처리장치, 메인메모리, 캐쉬메모리, 상기 메인메모리를 제어하는 메모리콘트롤러 및 상기 캐쉬메모리를 제어하는 캐쉬콘트롤러를 구비한 컴퓨터 시스템에서, 상기 메모리콘트롤러가 상기 메인메모리로부터 상기 캐쉬메모리로 전달되는 데이타를 저장하기 위한 카피인 버퍼 및 상기 캐쉬메모리로부터 상기 메인메모리로 전달되는 데이타를 저장하기 위한 카피아웃버퍼를 구비하고 있을 때, 캐쉬미스이고 해당 데이타의 상태가 더티가 아닐 경우, 미스된 어드레스를 상기 캐쉬콘트롤러에 프리페치하고, 상기 캐쉬콘트롤러로부터 상기 메모리콘트롤러로 전달된 상기 프리페치 어드레스에 해당하는 데이타를 상기 메인메모리로부터 버스트모드로 억세스하겨 상기 카피인버퍼에 저장하고, 상기 저장된 카파인버퍼를 캐쉬콘트롤러에 프리페치된 어드레스에 따라 상기 캐쉬메모리에 저장하는 과정; 캐쉬미스이고 해당 데이타의 상태가 더티일 경우, 상기 캐쉬콘트롤러로부터 상기 메모리콘트롤러로 전달된 상기 캐쉬미스 어드레스에 해당하는 데이타를 상기 메인메모리에 억세스하고, 상기 메인메모리를 억세스하는 동안 상기 캐쉬콘트롤러가 상기 캐쉬메모리의 더티데이타를 상기 카피아웃버퍼에 보내어 저장하게 한 후, 상기 메인메모리로부터 억세스된 데이타를 카피인버퍼에 저장하여 상기 캐쉬콘트롤러가 상기 카피인버퍼에 저장된 데이타를 독출하여 상기 캐쉬메모리에 저장하고, 상기 카피아웃버퍼에 저장된 데이타를 상기 메인메모리에 저장하는 과정; 및 상기 중앙처리장치가 상기 메인메모리의 데이타를 독출수정기입(RMW)할 경우, 상기 캐쉬콘트롤러가 독출을 위한 어드레스 및 기입데이타를 메모리콘트롤러에 전송하여 상기 메모리콘트롤러가 상기 메인메모리를 억세스하여 독출된 데이타를 상기 메모리콘트롤러에서 수정한 후, 상기 메인메모리에 기입하는 과정을 포함함을 특징으로 하는 고속 메모리 제어방법.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019930007118A KR970004520B1 (ko) | 1993-04-27 | 1993-04-27 | 고속 메모리 제어방법 및 장치 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019930007118A KR970004520B1 (ko) | 1993-04-27 | 1993-04-27 | 고속 메모리 제어방법 및 장치 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR970004520B1 true KR970004520B1 (ko) | 1997-03-28 |
Family
ID=19354542
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019930007118A KR970004520B1 (ko) | 1993-04-27 | 1993-04-27 | 고속 메모리 제어방법 및 장치 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR970004520B1 (ko) |
-
1993
- 1993-04-27 KR KR1019930007118A patent/KR970004520B1/ko not_active IP Right Cessation
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5185694A (en) | Data processing system utilizes block move instruction for burst transferring blocks of data entries where width of data blocks varies | |
EP0244540B1 (en) | Write request buffering apparatus | |
US6665774B2 (en) | Vector and scalar data cache for a vector multiprocessor | |
US5283886A (en) | Multiprocessor cache system having three states for generating invalidating signals upon write accesses | |
US5155824A (en) | System for transferring selected data words between main memory and cache with multiple data words and multiple dirty bits for each address | |
US5526508A (en) | Cache line replacing system for simultaneously storing data into read and write buffers having multiplexer which controls by counter value for bypassing read buffer | |
JPH0659976A (ja) | 遅延プッシュをコピー・バック・データ・キャッシュに再ロードする方法 | |
US5918069A (en) | System for simultaneously writing back cached data via first bus and transferring cached data to second bus when read request is cached and dirty | |
US6345320B1 (en) | DMA address buffer and cache-memory control system | |
EP0344886B1 (en) | Data transfer processing system | |
EP0470739B1 (en) | Method for managing a cache memory system | |
US5367657A (en) | Method and apparatus for efficient read prefetching of instruction code data in computer memory subsystems | |
JPH06318174A (ja) | キャッシュ・メモリ・システム及び主メモリに記憶されているデータのサブセットをキャッシュする方法 | |
US5987570A (en) | Performing overlapping burst memory accesses and interleaved memory accesses on cache misses | |
KR100322223B1 (ko) | 대기행렬및스누프테이블을갖는메모리제어기 | |
WO1997004392A1 (en) | Shared cache memory device | |
EP0432524A2 (en) | Cache memory architecture | |
KR100282118B1 (ko) | 하이스루풋단일포트다중갱신유니트태그제어기 | |
US6976130B2 (en) | Cache controller unit architecture and applied method | |
US6594732B1 (en) | Computer system with memory system in which cache memory is kept clean | |
KR970004520B1 (ko) | 고속 메모리 제어방법 및 장치 | |
WO1994011828A2 (en) | Write buffer with full rank byte gathering | |
JP3039391B2 (ja) | メモリシステム | |
JPH0628258A (ja) | マイクロプロセッサ | |
JP2778623B2 (ja) | プリフェッチ制御装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E902 | Notification of reason for refusal | ||
G160 | Decision to publish patent application | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20050629 Year of fee payment: 9 |
|
LAPS | Lapse due to unpaid annual fee |