KR970004520B1 - 고속 메모리 제어방법 및 장치 - Google Patents

고속 메모리 제어방법 및 장치 Download PDF

Info

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
Application number
KR1019930007118A
Other languages
English (en)
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 삼성전자 주식회사
Priority to KR1019930007118A priority Critical patent/KR970004520B1/ko
Application granted granted Critical
Publication of KR970004520B1 publication Critical patent/KR970004520B1/ko

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. 중앙처리장치, 메인메모리, 캐쉬메모리, 상기 메인메모리와는 메모리버스를 통해 연결되고 상기 중앙처리장치와는 프로세서버스를 통해 연결되어 상기 메인메모리를 제어하는 메모리콘트롤러 및 상기 캐쉬메모리를 제어하는 캐쉬콘트롤러를 구비한 컴퓨터 시스템의 고속 메모리제어 장치에 있어서, 상기 메모리 콘트롤러는 상기 메모리 버스로부터 상기 프로세서 버스로 전달되는 데이타를 저장하기 위한 제1버퍼수단 및 상기 프로세서버스로부터 상기 메모리 버스로 전달되는 데이타를 저장하기 위한 제2버퍼수단을 구비하고, 상기 메인메모리의 데이타 독출/기입을 위해, 캐쉬미스, 캐쉬미스 중 더티, 독출수정기입 발생에 따라 각각 선택되는 제어방식에 의해 상기 제1버퍼수단 및 제2버퍼수단을 제어하고, 상기 캐쉬메모리는 상기 메인메모리와 상기 중앙처리장치 상이에 존재하며, 억세스 속도가 상기 메인메모리보다 빠른 데이타 기억장치이고, 상기 캐쉬콘트롤러는 상기 캐쉬메모리의 데이타 일관성을 유지하면서, 상기 캐쉬메모리의 데이타 독출/기입을 상기 메모리콘트롤러에 상응하도록 제어함을 특징으로 하는 고속메모리제어장치.
  2. 제1항에 있어서, 상기 메모리콘트롤러의 제1버퍼수단은 상기 메모리 버스의 데이타버스 비트수의 크기를 갖는 데이타를 입력으로 하여 상기 프로세서 버스의 데이타버스 비트수의 크기를 갖는 데이타로 출력하고, 복수의 버퍼로 구성됨을 특징으로 하는 고속메모리제어장치.
  3. 제1항에 있어서, 상기 메모리 콘트롤러의 제2버퍼수단은 상기 프로세서의 데이타버스 비트수의 크기를 갖는 데이타를 입력으로하여 상기 메모리버스의 데이타버스 비트수의 크기를 갖는 데이타로 출력하고, 복수의 버퍼로 구성됨을 특징으로 하는 고속메모리제어장치.
  4. 제1항에 있어서, 상기 메모리 콘트롤러의 제어방식은 캐쉬미스이고 해당 데이타의 상태가 더티가 아닐 경우, 미스된 어드레스를 상기 캐쉬콘트롤러에 프리페치하고, 상기 캐쉬콘트롤러로부터 상기 메모리콘트롤러로 전달된 상기 프리페치 어드레스에 해당하는 데이타를 상기 메인메모리로부터 버스트모드로 억세스하여 상기 카피인버퍼에 저장하고, 상기 저장된 카피인버퍼를 캐쉬콘트롤러에 프리페치된 어드레스에 따라 상기 캐쉬메모리에 저장하는 과정; 캐쉬미스이고 해당 데이타의 상태가 더티일 경우, 상기 캐쉬콘트롤러로부터 상기 메모리콘트롤러로 전달된 상기 캐쉬미스 어드레스에 해당하는 데이타를 상기 메인메모리에 억세스하고, 상기 메인메모리를 억세스하는 동안 상기 캐쉬콘트롤러가 상기 캐쉬메모리의 더티데이타를 상기 카피아웃버퍼에 보내어 저장하게 한 후, 상기 메인메모리로부터 억세스된 데이타를 카피인버퍼에 저장된 데이타를 독출하여 상기 캐쉬메모리에 저장하고, 상기 카피아웃버퍼에 저장된 데이타를 상기 메인메모리에 저장하는 과정; 및 상기 중앙처리장치가 상기 메인메모리의 데이타를 독출수정기입(RMW)할 경우, 상기 캐쉬콘트롤러가 독출을 위한 어드레스 및 기입데이타를 메모리콘트롤러에 전송하여 상기 메모리콘트롤러가 상기 메인메모리를 억세스 하여 독출된 데이타를 상기 메모리 콘트롤러에 전송하여 상기 메모리 콘트롤러가 상기 메인메모리를 억세스하여 독출된 데이타를 상기 메모리콘트롤러에서 수정한 후, 상기 메인메모리에 기입하는 과정을 포함함을 특징으로 하는 고속 메모리 제어장치.
  5. 중앙처리장치, 메인메모리, 캐쉬메모리, 상기 메인메모리를 제어하는 메모리콘트롤러 및 상기 캐쉬메모리를 제어하는 캐쉬콘트롤러를 구비한 컴퓨터 시스템에서, 상기 메모리콘트롤러가 상기 메인메모리로부터 상기 캐쉬메모리로 전달되는 데이타를 저장하기 위한 카피인 버퍼 및 상기 캐쉬메모리로부터 상기 메인메모리로 전달되는 데이타를 저장하기 위한 카피아웃버퍼를 구비하고 있을 때, 캐쉬미스이고 해당 데이타의 상태가 더티가 아닐 경우, 미스된 어드레스를 상기 캐쉬콘트롤러에 프리페치하고, 상기 캐쉬콘트롤러로부터 상기 메모리콘트롤러로 전달된 상기 프리페치 어드레스에 해당하는 데이타를 상기 메인메모리로부터 버스트모드로 억세스하겨 상기 카피인버퍼에 저장하고, 상기 저장된 카파인버퍼를 캐쉬콘트롤러에 프리페치된 어드레스에 따라 상기 캐쉬메모리에 저장하는 과정; 캐쉬미스이고 해당 데이타의 상태가 더티일 경우, 상기 캐쉬콘트롤러로부터 상기 메모리콘트롤러로 전달된 상기 캐쉬미스 어드레스에 해당하는 데이타를 상기 메인메모리에 억세스하고, 상기 메인메모리를 억세스하는 동안 상기 캐쉬콘트롤러가 상기 캐쉬메모리의 더티데이타를 상기 카피아웃버퍼에 보내어 저장하게 한 후, 상기 메인메모리로부터 억세스된 데이타를 카피인버퍼에 저장하여 상기 캐쉬콘트롤러가 상기 카피인버퍼에 저장된 데이타를 독출하여 상기 캐쉬메모리에 저장하고, 상기 카피아웃버퍼에 저장된 데이타를 상기 메인메모리에 저장하는 과정; 및 상기 중앙처리장치가 상기 메인메모리의 데이타를 독출수정기입(RMW)할 경우, 상기 캐쉬콘트롤러가 독출을 위한 어드레스 및 기입데이타를 메모리콘트롤러에 전송하여 상기 메모리콘트롤러가 상기 메인메모리를 억세스하여 독출된 데이타를 상기 메모리콘트롤러에서 수정한 후, 상기 메인메모리에 기입하는 과정을 포함함을 특징으로 하는 고속 메모리 제어방법.
KR1019930007118A 1993-04-27 1993-04-27 고속 메모리 제어방법 및 장치 KR970004520B1 (ko)

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)

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