KR100479623B1 - Cache tag memory and driving system thereof - Google Patents

Cache tag memory and driving system thereof Download PDF

Info

Publication number
KR100479623B1
KR100479623B1 KR1019970013733A KR19970013733A KR100479623B1 KR 100479623 B1 KR100479623 B1 KR 100479623B1 KR 1019970013733 A KR1019970013733 A KR 1019970013733A KR 19970013733 A KR19970013733 A KR 19970013733A KR 100479623 B1 KR100479623 B1 KR 100479623B1
Authority
KR
South Korea
Prior art keywords
cache tag
cache
memory
tag memory
signal
Prior art date
Application number
KR1019970013733A
Other languages
Korean (ko)
Other versions
KR19980076858A (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 KR1019970013733A priority Critical patent/KR100479623B1/en
Publication of KR19980076858A publication Critical patent/KR19980076858A/en
Application granted granted Critical
Publication of KR100479623B1 publication Critical patent/KR100479623B1/en

Links

Images

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
    • G06F12/0815Cache consistency protocols
    • G06F12/0831Cache consistency protocols using a bus scheme, e.g. with bus monitoring or watching means
    • 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/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • G06F12/0646Configuration or reconfiguration
    • G06F12/0669Configuration or reconfiguration with decentralised address assignment
    • G06F12/0676Configuration or reconfiguration with decentralised address assignment the address being position dependent
    • 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/0891Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using clearing, invalidating or resetting means

Abstract

본 발명은 캐시 태그 메모리에 관한 것으로서, 캐시 태그 메모리의 어드레스를 'm+p' 비트로 두고, 그 중 하위 m비트를각 웨이(Way) 캐시 메모리의 어드레스로 하고, 나머지 상위 p비트에 의해 웨이를 결정하도록 함으로써, 다수개의 캐시 태그 메모리를 하나의 캐시 태그 메모리에 구현하여, 적어도 하나 이상의 캐시 태그 일치가 발생할 경우 MATCH 신호를 활성화 상태로 구동시키도록 한 것이다.The present invention relates to a cache tag memory, wherein the address of the cache tag memory is set to 'm + p' bits, and the lower m bits are used as addresses of each way cache memory, and the way is defined by the remaining upper p bits. In this case, the plurality of cache tag memories are implemented in one cache tag memory to drive the MATCH signal in an active state when at least one cache tag match occurs.

이와 같은 본 발명은 캐시 데이터에 해당하는 캐시 태그 데이터를 저장하고, CPU가 요구하는 데이터가 캐시 메모리에 존재하는지 여부를 캐시 태그 데이터의 비교 결과에 따라 캐시 태그 데이터 적중신호를 발생하도록 동일한 세트 어소시어티브 캐시에 사용되는 1 내지 ℓ 웨이 캐시 태그 메모리를 하나의 캐시 태그 메모리로 구성된다.The present invention stores the cache tag data corresponding to the cache data, and sets the same associator to generate the cache tag data hit signal according to the comparison result of the cache tag data whether or not the data required by the CPU exists in the cache memory. One to one way cache tag memory used for the creative cache is composed of one cache tag memory.

Description

캐시 태그 메모리 및 그 구동 시스템{Cache tag memory and driving system thereof}Cache tag memory and driving system

본 발명은 세트 어소시어티브 캐시(Set Associative Cache)에 적합한 캐시 태그 메모리(Cache Tag Memory)에 관한 것으로서, 특히 다수 개로 분리되어 있는 캐시 태그 메모리를 하나의 캐시 태그 메모리로 구현함으로써, 캐시 태그 메모리의 개수를 줄이고, 캐시 태그 메모리가 보드 상에 차지하는 회로면적을 줄이도록 하는 캐시 태그 메모리 및 그 구동 시스템에 관한 것이다.BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a cache tag memory suitable for a set associative cache. In particular, the present invention relates to a cache tag memory by implementing a plurality of cache tag memories into one cache tag memory. The present invention relates to a cache tag memory and a driving system for reducing the number and reducing the circuit area occupied by the cache tag memory on a board.

일반적으로 캐시 태그 메모리는 정적 램(SRAM : Static Random Access Memory)의 구조와 거의 유사하나, 캐시 태그 메모리는 캐시 태그 데이터의 적중여부를 표시하는 출력신호인 매치(MATCH)가 있다. 물론 신호명과 활성화(Active)일 때의 신호값이 집적회로(IC)의 종류에 따라 다를 수 있지만 기본적인 동작방식은 같다. In general, the cache tag memory is almost similar to the structure of the static random access memory (SRAM), but the cache tag memory has a match (MATCH) which is an output signal indicating whether or not the cache tag data is hit. Of course, the signal name and the signal value at the time of activation may be different depending on the type of integrated circuit (IC), but the basic operation is the same.

도 1a은 종래 기술에 의한 캐시 태그 메모리의 연결 구성도로서, 이에 도시된 바와 같이 버스에 부착된 모든 캐시 메모리에 대해 버스 감시기능을 수행하여 캐시 일관성(Cache coherence)을 유지하도록 캐시를 갱신 또는 무효화시키는 스누프제어부(101)와; 상기 스누프 제어부(101)로부터 출력된 신호에 따라 캐시 메모리(도면에 미도시)에 저장되어 있는 데이터의 어드레스를 저장하고, 중앙처리장치(CPU)(도면에 미도시)가 요구하는 데이터의 적중(Hit)여부 신호(MATCH)를 발생하는 1 내지 ℓ 웨이(way) 캐시 태그 메모리(111a∼111n)로 구성된다.FIG. 1A is a connection diagram of a cache tag memory according to the related art. As shown in FIG. 1A, a cache is updated or invalidated to maintain cache coherence by performing a bus monitoring function on all cache memories attached to a bus. A snoop control unit 101; In accordance with the signal output from the snoop control unit 101 stores the address of the data stored in the cache memory (not shown), and hitting the data requested by the CPU (not shown) (Hit) 1 to 1 way cache tag memories 111a to 111n for generating whether or not a signal MATCH is generated.

여기서, 미설명 부호 'A[m-1:0]'은 캐시 태그 어드레스 버스이고, 'D[n-1:0]'은 캐시 태그 데이터 버스이고, 'CS_'는 캐시 태그 메모리의 선택신호이고, 'WE_'는 캐시 태그 메모리의 쓰기 가능(Write enable)신호이고, 'CLR_'은 캐시 태그 메모리 내에 저장된 모든 캐시 태그 데이터를 '0'으로 지우는 클리어(clear) 신호이다. Here, reference numeral 'A [m-1: 0]' is a cache tag address bus, 'D [n-1: 0]' is a cache tag data bus, and 'CS_' is a selection signal of a cache tag memory. , 'WE_' is a write enable signal of the cache tag memory, and 'CLR_' is a clear signal for clearing all cache tag data stored in the cache tag memory to '0'.

도 1b는 각 캐시 태그 메모리의 어드레스 맵(Map)의 구성도로서, 각 어드레스(Add0~Add(2m-1))에 해당 캐시 데이터의 어드레스인 캐시 태그 데이터가 매핑(mapping)되어 있다.FIG. 1B is a configuration diagram of an address map of each cache tag memory, in which cache tag data, which is an address of corresponding cache data, is mapped to each address (Add0 to Add ( 2m- 1)).

이와 같이 구성된 종래 기술에 의한 캐시 태그 메모리의 작용을 보다 상세히 설명하면 다음과 같다.Referring to the operation of the cache tag memory according to the prior art configured as described in more detail as follows.

먼저 도 1a에서 n, m은 정수로써, 캐시 데이터의 크기와 사용되는 CPU의 종류에 따라 그 값이 결정된다. First, in FIG. 1A, n and m are integers, and their values are determined according to the size of cache data and the type of CPU used.

실제로 캐시 태그 어드레스 버스는 CPU가 발생시키는 어드레스 버스에서 하위 어드레스의 일부분이며, 캐시 태그 데이터 버스는 CPU가 발생시키는 어드레스 버스에서 상위 어드레스의 일부분이다.In fact, the cache tag address bus is part of the lower address on the CPU-generated address bus, and the cache tag data bus is part of the upper address on the CPU-generated address bus.

1 내지 ℓ 캐시 태그 메모리(111a∼111n)는 캐시 메모리에 저장되어 있는데이터의 어드레스를 저장하는 역할을 하며, CPU가 요구하는 데이터가 캐시 내에 존재하는가의 여부를 판별하게된다. The 1 to 1 cache tag memories 111a to 111n serve to store addresses of data stored in the cache memory, and determine whether or not data required by the CPU exists in the cache.

만약 CPU가 요구하는 데이터가 캐시 메모리 내에저장되어 있다면, 그 데이터의 어드레스는 캐시 태그 데이터 적중이 발생한다. If the data required by the CPU is stored in the cache memory, a cache tag data hit occurs at the address of the data.

그러나 CPU가 요구하는 데이터가 어드레스가 캐시 태그 데이터 적중이 발생하지 않으면(Miss) 캐시 메모리에 원하는 데이터가 저장되어 있지 않다.However, if the data required by the CPU does not generate cache tag data hits in the address (Miss), the desired data is not stored in the cache memory.

보다 상세히 말하면, 캐시 태그 메모리는 읽기 동작을 수행할 경우 'A[m-1:0]'의 어드레스에 해당하는 데이터가 캐시 태그 데이터 버스를 통해 구동되고, 쓰기 동작을 수행할 경우에는 'A[m-1:0]'의 어드레스에 해당하는 영역에 캐시 태그 데이터 버스의 값 'D[n-1:0]'을 사용한다. In more detail, the cache tag memory may drive data corresponding to the address of 'A [m-1: 0]' through the cache tag data bus when a read operation is performed and 'A [when a write operation is performed. The value 'D [n-1: 0]' of the cache tag data bus is used in an area corresponding to the address of m-1: 0] '.

여기서, 캐시 태그 데이터의 적중이 발생할 경우 해당 캐시 메모리에서는 'MATCH' 신호를 활성화시키는데, 그 조건은 다음과 같다.Here, when a hit of cache tag data occurs, the corresponding cache memory activates the 'MATCH' signal. The conditions are as follows.

먼저, 캐시 태그 비교 시는 캐시 태그 메모리 선택신호(CS_)와 쓰기 가능신호(WE_)가 비활성화(Inactive)되고, 캐시 태그어드레스 버스(A[m-1:0])에 참조하고자 하는 어드레스의 하위 일부분이 구동되고, 캐시 태그 데이터 버스(D[n-1:0])에 참조하고자 하는 어드레스의 상위 일부분이 구동된다. First, when the cache tag is compared, the cache tag memory selection signal CS_ and the writable signal WE_ are inactive, and are lower than the address to be referred to the cache tag address bus A [m-1: 0]. A part is driven, and an upper part of an address to be referred to the cache tag data bus D [n-1: 0] is driven.

이때 캐시 태그 어드레스 버스(A[m-1:0])에 구동된 어드레스 값을 십진수로 'x'라고 하면, 캐시 태그 메모리 내부의 어드레스 'x'에 저장된 캐시 태그 데이터 값과 'D[n-1:0]'이 일치하면 캐시 태그 적중신호(MATCH)가 활성화 상태로 구동되고, 만약 일치하지 않을 경우에는 캐시 태그 적중신호(MATCH)가 비활성화 상태로 된다.At this time, if the address value driven on the cache tag address bus A [m-1: 0] is' x 'in decimal, the cache tag data value stored at the address' x' in the cache tag memory and 'D [n- If 1: 0] 'matches, the cache tag hit signal MATCH is driven in an active state, and if it does not match, the cache tag hit signal MATCH is deactivated.

또한 읽기 쓰기 동작 시에는 캐시 태그 메모리 선택신호(CS_)가 활성화되어 'A[m-1:0]'로 어드레싱(addressing)된 영역의 캐시 태그 데이터를 읽거나 쓰기 동작을 수행한다.In addition, during the read / write operation, the cache tag memory selection signal CS_ is activated to read or write cache tag data of an area addressed with 'A [m-1: 0]'.

이와 같이 각 캐시 태그 메모리(111a∼111n)로부터 출력된 캐시 태그 적중신호(MATCH1∼MATCHℓ)를 논리합(ORing)함으로써, 캐시 태그 데이터의 적중여부를 알 수 있다. Thus, by ORing the cache tag hit signals MATCH1 to MATCH1 output from the respective cache tag memories 111a to 111n, it is possible to know whether or not the cache tag data is hit.

즉, 1 내지 ℓ 웨이 캐시 태그 메모리(111a∼111n)중 어느 하나의 캐시 태그 메모리에서 캐시 태그 적중신호(MATCH)가 활성화되면 캐시 태그 데이터 적중이 발생했음을 알 수 있다. That is, when the cache tag hit signal MATCH is activated in any one of the 1 to 1 way cache tag memories 111a to 111n, it can be seen that the cache tag data hit has occurred.

그러나, 이와 같은 종래 기술에 의한 캐시 태그 메모리는 ℓ웨이 세트 어소시어티브 캐시의 캐시 태그 메모리를 구현할경우 ℓ개의 캐시 태그 메모리 집적회로가 필요하므로, 캐시 태그 메모리부가 회로 면적을 많이 차지하는 문제점이 있었다.However, the cache tag memory according to the related art requires l cache tag memory integrated circuits when implementing the cache tag memory of the l-way set associative cache, which causes the cache tag memory unit to occupy a large circuit area.

따라서 본 발명은 상기한 종래 기술의 문제점을 개선하고자 하여 캐시 태그 메모리의 어드레스를 'm+p' 비트로 두고, 그 중 하위 m비트를 각 웨이 캐시 메모리의 어드레스로 하고, 나머지 상위 p비트에 의해 웨이를 결정하도록 함으로써, 다수개의 캐시 태그 메모리를 하나의 캐시 태그 메모리에 구현하여, 적어도 하나 이상의 캐시 태그 일치가 발생할 경우 MATCH신호를 활성화 상태로 구동시키는 캐시 태그 메모리 및 그 구동 시스템을 제공함에 그 목적이 있다.Therefore, in order to improve the above-described problems of the prior art, the address of the cache tag memory is set to 'm + p' bits, the lower m bits of which are addresses of the respective way cache memories, and the way is determined by the remaining upper p bits. The present invention provides a cache tag memory and a driving system for implementing the plurality of cache tag memories in one cache tag memory to drive a MATCH signal in an active state when at least one cache tag match occurs. have.

이와 같은 본 발명의 목적을 달성하기 위한 캐시 태그 메모리는, 세트 어소시어티브 캐시에 적합한 다수개의 웨이 캐시 태크 메모리 기능을 구현한 단밀의 캐시 태그 메모리에 있어서,The cache tag memory for achieving the object of the present invention is a compact cache tag memory that implements a plurality of way cache tag memory functions suitable for a set associative cache,

'm+p'의 소정 비트로 구성되고 그 중 하위 m비트가 각 웨이 캐시 메모리의 어드레스가 되고 상위 p비트에 의해 각 웨이가 결정되는 어드레스 영역과;an address area composed of predetermined bits of 'm + p', of which the lower m bits are addresses of each way cache memory and each way is determined by the upper p bits;

상기 어드레스 영역에서 결정된 각 웨이에 대응되어 CPU가 요구하는 데이터가 캐시 메모리에 존재할 경우 캐시 태그 데이터 적중신호를 출력하는 복수개의 매치신호 출력부를 포함하는 것을 특징으로 한다.And a plurality of match signal output units configured to output a cache tag data hit signal when data required by the CPU corresponding to each way determined in the address area exists in the cache memory.

바람직하게, 상기 캐시 태그 데이터 적중신호를 출력하는 복수개의 매치신호출력부는 각 웨이 캐시 태그 메모리 중 적어도 하나 이상의 캐시 태그 데이터 일치가 발생할 경우 각 매치신호에 대하여 이를 논리합하여 캐시 태그 적중신호를 출력하는 것을 특징으로 한다.Preferably, the plurality of match signal output units for outputting the cache tag data hit signal outputs the cache tag hit signal by logically adding to each match signal when at least one cache tag data match in each way cache tag memory occurs. It features.

본 발명에 따른 캐시 태그 메모리 구동 시스템은, 세트 어소시어티브 캐시에적합한 다수개의 캐시 태그 메모리 기능을 구현한 단일의 캐시 태그 메모리 구동 시스템에 있어서, 버스에 부착된 캐시 메모리에 대해 버스 감시 기능을 수행하여 캐시 일관성을 유지하도록 캐시 데이터를 갱신 또는 무효화시키는 스누프 제어부와; 상기 스누프 제어부로부터의 신호에 따라 CPU에서 요구하는 데이터가 소정 어드레스에 저장되어 있는 캐시 태그 데이터 값과 일치할 경우 복수개의 매치 신호를 활성화 상태로 구동하는 캐시 태그 메모리로 구성된 것을 특징으로 한다.The cache tag memory driving system according to the present invention is a single cache tag memory driving system that implements a plurality of cache tag memory functions suitable for a set associative cache, and performs a bus monitoring function on a cache memory attached to a bus. A snoop controller for updating or invalidating cache data to maintain cache coherency; In response to a signal from the snoop controller, a cache tag memory configured to drive a plurality of match signals in an activated state when the data requested by the CPU matches a cache tag data value stored at a predetermined address.

바람직하게, 상기 캐시 태그 메모리는 소정 비트의 캐시태그 메모리의 어드레스와, 소정 비트의 웨이 결정 신호와, 캐시 태그 메모리의 선택신호와, 캐시 태그 메모리의 쓰기 가능 신호와, 캐시 태그 메모리의 클리어 신호에 따라 매치 신호를 활성화 상태로 구동되는 것을 특징으로 한다.Preferably, the cache tag memory includes an address of a predetermined bit of the cache tag memory, a way determination signal of the predetermined bit, a selection signal of the cache tag memory, a writable signal of the cache tag memory, and a clear signal of the cache tag memory. Accordingly, the match signal is driven in an activated state.

이하, 본 발명의 바람직한 실시예를 첨부된 도면을 참조하여 상세히 설명하면 다음과 같다. Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings.

도 2a는 본 발명의 실시예에 따른 캐시 태그 메모리의 연결 구성도로서, 이에 도시된 바와 같이 버스에 부착된 모든 캐시메모리에 대해 버스 감시기능을 수행하여 캐시 일관성을 유지하도록 캐시 데이터를 갱신 또는 무효화시키는 스누프 제어부(201)와; 상기 스누프 제어부(201)로부터 m비트의 캐시 태그 메모리의 어드레스(A[m+p-1:m])와 p비트의 웨이 결정신호(A[m-1:0])와 캐시 태그 메모리의 선택신호(CS_)와 캐시 태그 메모리의 쓰기 가능신호(WE_)와 캐시 태그 메모리의 클리어(Clear)신호(CLR_)에 따라 어드레스에 저장되어 있는 해당 캐시 태그 데이터 값과 'D[n-1:0])'의 일치 여부에 따라 'MATCHi'(i=1, 2, …, ℓ) 신호를 활성화 상태로 구동하는 캐시 태그 메모리(210)로 구성된다.FIG. 2A is a connection diagram of a cache tag memory according to an exemplary embodiment of the present invention. As shown in FIG. 2A, a bus monitoring function is performed on all cache memories attached to a bus to update or invalidate cache data to maintain cache coherency. A snoop control unit 201; From the snoop control unit 201, the address A [m + p-1: m] of the m bit cache tag memory, the way decision signal A [m-1: 0] of the p bit and the cache tag memory A corresponding cache tag data value stored at an address according to the selection signal CS_, the write enable signal WE_ of the cache tag memory, and the clear signal CLR_ of the cache tag memory, and 'D [n-1: 0' ]) ', The cache tag memory 210 drives the' MATCHi '(i = 1, 2, ..., L) signal in an activated state.

