KR19990086857A - Cache system with serial / parallel cache structure with selective control - Google Patents
Cache system with serial / parallel cache structure with selective control Download PDFInfo
- Publication number
- KR19990086857A KR19990086857A KR1019980020029A KR19980020029A KR19990086857A KR 19990086857 A KR19990086857 A KR 19990086857A KR 1019980020029 A KR1019980020029 A KR 1019980020029A KR 19980020029 A KR19980020029 A KR 19980020029A KR 19990086857 A KR19990086857 A KR 19990086857A
- Authority
- KR
- South Korea
- Prior art keywords
- cache
- buffer
- cpu
- serial
- parallel
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0877—Cache access modes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0804—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with main memory updating
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0844—Multiple simultaneous or quasi-simultaneous cache accessing
- G06F12/0853—Cache with multiport tag or data arrays
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0893—Caches characterised by their organisation or structure
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4204—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
- G06F13/4208—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a system bus, e.g. VME bus, Futurebus, Multibus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
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
본 발명은 직렬 방식 캐시 구조와 병렬 방식 캐시 구조를 수용하는 캐시 시스템에서 히트(hit)율을 평가하고 평가된 히트율에 따라 병렬 또는 직렬 캐시 구조를 선택적으로 사용하도록 하는 캐시 시스템에 관한 것이다. 종래 기술의 직렬 방식 캐시 구조는 캐시에 먼저 접근하여 캐시 미스(miss)가 발생하면, 그때 다시 주메모리 접근 싸이클을 시작하므로 데이터 억세스(access)시간이 증가하게 되는 결점이 있으며, 병렬 방식 캐시 구조는 캐시와 주메모리를 동시에 접근할 때 버스가 타 마스터 장치에 의해서 점유중인 경우 CPU는 주메모리로 접근할 수 없으므로 버스 점유가 종료되기를 기다려서 해당 작업을 수행해야 하는 결점이 있었다. 그러나, 본 발명에서는 평가된 히트율에 따라 직렬 방식의 캐시와 병렬 방식의 캐시 구조를 선택함으로써, 시스템 전체의 성능을 높있 수 있다.The present invention relates to a cache system for evaluating hit rates in a cache system that accommodates a serial cache structure and a parallel cache structure, and optionally using a parallel or serial cache structure in accordance with the evaluated hit rate. The prior art cache structure has a drawback that the data access time is increased because the cache is first accessed and a cache miss occurs, and then the main memory access cycle is started again. If the bus was occupied by another master device when accessing cache and main memory at the same time, the CPU could not access main memory, so it was necessary to wait for the bus to terminate and perform the operation. However, in the present invention, the performance of the system as a whole can be improved by selecting a serial cache and a parallel cache structure according to the evaluated hit rate.
Description
본 발명은 직렬 방식 캐시 구조와 병렬 방식 캐시 구조를 수용한 캐시 시스템에 관한 것으로서, 특히, 캐시 제어부에서 히트(hit)율을 평가하고 평가된 히트율에 따라 병렬 방식 캐시 구조 또는 직렬 방식 캐시 구조를 선택적으로 사용하도록 하는 캐시 시스템에 관한 것이다.BACKGROUND OF THE INVENTION 1. Field of the Invention [0001] The present invention relates to a cache system that accommodates a serial cache structure and a parallel cache structure. In particular, the cache controller evaluates a hit rate and, according to the evaluated hit rate, a parallel cache structure or a serial cache structure. It relates to a cache system for optional use.
일반적으로, 컴퓨터 시스템은 중앙 처리 장치(Central Processing Unit, 이하 CPU라 약칭함)의 처리 속도에 비해 상대적으로 현저하게 접근 속도가 느린 주메모리의 단점을 보완하여 시스템 전체의 성능을 향상시키기 위하여 데이터 접근 속도가 빠른 캐시를 이용한다. 캐시는 CPU와 주메모리 사이에 배치되고 주메모리의 데이터중에서 CPU에 의해 자주 사용되는 일부의 데이터를 저장한다. 이러한 구성에 의해 CPU는 속도가 빠른 캐시에서 데이터를 우선적으로 가져다 사용할 수 있게 됨으로써, CPU의 데이터 처리 속도가 증가하고 궁극적으로는 시스템 전체의 성능이 향상된다.In general, computer systems access data in order to improve the performance of the entire system by compensating for the disadvantage of main memory, which is relatively slow compared to the processing speed of the Central Processing Unit (CPU). Use a fast cache. The cache is placed between the CPU and the main memory and stores some of the data in the main memory that is frequently used by the CPU. This configuration allows the CPU to preferentially take data from the fast cache, increasing the CPU's data throughput rate and ultimately improving the overall system performance.
캐시 시스템에서 사용되는 캐시 구성은 CPU가 캐시와 주메모리를 직렬 또는 병렬로 억세스(access)하는 방법이 있다. 병렬 방식의 캐시 시스템은 CPU에서 원하는 데이터를 읽기 위해 시스템 버스를 점유하고 캐시와 주메모리로의 읽기 동작이 동시에 진행된다. 캐시 히트가 발생하면, CPU는 캐시로 접근하여 원하는 데이터를 읽어온다. CPU가 캐시로부터 원하는 데이터를 읽어오면 주메모리로의 접근 싸이클은 종료된다. 원하는 데이터를 못찾는 캐시 미스가 발생하면, CPU는 주메모리 접근 싸이클을 계속 진행시켜 원하는 데이터를 주메모리로부터 읽어온다. 그러나, 병렬 방식은 캐시와 시스템 버스를 통하여 주메모리를 동시에 접근하기 때문에, 캐시 미스가 발생하면 주메모리에서 원하는 데이터를 읽어올 수 있는 장점이 있지만 히트 또는 미스인 경우 모두 CPU가 버스를 점유하여야 하므로 타마스터 장치가 버스를 점유할 수 없는 결점이 있다.The cache configuration used in the cache system is a way for the CPU to access the cache and main memory in serial or parallel. The parallel cache system occupies the system bus to read the desired data from the CPU and simultaneously reads the cache and main memory. When a cache hit occurs, the CPU accesses the cache and reads the desired data. When the CPU reads the desired data from the cache, the access cycle to main memory is terminated. If a cache miss occurs that does not find the desired data, the CPU continues the main memory access cycle and reads the desired data from main memory. However, since the parallel method accesses main memory simultaneously through the cache and the system bus, there is an advantage in that the desired data can be read from the main memory when a cache miss occurs, but in the case of a hit or a miss, the CPU must occupy the bus. There is a drawback that no other master device can occupy the bus.
이와 반대로, 직렬 방식의 캐시 시스템은 CPU에서 요구된 데이터가 캐시에서 먼저 검색된다. 만약, CPU가 원하는 데이터가 캐시에 있으면, 캐시 히트로서 CPU는 캐시에서 시스템 버스의 점유없이 데이터를 읽어온다. 반면에 CPU가 원하는 데이터가 캐시에 없는 캐시 미스인 경우, CPU는 주메모리 접근 사이클을 시작하고 시스템 버스를 점유한 후 주메모리에서 데이터를 읽어온다. 캐시와 주메모리로 개별적인 읽기 동작을 실행하기 때문에 캐시 히트시, 시스템 버스를 점유하지 않고도 캐시로부터 데이터를 빠른 속도로 읽어올 수 있으므로, 타마스터 장치가 시스템 버스를 점유하여 사용할 수 있는 장점이 있다. 그러나, 캐시 미스시, 주메모리 접근 싸이클이 다시 시작되므로 CPU에서 데이터 읽어오는 시간이 지연된다.In contrast, in a serial cache system, the data requested by the CPU is first retrieved from the cache. If the data desired by the CPU is in the cache, as a cache hit, the CPU reads data from the cache without occupying the system bus. On the other hand, if the data the CPU wants is a cache miss that is not in the cache, the CPU begins the main memory access cycle, occupies the system bus, and reads data from main memory. Since separate read operations are performed to the cache and main memory, data can be read from the cache at high speed without occupying the system bus at the time of a cache hit, so that another master device can occupy the system bus. However, in the case of a cache miss, the main memory access cycle is restarted, thus delaying the data read from the CPU.
본 발명은 상술한 종래 기술의 결점을 해결하기 위하여 안출한 것으로, 본 발명의 목적은 직렬 방식의 캐시 구조와 병렬 방식의 캐시 구조를 수용하는 캐시 시스템에서 캐시 히트율에 따라 접근 속도가 빠른 캐시 구조를 선택하여 캐시 시스템 전체의 성능을 향상시키는 캐시 시스템의 캐시 제어 장치를 제공하는 것이다.SUMMARY OF THE INVENTION The present invention has been made to solve the above-mentioned drawbacks of the prior art, and an object of the present invention is to provide a cache structure having a fast access speed according to a cache hit rate in a cache system that accommodates a serial cache structure and a parallel cache structure. To provide a cache control device of the cache system to improve the performance of the cache system as a whole.
이러한 목적을 달성하기 위하여 본 발명은, CPU를 구비하는 캐시 시스템에 있어서, CPU로 데이터를 제공하는 주메모리와, CPU에 의해 자주 사용되는 주메모리의 일부 데이터가 저장되어 있는 캐시와, 인에이블 신호에 따라 캐시 및 주메모리와 CPU간의 직렬 경로를 제공하거나 직렬 경로를 폐쇄시키는 제 1 버퍼와, 인에이블 신호에 따라 캐시 및 주메모리와 CPU간의 병렬 경로를 제공하거나 병렬 경로를 폐쇄시키는 는 제 2 버퍼와, 캐시의 히트(hit)/미스(miss)를 판단하고 판단 결과에 따라 제 1 버퍼 또는 제 2 버퍼를 선택적으로 인에이블시키는 신호를 발생하는 캐시 제어부를 포함한다.In order to achieve the above object, the present invention provides a cache system having a CPU, a main memory for providing data to the CPU, a cache storing some data of the main memory frequently used by the CPU, and an enable signal. A first buffer providing a serial path between the cache and the main memory and the CPU or closing the serial path, and a second buffer providing a parallel path between the cache and the main memory and the CPU or closing the parallel path according to the enable signal. And a cache controller for determining a hit / miss of the cache and generating a signal for selectively enabling the first buffer or the second buffer according to the determination result.
도 1은 본 발명에 따른 캐시 시스템 블록 구성도,1 is a block diagram of a cache system according to the present invention;
도 2는 도 1에 도시된 캐시 제어부와 캐시 제어부에 연결된 주변 장치의 연결 상태를 도시한 블록 구성도.FIG. 2 is a block diagram illustrating a connection state between a cache controller shown in FIG. 1 and a peripheral device connected to the cache controller.
<도면의 주요부분에 대한 부호의 설명><Description of the code | symbol about the principal part of drawing>
102 : CPU 104 : 제 1 버퍼102: CPU 104: first buffer
106 : 캐시 제어부 108 : 제 2 버퍼106: cache control unit 108: second buffer
110 : 캐시 112 : 주메모리110: cache 112: main memory
114 : DMA 118 : 시스템 버스114: DMA 118: system bus
202 : CPU 정합부 204 : 히트율 평가부202: CPU matching unit 204: Hit rate evaluation unit
206 : 직/병렬 제어부 208 : 태그램 제어부206: serial / parallel control unit 208: tag control unit
210 : 데이터램 제어부 212 : 버퍼 제어부210: data RAM control unit 212: buffer control unit
214 : 주메모리 정합부214: main memory matching unit
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예에 대하여 상세하게 설명한다.Hereinafter, with reference to the accompanying drawings will be described in detail a preferred embodiment of the present invention.
도 1은 본 발명에 따른 캐시 시스템의 블록 구성도를 도시한다.1 shows a block diagram of a cache system according to the present invention.
본 발명의 캐시 시스템은 시스템 버스(118)를 점유하는 버스 마스터 장치로 데이터를 제공하는 주메모리(112)와, 주메모리(112)에서 정보를 읽어 해당 정보의 명령 및 정보에 따른 명령을 실행하는 CPU(102)와, CPU(102)에 의해 자주 사용되는 주메모리(112)의 일부 데이터가 저장되어 있는 캐시(110)와, 캐시 제어부(106)의 제어에 따라 선택적으로 인에이블되어 캐시(110)가 직렬 또는 병렬 방식으로 연결되는 경로를 제공하는 제 1 버퍼(104) 및 제 2 버퍼(108)와, 캐시(110) 히트/미스를 판단하고 그 판단 결과에 따라 각각의 버퍼(104, 108)를 제어하는 캐시 제어부(106)를 포함한다.The cache system of the present invention provides a main memory 112 that provides data to a bus master device occupying the system bus 118, and reads information from the main memory 112 and executes commands according to the information and instructions according to the information. The CPU 102, the cache 110 in which some data of the main memory 112 frequently used by the CPU 102 are stored, and the cache 110 are selectively enabled under the control of the cache controller 106. Determine the first and second buffers 104 and 108 and the cache 110 hits / misses that provide a path through which the < RTI ID = 0.0 > Cache control unit 106 for controlling.
NOT 게이트(105)는 제 1 버퍼(104)와 제 2 버퍼(108)가 상반된 동작을 수행하도록 캐시 제어부(106)와 제 1 버퍼(104) 또는 제 2 버퍼(108)와의 사이에 연결된다. 본 발명에서는 캐시 제어부(106)와 제 1 버퍼(104)사이에 연결된 것으로 도시된다.The NOT gate 105 is connected between the cache control unit 106 and the first buffer 104 or the second buffer 108 such that the first buffer 104 and the second buffer 108 perform opposite operations. In the present invention, it is shown as being connected between the cache control unit 106 and the first buffer 104.
캐시 제어부(106)는 캐시(110)와 주 메모리(112) 사이에서 캐시(110) 히트/미스를 판단하고 그 판단 결과에 따라 각각의 버퍼(104, 108)중 하나의 버퍼만을 열도록 제어하는 인에이블 신호 또는 디스에이블 신호를 제 1 버퍼(104) 또는 제 2 버퍼(108)로 송출한다.The cache controller 106 determines the cache 110 hit / miss between the cache 110 and the main memory 112 and controls to open only one of the buffers 104 and 108 according to the determination result. The enable signal or the disable signal is sent to the first buffer 104 or the second buffer 108.
캐시 제어부(106)에서 생성된 인에이블 신호는 직접 제 2 버퍼(108)로 입력되며, NOT게이트(105)를 통과하여 반전됨으로서 디스에이블 신호로서 제 1 버퍼(104)로 입력된다. 따라서, 제 1 버퍼(104)는 디스에이블 상태가 되고 제 2 버퍼(108)는 인에이블 상태로 된다. 그 결과, CPU(102)와 캐시(110) 및 주메모리(112)사이의 경로가 제 2 버퍼(108) 및 시스템 버스(118)를 통하여 열리게 되고 제 1 버퍼(104)의 경로는 폐쇄된다. 이는 CPU(102)가 시스템 버스(118)가 아이들할 때 시스템 버스(118)를 점유하여 캐시(110) 및 주메모리(112)로 동시에 접근하여 데이터를 읽어올 수 있는 병렬 방식 구조로서 형성된다.The enable signal generated by the cache controller 106 is directly input to the second buffer 108 and inverted through the NOT gate 105 to be input to the first buffer 104 as the disable signal. Thus, the first buffer 104 is in a disabled state and the second buffer 108 is in an enabled state. As a result, the path between the CPU 102 and the cache 110 and the main memory 112 is opened through the second buffer 108 and the system bus 118 and the path of the first buffer 104 is closed. This is formed as a parallel type structure in which the CPU 102 can access the cache 110 and the main memory 112 and read data at the same time by occupying the system bus 118 when the system bus 118 is idle.
이와반대로, 캐시 제어부(106)에서 생성된 디스에이블 신호는 직접 제 2 버퍼(108)로 입력되며, NOT게이트(105)를 통하여 반전됨으로서 인에이블 신호로서 제 1 버퍼(104)로 입력된다. 따라서, 제 1 버퍼(104)가 인에이블 상태가 되고 제 2 버퍼(108)가 디스에이블 상태가 된다. 그 결과, CPU(102)와 캐시(110) 사이의 경로가 제 1 버퍼(104)를 통하여 열리게 되고 제 2 버퍼(108)의 경로는 폐쇄된다. 이는 CPU(102)가 우선적으로 캐시(110)에서 읽어오기할 수 있는 통로가 제공되는 직렬 방식 구조로서 형성된다.In contrast, the disable signal generated by the cache controller 106 is directly input to the second buffer 108 and inverted through the NOT gate 105 to be input to the first buffer 104 as an enable signal. Thus, the first buffer 104 is enabled and the second buffer 108 is disabled. As a result, the path between the CPU 102 and the cache 110 is opened through the first buffer 104 and the path of the second buffer 108 is closed. This is formed as a serialized structure in which a path is provided for the CPU 102 to first read from the cache 110.
제 1 버퍼(104)가 열린 직렬 방식 캐시 구조에 있어서, CPU(102)는 제 1 버퍼(104) 및 캐시 제어부(106)를 통하여 캐시(110)에서 데이터를 읽어온다. 그러나, 캐시 미스가 발생하면 CPU(102)는 제 1 버퍼(104) 및 캐시 제어부(106)를 통하여 시스템 버스(118)의 점유상태를 점검한다. 시스템 버스(118)가 점유되지 않은 경우 CPU(102)는 시스템 버스(118)를 점유하고, 주메모리(112)에서 데이터를 읽어온다.In a serial cache structure with the first buffer 104 open, the CPU 102 reads data from the cache 110 via the first buffer 104 and the cache control unit 106. However, if a cache miss occurs, the CPU 102 checks the occupancy state of the system bus 118 through the first buffer 104 and the cache controller 106. If the system bus 118 is not occupied, the CPU 102 occupies the system bus 118 and reads data from the main memory 112.
제 2 버퍼(108)가 열린 병렬 방식 캐시 구조에 있어서, CPU(102)는 제 2 버퍼(108)를 통하여 시스템 버스(118)의 점유 상태를 점검한다. 시스템 버스(118)가 점유되지 않은 경우, CPU(102)는 주메모리(112)에서 데이터를 읽어오는 동시에 캐시 제어부(106)를 통하여 캐시(110)에서 데이터를 읽어오는 동작을 수행한다.In a parallel cache structure with the second buffer 108 open, the CPU 102 checks the occupancy of the system bus 118 via the second buffer 108. When the system bus 118 is not occupied, the CPU 102 reads data from the main memory 112 and simultaneously reads data from the cache 110 through the cache controller 106.
도 2는 도 1에 도시된 캐시 제어부(106)의 상세도와 캐시 제어부(106)에 연결된 주변 장치를 도시한 블록 구성도를 예시한다.FIG. 2 illustrates a block diagram showing details of the cache controller 106 shown in FIG. 1 and a peripheral device connected to the cache controller 106.
캐시 제어부(106)는 CPU 정합부(202), 히트율 평가부(204), 직/병렬 제어부(206), 태그램 제어부(208), 데이터램 제어부(210), 버퍼 제어부(212), 주메모리 정합부(214)를 포함한다.The cache controller 106 includes a CPU matching unit 202, a hit rate evaluation unit 204, a serial / parallel control unit 206, a tag control unit 208, a data RAM control unit 210, a buffer control unit 212, and a main unit. Memory matching unit 214.
캐시 시스템이 초기 동작하기 전에 제 1 버퍼(104) 또는, 제 2 버퍼(108)는 선택적으로 디스에이블 또는 인에이블로 설정된다. 본 발명의 바람직한 실시예에서, 캐시 시스템은 제 1 버퍼(104)가 인에이블, 제 2 버퍼(108)가 디스에이블되어 직렬 방식 캐시 구조로 설정되어 있다는 가정하에 설명한다.The first buffer 104 or second buffer 108 is optionally set to disable or enable before the cache system initially operates. In a preferred embodiment of the present invention, the cache system is described under the assumption that the first buffer 104 is enabled and the second buffer 108 is disabled and set in a serial cache structure.
태그램 제어부(208)는 CPU(102)에서 찾고자하는 어드레스가 캐시(110)의 태그램 영역에 있는지 검색한다. 검색결과, CPU(102)에서 찾고자하는 어드레스가 태그램 영역이 있으면, 태그램 제어부(208)는 히트로 판단하고, 히트를 나타내는 히트 상태 신호를 히트율 평가부(204)로 제공하는 동시에 캐시(110)내의 해당 태그램 영역에 해당하는 데이터를 데이터램 제어부(210), CPU 정합부(202), 제 1 버퍼(104)를 통해 CPU(102)로 전송된다.The tag control unit 208 searches whether the address that the CPU 102 is looking for is in the tag area of the cache 110. As a result of the search, if the address to be searched for by the CPU 102 includes a tag area, the tag control unit 208 determines that the hit is made, and provides a hit state signal indicating the hit to the hit rate evaluation unit 204 and at the same time the cache ( Data corresponding to the corresponding tag area in 110 is transmitted to the CPU 102 through the data RAM control unit 210, the CPU matching unit 202, and the first buffer 104.
그러나, 검색결과 태그램 제어부(208)에서 CPU(102)에서 찾고자하는 어드레스가 캐시(110)의 태그램에 없다면, 캐시 미스로 판단하고 CPU 정합부(202), 제 1 버퍼(104)를 통하여 CPU(102)에 미스임을 알리며, 미스를 나타내는 미스 상태 신호를 히트율 평가부(204)로 제공한다. 그 후 CPU(102)는 필요로하는 데이터를 주메모리(112)에서 찾는다. 주메모리(112)에서 검색된 데이터는 시스템 버스(118), 주메모리 정합부(214), CPU 정합부(202) 및 제 1 버퍼(104)를 통하여 CPU(102)로 전송된다.However, if the address that the search result tag control unit 208 is looking for in the CPU 102 is not present in the tag of the cache 110, it is determined as a cache miss and the CPU matching unit 202 and the first buffer 104 are used. The CPU 102 is notified of the miss, and a miss state signal indicating the miss is provided to the hit rate evaluation unit 204. The CPU 102 then finds the required data in the main memory 112. The data retrieved from the main memory 112 is transmitted to the CPU 102 through the system bus 118, the main memory matching unit 214, the CPU matching unit 202, and the first buffer 104.
상술한 과정은 CPU(102)가 캐시(110)로 접근할 때마다 반복되며, 히트율 평가부(204)에서는 히트 또는 미스 등을 알리는 정보를 태그램 제어부(208)로부터 수신하여 미스인 경우에는 미스 카운트를 "1" 증가시키고, 히트인 경우에는 히트 카운트를 "1" 증가시킨다. 상술한 과정이 반복되어 일정한 기간이 되면, 히트율 평가부(204)에서는 미스 카운트와 히트 카운트의 정보를 이용하여 히트율을 계산한다.The above-described process is repeated each time the CPU 102 approaches the cache 110, and the hit rate evaluation unit 204 receives information indicating a hit or a miss from the tag control unit 208 and misses it. The miss count is increased by "1", and in the case of a hit, the hit count is increased by "1". When the above-described process is repeated and a certain period of time is reached, the hit rate evaluator 204 calculates the hit rate using the information of the miss count and the hit count.
히트율 평가부(204)에서 구한 히트율은 직/병렬 제어부(206)로 전송되며, 직/병렬 제어부(206)는 히트율 평가부(204)에서 제공된 히트율이 기설정된 비율보다 큰지 또는 작은지를 판단한다.The hit rate obtained by the hit rate evaluator 204 is transmitted to the serial / parallel control unit 206, and the serial / parallel control unit 206 determines whether the hit rate provided by the hit rate evaluator 204 is greater than or less than a preset rate. Judge.
일 예로, 기설정 비율이 "0.9"이고, 히트율 평가부(204)에서 계산된 히트율이 0.9이상이라고 가정하면, 직/병렬 제어부(206)는 계산된 히트율과 기설정 비율을 비교하여 계산된 히트율이 기설정 비율보다 크거나 같은 경우, 직렬 방식 캐시 구조를 선택하는 신호를 버퍼 제어부(212)로 송신한다. 버퍼 제어부(212)는 직렬 방식 선택 신호에 응답하여 캐시 시스템을 직렬 방식으로 전환하기 위하여 디스에이블 신호를 생성한다. 디스에이블 신호는 제 2 버퍼(108)로 입력되는 한편 NOT게이트(105)를 통하여 인에이블 신호로서 제 1 버퍼(104)로 입력된다. 따라서, 제 1 버퍼(104)가 인에이블 되고 제 2 버퍼(108)가 디스에이블 됨으로써, 직렬 방식 구조의 경로가 형성된다.For example, assuming that the preset ratio is "0.9" and the hit ratio calculated by the hit rate evaluation unit 204 is 0.9 or more, the serial / parallel control unit 206 compares the calculated hit ratio with the preset ratio. When the calculated hit ratio is greater than or equal to the preset ratio, a signal for selecting a serial cache structure is transmitted to the buffer controller 212. The buffer control unit 212 generates a disable signal in order to switch the cache system to the serial type in response to the serial type selection signal. The disable signal is input to the second buffer 108 while input to the first buffer 104 via the NOT gate 105 as an enable signal. Thus, the first buffer 104 is enabled and the second buffer 108 is disabled, thereby forming a path of serial structure.
그러나, 히트율 평가부(204)에서 계산된 히트율이 기설정 비율보다 작다면, 직/병렬 제어부(206)는 병렬 방식 캐시 구조를 선택하는 신호를 버퍼 제어부(212)로 송신한다. 버퍼 제어부(212)는 병렬 방식 선택 신호에 응답하여 캐시 시스템을 병렬 방식 구조로 전환하기 위하여 인에이블 신호를 제 2 버퍼(108)로 송신하고 NOT게이트(105)를 통과하여 형성된 디스에이블 신호를 제 1 버퍼(104)로 송신한다. 따라서, 제 2 버퍼(108)가 인에이블되고 제 1 버퍼(104)가 디스에이블됨으로서, CPU(102)와 캐시(110) 사이의 병렬 방식 구조의 경로가 형성된다.However, if the hit rate calculated by the hit rate evaluation unit 204 is smaller than the preset rate, the serial / parallel control unit 206 transmits a signal for selecting the parallel scheme cache structure to the buffer control unit 212. The buffer controller 212 transmits an enable signal to the second buffer 108 and removes the disable signal formed through the NOT gate 105 in order to switch the cache system to the parallel scheme in response to the parallel scheme selection signal. 1 is sent to the buffer 104. Thus, by enabling the second buffer 108 and disabling the first buffer 104, a path of parallel structure between the CPU 102 and the cache 110 is formed.
이상 설명한 바와 같이, 본 발명은 히트율에 따라 직렬 방식의 캐시와 병렬 방식의 캐시 구조를 선택함으로써, 시스템 전체의 성능을 높일 수 있는 효과가 있다.As described above, the present invention has the effect of increasing the performance of the entire system by selecting the cache of the serial system and the cache of the parallel system according to the hit rate.
Claims (3)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019980020029A KR100301791B1 (en) | 1998-05-30 | 1998-05-30 | Cache system which is capable of alternative controlling either parallel or serial cache structure |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019980020029A KR100301791B1 (en) | 1998-05-30 | 1998-05-30 | Cache system which is capable of alternative controlling either parallel or serial cache structure |
Publications (2)
Publication Number | Publication Date |
---|---|
KR19990086857A true KR19990086857A (en) | 1999-12-15 |
KR100301791B1 KR100301791B1 (en) | 2001-09-06 |
Family
ID=37529177
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019980020029A KR100301791B1 (en) | 1998-05-30 | 1998-05-30 | Cache system which is capable of alternative controlling either parallel or serial cache structure |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100301791B1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100351504B1 (en) * | 2000-06-05 | 2002-09-05 | 삼성전자 주식회사 | Method and Apparatus For Reducing Power In Cache Memories, And A Data Prcoessing System having Cache memories |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102462507B1 (en) | 2017-06-29 | 2022-11-02 | 삼성전자주식회사 | Processor, computing device comprising thereof and processor low power mode selecting method |
-
1998
- 1998-05-30 KR KR1019980020029A patent/KR100301791B1/en not_active IP Right Cessation
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100351504B1 (en) * | 2000-06-05 | 2002-09-05 | 삼성전자 주식회사 | Method and Apparatus For Reducing Power In Cache Memories, And A Data Prcoessing System having Cache memories |
Also Published As
Publication number | Publication date |
---|---|
KR100301791B1 (en) | 2001-09-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR20010101694A (en) | Techniques for improving memory access in a virtual memory system | |
JPH0628180A (en) | Prefetch buffer | |
US20040215891A1 (en) | Adaptive memory access speculation | |
KR19990086857A (en) | Cache system with serial / parallel cache structure with selective control | |
JP2006251923A (en) | Look-ahead control method | |
US5809534A (en) | Performing a write cycle to memory in a multi-processor system | |
JPH08328959A (en) | Disk cache controller | |
KR100317976B1 (en) | Device for Performing Interrupt Service Routine in the system having cache memory | |
JP4220258B2 (en) | High-speed memory access method in non-cache area | |
KR930004433B1 (en) | Direct controllable cache memory | |
JPH02307123A (en) | Computer | |
JPH0336648A (en) | Electronic computer, tlb device and microprocessor chip | |
JPH0219942A (en) | Cache subsystem | |
US6141735A (en) | Performing a memory access cycle in a multi-processor computer system | |
JPH03116345A (en) | Data processor | |
JPH0573415A (en) | Hierarchized cache system | |
KR0140952B1 (en) | A single cache sharing device in a multiprocessor system and data writing / reading method using the device | |
JPH0520192A (en) | Cache memory store system | |
KR0184456B1 (en) | Dynamic dram page mode control circuit | |
JPH09293017A (en) | Computer | |
JPH05265916A (en) | Data processor | |
JPH09198300A (en) | Method for controlling memory access | |
JPH09282230A (en) | Sram chip for cache, and cache system | |
JPH02156351A (en) | Cache memory device | |
JPH10124383A (en) | Memory access control system |
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: 20090601 Year of fee payment: 9 |
|
LAPS | Lapse due to unpaid annual fee |