KR19990050875A - 캐시 동일성 유지제어기 - Google Patents

캐시 동일성 유지제어기 Download PDF

Info

Publication number
KR19990050875A
KR19990050875A KR1019970070066A KR19970070066A KR19990050875A KR 19990050875 A KR19990050875 A KR 19990050875A KR 1019970070066 A KR1019970070066 A KR 1019970070066A KR 19970070066 A KR19970070066 A KR 19970070066A KR 19990050875 A KR19990050875 A KR 19990050875A
Authority
KR
South Korea
Prior art keywords
cache
data
address
memory
controller
Prior art date
Application number
KR1019970070066A
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 KR1019970070066A priority Critical patent/KR19990050875A/ko
Publication of KR19990050875A publication Critical patent/KR19990050875A/ko

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

본 발명은 캐시 동일성 유지제어기에 관한 것으로, 종래에는 타 프로세서의 캐시메모리에 데이터가 있을 경우에 그 캐시제어부가 메모리제어부에 신호를 출력하여 이미 공유메모리에서 전송되는 데이터를 차단한 후, 캐시메모리의 데이터를 데이터요청이 발생한 프로세서에 전송함으로써, 비효율적인 버스사용으로 시스템이 지연되는 문제점이 있었다. 이와같은 문제점을 감안한 본 발명은 시스템을 총괄제어하는 다수의 프로세서와; 상기 다수의 프로세서에 각기 접속되어 데이터요청을 위한 어드레스를 입력받아 자신의 캐시메모리에 일치하는 어드레스가 있으면, 그 데이터가 각 프로세서에 입력되도록 제어하는 제어부와; 상기 각 제어부의 어드레스를 스누핑하여 타 프로세서의 캐시메모리에 일치하는 어드레스가 있는 경우는 그 캐시메모리의 데이터를 시스템버스를 통해 데이터요청이 발생한 프로세서에 입력시키고, 어느 캐시메모리에도 일치하는 어드레스가 없는 경우는 메모리제어부에 제어신호를 출력하여 공유메모리에 저장된 요청데이터가 시스템버스를 통해 데이터요청이 발생한 프로세서에 입력되도록 제어하는 스누핑제어부로 구성되는 캐시 동일성 유지제어기를 제공하여 각 캐시에서 수행되던 스누핑을 단일화하여 캐시불일치문제를 해결하고, 효율적인 버스사용을 통해 각 캐시의 버스사용시간을 최소화하여 시스템지연을 방지할 수 있는 효과가 있다.

Description