여기서, 캐시 태그 메모리(210)의 어드레스 맵은 도 2b 및 다음 표 1에 나타낸 바와 같이, 어드레스(0 ∼ 2m+p-1)를 'A[m+p-1:m]'로 어드레싱한 1 내지 ℓ 웨이 캐시 태그 메모리(210-1 ~ 210-ℓ)로 구성된다.In the address map of the cache tag memory 210, as shown in FIG. 2B and the following Table 1, the address (0 to 2 m + p- 1) is addressed as 'A [m + p-1: m]'. 1 to 1 way cache tag memories 210-1 to 210-L.

[표 1]TABLE 1

캐시 태그 메모리 내부 구분 Cache tag memory internal separator 어드레싱(Addressing) Addressing 캐시 태그 일치신호 Cache tag match signal 1 웨이 캐시 태그 메모리  1 way cache tag memory A[m+p-1:m] = 0    A [m + p-1: m] = 0 MATCH 1      MATCH 1 2 웨이 캐시 태그 메모리  2 way cache tag memory A[m+p-1:m] = 1    A [m + p-1: m] = 1 MATCH 2      MATCH 2 · · ·            · · · · · ·        · · · · · ·        · · · ℓ 웨이 캐시 태그 메모리  ℓ way cache tag memory A[m+p-1:m] = ℓ-1   A [m + p-1: m] = ℓ-1 MATCH ℓ     MATCH ℓ

