KR950003877B1 - 캐쉬 업데이트(Cache Update)장치 및 방법 - Google Patents

캐쉬 업데이트(Cache Update)장치 및 방법 Download PDF

Info

Publication number
KR950003877B1
KR950003877B1 KR1019920016934A KR920016934A KR950003877B1 KR 950003877 B1 KR950003877 B1 KR 950003877B1 KR 1019920016934 A KR1019920016934 A KR 1019920016934A KR 920016934 A KR920016934 A KR 920016934A KR 950003877 B1 KR950003877 B1 KR 950003877B1
Authority
KR
South Korea
Prior art keywords
cache
snoop
address
controller
tag
Prior art date
Application number
KR1019920016934A
Other languages
English (en)
Other versions
KR940007682A (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 KR1019920016934A priority Critical patent/KR950003877B1/ko
Publication of KR940007682A publication Critical patent/KR940007682A/ko
Application granted granted Critical
Publication of KR950003877B1 publication Critical patent/KR950003877B1/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

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

내용 없음.

Description

캐쉬 업데이트(Cache Update)장치 및 방법
제1도는 본 발명에 따른 캐쉬 업데이트장치의 블럭도.
제2도는 본 발명에 사용되어진 시스템 버스의 타이밍도.
제3도는 본 발명에 따른 서치(Search) 및 업데이트(Update)의 타이밍도.
제4도는 본 발명에 따른 캐쉬 업데이트방법의 흐름도.
* 도면의 주요부분에 대한 부호의 설명
10 : 업데이터 20 : 캐쉬 제어기
30 : 스누프 제어기 40 : 캐쉬 상태태그메모리
50 : 스누프 상태태그메모리 60 : 캐쉬 어드레스태그메모리
70 : 스누프 어드레스태그메모리 80 : 제1멀티플렉서
90 : 제2멀티플렉서 100 : 제3멀티플렉서
본 발명은 멀티프로세서 시스템(Multiprocessor System)에 있어서 캐쉬 업데이트(Cache Update)장치 및 방법에 관한 것으로, 특히 캐쉬 메모리와 스누프 메모리의 어드레스태그와 상태 태그를 업데이트하기 위한 캐쉬 업데이트장치 및 방법에 관한 것이다.
일반적으로 멀티프로세서 시스템은 데이타를 고속 및 효율적으로 처리하기 위해 여러 개의 프로세서를 갖고, 프로세서, 주기억장치, 입출력장치가 하나의 시스템 버스에 접속하는 시스템이다. 또한 멀티프로세서 시스템의 성능을 향상시키기 위해 캐쉬 시스템을 구축한다. 캐쉬 시스템은 프로세서와 주기억장치 사이에 있는 고속 버퍼 시스템와 같은 것으로써 프로세서와 주기억장치간의 데이타 및 명령어의 액세스 속도를 개선하기 시스템이다. 즉, 프로세서에서 자주 액세스되는 주기억장치의 데이타 및 명령어를 프로세서의 처리속도에 근접할 정도로 빠른 캐쉬 메모리에 저장함으로써 평균 메모리 액세스 시간을 감소시키는 것이다.
캐쉬 시스템의 기본 동작은 프로세서가 주기억장치를 액세스할 필요가 있을 때 먼저 캐쉬 메모리를 조사하여 데이타 또는 명령어가 존재하면 이를 읽어 들이고, 캐쉬 메모리에 존재하지 않으면 주기억장치가 데이타 또는 명령어를 읽기 위해 액세스된다. 캐쉬 시스템에 저장된 데이타 및 명령어에는 어드레스태그(Address tag)와 상태 태그(State tag)가 부여된다.
멀티프로세서 시스템에 있어서 캐쉬 메모리사이의 동질성 보장을 위하여 캐쉬 제어기(Cache Controller)와 스누프 제어기(Snoop Controller)를 사용한다. 캐쉬 제어기와 스누프 제어기는 각각 독립된 어드레스태그와 상태 태그를 갖는데 두 제어기가 서로의 영향을 최소화하여 독립적으로 동작할 때 시스템의 최대 성능을 보장할 수 있다. 또한 캐쉬 제어기와 스누프 제어기는 데이타의 서치(Search)와 업데이트(Update)를 제어한다. 여기서, 서치동작은 상태 태그와 어드레스태그를 찾는 것이고 업데이트동작은 태그메모리내에 있는 태그 어드레스와 상태를 변경하는 것이다.
종래의 캐쉬 서치 및 업데이트 동작은 캐쉬 제어기 또는 스누프 제어기에서 수행되었다. 그러나 스누프 제어기에서 업데이트 동작으로 인해 데이타 처리 시간이 지연될 수 있다. 즉, 스누프 제어기에서 업데이트 동작을 하는 동안 연속적인 버스 작동(Bus Operation)을 처리하지 못하므로 전체 시스템의 성능이 떨어진다는 문제점이 있었다.
따라서 본 발명의 목적은 상술한 문제점을 해결하기 위하여 캐쉬 제어기와 스누프 제어기사이에서 서로의 영향을 최소화하면서 데이타 서치 및 업데이트의 중재를 효율적으로 처리하는 캐쉬 업데이트장치 및 방법을 제공하는데 있다.
상술한 목적을 달성하기 위하여 본 발명은 캐쉬를 제어하기 위한 캐쉬 제어기와 시스템 버스를 감시하는 스누프 제어기와 캐쉬 어드레스태그를 저장하는 캐쉬 어드레스태그메모리와 캐쉬 상태태그를 저장하는 캐쉬상태태그메모리와 스누프 어드레스태그를 저장하는 스누프 어드레스태그메모리와 스누프 상태태그를 저장하는 스누프 상태태그메모리를 구비한 프로세서 시스템의 캐쉬 장치에 있어서, 상기 캐쉬 제어기로부터 캐쉬 업데이트 요청신호와 상기 스누프 제어기로부터 스누프 업데이트 요청신호를 입력으로 받아들어 업데이트할 어드레스태그와 상태 태그를 상기 캐쉬 어드레스태그메모리와 캐쉬 상태태그메모리와 스누프 어드레스태그메모리와 스누프 상태 태그메모리에 기입하기 위한 업데이터를 더 구비함을 특징으로 한다.
상술한 목적을 달성하기 위하여 본 발명은 캐쉬를 제어하기 위한 캐쉬 제어기와 시스템 버스를 감시하는 스누프 제어기와 캐쉬 어드레스태그를 저장하는 캐쉬 어드레스태그메모리와 캐쉬 상태태그메모리와 스누프 어드레스태그를 저장하는 스누프 어드레스태그메모리와 스누프 상태태그를 저장하는 스누프 상태태그메모리를 구비한 멀티프로세서 시스템의 캐쉬 방법에 있어서, 업데이트 요청신호에 의해서 업데이트 동작을 시작하는 과정과; 상기 업데이트 동작을 시작하는 단계에 의해서 어드레스 선택신호 및 상태 선택신호를 구동하고 각각 캐쉬 제어기 또는 스누프 제어기에서 출력된 어드레스는 어드레스태그메모리에, 캐쉬 제어기 또는 스누프 제어기에서 출력된 상태/어드레스 데이타는 상태 태그메모리에 기입하는 과정과; 상기 태그메모리에 기입하는 단계에 의해서 어드레스 및 데이타가 기입이되면 업데이트 허가신호를 구동하여 업데이트 동작을 종료하는 과정을 포함함을 특징으로 한다.
이하, 첨부된 도면을 참조하여 본 발명에 대하여 상세히 설명하기로 한다.
제1도는 본 발명에 따른 캐쉬 업데이트장치의 블럭도로서 주변장치와 신호의 흐름을 도시한 것이다.
제1도에 있어서, 캐쉬 업데이트장치는 업데이트동작을 제어하기 위한 업데이트(10)와 캐쉬 제어기(20)와 스누프 제어기(30)와 캐쉬 상태태그메모리(40)와 스누프 상태태그메모리(50)와 캐쉬 어드레스태그메모리(60)와 스누프 어드레스태그메모리(70)와 제1MUX(80)와 제2MUX(90)와 제3MUX(100)으로 구성한다.
제2도는 본 발명에 따른 서치 및 업데이트의 타이밍도이다.
제3도는 본 발명에 따른 서치 및 업데이트의 타이밍도이다.
제3(a)도는 시스템 버스의 클럭신호이고, 제3(b)도는 어드레스신호이고, 제3(c)도는 데이타신호이고, 제3(d)도는 칩선택신호이고, 제3(e)도는 기입신호이다.
제1도의 동작을 제2도와 제3(a)도~제(e)도를 결부시켜 설명하기로 한다.
업데이타(10)는 캐쉬 업데이트 요청신호(CACHE_UP_REQ)와 스누프 업데이트 요청신호(SNOOP_UP REQ)와 시스템 버스클럭(BUS_CLOCK)을 입력으로 받아들이고 캐쉬 업데이트 허가신호(CACHE_UP GRANT)와 스누프 업데이트 허가신호(SNOOP_UP_GRANT)와 어드레스 선택신호(ADD_SEL)와 상태선택신호(STATE_SEL)와 기입신호(/WRITE)를 출력한다.
캐쉬 제어기(20)는 프로세서의 요구를 받아들여 캐쉬 히트(HIT)가 발생한 경우 캐쉬 메모리에서 직접 프로세서로 데이타를 전송하며 미스(MISS)가 발생한 경우 시스템 버스를 통하여 주기억장치에서 데이타를 갖고 온 후 프로세서로 데이타를 전송한다.
스누프 제어기(30)는 시스템 버스를 감시하여 시스템 버스에 캐쉬 메모리와 주기억장치사이의 동일성을 보장하기 위해 DIRTY*, SNACK*, SHARED* 신호를 구동한다.
DIRTY*신호는 프로세서내에 유효한 데이타가 존재함을 나타내며 시스템 버스의 동작은 재시행(Retry)되고 이 사이에 해당 프로세서는 유효한 데이타를 주기억장치로 도로 기입(WRITEBACK)하여 준다.
SNACK*신호는 스누프 제어기(30)의 동작에 이상이 있음을 알리는 신호로서 이 경우 시스템 버스의 동작은 재시행된다. SNACK*신호를 구동하는 경우는 스누프 제어기(30)가 패리티 에러(Parity Error)를 검출하거나 내부의 사정으로 현재 진행되는 버스의 동작을 제대로 스누핑(Snooping)할 수 없는 경우이다.
SHARED*신호는 현재 진행되는 시스템 버스동작에 의한 데이타를 다수의 프로세서가 공유함을 나타내는 신호이다.
상술한 DIRTY*, SNACK*, SHARED*신호의 구동은 스누프 제어기(30)에서, DIRTY*, SNACK*, SHARED*신호의 해석은 캐쉬 제어기(20)에서 행해진다.
스누프 제어기(30)에서 현재의 시스템 버스동작에 해당되는 내용이 자신의 캐쉬 메모리에 존재하는 경우 DIRTY*, SNACK* SHARED*신호등을 구동하고 필요에 따라 WRITERACK동작을 수행하며 존재하지 않는 경우 무시한다.
캐쉬 제어기(20)와 스누프 제어기(30)의 동작을 위하여 캐쉬 HIT/MISS의 정보와 HIT인 경우 상태 경보를 나타내는 VALID, DIRTY, SHARED, INVALID신호가 필요하다. HIT/MISS의 정보는 어드레스태그메모리에 저장된 내용과 현재 진행중인 내용을 비교하여 현재 진행중인 내용이 태그메모리에 존재하는 경우 HIT가 발생하고, 태그메모리에 존재하지 않는 경우 MISS가 발생한다. 상태 정보는 상태 태그메모리에 저장되며 VALID신호는 현재의 내용이 유요함을 나타내는 신호이고, INVALID신호는 현재 내용이 무효임을 나타내는 신호이고, SHARED신호는 현재의 내용이 다른 프로세서와 공유됨을 나타내는 신호이고, DIRTY신호는 현재 내용이 주기억장치의 내용과 다름을 나타내는 신호이다.
캐쉬 제어기(30)와 스누프 제어기(30)로 어떤 동작을 요구하는 것은 프로세서와 시스템 버스의 데이타 전송되며 이 두 동작은 서로 아무런 연관없이 비동기(Asyncronous)적으로 동작한다. 이 경우 두 제어기는 상태 태그와 어드레스태그를 서치하고 필요한 경우에 업데이트동작을 수행하므로 각각 상태 태그메모리(40,50)와 어드레스태그메모리(60,70)를 별도로 갖는 것이 시스템 처리속도 향상에 유리하다. 그런데 각각 상태태그메모리(40,50)와 어드레스태그메모리(60,70)를 갖는 경우 각각의 내용이 따로 변화하게 되면 시스템 내에서 동일성이 깨지므로 이들 사이의 동일성 보장이 필요하게 된다. 그래서 본 발명에서는 상태 태그와 어드레스태그의 서치는 캐쉬 제어기(20)와 스누프 제어기(30)에서 독립적으로 동작하고, 업데이트는 동질성 보장을 위하여 업데이터(10)에서 동작하도록 한다. 업데이터(10)동작은 캐쉬 제어기(20)나 스누프 제어기(30)로부터 상태 또는 어드레스태그를 업데이트하기 위한 업데이트 요청신호(CACHE_UP_REQ, SNOOP UP_REQ)를 받아들임으로써, 해당 어드레스와 데이타를 구동하여 기입(Write)동작이 일어나도록 한다.
다음은 서치동작과 업데이트동작의 중재(Arbitration)에 대하여 설명하기로 한다.
상술한 바와같이 캐쉬 제어기(20)와 스누프 제어기(30)의 동작은 서로 독립적으로 일어나므로 이에 따른 서치요청과 업데이트요청도 독립적으로 일어난다. 따라서 업데이터(10)입장에서 업데이트신호를 언제 구동해야 할지를 알 수가 없으므로 서치와 업데이트 사이에 중재가 필요하다. 멀티프로세서 시스템에서 스누핑은 해당 버스 사이클에 동기되어 동작해야 한다.
제2도에서 버스클럭은 시스템 제어부(도면에 예시하지 않음)에서 발생한다. 버스의 제어권을 얻기 위한 중재신호(Arbitration, 이하 ARB라 함)는 매 클럭마다 이루어지며 ARB에서 이긴 프로세서는 데이타를 요구하기 위하여 어드레스의 전송정보를 보낸다. 다음 버스 클럭동안 해당 메모리는 정보를 분석하여 그 다음 버스 클럭에 인지신호(Acknowledge)를 전송함으로써 어드레스 전송을 완료하고 메모리에서 데이타가 준비되면 데이타 버스에 데이타와 요구한 메모리의 주소를 동시에 구동시킴으로써 요구한 데이타 전송이 완료된다. 제2도에서 도시된 것처럼 매 버스 클럭마다 ARB신호와 어드레스 전송과 어드레스 디코딩과 인지신호 수신이 동시에 일어날 수 있게 된다.
스누프 제어기(30)의 버스 감시는 이상의 버스동작을 감시하는 것을 나타내며, 매 버스 클럭에 어드레스 전송이 일어날 수 있으므로 해당동작을 매 버스 클럭에 끝내는 것이 요구된다. 스누프 제어기(30)는 버스상에 어드레스 신호가 안정되는 ①의 끝에서 어드레스를 래치하며 이 어드레스로 해당 내용이 자기의 캐쉬 메모리에 존재하는지를 판단하여, 요구되는 동작을 ②동안 완료한 후에 DIRTY*, SHARED*, SNACK* 신호를 ③동안 구동해야 한다. 상술한 동작은 한 버스 클럭동안에 동시에 일어날 수 있다.
다음은 서치동작과 업데이트동작의 파형을 설명하기로 한다.
제3도에 있어서, 한 버스 클럭 내에서 서치동작과 업데이트동작이 동시에 일어나야 하므로 버스 클럭을 기준으로 서치와 업데이트동작을 구분한다. 즉 버스 클럭이 하이레벨인 동안은 상태/어드레스 서치동작을 하고 버스 클럭이 로우레벨인 동안은 상태/어드레스 업데이트동작을 한다.
한 버스 클럭의 하이레벨인 동안 서치동작이 일어나기 위하여 어드레스는 시스템 버스에서 래치한 어드레스가 제공되어야 하며 이는 2MUX(90) 및 제3MUX(100)를 통해서 이루어진다. 어드레스는 버스 클럭 상승후 곧 안정화되게 하며 이때부터 상태 태그메모리(40,50) 및 어드레스태그메모리(60,70)의 독출(Read) 동작의 수행을 위하여 칩선택신호(/CHIPSELECT)가 ①과 ②사이에서 구동된다. 따라서 유효한 상태/어드레스태그의 정보는 ③과 ④사이가 된다. ③과 ④사이에 유효한 상태/어드레스태그 정보는 스누프 제어기(30)로 제공되어 스누프 제어기(30)는 다음 로우레벨동안 이 정보를 분석하여 필요한 동작을 할 수 있게 한다.
상태/어드레스태그의 기입동작은 업데이터(10)에 의하여 제어되는 어드레스가 제2MUX(90)와 제3MUX(100)를 통하여 버스 클럭의 하강싯점으로부터 곧 안정화되며 이 때부터 ⑤와 ⑦사이에 기입신호(/WRITE)가 유효하여 상태 태그메모리(40,50)와 어드레스태그메모리(60,70)에 기입되게 한다.
캐쉬 제어기(20)에 의하여 제어되는 상태/어드레스태그도 상술한 것처럼 버스 클럭이 하이레벨인 동안은 캐쉬 제어기(20)의 서치동작이, 버스 클럭이 로우레벨인 동안은 업데이터(10)의 업데이트동작이 일어난다.
다음은 업데이터(10)의 동작에 대하여 상세히 설명하기로 한다.
업데이터(10)로 상태/어드레스태그의 업데이트를 요구하는 것은 캐쉬 제어기(20)와 스누프 제어기(30)이며 업데이트동작을 위해서는 업데이트 요청신호(CACHE_UP_REQ, SNOOP_UP_REQ)를 구동한다. 업데이터(10)는 업데이트 요청신호를 받으면 버스 클럭이 로우레벨인 동안 업데이트를 수행하고 난후에 업데이트 허가신호(CACHE_UP_GRANT, SNOOP_UP_GRANT)를 보내 줌으로써 업데이트동작을 완료한다. 만약 캐쉬 제어기(20)와 스누프 제어기(30)가 동시에 업데이터(10)로 업데이트 요청신호를 보낼 경우에는 스누프 제어기(30)에게 우선순위(Priority)를 높게 두어 버스 작동(Bus operation)이 먼저 수행될 수 있도록 한다.
캐쉬 제어기(20)로부터 캐쉬 업데이트 요청신호(CACHE_UP_REQ)가 있는 경우 업데이터(10)는 캐쉬 업데이트 요청신호를 인식하며 스누프 제어기(30)의 업데이트 요청신호가 없으면 다음 버스 클럭의 로우레벨싯점에 동기한다. 이때 어드레스는 캐쉬 제어기(20)가 제공하는 어드레스가 캐쉬 어드레스태그메모리(60)로 입력되야 하므로 어드레스 선택신호(ADD_SEL)가 제2MUX(90)의 캐쉬 어드레스신호(CACHE_AND)를 선택하도록 출력한다. 동시에 캐쉬 제어기(20)가 제공하는 상태/어드레스 데이타가 캐쉬 상태태그메모리(40)에 입력될 수 있도록 상태 선택신호(STATE_SEL)를 구동한다. 어드레스 선택신호(ADD_SEL)와 상태 선택신호(STATE_SEL)는 버스 클럭의 하강싯점에 동기되어 구동함으로써 캐쉬 상태태그메모리(40)와 캐쉬 어드레스태그메모리(60)로 입력되는 어드레스와 상태 데이타는 안정된다. 이때 업데이터(10)에서는 기입신호(/WRITE)를 구동하여 캐쉬 상태태그메모리(40)와 캐쉬 어드레스태그메모리(60)에 원하는 정보가 기입되게 된다. 기입동작이 완료된 후 캐쉬 업데이트 허가신호(CACHE_UP_GRANT)를 구동하여 캐쉬 제어기(20)에게 업데이트동작이 완료되었음을 알리고 업데이트동작을 끝낸다.
스누프 제어기(30)의 업데이트 요청에 대해서도 캐쉬 제어기(20)의 업데이트 요청과 마찬가지로 처리되며 어드레스 선택신호(ADD_SEL)와 상태 선택신호(STATE_SEL)가 스누프 제어기(30)에서 제공되는 값이 선택되게 한다. 스누프 제어기(30)에 의하여 어드레스태그의 내용이 변경되는 경우는 없으므로 상태 선택신호(STATE_SEL)는 상태 데이타 경로 제어에만 사용된다.
서치의 동작은 캐쉬 제어기(20)와 스누프 제어기(30)에 의하여 별도로 일어나며 버스 클럭이 하이레벨인 동안 처리된다. 서치동작과 업데이트동작의 변환시 타이밍보장을 위하여 업데이트 요청신호가 없는 경우에 업데이트 선택신호(ADD_SEL)와 상태 선택신호(STATE_SEL)는 항상 서치동작이 가능하도록 선택한다.
제4도는 본 발명에 따른 캐쉬 업데이트방법의 흐름도이다.
제10단계는 업데이트 동작을 시작하는 과정이고, 제20~90단계는 태그메모리에 어드레스 및 상태 데이타를 기입하는 과정이고, 제100단계는 업데이트 동작을 완료하는 과정이다.
제4도의 흐름을 제1도와 결부시켜 설명하기로 한다.
먼저, 업데이터(10)가 캐쉬 제어기(20)로부터 업데이트 요청신호를 받으면 업데이트 동작을 시작한다(제10단계).
다음에 어드레스와 데이타 경로를 제어하여 어드레스 선택신호와 데이타 선택신호를 동시에 구동한다. 이때, 캐쉬 제어기(20)에서는 어드레스와 상태/어드레스 데이타를 출력한다(제20~60단계).
다음 업데이터(10)에서 기입신호를 구동하여 캐쉬 제어기(20)에서 출력한 어드레스를 캐쉬 어드레스태그메모리(60)에 기입하고, 캐쉬 제어기(20)에서 출력한 상태/어드레스 데이타는 캐쉬상태 태그메모리(40)에 기입한다(제70~90단계).
다음 태그메모리(40,60)에 어드레스와 데이타가 기입이 되면 업데이터(10)에서 업데이트 허가신호를 구동하여 업데이트 동작을 종료한다(제100단계).
상술한 바와같이 본 발명은 업데이트를 전달하는 업데이터로 인해 캐쉬 제어기와 스누프 제어기의 구현이 용이해지고, 단위 버스클럭내에서 상태/어드레스태그메모리의 서치와 업데이트동작을 수행함으로써 스누프 제어기가 매 버스 클럭에 해당 동작을 완료하여 다음 버스 클럭에 다른 요구를 정확히 처리할 수 있어 시스템의 고성능을 유지할 수 있는 잇점이 있다. 또한 서치와 업데이트 사이에 별도의 중재논리회로(Arbitration Logic)의 추가 없이 구현 가능하므로 시스템 설계가 용이해진다는 잇점이 있다.

Claims (4)

  1. 캐쉬를 제어하기 위한 캐쉬 제어기(20)와 시스템 버스를 감시하는 스누프 제어기(30)와 캐쉬 어드레스 태그를 저장하는 캐쉬 어드레스태그메모리(60)와 캐쉬 상태태그를 저장하는 캐쉬 상태태그메모리(40)와 스누프 어드레스태그를 저장하는 스누프 어드레스태그메모리(70)와 스누프 상태태그를 저장하는 스누프 상태태그메모리(50)를 구비한 멀티프로세서 시스템에 있어서, 상기 캐쉬 제어기(20)로부터 캐쉬 업데이트 요청신호와 상기 스누프 제어기(30)로부터 스누프 업데이트 요청신호를 입력으로 받아들여 업데이트할 어드레스태그와 상태 태그를 상기 캐쉬 어드레스태그메모리(60)와 상기 캐쉬 상태태그메모리(40)와 상기 스누프 어드레스태그메모리(70)와 상기 스누프 상태태그메모리(50)에 기입하기 위한 업데이터(10)를 더 구비함을 특징으로 하는 캐쉬 업데이트장치.
  2. 제1항에 있어서, 상기 어드레스태그와 상태 태그를 찾는 서치동작과 상기 어드레스태그와 상태 태그를 갱신하는 업데이트동작은 단위 버스 클럭에서 일어남을 특징으로 하는 캐쉬 업데이트장치.
  3. 제1항에 있어서, 상기 업데이터(10)에서 상기 캐쉬 제어기(20)와 스누프 제어기(30)로부터 동시에 업데이트 요청신호가 입력됐을 때 상기 스누프 제어기(30)의 업데이트 요청신호에 우선순위를 설정함을 특징으로 하는 캐쉬 업데이트장치.
  4. 캐쉬를 제어하기 위한 캐쉬 제어기(20)와 시스템 버스를 감시하는 스누프 제어기(30)와 캐쉬 어드레스태그를 저장하는 캐쉬 어드레스태그메모리(60)와 캐쉬 어드레스태그를 상태 캐쉬 상태태그메모리(40)와 스누프 어드레스태그를 저장하는 스누프 어드레스태그메모리(70)와 스누프 상태태그를 저장하는 스누프 상태태그메모리(50)를 구비한 멀티프로세서 시스템의 캐쉬 방법에 있어서, 업데이트 요청신호에 의해서 업데이트 동작을 시작하는 과정과; 상기 업데이트 동작을 시작하는 단계에 의해서 어드레스 선택신호 및 상태 선택신호를 구동하고 각각 캐쉬 제어기 또는 스누프 제어기에서 출력된 어드레스는 어드레스태그메모리에, 캐쉬 제어기 또는 스누프 제어기에서 출력된 상태/어드레스 데이타는 상태 태그메모리에 기입하는 과정과; 상기 태그메모리에 기입하는 단계에 의해서 어드레스 및 데이타가 기입이되면 업데이트 허가신호를 구동하여 업데이트동작을 종료하는 과정을 포함함을 특징으로 하는 캐쉬 업데이트방법.
KR1019920016934A 1992-09-17 1992-09-17 캐쉬 업데이트(Cache Update)장치 및 방법 KR950003877B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019920016934A KR950003877B1 (ko) 1992-09-17 1992-09-17 캐쉬 업데이트(Cache Update)장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019920016934A KR950003877B1 (ko) 1992-09-17 1992-09-17 캐쉬 업데이트(Cache Update)장치 및 방법

Publications (2)

Publication Number Publication Date
KR940007682A KR940007682A (ko) 1994-04-27
KR950003877B1 true KR950003877B1 (ko) 1995-04-20

Family

ID=19339690

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019920016934A KR950003877B1 (ko) 1992-09-17 1992-09-17 캐쉬 업데이트(Cache Update)장치 및 방법

Country Status (1)

Country Link
KR (1) KR950003877B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101241279A (zh) * 1999-10-01 2008-08-13 三星电子株式会社 宽视角液晶显示装置

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6263408B1 (en) * 1999-03-31 2001-07-17 International Business Machines Corporation Method and apparatus for implementing automatic cache variable update

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101241279A (zh) * 1999-10-01 2008-08-13 三星电子株式会社 宽视角液晶显示装置

Also Published As

Publication number Publication date
KR940007682A (ko) 1994-04-27

Similar Documents

Publication Publication Date Title
US5426765A (en) Multiprocessor cache abitration
US5774700A (en) Method and apparatus for determining the timing of snoop windows in a pipelined bus
US4586133A (en) Multilevel controller for a cache memory interface in a multiprocessing system
KR960009659B1 (ko) 멀티프로세서 시스템의 스누프회로
EP1665058B1 (en) Memory module and method having on-board data search capabilites and processor-based system using such memory modules
US5283886A (en) Multiprocessor cache system having three states for generating invalidating signals upon write accesses
EP0283628B1 (en) Bus interface circuit for digital data processor
US6405271B1 (en) Data flow control mechanism for a bus supporting two-and three-agent transactions
US5659710A (en) Cache coherency method and system employing serially encoded snoop responses
US5535341A (en) Apparatus and method for determining the status of data buffers in a bridge between two buses during a flush operation
CA1300280C (en) Central processor unit for digital data processing system including write buffer management mechanism
US6122692A (en) Method and system for eliminating adjacent address collisions on a pipelined response bus
EP0303648B1 (en) Central processor unit for digital data processing system including cache management mechanism
JPH0727493B2 (ja) ライトスルーキャッシュおよびパイプラインスヌープサイクルを備えたメモリシステムを有するパーソナルコンピュータ
JPH0748197B2 (ja) データ・バスを確保する方法
JPH1196072A (ja) メモリアクセス制御回路
US5557622A (en) Method and apparatus for parity generation
KR950003877B1 (ko) 캐쉬 업데이트(Cache Update)장치 및 방법
JPH10105461A (ja) 処理装置及びルックアサイド・キャッシュをスヌープする改善された装置及び方法
US5809534A (en) Performing a write cycle to memory in a multi-processor system
KR20000035874A (ko) 공유 버스에서 다중 중첩 어드레스 공간을 지원하는 방법 및 장치
US6484238B1 (en) Apparatus and method for detecting snoop hits on victim lines issued to a higher level cache
US5652846A (en) Bus deadlock prevention circuit for use with second level cache controller
KR960016402B1 (ko) 캐쉬 데이터 고속전송 장치
KR0129793B1 (ko) 태그 비트를 사용한 메모리 엑세스 장치 및 방법

Legal Events

Date Code Title Description
A201 Request for examination
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: 20030328

Year of fee payment: 9

LAPS Lapse due to unpaid annual fee