캐시 동일성 유지제어기
본 발명은 캐시 동일성 유지제어기에 관한 것으로, 특히 다중 프로세서(multi processor) 시스템의 각 캐시에서 수행하던 스누핑(snooping)기능을 단일화하여 캐시의 성능을 향상시키기에 적당하도록 한 캐시 동일성 유지제어기에 관한 것이다.
일반적으로, 다중프로세서 시스템에서 각각의 프로세서가 공유된 버스를 통해 공동의 주메모리를 억세스함으로써 야기되는 성능저하를 방지하기 위해 각 프로세서에 캐시를 설치한다. 그러나, 이와같이 캐시를 각 프로세서에 설치함으로써 주메모리의 복사본을 갖는 각 캐시간의 내용이 일치하지 않는 캐시동일성문제(cache coherency problem)가 발생하는데, 현재는 캐시 동일성 유지제어기를 각각 설치하여 버스를 스누핑함으로써, 캐시일치 프로토콜(protocol)을 맞추어주고 있다. 이와같은 종래의 캐시 동일성 유지제어기를 첨부한 도면을 참조하여 상세히 설명하면 다음과 같다.
도1은 종래 캐시 동일성 유지제어기의 일 실시예를 보인 블록구성도로서, 이에 도시한 바와같이 내부 프로그램에 따라 시스템을 총괄제어하는 프로세서(P1,P2)와; 프로세서(P1,P2)의 데이터요청을 받아 공유메모리(1)에 저장된 데이터를 시스템버스(S-BUS)에 싣는 메모리제어부(2)와; 그 시스템버스(S-BUS)를 스누핑하여 어드레스가 자신의 캐시메모리(CM1,CM2)와 일치하면 메모리제어부(2)의 데이터출력을 정지시키고, 자신의 캐시메모리(CM1,CM2)에 저장된 데이터를 시스템버스(S-BUS)를 통해 데이터요청한 프로세서(P1,P2)의 캐시메모리(CM1,CM2)에 출력하는 제어부(C1,C2)로 구성되며, 각 제어부(C1,C2)는 프로세서(P1,P2)로부터 요청되는 데이터의 어드레스를 저장하는 태그(T1,T2) 및 이 태그(T1,T2)를 제어하는 태그제어부(TC1,TC2)와; 캐시메모리(CM1,CM2)를 제어하는 캐시제어부(CC1,CC2)와; 시스템버스(S-BUS)에 실린 어드레스가 캐시메모리(CM1,CM2)에 저장된 데이터의 어드레스와 일치하는지 스누핑제어하는 스누핑제어부(SC1,SC2)로 구성된다. 이하, 상기한 바와같은 종래 캐시 동일성 유지제어기의 동작을 도2를 참조하여 설명한다.
도2는 종래 다중프로세서 시스템의 신호파형도로서, 미설명부호 'MBB'는 어드레스 인식부터 데이터전송의 완료까지 해당 제어부(C1,C2)가 시스템버스(S-BUS)를 독점사용하도록 하는 제어신호이고, 'MAS'는 시스템버스(S-BUS) 사용시 처음으로 어드레스를 인식하도록 하는 제어신호이며, 'MAD'는 어드레스 및 데이터를 출력하는 64비트의 어드레스/데이터신호이고, 'MRDY'는 데이터전송을 시작하도록 하는 제어신호이며, 'MSH'는 타 프로세서(P1,P2)의 캐시데이터를 공유하고자 할 때 발생되는 제어신호이고, 'MIH'는 공유메모리(1)로부터 데이터가 각 캐시메모리(CM1,CM2)에 저장된 후, 그 데이터의 내용이 변경된 경우에 데이터의 독자적인 소유를 나타내는 제어신호이며, 'CLK'는 시스템의 클럭신호이다.
먼저, 프로세서(P1)로부터 데이터요청이 발생되었다고 가정하면 그 프로세서(P1)는 도2에 도시한 어드레스/데이터신호(MAD)를 통해 요청데이터의 어드레스를 출력하고, 제어부(C1)가 제어신호(MBB,MAS)를 통해 그 어드레스를 인식하여 자신의 전용 캐시메모리(CM1)를 검색하며, 해당 데이터의 어드레스가 있으면 제어신호(MRDY)를 출력하여 그 캐시메모리(CM1)에 저장된 데이터를 읽어들여 시스템을 운용한다.
한편, 자신의 전용 캐시메모리(CM1)에 해당 데이터의 어드레스가 없으면, 제어부(C1)는 메모리제어부(2)와 제어부(C2)에 해당 데이터의 어드레스를 출력하여 공유메모리(1)에 저장된 데이터가 시스템버스(S-BUS)에 실리도록 하고, 이때 제어부(C2)는 자신의 캐시메모리(CM2)에 저장된 데이터의 어드레스와 시스템버스(S-BUS)에 실린 데이터의 어드레스를 스누핑하여 그 어드레스가 일치하면, 메모리제어부(2)에 제어신호(MSH 또는 MIH)를 출력하여 데이터전송을 중단시키고, 제어신호(MRDY)를 출력하여 캐시 동일 프로토콜에 따라 자신의 캐시메모리(CM2)에 저장된 데이터를 어드레스/데이터신호(MAD)로 시스템버스(S-BUS)를 통해 데이터요청이 발생한 제어부(C1)의 전용 캐시메모리(CM1)에 출력하여 시스템이 운용되도록 한다.
만약에 어느 캐시메모리(CM1,CM2)에도 일치하는 어드레스가 없다면 프로세서(P1,P2)는 메모리제어부(2)를 통해 공유메모리(1)에 저장된 데이터를 입력받아 시스템을 운용한다.
그러나, 상기한 바와같은 종래의 다중 프로세서 시스템은 데이터요청의 발생시 자신의 전용 캐시메모리에 데이터가 없으면 메모리제어부를 통해 공유메모리에서 데이터를 전송함과 동시에 어드레스 스누핑에 의해 타 프로세서의 캐시메모리에 데이터가 있는지를 찾는데, 타 프로세서의 캐시메모리에 데이터가 있을 경우에 그 캐시제어부가 메모리제어부에 신호를 출력하여 이미 공유메모리에서 전송되는 데이터를 차단한 후, 캐시메모리의 데이터를 데이터요청이 발생한 프로세서에 전송함으로써, 비효율적인 버스사용으로 시스템이 지연되는 문제점이 있었다.
본 발명은 상기한 바와같은 문제점을 해결하기 위하여 창안한 것으로, 본 발명의 목적은 각각의 캐시제어부를 통한 스누핑기능을 단일화하고, 시스템버스의 사용시간을 최소화 할 수 있는 캐시 동일성 유지제어기를 제공하는데 있다.
도1은 종래 캐시 동일성 유지제어기의 일 실시예를 보인 블록구성도.
도2는 도1에 있어서, 신호파형도.
도3은 본 발명의 일 실시예를 보인 블록구성도.
도4는 도3에 있어서, 신호파형도.
***도면의 주요 부분에 대한 부호의 설명***
P11∼P13:프로세서 CM11∼CM13:캐시메모리
C11∼C13:제어부 S-BUS:시스템버스
SC11:스누핑제어부 11:공유메모리
12:메모리제어부
상기한 바와같은 본 발명의 목적은 시스템을 총괄제어하는 다수의 프로세서와; 상기 다수의 프로세서에 각기 접속되어 데이터요청을 위한 어드레스를 입력받아 자신의 캐시메모리에 일치하는 어드레스가 있으면, 그 데이터가 각 프로세서에 입력되도록 제어하는 제어부와; 상기 각 제어부의 어드레스를 스누핑하여 타 프로세서의 캐시메모리에 일치하는 어드레스가 있는 경우는 그 캐시메모리의 데이터를 시스템버스를 통해 데이터요청이 발생한 프로세서에 입력시키고, 어느 캐시메모리에도 일치하는 어드레스가 없는 경우는 메모리제어부에 제어신호를 출력하여 공유메모리에 저장된 요청데이터가 시스템버스를 통해 데이터요청이 발생한 프로세서에 입력되도록 제어하는 스누핑제어부로 구성함으로써 달성되는 것으로, 본 발명에 의한 캐시 동일성 유지제어기를 첨부한 도면을 참조하여 상세히 설명하면 다음과 같다.
도3은 본 발명의 일 실시예를 보인 블록구성도로서, 이에 도시한 바와같이 시스템을 총괄제어하는 프로세서(P11,P12,P13)와; 그 프로세서(P11,P12,P13)에 각기 접속되어 데이터요청을 위한 어드레스를 입력받아 자신의 캐시메모리(CM11,CM12,13)에 일치하는 어드레스가 있으면, 그 데이터가 프로세서(P11,P12,P13)에 입력되도록 제어하는 제어부(C11,C12,C13)와; 각 제어부(C11,C12,C13)의 어드레스를 스누핑하여 타 프로세서(P11,P12,P13)의 캐시메모리(CM11,CM12,CM13)에 일치하는 어드레스가 있는 경우는 메모리제어부(12)에 제어신호를 출력하여 공유메모리(11)에 저장된 요청데이터가 시스템버스(S-BUS)를 통해 데이터요청이 발생한 프로세서(P11,P12,P13)에 입력되도록 제어하는 스누핑제어부(SC11)로 구성되며, 각 제어부(C11,C12,C13)는 프로세서(P11,P12,P13)로부터 요청되는 데이터의 어드레스를 저장하는 태그(T11,T12,T13) 및 이 태그(T11,T12,T13)를 제어하는 태그제어부(TC11,TC12,TC13)와; 캐시메모리(CM11,CM12,CM13)를 제어하는 캐시제어부(CC11,CC12,CC13)로 구성된다. 이하, 본 발명의 일 실시예에 대한 동작을 도4를 참조하여 설명한다.
도4는 본 발명에 의한 다중프로세서 시스템의 신호파형도로서, 이에 도시한 부호 'MBB','MAS','MAD','MRDY''MSH','MIH','CLK'는 종래 도2의 설명과 동일한 신호들이다.
먼저, 프로세서(P11)로부터 데이터요청이 발생되었다고 가정하면 그 프로세서(P11)는 도4에 도시한 어드레스/데이터신호(MAD)를 통해 요청데이터의 어드레스를 출력하고, 제어부(C11)가 제어신호(MBB,MAS)를 통해 그 어드레스를 인식하여 자신의 전용 캐시메모리(CM11)를 검색하며, 해당 데이터의 어드레스가 있으면 제어신호(MRDY)를 출력하여 그 캐시메모리(CM11)에 저장된 데이터를 읽어들여 시스템을 운용한다.
한편, 자신의 전용 캐시메모리(CM11)에 해당 데이터의 어드레스가 없으면, 제어부(C11)는 스누핑제어부(SC11)에 해당 데이터의 어드레스를 출력한다. 이때, 스누핑제어부(SC11)는 타 프로세서(P12,P13)의 캐시메모리(CM12,CM13)에 저장된 데이터의 어드레스를 스누핑하다가 제어부(C11)로부터 입력되는 어드레스와 일치하면 제어신호(MRDY)를 출력하여 캐시 동일 프로토콜에 따라 어드레스가 일치한 캐시메모리(CM12 또는 CM13)에 저장된 데이터를 어드레스/데이터신호(MAD)로 시스템버스(S-BUS)를 통해 데이터요청이 발생한 프로세서(P11)의 전용 캐시메모리(CM11)에 출력하여 시스템이 운용되도록 한다.
만약에 어느 캐시메모리(CM11,CM12,CM13)에도 일치하는 어드레스가 없다면, 스누핑제어부(SC11)는 메모리제어부(12)에 데이터요청신호를 출력하여 공유메모리(11)에 저장된 데이터가 데이터요청이 발생한 프로세서(P11)에 입력되도록 제어한다.
상기한 바와같은 본 발명에 의한 캐시 동일성 유지제어기는 각 캐시에서 수행되던 스누핑을 단일화하여 캐시불일치문제를 해결하고, 효율적인 버스사용을 통해 각 캐시의 버스사용시간을 최소화하여 시스템지연을 방지할 수 있는 효과가 있다.