이와 같이 구성된 본 발명의 작용을 첨부된 도면을 참조하여 상세히 설명하면 다음과 같다. The operation of the present invention configured as described above will be described in detail with reference to the accompanying drawings.

먼저, 본 발명에 의한 캐시 태그 메모리는 읽기 동작을 수행할 때 선택신호(CS_)는 활성화되고, 쓰기 가능신호(WE_)는 비활성화 된다. 그리고 캐시 태그 어드레스(A[m+p-1:0])에 저장된 캐시 태그 데이터가 캐시 태그 데이터 버스(D[n-1:0])를 통해 읽혀진다. First, in the cache tag memory according to the present invention, the selection signal CS_ is activated and the writable signal WE_ is deactivated when the read operation is performed. The cache tag data stored at the cache tag address A [m + p-1: 0] is read through the cache tag data bus D [n-1: 0].

만약, 캐시 태그 메모리가 읽기 동작을 수행할 경우에는 선택신호(CS_)와 쓰기 가능신호(WE_)가 모두 활성화되어 캐시 태그 데이터 버스(D[n-1:0])의 캐시 태그 데이터 값이 어드레스(A[m+p-1:0])에 저장된다.If the cache tag memory performs a read operation, both the selection signal CS_ and the write enable signal WE_ are activated so that the cache tag data value of the cache tag data bus D [n-1: 0] is addressed. Stored in (A [m + p-1: 0]).

