KR19990026157A - 멀티 프로세서 시스템의 캐시 메모리 제어방법 및 장치 - Google Patents

멀티 프로세서 시스템의 캐시 메모리 제어방법 및 장치 Download PDF

Info

Publication number
KR19990026157A
KR19990026157A KR1019970048149A KR19970048149A KR19990026157A KR 19990026157 A KR19990026157 A KR 19990026157A KR 1019970048149 A KR1019970048149 A KR 1019970048149A KR 19970048149 A KR19970048149 A KR 19970048149A KR 19990026157 A KR19990026157 A KR 19990026157A
Authority
KR
South Korea
Prior art keywords
cache
data
processor
memory
address
Prior art date
Application number
KR1019970048149A
Other languages
English (en)
Other versions
KR100258883B1 (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 구자홍
Priority to KR1019970048149A priority Critical patent/KR100258883B1/ko
Publication of KR19990026157A publication Critical patent/KR19990026157A/ko
Application granted granted Critical
Publication of KR100258883B1 publication Critical patent/KR100258883B1/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/0806Multiuser, multiprocessor or multiprocessing cache systems

Abstract

본 발명은 멀티 프로세서 시스템의 캐시 메모리 제어방법 및 장치에 관한 것으로서, 다수개의 캐시 메모리를 병렬로 구현하여 구동된 어드레스를 처리함으로써, 캐시 적중률을 높이도록 하고, 다수개의 프로세서가 연속 또는 동시에 어드레스를 구동할 경우, 먼저 어드레스를 구동한 프로세서의 동작이 종료될 때까지 대기할 필요 없이 다른 캐시 메모리로부터 데이터를 패치 함으로써, 대기시간을 줄이도록 하는 것이다.
이와 같은 본 발명은 소정의 프로세서에서 구동된 특정 어드레스의 읽기 동작을 수행할 경우 캐시 적중일 때에는 캐시 상태에 관계없이 캐시 메모리에서 데이터를 패치하고, 만약 프로세서에서 구동된 특정 어드레스가 캐시 미스일 경우, 메인 메모리에서 데이터를 캐시 메모리로 복사 및 캐시 상태값을 갱신하는 과정과; 캐시 상태값을 갱신한 후 해당 어드레스의 재시도에 의하여 캐시 메모리로부터 데이터를 패치하는 과정으로 이루어진다. 또한, 소정의 프로세서에서 특정 어드레스를 구동하여 데이터의 쓰기 동작을 할 경우, 캐시 적중일 때에는 적중된 어드레스의 쓰기동작을 수행하고, 캐시 미스가 발생할 경우에는 해당 데이터를 메인 메모리로 복사한 후 쓰기동작을 수행하는 과정과; 쓰기 동작 수행 후 해당 데이터의 쓰기 요청을 재시도하는 과정으로 이루어짐을 특징으로 한다.

Description

멀티 프로세서 시스템의 캐시 메모리 제어방법 및 장치
본 발명은 멀티 프로세서 시스템에 관한 것으로서, 보다 상세하게는 다수개의 캐시 메모리를 시스템 버스에 병렬로 구현하여 다수개의 프로세서가 동시 또는 연속해서 어드레스를 구동시킬 경우, 먼저 구동된 프로세서의 데이터 패치가 끝날 때까지 대기하지 않아도, 병렬 연결된 각 캐시 메모리로부터 해당 데이터를 패치(Patch)함으로써, 프로세서의 로컬 버스 이용률을 극대화시키고, 이에 따라 시스템 버스의 이용률을 감소시켜 시스템의 성능을 향상시키도록 하는 멀티 프로세서 시스템의 캐시 메모리 제어방법 및 장치에 관한 것이다.
종래의 기술에 따른 멀티 프로세서 시스템의 캐시 메모리 제어장치는 도 1, 도 2에 도시된 바와 같이, 다수개의 프로세서(11)(12)에서 요청한 어드레스가 캐시 메모리에 존재하는지 태그 램에 저장되어 있는 어드레스와 비교하는 비교기(13)와; 상기 프로세서(11)(12)에서 요구한 데이터의 해당 어드레스를 비교하는데 필요한 캐시 메모리(17)의 태그정보를 갱신 및 판독하여 상기 비교기(13)에 제공하는 태그 램(14)과; 상기 프로세서(11)(12)의 제어에 따라 캐시 메모리(17)에 저정된 데이터의 상태정보를 갱신 및 판독하는 상태 램(15)과; 상기 태그 및 상태 램(14)(15)의 정보를 갱신하며 상기 프로세서(11)(12)가 시스템 버스를 억세스하는데 필요한 신호를 발생하는 캐시 제어부(16a)와; 상기 캐시 제어부(16a)의 요청에 따라 태그 및 상태 램의 정보를 갱신함과 아울러 시스템 버스에 구동되는 어드레스를 감시하여 상태를 갱신하는 스누프 제어부(16b)와; 상기 캐시 및 스누프 제어부(16a)(16b)의 제어에 의하여 시스템 버스를 통하여 데이터를 기록·판독하며, 캐시 메모리(17)에 데이터를 제공하는 메인 메모리(20)로 구성된다.
이와 같이 구성된 종래 기술에 따른 멀티 프로세서 시스템의 캐시 메모리 제어장치는 도 2에 도시된 바와 같이 각 프로세서(11)(12)가 요구하는 어드레스에 해당 데이터를 패치하기 위하여 어드레스를 시스템 버스에 구동하게 되는데, 이때 구동된 어드레스가 동일할 경우에는 먼저 구동된 프로세서의 동작이 완료될 때까지 재시도를 수행하며, 구동 어드레스가 동일하지 않을 경우에는 각 프로세서(11)(12)별로 해당 캐시 메모리에서 데이터를 패치해 오거나 또는 메인 메모리를 억세스하여 원하는 데이터를 가져온다.
즉, 제 1 프로세서(11)에서 구동된 어드레스에 해당하는 데이터가 캐시 메모리(17)에 존재하는지의 여부를 비교기(13)를 통하여 태그 램(14)에 저장되어 있는 어드레스를 비교한다. 비교 결과 캐시 메모리(17)에 해당 데이터가 존재할 경우, 즉 캐시 적중(Cache Hit)일 경우 해당되는 데이터를 캐시 메모리(17)로부터 패치해 온다.
만약, 비교기(13)에서의 비교 결과 캐시 미스(Cache Miss)가 발생할 경우에는 시스템 버스를 통하여 메인 메모리(10)를 억세스 하여 원하는 데이터를 가져오는 한편, 억세스 한 데이터를 캐시 제어부(16a)에 의하여 해당 캐시 메모리에 복사, 저장하게 된다.
제 2 프로세서(12)에서 구동된 어드레스에 대하여도, 상기한 제 1 프로세서(11)에서와 마찬가지로 캐시 적중이 발생 경우 해당 캐시 메모리(17)에서 데이터를 패치하고, 캐시 미스가 발생할 경우에는 메인 메모리(20)를 억세스하여 요청된 데이터를 가져오고, 억세스한 데이터를 해당 캐시 메모리(17)에 데이터를 복사함과 아울러서, 캐시 제어부 및 스누프 제어부(16a)(16b)의 제어에 의하여 태그 및 상태 램(14)(15)을 갱신한다.
그러나, 이와 같은 종래 기술에 따른 멀티 프로세서 시스템의 병렬 캐시 메모리 제어장치는 다수개의 프로세서에 의하여 공유하는 캐시 메모리가 단일화되어 있으므로 임의의 프로세서가 캐시 미스가 발생할 경우 시스템 버스를 통하여 메인 메모리를 억세스하여 데이터를 가져오게 된다. 이때, 연속해서 다른 프로세서에서도 캐시 미스가 발생할 경우, 먼저 억세스를 시작한 프로세서의 동작이 완료될 때까지 계속 재시도하며 대기해야함으로, 시간이 낭비되는 문제점이 있었다.
따라서, 본 발명은 상기한 종래 기술의 문제점을 개선하고자 하여 다수개의 캐시 메모리를 병렬로 구현하여 구동된 어드레스를 처리함으로써, 캐시 적중률을 높이도록 하는 멀티 프로세서 시스템의 캐시 메모리 제어방법 및 장치를 제공함에 그 목적이 있다.
본 발명의 다른 목적은 다수개의 프로세서가 연속 또는 동시에 어드레스를 구동할 경우에도 먼저 어드레스를 구동한 프로세서의 동작이 종료될 때까지 대기할 필요 없이 다른 캐시 메모리를 패치 함으로써, 대기시간을 줄이도록 하는데 있다.
도 1은 종래 기술에 따른 멀티 프로세서 시스템의 캐시 메모리 제어장치의 블록 구성도.
도 2a, 2b는 종래 기술에 따른 멀티 프로세서 시스템의 캐시 메모리 제어과정의 흐름도.
도 3은 본 발명에 따른 멀티 프로세서 시스템의 캐시 메모리 제어장치의 개략 구성도.
도 4는 도 3의 상세 블록 구성도.
도 5는 본 발명에 따른 멀티 프로세서 시스템의 캐시 메모리 데이터 읽기과정의 흐름도.
도 6은 본 발명에 따른 멀티 프로세서 시스템의 캐시 메모리 데이터 쓰기과정의 흐름도.
* 도면의 주요부분에 대한 부호의 설명
101, 102 : 제 1, 제 2 프로세서
111∼114 : 비교기 121∼124 : 태그 메모리
125∼128 : 상태 메모리 131∼134 : 캐시/스누프 제어부
141∼144 : 캐시 메모리 160 : 메인 메모리
본 발명의 목적을 달성하기 위한 멀티 프로세서 시스템의 캐시 메모리 제어방법은 소정의 프로세서에서 구동된 특정 어드레스가 캐시 적중일 경우, 캐시 상태에 관계없이 캐시 메모리에서 데이터를 패치하는 제 1 과정과; 상기 프로세서에서 구동된 특정 어드레스가 캐시 미스일 경우, 메인 메모리에서 데이터를 캐시 메모리로 복사한 후 캐시 상태값을 갱신하는 제 2 과정과; 상기 캐시 상태값을 갱신한 후 해당 어드레스의 재시도에 의하여 캐시 메모리로부터 데이터를 패치하는 제 3 과정으로 이루어짐을 특징으로 한다.
본 발명의 목적을 달성하기 위한 다른 방법은 소정의 프로세서에서 특정 어드레스를 구동하여 데이터의 쓰기 동작시, 캐시 적중의 경우 적중된 어드레스 쓰기동작을 수행하는 제 1 과정과; 상기 요청된 특정 어드레스에 캐시 미스가 발생할 경우 해당 데이터를 메인 메모리로 복사한 후 쓰기동작을 수행하는 제 2 과정과; 상기 쓰기 동작 수행 후 해당 데이터의 쓰기 요청을 재시도하는 제 3 과정으로 이루어짐을 특징으로 한다.
본 발명의 목적을 달성하기 위한 멀티 프로세서 시스템의 캐시 메모리 제어장치는 다수개의 프로세서로 이루어진 멀티 프로세서 시스템에서 소정의 프로세서로부터 구동된 어드레스에 해당 캐시 메모리의 태그 및 데이터의 상태 정보를 갖도록 로컬 버스에 병렬 연결된 다수개의 태그 및 상태 메모리와; 상기 프로세서에서 요청한 어드레스가 캐시 메모리에 존재하는지를 비교 판단하도록 상기 각 태그 메모리에 대응하는 다수개의 비교수단과; 상기 각 비교수단의 판단 결과에 따라 프로세서로부터 시스템 버스를 억세스 하는데 필요한 신호를 발생하고, 태그 및 상태 메모리를 갱신함과 아울러 시스템 버스에 구동되는 어드레스를 감시하여 상태 메모리의 상태값을 갱신하도록 각 비교수단에 해당하는 다수개의 캐시 및 스누프 제어수단과; 상기 각 캐시 및 스누프 제어수단의 제어에 의하여 데이터를 갱신하도록 시스템 버스에 병렬 연결된 다수개의 캐시 메모리로 포함하여 구성됨을 특징으로 한다.
이하, 본 발명의 바람직한 실시예를 도 3 내지 도 6을 참조하여 상세히 설명하면 다음과 같다.
도 3, 도 4는 본 발명의 실시예에 따른 멀티 프로세서 시스템의 캐시 메모리 제어장치의 블록 구성도로서, 이에 도시된 바와 같이 로컬 버스에 연결된 다수개의 프로세서(101)(102)와; 상기 프로세서(101)(102)의 요구에 따라 데이터를 기록 및 판독하며, 메인 메모리로부터 읽어와 기록 갱신하도록 시스템 버스에 병렬 연결된 캐시 메모리(141∼144)와; 상기 각 프로세서(101)(102)에서 요구하는 어드레스에 해당하는 캐시 메모리의 태그 정보를 기록하도록 로컬 버스에 병렬 연결된 다수개의 태그 메모리(121∼124)와; 상기 캐시 메모리(141∼144)에 저장된 데이터의 상태 정보를 기록하도록 로컬 버스에 병렬 연결된 다수개의 상태 메모리(125∼128)와; 상기 프로세서(101)(102)에서 요청한 어드레스가 캐시 메모리(141∼144)에 존재하는지를 비교 판단하도록 상기 각 태그 메모리(121∼124)에 대응하는 다수개의 비교기(111∼114)와; 상기 각 비교기(111∼114)의 판단 결과에 따라 프로세서(101)(102)로부터 시스템 버스를 억세스 하는데 필요한 신호를 발생하고, 태그 및 상태 메모리(121∼128)를 갱신함과 아울러 시스템 버스에 구동되는 어드레스를 감시하여 상태 메모리(125∼128)의 상태값을 갱신하도록 각 캐시 메모리(141∼144)에 해당하는 다수개의 캐시 및 스누프 제어부(131∼134)로 구성된다.
여기서, 미설명 부호 150은 캐시 메모리(141∼144)에서 판독된 데이터를 해당 프로세서(101)(102)로 전송하는 버퍼등을 포함한 주변로직이다.
이와 같이 구성된 본 발명에 따른 멀티 프로세서 시스템의 캐시 메모리 제어장치의 작용을 도 3 내지 도 6을 참조하여 상세히 설명하면 다음과 같다.
먼저 도 3, 도 4를 살펴보면 제 1 프로세서(101)에서 특정 어드레스를 구동하여 필요한 데이터를 패치하려 할 때, 구동된 어드레스는 각 비교기(111∼124)에서 다수개의 태그 메모리(121∼124)에 저장되어 있는 각 태그 어드레스와 동시에 비교된다.
각 태그 어드레스의 비교 결과, 읽기동작 또는 쓰기동작에 관계없이 태그 어드레스와 매치(캐시 적중)되면 더미(dummy)한 사이클 없이 바로 캐시 동작을 진행할 수 있다.
만약, 제 1 프로세서(101)가 요청한 어드레스가 1번 캐시 영역에 해당되어 억세스가 일어나고, 이때 캐시 미스가 발생하게되면, 캐시 제어부(131∼134)는 시스템 버스를 억세스하기 위한 신호를 구동하고, 메인 메모리(160)를 억세스하여 데이터를 패치하고, 해당 캐시 메모리에 위치시키는 캐시 동작이 진행된다. 이때, 제 2 프로세서(102)에서 구동한 어드레스가 제 1 프로세서(101)가 구동한 것과 동일하다면 제 1 프로세서(101)의 동작이 완료될 때까지 재시도 하면서 기다리게 된다.
여기서 동일한 캐시 메모리 영역이면서, 다른 어드레스를 억세스한다면 순차적인 시스템 버스 억세스가 발생하여 메인 메모리(160)로부터 해당 어드레스를 갱신하게 된다.
만약, 제 1 프로세서(101)가 1번 캐시 영역을 억세스하여 캐시 미스가 발생하고, 제 2 프로세서(102)가 2번 캐시 영역을 억세스하여 캐시 적중이 발생하게 된다면, 제 1 프로세서(101)는 시스템 버스를 통하여 메인 메모리(160)로부터 데이터를 가져와 캐시 메모리에 갱신하는 동작이 진행되고, 제 2 프로세서(102)는 내부 프로세서 로컬 버스로 캐시 메모리(141)(144)의 데이터를 바로 패치하여 제 1 프로세서(101)의 동작과 병행 처리하게 된다.
한편, 제 1, 제 2 프로세서(101)(102)의 어드레스 구동 시점이 반대일 경우에도, 처리되는 플로우는 동일하며, 제 1 프로세서(101)가 제 1 캐시 영역, 제 2 프로세서(102)가 제 2 캐시 영역을 연속적으로 억세스되고, 두 동작이 모두 캐시 미스가 발생하였을 경우에는 순차적으로 메인 메모리(160)의 억세스 및 캐시 데이터의 갱신이 진행된다.
제 1 프로세서(101) 또는 제 2 프로세서(102)가 요구하는 어드레스에서 데이터를 패치하기 위하여 특정 어드레스를 구동하게 되는데, 이때 도 5, 도 6에 도시된 바와 같이 읽기동작과 쓰기동작의 두 가지 경우에서 구동된 어드레스가 캐시 메모리에 존재하는가, 존재하지 않는가에 따라서 동작상태를 구분하여 설명하면 다음과 같다.
먼저, 도 5는 프로세서에서 요구되는 어드레스에서 데이터를 패치하기 위한 데이터의 읽기동작에 관한 흐름도로서, 이에 도시된 바와 같이 구동된 어드레스가 태그 매치 즉, 캐시 적중일 경우에는 상태 메모리에 기록된 캐시 상태(Valid, Shared, Dirty)에 관계없이 캐시 메모리(141∼144)에서 데이터를 즉시 패치한다.
그러나, 캐시 미스일 경우에는 메인 메모리에서 데이터를 읽어와야 하므로 캐시 제어부(131)에서 시스템 버스 억세스를 위한 신호를 발생한다.
즉, 캐시 미스일 경우 해당되는 캐시 메모리의 데이터 상태에 대하여 보다 상세히 설명하면, 무효상태(Invalid)일 경우에는 무효화된 데이터로서 캐시 미스와 동일하게 처리되고, 유효상태(Valid)일 경우에는 유일하게 유효한 값을 갖는 블록이며, 메인 메모리와 동일한 데이터를 갖는다. 공유상태(Shared)일 경우에는 두 개 이상의 캐시 시스템에서 유효한 값을 가지며, 메인 메모리와 동일한 데이터를 갖는다. 또한 더티상태(Dirty)는 시스템 내에서 유일하게 유효한 값을 갖는 블록으로서, 메인 메모리와도 데이터가 일치하지 않고, 메인 메모리(160)로의 라이트 백(Write back)동작이 발생하게 된다.
이와 같이 캐시 미스가 발생할 경우에는 캐시 데이터의 각 상태에 따라 메인 메모리(160)에서 데이터를 캐시 메모리(141∼144)로 가져다 놓은 후(Read for read), 해당 캐시 데이터의 상태를 유효 또는 공유 상태로 변경하고, 프로세서의 재시도 요구에 따라 다시 캐시 메모리(141∼144)를 억세스하여 원하는 데이터를 패치하게 된다.
한편, 도 6은 프로세서에서 구동된 어드레스의 쓰기동작에 따른 흐름도로서 이에 도시된 바와 같이, 제 1 프로세서(101)에서 구동된 어드레스가 각 비교기(111∼114)에서 비교한 결과 캐시 적중일 경우, 읽기동작과 마찬가지로 캐시 적중된 어드레스에 바로 쓰기동작을 할 수 있으며, 이때 읽기동작과의 차이점은 해당 상태 메모리(125∼128)의 상태 정보가 변화하고, 또 다른 시스템 보드에 위치한 동일한 캐시 메모리(141∼144)를 제어하기 위한 신호가 발생하게 되는 것이다.
즉, 쓰기동작을 하고자 하는 해당 어드레스가 캐시 적중이 발생할 경우 유효상태의 데이터는 더티상태로 변화시키고, 공유상태의 데이터는 무효 또는 더티상태로 변경시킨 후 캐시 메모리에 해당 데이터의 쓰기동작을 수행하게 된다.
만약, 캐시 미스가 발생할 경우에는 상태 메모리의 상태 정보가 더티상태일 경우에만 메인 메모리로 라이트백 동작이 수행되고, 그 외의 상태에서는 동작순서가 읽기 동작과 마찬가지로 해당 블록을 메인 메모리에서 캐시 메모리로 복사해 놓고 쓰기동작을 수행하게 된다. 즉, 캐시 메모리에 데이터를 쓰기 위하여 메인 메모리(160)로부터 구동된 어드레스에 해당하는 데이터를 읽어오고(Read for write), 상태 메모리의 상태는 더티상태로 변경한 후 읽어온 데이터는 해당 캐시 메모리(141∼144) 영역에 쓰기동작을 수행하게 된다. 한편, 제 2 프로세서(102)가 동일한 어드레스의 요청을 재시도함에 따라 리턴하여 캐시 메모리(141∼144)로부터 해당 데이터를 패치하게 된다.
여기서, 캐시 미스가 발생할 경우, 상태 메모리(125∼128)에 기록된 상태값에 따라 설명하면, 먼저 상태값이 유효한 상태일 경우에는 더티상태로 변환한 후 응답하고, 이는 해당 블록에 대해서 독점적 소유권을 가지므로 시스템 내에서 해당 데이터의 불일치를 방지할 책임이 있게 된다.
또한, 상태값이 공유상태일 경우에는 해당 블록에 대하여 독점적 사용권을 확보하기 위하여 무효 사이클(Invalid cycle)로 다른 캐시의 해당 블록을 무효화시키고, 자신은 더티상태로 변경한 후 쓰기동작을 실시한다.
또한, 상태값이 더티상태일 경우에는 읽기 및 쓰기동작을 상태 변화 없이 실시한다.
한편, 스누프 제어부(131∼134)에서는 제 1 프로세서(101)가 특정 어드레스를 억세스 하다가 캐시 미스가 발생한 경우 시스템 버스를 통하여 메인 메모리(160)를 억세스 하는데, 이때 제 2 프로세스(102)가 동일 어드레스를 억세스할 경우 제 1 프로세서(101)의 동작이 완료될 때까지 제 2 프로세서(102)가 재시도 하도록 시간을 보장해주는 역할을 하게 된다.
이상에서 설명한 바와 같이 본 발명은 다수개의 프로세서가 공유하는 캐시 메모리를 다수개의 병렬 연결하여 구현함으로서, 먼저 진행된 특정 프로세서의 데이터 패치 동작이 캐시 미스가 발생하여 시스템 버스를 계속 사용하고 있는 중일 경우, 다른 프로세서로부터 구동된 특정 어드레스가 캐시 적중이 발생하면 시스템 버스에 영향을 받지 않고 내부 로컬 버스를 이용하여 요구되는 데이터를 지연 없이 패치 할 수 있다. 이와 같이 다수개의 프로세서가 동시 또는 연속으로 데이터를 패치 하고자 어드레스가 구동될 경우에도 다른 캐시 메모리로부터 데이터를 패치 함으로써, 캐시 적중률을 향상시킬 수 있고, 먼저 어드레스를 구동한 프로세서의 동작이 종료될 때까지 대기할 필요가 없으므로 대기시간을 줄일 수 있어 데이터 처리속도를 개선시킬 수 있는 효과가 있다.

Claims (4)

  1. 소정의 프로세서에서 구동된 특정 어드레스가 캐시 적중일 경우, 캐시 상태에 관계없이 캐시 메모리에서 데이터를 패치하는 제 1 과정과; 상기 프로세서에서 구동된 특정 어드레스가 캐시 미스일 경우, 메인 메모리에서 데이터를 캐시 메모리로 복사한 후 캐시 상태값을 갱신하는 제 2 과정과; 상기 캐시 상태값을 갱신한 후 해당 어드레스의 재시도에 의하여 캐시 메모리로부터 데이터를 패치하는 제 3 과정으로 이루어짐을 특징으로 하는 멀티 프로세서 시스템의 캐시 메모리 제어방법.
  2. 소정의 프로세서에서 특정 어드레스를 구동하여 데이터의 쓰기 동작시, 캐시 적중의 경우 적중된 어드레스 쓰기동작을 수행하는 제 1 과정과; 상기 요청된 특정 어드레스에 캐시 미스가 발생할 경우 해당 데이터를 메인 메모리로 복사한 후 쓰기동작을 수행하는 제 2 과정과; 상기 쓰기 동작 수행 후 해당 데이터의 쓰기 요청을 재시도하는 제 3 과정으로 이루어짐을 특징으로 하는 멀티 프로세서 시스템의 캐시 메모리 제어방법.
  3. 제 2 항에 있어서, 상기 제 2 과정에서 요청된 특정 어드레스의 캐시 상태가 더티상태일 경우 메인 메모리로의 라이트 백 동작을 수행함을 특징으로 하는 멀티 프로세서 시스템의 캐시 메모리 제어방법.
  4. 다수개의 프로세서로 이루어진 멀티 프로세서 시스템에서 소정의 프로세서로부터 구동된 어드레스에 해당 캐시 메모리의 태그 및 데이터의 상태 정보를 갖도록 로컬 버스에 병렬 연결된 다수개의 태그 및 상태 메모리와; 상기 프로세서에서 요청한 어드레스가 캐시 메모리에 존재하는지를 비교 판단하도록 상기 각 태그 메모리에 대응하는 다수개의 비교수단과; 상기 각 비교수단의 판단 결과에 따라 프로세서로부터 시스템 버스를 억세스 하는데 필요한 신호를 발생하고, 태그 및 상태 메모리를 갱신함과 아울러 시스템 버스에 구동되는 어드레스를 감시하여 상태 메모리의 상태값을 갱신하도록 각 비교수단에 해당하는 다수개의 캐시 및 스누프 제어수단과; 상기 각 캐시 및 스누프 제어수단의 제어에 의하여 데이터를 갱신하도록 시스템 버스에 병렬 연결된 다수개의 캐시 메모리를 포함하여 구성된 것을 특징으로 하는 멀티 프로세서 시스템의 캐시 메모리 제어장치.
KR1019970048149A 1997-09-23 1997-09-23 멀티 프로세서 시스템의 캐시 메모리 제어방법 및 장치 KR100258883B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019970048149A KR100258883B1 (ko) 1997-09-23 1997-09-23 멀티 프로세서 시스템의 캐시 메모리 제어방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019970048149A KR100258883B1 (ko) 1997-09-23 1997-09-23 멀티 프로세서 시스템의 캐시 메모리 제어방법 및 장치

Publications (2)

Publication Number Publication Date
KR19990026157A true KR19990026157A (ko) 1999-04-15
KR100258883B1 KR100258883B1 (ko) 2000-06-15

Family

ID=19521512

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019970048149A KR100258883B1 (ko) 1997-09-23 1997-09-23 멀티 프로세서 시스템의 캐시 메모리 제어방법 및 장치

Country Status (1)

Country Link
KR (1) KR100258883B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100813789B1 (ko) * 2005-03-07 2008-03-13 후지쯔 가부시끼가이샤 어드레스 스누프 방법 및 멀티프로세서 시스템
KR101487588B1 (ko) * 2012-11-02 2015-01-29 타이완 세미콘덕터 매뉴팩쳐링 컴퍼니 리미티드 메모리 회로 및 메모리 회로 동작 방법

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102282189B1 (ko) 2014-07-02 2021-07-27 삼성전자 주식회사 밉맵 생성 방법 및 장치

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100813789B1 (ko) * 2005-03-07 2008-03-13 후지쯔 가부시끼가이샤 어드레스 스누프 방법 및 멀티프로세서 시스템
KR101487588B1 (ko) * 2012-11-02 2015-01-29 타이완 세미콘덕터 매뉴팩쳐링 컴퍼니 리미티드 메모리 회로 및 메모리 회로 동작 방법
US9431064B2 (en) 2012-11-02 2016-08-30 Taiwan Semiconductor Manufacturing Company, Ltd. Memory circuit and cache circuit configuration
US10430334B2 (en) 2012-11-02 2019-10-01 Taiwan Semiconductor Manufacturing Company, Ltd. Memory circuit and cache circuit configuration
US11216376B2 (en) 2012-11-02 2022-01-04 Taiwan Semiconductor Manufacturing Company, Ltd. Memory circuit and cache circuit configuration
US11687454B2 (en) 2012-11-02 2023-06-27 Taiwan Semiconductor Manufacturing Company, Ltd. Memory circuit and cache circuit configuration

Also Published As

Publication number Publication date
KR100258883B1 (ko) 2000-06-15

Similar Documents

Publication Publication Date Title
EP0735480B1 (en) Cache coherent computer system that minimizes invalidation and copyback operations
US5598550A (en) Cache controller for processing simultaneous cache accesses
KR100515059B1 (ko) 멀티프로세서 시스템 및 멀티프로세서 시스템의 캐쉬일관성 유지 방법
JPH07281955A (ja) マルチプロセッサーシステムのスヌープ回路
JP2004054931A (ja) 分散メモリマルチプロセッサシステムにおけるメモリ移行のためのシステムおよび方法
JPH06222993A (ja) キャッシュメモリシステムおよびそれを実現するための方法
KR20060102565A (ko) 라이트 백 캐시 내에서 동시 발생하는 스누프 푸시 또는스누프 킬 연산중에 라이트 백 연산을 취소하는 시스템 및방법
US5761724A (en) Write-invalidate cache system for a split transaction bus based shared memory multiprocessor
JPH06318174A (ja) キャッシュ・メモリ・システム及び主メモリに記憶されているデータのサブセットをキャッシュする方法
WO1997004392A1 (en) Shared cache memory device
JPH0467242A (ja) プロセッサおよびそのキャッシュメモリ制御方法
JP4144990B2 (ja) データ処理システム及び初期化方法
KR100258883B1 (ko) 멀티 프로세서 시스템의 캐시 메모리 제어방법 및 장치
JPH10105461A (ja) 処理装置及びルックアサイド・キャッシュをスヌープする改善された装置及び方法
WO1999032976A1 (en) Risc processor with concurrent snooping and instruction execution
US6052762A (en) Method and apparatus for reducing system snoop latency
JPH06282528A (ja) データ転送方法及びそのシステム
JPH03172943A (ja) キャッシュメモリ制御方式
JP3081635B2 (ja) キャッシュメモリの無効化処理装置および無効化制御方法
KR100387576B1 (ko) 멀티프로세서시스템의캐쉬응집프로토콜처리방법
KR950012735B1 (ko) 이단(Two Level) 캐쉬 메모리의 동질성 보장장치 및 방법
JPH0644261B2 (ja) マルチプロセッサシステムにおけるキャッシュ制御方式
JPH06124235A (ja) キャッシュ制御方式
KR950012510B1 (ko) 다중 프로세서간 시스템 버스 사용 제어 방법
JP3219422B2 (ja) キャッシュメモリ制御方式

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee