KR960016402B1 - 캐쉬 데이터 고속전송 장치 - Google Patents

캐쉬 데이터 고속전송 장치 Download PDF

Info

Publication number
KR960016402B1
KR960016402B1 KR1019930003202A KR930003202A KR960016402B1 KR 960016402 B1 KR960016402 B1 KR 960016402B1 KR 1019930003202 A KR1019930003202 A KR 1019930003202A KR 930003202 A KR930003202 A KR 930003202A KR 960016402 B1 KR960016402 B1 KR 960016402B1
Authority
KR
South Korea
Prior art keywords
data
signal
cache
processor
controller
Prior art date
Application number
KR1019930003202A
Other languages
English (en)
Other versions
KR940022269A (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 KR1019930003202A priority Critical patent/KR960016402B1/ko
Publication of KR940022269A publication Critical patent/KR940022269A/ko
Application granted granted Critical
Publication of KR960016402B1 publication Critical patent/KR960016402B1/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

캐쉬 데이터 고속전송 장치
제1도는 본 발명이 적용되는 캐쉬 제어장치의 블럭도.
제2도는 라인 오퍼레이션을 위한 상세 회로도.
제3도는 히트 제어기의 사이클 터미네이션부에 대한 상태도.
제4도는 제1도의 히트 제어기에 따른 타이밍도.
제5도는 제2도에 따른 타이밍도.
* 도면의 주요부분에 대한 부호의 설명
10 : CPU,20 : 데이터 버퍼,
30 : RETRY제어기,40 : 캐쉬 메모리,
50 : 히트 제어기,60 : 캐쉬 제어기,
70 : 스누프 제어기,80 : 버스 인터페이스,
90 : 카운터,100 : 제어신호생성수단,
110~140 : 제 1~4데이터 버퍼.
본 발명은 멀티프로세서 시스템에 있어서 캐쉬 제어장치에 관한 것으로, 특히 캐쉬 히트(Cache Hit)의 경우 캐쉬 데이터 고속전송을 위한 캐쉬 데이터 고속전송 장치에 관한 것이다.
일반적으로 멀티프로세서 시스템은 고성능처리를 위하여 중앙처리장치보드내에 캐쉬 메모리를 장착한다. 또한 프로세서 내부에 각각 명령어 캐쉬 메모리와 데이터 캐쉬 메모리를 갖는다.
프로세서 내부의 캐쉬 (cache) 메모리는 소정의 비트 라인(line)으로 구성되며 라인 오퍼레이션(operation)의 방식을 이용하여 롱워드(Longword) 전송으로 캐쉬필(Cache Fill)을 수행한다. 그리고 라인 오퍼레이션은 블럭전송인 버스트(burst) 모드 전송으로 이루어진다.
멀티프로세서 시스템에 사용되는 MC68040프로세서는 32비트의 데이터 신호선을 가지며, 시스템 버스는 펜디드프로토콜(Pended Protocol)을 사용하는 동기버스로서 데이터 폭은 64비트이다.
그리고 프로세서와 시스템 버스사이의 데이터 폭 불일치를 해결하기 위해서는 캐쉬 메모리를 복수개의 뱅크(bank)로 구성하고, 이들 캐쉬 메모리사이의 데이터 동질성은 스누프(snoop) 제어기가 시스템 버스를 감시하여 이루어진다. 이를 위하여 시스템 버스에서 일리노이스 프로토콜(Illinois Protocol)을 지원하도록 dirty, snack, shared신호가 있으며, 빠른 동작을 위하여 캐쉬 제어기와 스누프 제어기는 캐쉬 메모리중 상태 태그 메모리와 어드레스 태그 메모리를 각각 따로 갖는다. 이들 사이의 데이터 동질성은 업데이트 로직(Update Logic)에 의하여 유지된다.
캐쉬 메모리의 성능은 히트율(Hit Ratio)과 밀접하게 연관되어진다. 즉, 히트율을 높일수록 시스템의 성능이 향상된다. 히트율을 높이는 가장 효과적인 방법은 캐쉬 메모리의 사이즈를 늘리는 것이며, 그의 매핑방식의 변경, 라인 사이즈의 변경등이 있다.
그리고 히트된 데이터를 얼마나 빠르게 처리하느냐에 따라 시스템 성능이 좌우된다. 즉 캐쉬 히트인 경우 프로세서의 데이터 전송요구에 처리속도와 캐쉬 미스(Miss)인 경우 데이터 전송을 완료하는 속도에 따라 시스템의 성능이 결정된다. 캐쉬 미스인 경우에는 시스템 버스를 통하여 메인 메모리(Main Memory)에서 데이터를 처리해야 하므로 캐쉬 히트인 경우에 비하여 그 처리시간이 길어진다. 그런데 시스템의 성능을 향상시키기 위해서는 많이 사용하는 부위를 향상시키는 것이 유리하므로 평균 98%의 히트율에 해당하는 히트 데이터를 고속으로 처리하는 것이 시스템 성능에 지배적이다.
종래에는 캐쉬 제어기에서 히트/미스의 경우를 모두 처리하였으며, 이로인해 구현이 복잡해지며, 히트의 경우 데이터 고속전송을 행하는 데 어려움이 있다는 문제점이 있었다.
따라서 본 발명의 목적은 상술한 문제점을 해결하기 위하여 캐쉬 히트인 경우의 데이터를 전용적으로 고속전송할 수 있는 캐쉬 데이터 고속전송장치를 제공하는데 있다.
상기 목적을 달성하기 위한, 버스를 기반으로 하는 공유메모리 구조를 갖는 멀티프로세서 시스템에서 복수의 프로세서(10), 상기 프로세서(10)가 요구하는 데이터의 히트/미스를 판별하는 캐쉬 메모리(40), 상기 캐쉬 메모리를 제어하는 캐쉬 제어기(60) 및 시스템 버스상의 어드레스를 감시하며 데이터 동일성을 유지하는 동작을 수행하는 스누프 제어기(70)를 구비한 캐쉬 제어장치에 있어서, 캐쉬 히트(Cache Hit)의 경우 캐쉬 데이터 고속전송을 위한 캐쉬 데이터 고속전송 장치는 상기 프로세서(10)가 상기 캐쉬 메모리(40)에게 요구한 데이터의 크기에 대한 정보를 상기 프로세서(10)로부터 수신하여 라인오프레이션인지 판별하고, 상기 요구한 데이터가 캐쉬 히트이고 라인오프레이션일 경우, 상기 프로세서의 버스 동작을 종료하게 하는 신호(HITTA~)를 상기 라인크기의 데이터가 전송되는 시간까지 구동하는 히트제어기(50) ; 캐쉬 히트일 경우 상기 프로세서(10)로 전송할 상기 캐쉬 메모리(40)의 데이터를 일시적으로 저장하며, 출력제어신호를 구비하여 상기 출력제어신호에 따라 상기 일시적으로 저장된 데이터를 상기 프로세서(10)로 출력하는 데이터 버퍼(110-140) ; 상기 히트제어기의 HITTA~신호가 구동되면 상기 라인오프레이션에 따른 어드레스신호(A2,A1)를 프로세서(10)로부터 받아 라인크기 만큼 상기 어드레스신호값을 상기 프로세서(10) 동작클럭에 동기시켜 1씩 증가시키는 카운터(90) ; 상기 카운터(90)의 출력신호에 상응하여 상기 데이터 버퍼(110-140)의 출력제어신호를 생성하는 버퍼제어신호 생산수단(100) ; 및 상기 프로세서(10)가 요구한 데이터가 캐쉬 히트인 경우 상기 히트제어기(50)의 HITTA~신호가 인에이블된 후 라인크기의 데이터전송이 완료되어 상기 HITTA~신호가 디스에이블되면 상기 프로세서(10)에 전송완료신호(TA~)를 출력하는 재시도제어기(30)를 포함함이 바람직하다.
이하, 첨부된 도면을 참조하여 본 발명에 대하여 상세히 설명하기로 한다. 제1도는 본 발명이 적용되는 캐쉬 제어장치의 구성을 블럭도로 도시한 것이다. 제1도에 있어서, 구성에 대하여 설명하면 중앙처리장치(10)와 데이터버퍼(20)와 Retry제어기(30)와 캐쉬 메모리(40)와 HIT제어기(50)와 캐쉬 제어기(60)와 스누프 제어기(70)와 버스인터페이스(80)와 시스템버스로 구성한다. 그리고 캐쉬 메모리(40)는 뱅크별로 상태 태그 메모리와 어드래스 태그 메모리로 구성된다.
다음은 제1도에 도시된 블럭도에 대한 동작을 설명하기로 한다.
데이터버퍼(20)는 CPU(10)와 상기 캐쉬 메모리(40) 사이의 데이터 전송통로로서, 캐쉬 히트일 경우 상기 프로세서(10)로 전송할 상기 캐쉬 메모리(40)의 데이터를 일시적으로 저장하며, 출력제어신호를 구비하여 상기 출력제어신호에 따라 상기 일시적으로 저장된 데이터를 상기 프로세서(10)로 출력한다. 도 2에 도시된 참조번호 110, 20, 130, 140는 상기 데이터버퍼에 대한 상세회로를 나타내고 있다.
스누프 제어기(70)는 시스템 버스에서 어드레스를 감시하며 캐쉬 메모리(40)를 구성하는 어드레스 태그 메모리와 상태 태그 메모리의 정보를 이용하여 데이터 동질성유지를 위한 동작을 동작을 수행하며 필요한 경우 시스템 버스로 dirty, snack, shared신호를 구동한다.
버스 인터페이스(80)는 시스템 버스를 통하여 메인 메모리(도면에 예시하지 않음)와의 데이터 전송을 담당하며 캐쉬 제어기(60)와 스누프 제어기(70)의 요구에 의하여 동작한다. SNRQ~신호는 스누프 제어기(70)의 버스 인터페이스 요구신호이며, SNRQ~신호는 이에 대한 응답신호이다. 버스 인터페이스(80)가 시스템 버스를 통하여 데이터 전송을 완료하면 그 결과를 스누프 제어기(70)로 전달하며 이는 DONE신호로 처리한다. 스누프 제어기(70)가 버스 인터페이스를 요구하는 경우는 WRITEBACK동작을 수행하는 경우 밖에 없으며 이 경우 어드레스는 시스템 버스로부터 스누프 제어기(70)가 획득한 어드레스이며 데이터는 캐쉬 메모리(40)에 제공된다.
CARQ~신호는 캐쉬 제어기(60)의 버스 인터페이스 요구신호이며 CARQ~신호는 이에 대한 응답을 나타내는 신호이다. 버스 인터페이스(80)가 시스템 버스를 통하여 데이터 전송을 완료하면 그 결과를 캐쉬 제어기(60)로 전달하며 이는 DONE, ABORTBUS신호로 처리한다. DONE신호는 정상종료를 나타내며 ABORTBUS신호는 시스템버스의 데드록(Deadlock)현상을 방지하기 위하여 CPU(10)에서 다시 재시도(Retry)하도록 하는 신호이며 CPU(10)가 재시도하는 동안 스누프 제어기(70)가 버스 인터페이스(80)를 이용하여 WRITEBACK동작을 수행할 수 있으므로 데드록현상을 피할 수 있다.
캐쉬 제어기(60)는 히트 제어기(50)의 CAST~(Cache Start~)신호를 받아 동작을 시작하며 캐쉬 메모리(40)에서 필요한 정보를 얻어 동작한다. 히트 제어기(50)에서 CAST~신호는 캐쉬 미스가 발생한 경우 구동하며 캐쉬 히트가 발생한 경우는 히트 제어기(50)에서 직접 처리한다.
캐쉬 제어기(60)는 히트 제어기(50)의 CAST~신호를 받아 버스 인터페이스(80)를 구동하여 필요한 시스템 버스 오퍼레이션을 수행하여 정상종료, 즉 DONE신호를 받으면 캐쉬 메모리(40)에 그 결과를 기입한다. 캐쉬 제어기(60)는 CAST~신호를 받으면 항상 CARTRY~신호를 구동하며 이는 RETRY제어기(30)에 입력되어 CPU(10)를 재시도시킨다.
만약 캐쉬 제어기(60)가 버스 인터페이스(80)로 부터 DONE신호를 받아 정상종료되는 경우에는 CARTEY~신호에 의하여 재시도된 CPU(10)의 동작은 캐쉬 히트동작으로 바뀌어 히트 제어기(50)에서 처리되고, 버스 인터페이스(80)로부터 ABORTBUS신호를 받는 경우에는 캐쉬 제어기(60)에 의한 캐쉬 메모리 업데이트가 일어나지 않으므로 CARTRY~신호에 의한 CPU(10)의 재시도동작에 의하여 캐쉬 미스동작이 재시도된다.
다음은 히트 제어기(50)에 대한 상세한 설명을 하기로 한다.
상기 히트 제어기(50)는 히트 검출부와 사이클 터미네이션부로 구성되며, 특히 캐쉬 데이터 고속장치를 위해서는 상기 프로세서(10)가 캐쉬 메모리(40)에게 요구한 데이터의 크기에 대한 정보를 상기 프로세서(10)로부터 수신하여 라인오프레이션인지 판별하고, 상기 요구한 데이터가 캐쉬 히트이고 라인오프레이션일 경우, 상기 프로세서의 버스 동작을 종료하게 하는 신호(HITTA~)를 상기 라인크기의 데이터가 전송되는 시간까지 구동한다.
먼저 히트 검출부에 대한 동작을 제4도와 결부시켜 설명하기로 한다.
히트 검출부는 CPU(10)의 요구를 분석하여 사이클 터미네이션부를 통하여 캐쉬 히트 오프레이션을 수행하거나 캐쉬 제어기(60)를 구동하여 캐쉬 미스동작을 수행하도록 한다. CPU(10)는 사이클의 시작을 제4(B)도의 전송개시신호(Transfer Start)에 의하여 외부에 알린다. 전송개시신호는 제4(A)도의 버스 클럭신호의 상승엣지(Rising Edge)후 최대 21nsec이후에 안정이 되며, 이때 제4(D)도의 사이즈정보와 제4(E)도의 어드레스정보가 동시에 구동된다. 제4(C)도의 전송진행신호(Transfer In Progress)는 CPU(10)의 사이클 완료이전까지 구동되며 전송이 진행중임을 나타낸다.
제4(I)도의 독출/기입신호는 CPU(10)의 요구가 독출인지 기입인지를 구분한다. 제4(G)도와 제4(H)도는 상태신호이다. CPU(10)의 사이클 시작이후 ◎에서 전송개시신호가 검출되며 CPU신호의 안정을 위하여 ①에서 버퍼에 래치된다. 이때 A〈2..3〉은 데이터 패스의 제어를 위하여 카운터 로직에 동시에 래치된다. 버퍼의 출력이 유효한 ①과 ②사이에서 어드레스 태그 및 상태 태그의 서치를 위한 어드레스가 구동이 되며 20nsec의 액세스 타임을 갖는 메모리를 사용하므로 ②~③사이에서 그 결과가 유효하다.
히트 검출은 ③의 클럭신호의 상승엣지에서 판단을 하며 캐쉬 히트 오퍼레이션인 경우 ④에서 사이클 터미네이션을 위한 TA~(Transfer Acknowledge)신호를 구동하기 시작하고 CPU(10)는 다음 상승엣지인 ⑤에서 이를 인식하여 사이클을 종료한다.
표 1은 히트 검출을 ③의 싯점에서 구동하는 신호에 대한 표이다.
[표 1. 히트 검출을 구동하는 신호]
여기서 ◎경우는 CACHE-MISS동작이고, ①은 제1뱅크의 CACHE-MISS동작이고, ②는 제2뱅크의 CACHE-MISS동작이고, ③은 라인 오페레이션에 의한 CACHEREAD-HIT동작이고, ④는 비라인 오페레이션에 의한 제1뱅크의 CACHE-READ-HIT동작이고, ⑤는 비라인 오페레이션에 의한 제2뱅크의 CACHE-READ-HIT동작이다. X표시는 DON'T CARE를 나타낸다.
표 1에서 HIT/MISS는 어드레스 태그 메모리에서 어드레스 매치의 결과를 나타내고, STATEO은 제1뱅크의 캐쉬 메모리의 상태를 나타내며, STATE1은 제2뱅크의 캐쉬 메모리의 상태를 나타낸다. A3신호는 제1뱅크(0)와 제2뱅크(1)를 구분하는 신호로서 CPU(10)에 의하여 제공한다.
◎는 CPU(10)가 요구하는 어드레스가 캐쉬 메모리에 존재하지 않음을 나타낸다. 즉, 캐쉬 미스의 경우가 되며 이때는 캐쉬 제어기를 통하여 메인 메모리에서 데이터를 독출해야 하므로 CAST~신호를 구동하여 캐쉬 제어기(60)를 동작시킨다. CAST~신호를 받은 캐쉬 제어기(60)는 CPU(10)를 재시도시키기 위하여 CARTRY~신호를 구동하며 재시도된 CPU(10)의 동작은 캐쉬 제어기(60)에 의하여 동작이 완료된 후이므로 캐쉬 히트동작으로 변하여 처리된다.
①와 ②인 경우는 CPU(10)가 요구한 어드레스가 캐쉬 메모리에 존재하지만 그 상태 정보가 INVALID인 경우이기 때문에 캐쉬 미스동작이다. 그러므로 ◎인 경우와 같이 CAST~신호를 구동한다.
③의 경우는 CPU(10)의 독출요구가 캐쉬 히트가 되었을 경우이며 이때는 캐쉬 제어기(60)를 구동할 필요가 없으며 바로 CPU(10)로 데이터를 전송하여 동작을 완료한다. CPU(10)가 라인사이즈로 데이터 전송을 요구하는 경우에는 버스트 모드(4번의 Long Word오퍼레이션으로 총 128비트의 데이터를 전송함)로 CPU(10)로 데이터를 전송해야 하며 4클럭동안 TA~신호를 구동한다. 사이클종료를 위해서는 후술할 사이클 터미네이션부에서 DRV-HITTA~신호를 구동함으로써 히트 검출을 위한 사이클을 종료한다.
다음은 표 1의 ③경우에 대한 라인 오퍼레이션 구동동작에 대하여 설명하기로 한다.
제 2도는 라인 오퍼레이션을 위한 상세 회로도를 도시한 것이다.
제2도에 있어서, 카운터(90)와 제어신호 생산수단(100)과 제1내지 제4데이터 버퍼(110~140)로 구성한다.
CPU(10)와 캐쉬 메모리(40) 사이에서 데이터 전송을 라인 오퍼레이션으로 할 경우, CPU(10)의 32비트 데이터 라인에 총 128비트의 캐쉬 데이터를 4번에 나누어 전송해야 하며 4번의 전송구분을 위하여 A2, A3 신호가 필요하지만 CPU(10)에서는 이를 제공하지 않는다. 따라서 A2, A3 신호의 구동을 위해서는 제2도에 도시된 회로도와 같이 구성한다.
제2도에서 HITTA(Hit Transfer Acknowledge)신호는 사이클 터미네이션부에서 구동하는 HITTA~신호를 역전(Inverting)시킨 신호이며, A2, A3, R/W, TS~, D〈31..0〉신호는 CPU(10)와 접속되는 신호이다.
카운터(90)는 CPU(10)가 TS~신호를 구동하는 싯점에서 A2, A3신호를 적재(Load)하여 CA2, CA3신호를 제공하며 이는 제어신호 생산수단(100)으로 제공된다. 제어장치 생산수단(100)은 CA2, CA3신호에 따라 제1내지 제4데이터 버퍼(110~140)를 제어하는 BUF0~에서 BUF3~신호를 구동하며, BUF0~신호는 제1데이터 버퍼(110)를, BUF1~신호는 제2데이터 버퍼(120)를, BUF2~신호는 제3데이터 버퍼(130)를, BUF3~신호는 제4데이터 버퍼(140)를 인에이블시킨다.
제1내지 제4데이터 버퍼(110~140)는 양방향 버퍼이며 A에서 B로의 출력은 CPU(10)의 기입동작(W)일 경우에 D〈31..0〉가 CACHE-DATA〈0..127〉에 나타나며, 독출동작(R)일 경우에는 버퍼제어신호(BUF0~에서 BUF3~)에 의하여 해당 롱워드(Long Word)가 제공된다.
다음 라인 오페레이션에 있어서 4번의 TA~신호가 구동되는 동작을 제5도와 결부시켜 설명하기로 한다.
제5(A')도는 TS~신호이고, 제5(B')도는 A2, A3신호이고, 제5(C')도는 TA~(HITTA~)신호이고, 제5(D')도는 CA2, CA3신호이다.
제5(A')도는 TS~신호가 구동될때 제5(B')도의 A2, A3신호를 래치하여 출력하며, 사이클 터미네이션부에서 HITTA~신호를 구동하는 동안 카운팅을 시작하므로 클럭신호에 의하여 제5(D')도의 CA2, CA3신호가 증가한다. 따라서 CPU(10)가 데이터를 전달하는 동안 즉, TA~가 구동되는 동안 다음 롱워드의 데이터를 준비하게 되어 4개의 롱워드의 데이터를 차례로 CPU(10)로 전달한다.
라인 오페레이션이 아닌 경우에는 한 번의 TA~신호 동작으로 완료되며 증가된 CA2, CA3신호는 사용하지 않으므로 무시되고, 래치되었던 CA2, CA3신호로 동작하므로 제2도의 동일한 회로도로 사용한다.
표 1의 ④와 ⑤의 경우는 라인 오페레이션이 아닌 경우의 CACHE-HIT동작을 나타내며 이 경우에는 캐쉬 제어기(60)의 구동이 필요없으며 DRV-HITTA~신호의 구동으로 사이클의 종료를 요구한다. 이때 데이터 버퍼의 제어는 ③경우와 동일하다.
다음 히트 제어기(50)의 사이클 터미네션부의 동작에 대하여 설명하기로 한다.
사이클 종료(Termination)는 CPU(10)로 TA~신호를 구동함으로써 이루어지며 사이클 터미네이션부는 히트 검출부에서 구동하는 DRV-HITTA~신호를 받아서 CPU(10)의 클럭신호에 동기시켜 HITTA~신호를 구동한다. HITTA~신호는 RETRY제어기(30)에서 TA~신호를 구동한다.
사이클 터미네션부에서 HITTA~신호를 구동하기 위해서는 데이터 사이즈정보가 필요하며 사이즈가 라인 경우는 4클럭동안 HITTA~신호를 구동하고 그 이외의 경우는 1클럭동안 HITTA~신호를 구동한다.
제3도는 히트 제어기(50)의 사이클 터미네션부에 대한 상태도를 도시한 것이다.
제3도에 있어서, 초기상태(S0)에서 DRV-HITTA~신호가 들어오면 사이클 터미네이션을 위한 동작을 수행한다. 다음 상태(S1)에서 라인 오페레이션이 아닌 경우는 다음 초기상태(S0)로 순환하고, 라인 오퍼레이션인 경우는 S1, S2, S3, S4상태를 순환수행한다.
다음은 RETRY제어기(30)의 동작에 대하여 설명하기로 한다.
RETRY제어기는 CPU(10)의 정상종료와 재시도의 경우를 제어하며, 정상종료는 히트 제어기(50)에서 HITTA~신호를 받아 TA~신호를 구동하며 CPU(10)의 동작을 정상종료시키는 경우이며 재시도는 캐쉬 제어기(60)에서 CARTRY~신호를 받아 TA~와 TEA~신호를 동시에 구동시켜 CPU(10)가 Retry되게 한다. TA~신호와 TEA~신호가 구동되는 식은 다음과 같다.
TA~= HITTA~#CARTRY~
TEA~=CARTRY~
상술한 바와 같이 본 발명에 의하면, 캐쉬 히트의 경우 캐쉬 히트를 분리하여 처리하여 CPU로의 캐쉬 데이터 전송속도를 크게 증가시킬 수 있다.

Claims (1)

  1. 버스를 기반으로 하는 공유메모리 구조를 갖는 멀티프로세서 시스템에서 복수의 프로세서(10), 상기 프로세서(10)가 요구하는 데이터의 히트/미스를 판별하는 캐쉬 메모리(40), 상기 캐쉬 메모리를 제어하는 캐쉬 제어기(60) 및 시스템버스 상의 어드레스를 감시하며 데이터 동일성을 유지하는 동작을 수행하는 스누프 제어기(70)를 구비한 캐쉬 제어장치에 있어서, 상기 프로세서(10)가 상기 캐쉬 메모리(40)에게 요구한 데이터의 크기에 대한 정보를 상기 프로세서(10)로 부터 수신하여 라인오프레이션인지 판별하고, 상기 요구한 데이터가 캐쉬 히트이고 라인오프레이션일 경우, 상기 프로세서의 버스 동작을 종료하게 하는 신호( HITTA~)를 상기 라인크기의 데이터가 전송되는 시간까지 구동하는 히트제어기(50) ; 캐쉬 히트일 경우 상기 프로세서(10)로 전송할 상기 캐쉬 메모리(40)의 데이터를 일시적으로 저장하며, 출력제어신호를 구비하여 상기 출력 제어신호에 따라 상기 일시적으로 저장된 데이터를 상기 프로세서(10)로 출력하는데이터버퍼(110-140) ; 상기 히트 제어기의 HITTA~신호가 구동되면 상기 라인오프레이션에 따라 어드레스신호(A2,A1)를 프로세서(10)로부터 받아 라인크기 만큼 상기 어드레스신호값을 상기 프로세서(10) 동작클럭에 동기시켜 1씩 증가시키는 카운터(90) ; 상기 카운터(90)의 출력신호에 상응하여 상기 데이터 버퍼(110-140)의 출력제어신호를 생성하는 버퍼제어신호 생성수단(100) ; 및 상기 프로세서(10)가 요구한 데이터가 캐쉬 히트인 경우 상기 히트 제어기(50)의 HITTA~신호가 인에이블된 후 라인크기의 데이트 전송이 완료되어 상기 HITTA~신호가 디스에이블되면 상기 프로세서(10)에 전송완료신호(TA~)를 출력하는 재시도제어기(30)를 포함함을 특징으로 하는 캐쉬 데이터 고속전송장치.
KR1019930003202A 1993-03-04 1993-03-04 캐쉬 데이터 고속전송 장치 KR960016402B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019930003202A KR960016402B1 (ko) 1993-03-04 1993-03-04 캐쉬 데이터 고속전송 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019930003202A KR960016402B1 (ko) 1993-03-04 1993-03-04 캐쉬 데이터 고속전송 장치

Publications (2)

Publication Number Publication Date
KR940022269A KR940022269A (ko) 1994-10-20
KR960016402B1 true KR960016402B1 (ko) 1996-12-11

Family

ID=19351610

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019930003202A KR960016402B1 (ko) 1993-03-04 1993-03-04 캐쉬 데이터 고속전송 장치

Country Status (1)

Country Link
KR (1) KR960016402B1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5860127A (en) * 1995-06-01 1999-01-12 Hitachi, Ltd. Cache memory employing dynamically controlled data array start timing and a microcomputer using the same
KR100486240B1 (ko) * 1998-09-21 2005-06-08 삼성전자주식회사 분리된 캐쉬 메모리를 구비한 마이크로프로세서 및 메모리 액세스 방법

Also Published As

Publication number Publication date
KR940022269A (ko) 1994-10-20

Similar Documents

Publication Publication Date Title
EP0549164B1 (en) Memory controller with snooping mechanism
EP1046111B1 (en) Data transferring in source-synchronous and common clock protocols
KR960009659B1 (ko) 멀티프로세서 시스템의 스누프회로
US5774700A (en) Method and apparatus for determining the timing of snoop windows in a pipelined bus
KR0154533B1 (ko) 데이타 프로세서
EP0392657B1 (en) System providing cache coherent direct memory access between dissimilar bus systems
EP1032880B1 (en) Method and apparatus for switching between source-synchronous and common clock data transfer modes in a multiple agent processing system
US5561783A (en) Dynamic cache coherency method and apparatus using both write-back and write-through operations
US5966728A (en) Computer system and method for snooping date writes to cacheable memory locations in an expansion memory device
US5673414A (en) Snooping of I/O bus and invalidation of processor cache for memory data transfers between one I/O device and cacheable memory in another I/O device
EP0344886B1 (en) Data transfer processing system
JP2755330B2 (ja) マイクロコンピユータ・システム
EP0745941A2 (en) A system and method for providing a flexible memory hierarchy
US6662258B1 (en) Fly-by support module for a peripheral bus
KR960016402B1 (ko) 캐쉬 데이터 고속전송 장치
US5699540A (en) Pseudo-concurrent access to a cached shared resource
JPH10105461A (ja) 処理装置及びルックアサイド・キャッシュをスヌープする改善された装置及び方法
JP2000231539A (ja) データ転送システムおよびデータ転送方法
US7051148B2 (en) Data transmission sequencing method associated with briding device and application system
KR950003877B1 (ko) 캐쉬 업데이트(Cache Update)장치 및 방법
JP2574821B2 (ja) ダイレクトメモリアクセス・コントローラ
KR940011050B1 (ko) 외부 멀티뱅크형 캐쉬메모리 장치 및 그 제어방법
JPH0756844A (ja) システムメモリを有するバスをベースにしたコンピュータシステムに使用するためのマスタバスマスタおよびバスをベースにしたコンピュータシステム
JP2002189695A (ja) Cpuインターフェース回路
JP2006164119A (ja) データ処理装置

Legal Events

Date Code Title Description
A201 Request for examination
B901 Examination by re-examination before a trial
E902 Notification of reason for refusal
E601 Decision to refuse application
J2X1 Appeal (before the patent court)

Free format text: APPEAL AGAINST DECISION TO DECLINE REFUSAL

G160 Decision to publish patent application
B701 Decision to grant
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20041129

Year of fee payment: 9

LAPS Lapse due to unpaid annual fee