읽기/쓰기 시에는 어드레스 버스가 'A[m+p-1:0]'이고, 데이터 버스가 'D[n-1:0]'인 일반 정적 램(SRAM)과 유사하다. 즉, 선택신호(CS_)는 활성화 상태이고, 'A[m+p-1:0]'로 어드레싱된 캐시 태그 데이터를 읽거나 쓰기 동작을 수행한다.Read / write is similar to a normal static RAM (SRAM) with an address bus of 'A [m + p-1: 0]' and a data bus of 'D [n-1: 0]'. That is, the selection signal CS_ is activated and reads or writes cache tag data addressed with 'A [m + p-1: 0]'.

캐시 태그 메모리 비교 시는 선택신호(CS_)와 쓰기 가능신호(WE_)가 모두 비활성화 상태이고, 'A[m-1:0]'의 값이 십진수로 'x'라고 하면 캐시 태그 데이터 버스(D[n-1:0])의 값과 어드레스 '(i-1)2m+x'(i=1, 2, …, ℓ)에 저장되어 있는 각 캐시 태그 데이터 값과 비교한다. 만약 'D[n-1:0]'의 값과 어드레스 '(i-1)2m+x'(i=1, 2, …, ℓ)에 저장되어 있는 캐시 태그 데이터 값이 같다면, 캐시 태그 메모리의 매치신호가 출력되는 매치신호 출력부에서의 'MATCHi' 출력신호가 활성화 상태로 구동되고, 같지 않다면 비활성화 상태로 구동된다.When comparing the cache tag memory, if the selection signal CS_ and the writeable signal WE_ are both inactive and the value of 'A [m-1: 0]' is 'x' in decimal, the cache tag data bus D The value of [n-1: 0]) is compared with each cache tag data value stored at the address '(i-1) 2 m + x' (i = 1, 2, ..., l). If the value of 'D [n-1: 0]' is equal to the value of the cache tag data stored at address '(i-1) 2 m + x' (i = 1, 2,…, l), the cache The 'MATCHi' output signal from the match signal output unit to which the match signal of the tag memory is output is driven in an active state.