Claims (1)

  1. 시스템을 총괄제어하는 다수의 프로세서와; 상기 다수의 프로세서에 각기 접속되어 데이터요청을 위한 어드레스를 입력받아 자신의 캐시메모리에 일치하는 어드레스가 있으면, 그 데이터가 각 프로세서에 입력되도록 제어하는 제어부와; 상기 각 제어부의 어드레스를 스누핑하여 타 프로세서의 캐시메모리에 일치하는 어드레스가 있는 경우는 그 캐시메모리의 데이터를 시스템버스를 통해 데이터요청이 발생한 프로세서에 입력시키고, 어느 캐시메모리에도 일치하는 어드레스가 없는 경우는 메모리제어부에 제어신호를 출력하여 공유메모리에 저장된 요청데이터가 시스템버스를 통해 데이터요청이 발생한 프로세서에 입력되도록 제어하는 스누핑제어부로 구성된 것을 특징으로 하는 캐시 동일성 유지제어기.
KR1019970070066A 1997-12-17 1997-12-17 캐시 동일성 유지제어기 KR19990050875A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019970070066A KR19990050875A (ko) 1997-12-17 1997-12-17 캐시 동일성 유지제어기

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019970070066A KR19990050875A (ko) 1997-12-17 1997-12-17 캐시 동일성 유지제어기

