KR19990060119A - Cache controller - Google Patents
Cache controller Download PDFInfo
- Publication number
- KR19990060119A KR19990060119A KR1019970080340A KR19970080340A KR19990060119A KR 19990060119 A KR19990060119 A KR 19990060119A KR 1019970080340 A KR1019970080340 A KR 1019970080340A KR 19970080340 A KR19970080340 A KR 19970080340A KR 19990060119 A KR19990060119 A KR 19990060119A
- Authority
- KR
- South Korea
- Prior art keywords
- cache
- data
- address
- controller
- memory
- Prior art date
Links
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
Abstract
본 발명은 캐시 제어장치에 관한 것으로, 종래의 기술에 있어서는 프로세서의 자기 캐시안에 어드레스가 없고, 스누핑 캐시에 요구한 데이터의 어드레스가 있을 경우, 일단 어드레스가 시스템 버스에 실려 메인 메모리에서 데이터가 전송됨과 동시에 스누핑 캐시가 2 사이클안에 무효신호를 보내고, 자기 캐시 메모리의 데이터를 전송함으로 인해 약 4 사이클이 더 소요되어 버스 사용을 낭비하는 문제점이 있었다.The present invention relates to a cache controller. In the related art, when there is no address in a processor's own cache and there is an address of data requested for a snooping cache, the address is loaded on the system bus and data is transmitted from the main memory. At the same time, the snooping cache sends an invalid signal in two cycles and transmits data in the magnetic cache memory, which takes about four more cycles and wastes bus usage.
따라서, 본 발명은 상기와 같은 종래의 문제점을 해결하기 위하여 창안한 것으로, 센트럴 스누프 제어기를 사용하여 프로세서가 데이터 요구시 자기 캐시 메모리에 데이터가 없을 경우 캐시 태그(tag)를 먼저 검색하여 버스 사용량을 줄이고, 캐시간의 데이터 전송 효율을 높이는 장치를 제공함으로써, 각 캐시에서 수행하던 스누핑 기능을 단일화하여 캐시 동일성 유지 문제를 먼저 해결하고, 각 캐시에서의 시스템 버스 스누프 사이클과 시스템 버스의 사용을 줄이는 효과가 있다.Accordingly, the present invention has been devised to solve the above-mentioned conventional problems. When the processor requests data, the cache tag is first searched for a cache tag when there is no data in the magnetic cache memory by using a central snoop controller. By providing a device that improves the efficiency of data transfer between caches, it unifies the snooping function performed in each cache to solve the problem of maintaining cache equality first, and reduces the system bus snoop cycles and the use of system buses in each cache. It works.
Description
본 발명은 캐시 제어장치에 관한 것으로, 특히 컴퓨터의 마이크로프로세서 캐시 버스시스템에서 한 개의 센트럴 스누프 제어기(Central Snoop Controller)를 사용하여 각 캐시에서 수행하던 스누핑 기능을 단일화하여 캐시 동일성 유지 문제를 해결함으로써, 각 캐시에서의 시스템 버스 스누프 사이클과 시스템 버스의 사용을 줄이는 캐시 제어장치에 관한 것이다.The present invention relates to a cache controller, and in particular, by using a single central snoop controller in a microprocessor cache bus system of a computer to solve the problem of maintaining cache identity by unifying the snooping function performed in each cache. The present invention relates to a cache controller that reduces system bus snoop cycles and the use of system buses in each cache.
도 1은 종래 캐시 메모리의 구성을 보인 블록도로서, 이에 도시된 바와 같이 하나의 시스템 버스를 공유하여 여러 프로세서가 공동의 시스템 메모리(40)를 액세스하는 멀티프로세서 시스템에서, 공유된 메모리로 인한 성능의 저하를 막기 위해 각 프로세서 모듈에 전용(local) 캐시를 두는데, 이에 따라 캐시 동일성 유지(coherency)문제가 발생되어 이를 해소하기 위해 각 캐시 제어장치(10)에서 시스템 버스를 스누프 함으로써, 프로토콜을 맞추고 있다(즉, 각 프로세서는 다른 프로세서의 캐시 메모리에 필요한 데이터를 주고 받는 프로토콜을 시스템 버스를 통하여 수행하고 있다).FIG. 1 is a block diagram showing a conventional cache memory configuration. In a multiprocessor system in which multiple processors access a common system memory 40 by sharing a system bus as shown, performance due to shared memory Each cache module has a local cache in order to prevent degradation of the network. Accordingly, a cache coherency problem occurs, so that each cache controller 10 snoops the system bus to solve the problem. (I.e., each processor is executing a protocol over the system bus to send and receive data to and from another processor's cache memory).
이와 같이 구성된 종래의 동작과정을 첨부한 도 2를 참조하여 설명하면 다음과 같다.Referring to Figure 2 attached to the conventional operation process configured as described above are as follows.
도 2는 도 1에서 캐시 제어장치의 구성을 보인 블록도로서, 이에 도시된 바와 같이 멀티프로세서 시스템에서 프로세서의 데이터 요구가 있을 때, 먼저 자기가 전용하는 캐시의 어드레스를 검사해보고, 이상이 없을 경우 요구한 데이터의 어드레스가 시스템 버스에 실리며, 시스템 메모리(40)에서는 데이터를 전송시킨다.FIG. 2 is a block diagram showing the configuration of a cache controller in FIG. 1. As shown in FIG. 1, when there is a data request of a processor in a multiprocessor system, the address of a cache dedicated to the first is checked. The address of the requested data is carried on the system bus, and the system memory 40 transfers the data.
이때, 캐시 제어장치(10)는 그 어드레스가 자기가 소유하고 있는 것인지 시스템 버스를 통하여 항상 스누핑(snooping)하고 있으며, 스누핑 중에 그 어드레스를 가진 캐시가 있다면 시스템 메모리(40)에서의 데이터 전송에 무효신호(invalidate signal)를 보내 데이터 전송을 중단시킨 후, 캐시 동일성 유지 프로토콜에 따라 메모리 공유(shard) 또는 메모리 금지(inhibit)를 액세스하고, 자기 전용 캐시에서 데이터를 전송한다.At this time, the cache controller 10 always snoops through the system bus whether the address is owned by itself, and if there is a cache having the address during snooping, it is invalid for data transmission from the system memory 40. After sending the signal (invalidate signal) to stop the data transmission, access the memory share (shard) or memory inhibit (inhibit) in accordance with the cache identity maintenance protocol, and transmit data in the self-dedicated cache.
만약, 어느 캐시에서도 어드레스를 가지고 있지 않다면 시스템 메모리(40)에서 데이터를 프로세서에 전송한다.If no cache has an address, the system memory 40 transmits data to the processor.
상기와 같이 종래의 기술에 있어서는 도 3에서와 같이 프로세서의 자기 캐시안에 어드레스가 없고, 스누핑 캐시에 요구한 데이터의 어드레스가 있을 경우, 일단 어드레스가 시스템 버스에 실려 메인 메모리에서 데이터가 전송됨과 동시에 스누핑 캐시가 2 사이클안에 무효신호를 보내고, 자기 캐시 메모리의 데이터를 전송함으로 인해 약 4 사이클이 더 소요되어 버스 사용을 낭비하는 문제점이 있었다.As described above, in the conventional technology, when there is no address in the processor's own cache as shown in FIG. 3 and there is an address of the data requested for the snooping cache, the address is once loaded onto the system bus, and data is transmitted from the main memory. Since the cache sends an invalid signal in two cycles and transmits data in the magnetic cache memory, it takes about four more cycles and wastes bus usage.
따라서, 본 발명은 상기와 같은 종래의 문제점을 해결하기 위하여 창안한 것으로, 센트럴 스누프 제어기를 사용하여 프로세서가 데이터 요구시 자기 캐시 메모리에 데이터가 없을 경우 캐시 태그(tag)를 먼저 검색하여 버스 사용량을 줄이고, 캐시간의 데이터 전송 효율을 높이는 장치를 제공함에 그 목적이 있다.Accordingly, the present invention has been devised to solve the above-mentioned conventional problems. When the processor requests data, the cache tag is first searched for a cache tag when there is no data in the magnetic cache memory by using a central snoop controller. The purpose of the present invention is to provide an apparatus for reducing the cost and increasing the data transfer efficiency between caches.
도 1은 종래 캐시 메모리의 구성을 보인 블록도.1 is a block diagram showing a configuration of a conventional cache memory.
도 2는 도 1에서 캐시 제어장치의 구성을 보인 블록도.FIG. 2 is a block diagram showing the configuration of a cache controller in FIG. 1; FIG.
도 3은 종래 캐시 제어장치의 동작 타이밍도.3 is an operation timing diagram of a conventional cache control apparatus.
도 4는 본 발명 캐시 제어장치의 구성을 보인 블록도.Figure 4 is a block diagram showing the configuration of the cache control device of the present invention.
도 5는 본 발명에서의 동작 타이밍도.5 is an operation timing diagram in the present invention.
*도면의 주요 부분에 대한 부호의 설명** Description of the symbols for the main parts of the drawings *
10, 50 : 캐시 제어장치 40 : 시스템 메모리10, 50: cache controller 40: system memory
51 : 태그 제어부 52 : 센트럴 스누프 제어기51: tag control unit 52: central snoop controller
이와 같은 목적을 달성하기 위한 본 발명은 멀티프로세서 캐시 서브 시스템에 있어서, 프로세서가 데이터 요구시 자기 캐시 메모리에 데이터가 없을 경우 캐시 태그(tag)제어부를 통해 다른 캐시에 요구 어드레스가 있는지를 먼저 검색하여 그에 따른 일련의 동작을 수행하는 센트럴 스누프 제어기를 구비함을 특징으로 한다.In order to achieve the above object, the present invention provides a multiprocessor cache subsystem, in which a processor first searches for a request address in another cache through a cache tag controller when there is no data in its own cache memory when a data request is made. And a central snoop controller for performing a series of operations accordingly.
이하, 본 발명에 따른 실시예를 첨부한 도면을 참조하여 상세히 설명하면 다음과 같다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings.
도 4는 본 발명 캐시 제어장치의 구성을 보인 블록도이고, 도 5는 본 발명에서의 동작 타이밍도로서, 이에 도시한 바와 같이 프로세서의 데이터 요구시 자기 캐시에 원하는 데이터가 없을 경우 캐시 제어장치(50)는 다른 캐시에 요구 어드레스가 있는지 태그 제어부(51)를 통해 센트럴 스누프 제어기(52)에 신호를 보낸다.4 is a block diagram showing the configuration of the cache controller of the present invention, and FIG. 5 is an operation timing diagram of the present invention. As shown in FIG. 50 signals the central snoop controller 52 via the tag control 51 to see if there is a request address in the other cache.
상기 센트럴 스누프 제어기(52)는 스누핑된 데이터의 어드레스를 확인하고, 다른 캐시에 데이터가 있을 경우 데이터를 소유한 캐시는 시스템 버스를 통해 데이터를 프로세서에 제공한다.The central snoop controller 52 checks the address of the snooped data, and if there is data in another cache, the cache owning the data provides the data to the processor via the system bus.
만약, 스누핑 캐시간에 데이터가 없을 경우 시스템 메모리(40)에 요구 신호를 보내어 시스템 버스를 통하여 데이터를 프로세서에 제공한다.If there is no data in the snooping cache, a request signal is sent to the system memory 40 to provide data to the processor through the system bus.
이상에서 설명한 바와 같이 본 발명 캐시 제어장치는 멀티프로세서 캐시 서브 시스템에 있어 센트럴 스누프 제어기를 사용함으로써, 각 캐시에서 수행하던 스누핑 기능을 단일화하여 캐시 동일성 유지 문제를 먼저 해결하고, 각 캐시에서의 시스템 버스 스누프 사이클과 시스템 버스의 사용을 줄이는 효과가 있다.As described above, the cache controller of the present invention uses a central snoop controller in a multiprocessor cache subsystem, thereby unifying the snooping function performed in each cache to solve the problem of maintaining the cache equality first, and the system in each cache. This reduces the use of bus snoop cycles and system buses.
Claims (1)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019970080340A KR19990060119A (en) | 1997-12-31 | 1997-12-31 | Cache controller |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019970080340A KR19990060119A (en) | 1997-12-31 | 1997-12-31 | Cache controller |
Publications (1)
Publication Number | Publication Date |
---|---|
KR19990060119A true KR19990060119A (en) | 1999-07-26 |
Family
ID=66181251
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019970080340A KR19990060119A (en) | 1997-12-31 | 1997-12-31 | Cache controller |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR19990060119A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100813789B1 (en) * | 2005-03-07 | 2008-03-13 | 후지쯔 가부시끼가이샤 | Address snoop method and multi-processor system |
-
1997
- 1997-12-31 KR KR1019970080340A patent/KR19990060119A/en not_active Application Discontinuation
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100813789B1 (en) * | 2005-03-07 | 2008-03-13 | 후지쯔 가부시끼가이샤 | Address snoop method and multi-processor system |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0777184B1 (en) | Cache coherency method and system | |
US6615319B2 (en) | Distributed mechanism for resolving cache coherence conflicts in a multi-node computer architecture | |
JP3737834B2 (en) | Dual cache snoop mechanism | |
US7613882B1 (en) | Fast invalidation for cache coherency in distributed shared memory system | |
EP1311955B1 (en) | Method and apparatus for centralized snoop filtering | |
KR100545951B1 (en) | Distributed read and write caching implementation for optimized input/output applications | |
US7797563B1 (en) | System and method for conserving power | |
US20010013089A1 (en) | Cache coherence unit for interconnecting multiprocessor nodes having pipelined snoopy protocol | |
JPH0247756A (en) | Reading common cash circuit for multiple processor system | |
JPH08328957A (en) | System and method for enhancement of cache performance in multiprocessing system | |
EP0764905B1 (en) | An invalidation bus optimisation for multiprocessors using directory-based coherence protocols | |
US5611074A (en) | Efficient polling technique using cache coherent protocol | |
US6950913B2 (en) | Methods and apparatus for multiple cluster locking | |
US5835714A (en) | Method and apparatus for reservation of data buses between multiple storage control elements | |
US20080005486A1 (en) | Coordination of snoop responses in a multi-processor system | |
US5765195A (en) | Method for distributing interprocessor interrupt requests via cache memory coherency mechanisms | |
US6076147A (en) | Non-inclusive cache system using pipelined snoop bus | |
JPH10232832A (en) | Overlap tag system maintaining method | |
US6061766A (en) | Non-inclusive cache method using pipelined snoop bus | |
JP3067976B2 (en) | Multi-level bus-coupled multiprocessor system | |
KR19990060119A (en) | Cache controller | |
WO1999035581A1 (en) | Cache coherence unit with integrated message passing and memory protection for a distributed, shared memory multiprocessor system | |
KR100277446B1 (en) | Method and apparatus for speculatively supplying cache memory data in a data processing system | |
KR0145454B1 (en) | Multi-processor having distributed shared memory | |
KR100268812B1 (en) | The method and apparatus for cache coherence of multiprocessor system having distribute shared memory structure |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E601 | Decision to refuse application |