예를 들어 'i' 가 2일 경우 '2m+x' 어드레스에 저장되어 있는 캐시 태그 데이터 값이 'D[n-1:0]'의 값과 일치하면 'MATCH2'가 활성화 상태로 구동된다.For example, if 'i' is 2, 'MATCH2' is activated when the cache tag data value stored at address '2 m + x' matches 'D [n-1: 0]'. .

여기서, 'MATCHi'가 활성화 상태일 경우는 i 웨이 캐시 태그 메모리에서 캐시 태그 데이터 적중이 일어났다는 의미이다. 그리고 각 매치신호 출력부에서 출력되는 'MATCH1'에서 'MATCHℓ'까지의 출력신호가 모두 비활성화 상태일 때, 'MATCH' 신호는 비활성화 상태가 된다. Here, when 'MATCHi' is activated, it means that cache tag data hit has occurred in the i-way cache tag memory. When the output signals MATCH1 to MATCHℓ output from each match signal output unit are all inactive, the MATCH signal is inactive.

즉,'MATCH' 신호는 복수개의 매치신호 출력부 각각에서 출력된 'MATCH1'에서 'MATCHℓ'까지의 출력신호를 논리합한 결과이다.That is, the 'MATCH' signal is a result of logical sum of the output signals from 'MATCH1' to 'MATCHℓ' output from each of the plurality of match signal output units.