Publications (1)

Publication Number Publication Date
KR19990050875A true KR19990050875A (ko) 1999-07-05

Family

ID=66165866

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019970070066A KR19990050875A (ko) 1997-12-17 1997-12-17 캐시 동일성 유지제어기

Country Status (1)

Country Link
KR (1) KR19990050875A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100430561B1 (ko) * 2000-12-27 2004-05-10 주식회사 케이티 엑티브 네트워크 환경에서 웹 서버와 웹 캐쉬 서버간데이터 일치성 유지 방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100430561B1 (ko) * 2000-12-27 2004-05-10 주식회사 케이티 엑티브 네트워크 환경에서 웹 서버와 웹 캐쉬 서버간데이터 일치성 유지 방법

Similar Documents

Publication Publication Date Title
US5280598A (en) Cache memory and bus width control circuit for selectively coupling peripheral devices
JP3218317B2 (ja) 集積キャッシュユニットおよびその構成方法
JP3158161B2 (ja) 集積キャッシュユニットおよび集積キャッシュユニットにおいてインターロック変数をキャッシュする方法
US4586133A (en) Multilevel controller for a cache memory interface in a multiprocessing system
JP2881309B2 (ja) 集積回路、コンピュータシステム、および集積回路内のキャッシュにおけるキャッシュブロックステータスを更新する方法
US6721830B2 (en) I/O and memory bus system for DFPs and units with two- or multi-dimensional programmable cell architectures
US7039756B2 (en) Method for use of ternary CAM to implement software programmable cache policies
US20080222329A1 (en) I/O and memory bus system for DFPs and units with two- or multi-dimensional programmable cell architectures
KR920006851A (ko) 데이터 처리시스템 및 방법
KR19990082718A (ko) 프로세서에데이타를제공하기위한캐시및캐시로부터프로세서에데이타를제공하기위한방법
US6782486B1 (en) Apparatus for stopping and starting a clock in a clock forwarded I/O system depending on the presence of valid data in a receive buffer
US5502828A (en) Reducing memory access in a multi-cache multiprocessing environment with each cache mapped into different areas of main memory to avoid contention
JP3218316B2 (ja) 集積キャッシュユニットおよびその内部でキャッシュ機能を実現するための方法
US8688890B2 (en) Bit ordering for communicating an address on a serial fabric
JP3623379B2 (ja) マイクロプロセッサ
US6633927B1 (en) Device and method to minimize data latency and maximize data throughput using multiple data valid signals
US5895496A (en) System for an method of efficiently controlling memory accesses in a multiprocessor computer system
US20080270713A1 (en) Method and System for Achieving Varying Manners of Memory Access
US5727179A (en) Memory access method using intermediate addresses
KR19990050875A (ko) 캐시 동일성 유지제어기
JP2719852B2 (ja) 半導体記憶装置およびそれからのデータ読出方法
US6477613B1 (en) Cache index based system address bus
EP0437712B1 (en) Tandem cache memory
US4594658A (en) Hierarchy of control stores for overlapped data transmission
US5507031A (en) Data processing system having scanner for searching memory for message having top priority and/or identity code identical with new message

Legal Events

Date Code Title Description
A201 Request for examination
PA0109 Patent application

Patent event code: PA01091R01D

Comment text: Patent Application

Patent event date: 19971217

PA0201 Request for examination

Patent event code: PA02012R01D

Patent event date: 19971217

Comment text: Request for Examination of Application

PG1501 Laying open of application
E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

Comment text: Notification of reason for refusal

Patent event date: 20000424

Patent event code: PE09021S01D

E601 Decision to refuse application
PE0601 Decision on rejection of patent

Patent event date: 20000712

Comment text: Decision to Refuse Application

Patent event code: PE06012S01D

Patent event date: 20000424

Comment text: Notification of reason for refusal

Patent event code: PE06011S01I