결국, 캐시 태그 데이터의 적중여부는 'MATCH'신호를 통해 알 수 있으며, 상기 표 1에 나타낸 바와 같이 1 내지 ℓ 웨이 캐시 태그 메모리(210-1 ∼ 210-ℓ)의 구분은 어드레스(A[m+p+1:0]) 값에 의해 구분할 수 있다. 즉, 'A[m+p+1:0]'의 값이 십진수로 'j'라고 하면 'j+1' 웨이 캐시 태그 메모리 어드레스 영역을 나타낸다.As a result, the hit of the cache tag data can be known through the 'MATCH' signal. As shown in Table 1, the division of the 1 to 1 way cache tag memories 210-1 to 210-1 is represented by the address A [m. + p + 1: 0]) values. That is, if the value of 'A [m + p + 1: 0]' is 'j' in decimal, it indicates 'j + 1' way cache tag memory address area.

이상에서 본 발명의 바람직한 실시예를 설명하였으나, 본 발명은 다양한 변화와 변경 및 균등물을 사용할 수 있다. 본 발명은 상기 실시예를 적절히 변형하여 동일하게 응용할 수 있음이 명확하다. 따라서 상기 기재 내용은 하기 특허청구범위의 한계에 의해 본 발명의 범위가 한정되는 것이 아니다. Although the preferred embodiment of the present invention has been described above, the present invention may use various changes, modifications, and equivalents. It is clear that the present invention can be applied in the same manner by appropriately modifying the above embodiments. Therefore, the above description is not limited to the scope of the present invention by the limitation of the claims.

이상에서 설명한 바와 같이 본 발명에 의한 캐시 태그 메모리 및 그 구동 시스템은 세트 어소시어티브 캐시에 사용되는 1 내지 ℓ 캐시 태그 메모리를 하나의 캐시 태그 메모리로 구현함으로써, 세트 어소시어티브 캐시에 사용되는 캐시 태그 메모리의 개수를 줄일 수 있어 보드 상에 차지하는 물리적인 면적을 줄일 수 있는 효과가 있다.As described above, the cache tag memory and its driving system according to the present invention implement a 1 to 1 cache tag memory used for the set associative cache as one cache tag memory, thereby enabling the cache to be used for the set associative cache. Since the number of tag memories can be reduced, the physical area occupied on the board can be reduced.

도 1a는 종래 기술에 의한 캐시 태그 메모리의 연결 구성도.1A is a connection configuration diagram of a cache tag memory according to the related art.

도 1b는 종래 기술에 의한 캐시 태그 메모리의 어드레스 맵의 구성도.1B is a configuration diagram of an address map of a cache tag memory according to the prior art.

도 2a는 본 발명의 실시예에 따른 캐시 태그 메모리 구동 시스템에서의 캐시 태그 메모리의 연결 구성도.2A is a diagram illustrating a connection configuration of a cache tag memory in a cache tag memory driving system according to an exemplary embodiment of the present invention.

도 2b는 본 발명의 실시예에 따른 태그 메모리의 어드레스 맵 구성도. 2B is an address map configuration diagram of a tag memory according to an embodiment of the present invention.

< 도면의 주요 부분에 대한 부호의 설명 ><Description of Symbols for Main Parts of Drawings>

201 : 스누프 제어부 210 : 캐시 태그 메모리201: snoop control unit 210: cache tag memory

210-1 ∼ 210-ℓ : 1 내지 ℓ 웨이 캐시 태그 메모리210-1 to 210-L: 1 to 1 way cache tag memory

Claims (4)

세트 어소시어티브 캐시에 적합한 다수개의 웨이 캐시 태그 메모리 기능을 구현한 단일의 캐시 태그 메모리에 있어서,A single cache tag memory that implements multiple way cache tag memory functions suitable for set associative cache, 'm+p'의 소정 비트로 구성되고 그 중 하위 m비트가 각 웨이 캐시 메모리의 어드레스가 되고 상위 p비트에 의해 각 웨이가 결정되는 어드레스 영역과; an address area composed of predetermined bits of 'm + p', of which the lower m bits are addresses of each way cache memory and each way is determined by the upper p bits; 상기 어드레스 영역에서 결정된 각 웨이에 대응되어 CPU가 요구하는 데이터가 캐시 메모리에 존재할 경우 캐시 태그 데이터 적중신호를 출력하는 복수개의 매치신호 출력부를 포함하여 구성된 것을 특징으로 하는 캐시 태그 메모리.And a plurality of match signal output units configured to output a cache tag data hit signal when data required by the CPU corresponding to each way determined in the address area exists in the cache memory. 제 1 항에 있어서, The method of claim 1, 상기 캐시 태그 데이터 적중신호를 출력하는 복수개의 매치신호 출력부는 각 웨이 캐시 태그 메모리 중 적어도 하나 이상의 캐시 태그 데이터 일치가 발생할 경우 각 매치신호에 대하여 이를 논리합하여 캐시 태그 적중신호를 출력하는 것을 특징으로 하는 캐시 태그 메모리.The plurality of match signal output units for outputting the cache tag data hit signal may output a cache tag hit signal by performing a logical OR on each match signal when at least one cache tag data match among each way cache tag memory occurs. Cache tag memory. 세트 어소시어티브 캐시에 적합한 다수개의 캐시 태그 메모리 기능을 구현한 단일의 캐시 태그 메모리 구동 시스템에 있어서,In a single cache tag memory driving system implementing a plurality of cache tag memory functions suitable for a set associative cache, 버스에 부착된 캐시 메모리에 대해 버스 감시 기능을 수행하여 캐시 일관성을 유지하도록 캐시 데이터를 갱신 또는 무효화시키는 스누프 제어부와;A snoop control unit performing a bus monitoring function on the cache memory attached to the bus to update or invalidate cache data to maintain cache coherency; 상기 스누프 제어부로부터의 신호에 따라 CPU에서 요구하는 데이터가 소정 어드레스에 저장되어 있는 캐시 태그 데이터 값과 일치할 경우 복수개의 매치 신호를 활성화 상태로 구동하는 캐시 태그 메모리로 구성된 것을 특징으로 하는 캐시 태그 메모리 구동 시스템. A cache tag memory configured to drive a plurality of match signals in an activated state when data requested by a CPU matches a cache tag data value stored at a predetermined address according to a signal from the snoop controller Memory driven system. 제 3항에 있어서,The method of claim 3, wherein 상기 캐시 태그 메모리는 소정 비트의 캐시태그 메모리의 어드레스와, 소정 비트의 웨이 결정 신호와, 캐시 태그 메모리의 선택신호와, 캐시 태그 메모리의 쓰기 가능 신호와, 캐시 태그 메모리의 클리어 신호에 따라 매치 신호를 활성화 상태로 구동되는 것을 특징으로 하는 캐시 태그 메모리 구동 시스템. The cache tag memory includes a match signal according to an address of a predetermined bit of the cache tag memory, a way determination signal of the predetermined bit, a selection signal of the cache tag memory, a writable signal of the cache tag memory, and a clear signal of the cache tag memory. Is driven in an activated state.
KR1019970013733A 1997-04-15 1997-04-15 Cache tag memory and driving system thereof KR100479623B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019970013733A KR100479623B1 (en) 1997-04-15 1997-04-15 Cache tag memory and driving system thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019970013733A KR100479623B1 (en) 1997-04-15 1997-04-15 Cache tag memory and driving system thereof

Publications (2)

Publication Number Publication Date
KR19980076858A KR19980076858A (en) 1998-11-16
KR100479623B1 true KR100479623B1 (en) 2005-07-07

Family

ID=37303447

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019970013733A KR100479623B1 (en) 1997-04-15 1997-04-15 Cache tag memory and driving system thereof

Country Status (1)

Country Link
KR (1) KR100479623B1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102565238B1 (en) * 2021-11-08 2023-08-09 제주대학교 산학협력단 Address mapping apparatus and method considering shared memory and cache interleaving

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0054508A1 (en) * 1981-02-03 1982-06-23 Geilinger AG Device for mounting building elements, e.g. masts
KR840000835A (en) * 1981-06-15 1984-02-27 야마모도 다까마사 Computer system
EP0549508A1 (en) * 1991-12-26 1993-06-30 International Business Machines Corporation Reconfigurable multi-way associative cache memory
KR940007684A (en) * 1992-09-30 1994-04-27 김광호 Cache memory system with small physical size tag memory
US5509135A (en) * 1992-09-25 1996-04-16 Digital Equipment Corporation Multi-index multi-way set-associative cache
KR960015237A (en) * 1994-10-05 1996-05-22 월리암 티. 엘리스 Data cache array, data caching method and data processing system using same

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0054508A1 (en) * 1981-02-03 1982-06-23 Geilinger AG Device for mounting building elements, e.g. masts
KR840000835A (en) * 1981-06-15 1984-02-27 야마모도 다까마사 Computer system
EP0549508A1 (en) * 1991-12-26 1993-06-30 International Business Machines Corporation Reconfigurable multi-way associative cache memory
US5367653A (en) * 1991-12-26 1994-11-22 International Business Machines Corporation Reconfigurable multi-way associative cache memory
US5509135A (en) * 1992-09-25 1996-04-16 Digital Equipment Corporation Multi-index multi-way set-associative cache
KR940007684A (en) * 1992-09-30 1994-04-27 김광호 Cache memory system with small physical size tag memory
KR960015237A (en) * 1994-10-05 1996-05-22 월리암 티. 엘리스 Data cache array, data caching method and data processing system using same

Also Published As

Publication number Publication date
KR19980076858A (en) 1998-11-16

Similar Documents

Publication Publication Date Title
EP0596636B1 (en) Cache tag memory
US5802568A (en) Simplified least-recently-used entry replacement in associative cache memories and translation lookaside buffers
JP3657622B2 (en) Conversion lookaside buffer with variable page dimensions per entry
US4991081A (en) Cache memory addressable by both physical and virtual addresses
US5835928A (en) Circuitry and method for relating first and second memory locations where the second memory location stores information from the first memory location
US6026476A (en) Fast fully associative translation lookaside buffer
KR102421311B1 (en) Storage circuit responding to tag matching commands
US5717885A (en) TLB organization with variable page size mapping and victim-caching
US5668972A (en) Method and system for efficient miss sequence cache line allocation utilizing an allocation control cell state to enable a selected match line
US5014240A (en) Semiconductor memory device
US5712998A (en) Fast fully associative translation lookaside buffer with the ability to store and manage information pertaining to at least two different page sizes
JPH08227380A (en) Data-processing system
US6334173B1 (en) Combined cache with main memory and a control method thereof
US6334170B1 (en) Multi-way cache expansion circuit architecture
EP1190325B1 (en) Status bits for cache memory
US6202128B1 (en) Method and system for pre-fetch cache interrogation using snoop port
US5175859A (en) Apparatus for disabling unused cache tag input/output pins during processor reset by sensing pull-down resistors connected to disabled pins
US6000017A (en) Hybrid tag architecture for a cache memory
EP0180369B1 (en) Cache memory addressable by both physical and virtual addresses
KR100479623B1 (en) Cache tag memory and driving system thereof
JPH04357539A (en) Cash-tag memory device for double ports
JPH05210974A (en) Coupling system of static cash memory and dynamic main memory on same chip
EP0474356A1 (en) Cache memory and operating method
US7167952B2 (en) Method and system for performing a memory-mode write to cache
US5483644A (en) Method for increasing cacheable address space in a second level cache

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
N231 Notification of change of applicant
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20090302

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee