KR19990086857A - Cache system with serial / parallel cache structure with selective control - Google Patents

Cache system with serial / parallel cache structure with selective control Download PDF

Info

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
Application number
KR1019980020029A
Other languages
Korean (ko)
Other versions
KR100301791B1 (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 KR1019980020029A priority Critical patent/KR100301791B1/en
Publication of KR19990086857A publication Critical patent/KR19990086857A/en
Application granted granted Critical
Publication of KR100301791B1 publication Critical patent/KR100301791B1/en

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
    • 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/0877Cache access modes
    • 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/0804Addressing 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
    • 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/0844Multiple simultaneous or quasi-simultaneous cache accessing
    • G06F12/0853Cache with multiport tag or data arrays
    • 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/0893Caches characterised by their organisation or structure
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4208Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a system bus, e.g. VME bus, Futurebus, Multibus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus 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

선택적 제어가 가능한 직/병렬 캐시 구조를 갖는 캐시 시스템Cache system with serial / parallel cache structure with selective control

본 발명은 직렬 방식 캐시 구조와 병렬 방식 캐시 구조를 수용한 캐시 시스템에 관한 것으로서, 특히, 캐시 제어부에서 히트(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 &lt; RTI ID = 0.0 &gt; 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)

CPU를 구비하는 캐시 시스템에 있어서,A cache system having a CPU, 상기 CPU로 데이터를 제공하는 주메모리;A main memory for providing data to the CPU; 상기 CPU에 의해 자주 사용되는 상기 주메모리의 일부 데이터가 저장되어 있는 캐시;A cache storing some data of the main memory frequently used by the CPU; 인에이블 신호에 따라 상기 캐시 및 상기 주메모리와 상기 CPU간의 직렬 경로를 제공하는 제 1 버퍼;A first buffer providing a serial path between the cache and the main memory and the CPU according to an enable signal; 인에이블 신호에 따라 상기 캐시 및 상기 주메모리와 상기 CPU간의 병렬 경로를 제공하는 는 제 2 버퍼;A second buffer providing a parallel path between the cache and the main memory and the CPU in accordance with an enable signal; 상기 캐시의 히트(hit)/미스(miss)율을 판단하고 상기 판단 결과에 따라 상기 제 1 버퍼 또는 상기 제 2 버퍼가 각기 직렬 경로 또는 병렬 경로를 선택적으로 제공하는 상기 인에이블 신호를 발생하는 캐시 제어부를 포함하는 것을 특징으로 하는 캐시 시스템.A cache for determining a hit / miss rate of the cache and generating the enable signal in which the first buffer or the second buffer selectively provides a serial path or a parallel path according to a result of the determination; Cache system comprising a control unit. 제 1 항에 있어서,The method of claim 1, 상기 캐시 제어부는:The cache control unit: 상기 CPU에 의해 억세스되는 상기 캐시 미스 및 캐시에 대한 히트를 판단하는 태그램 제어부;A tag control unit for determining a cache miss and a hit for a cache accessed by the CPU; 상기 태그램 제어부로부터 상기 히트/미스를 나타내는 히트/미스 상태 신호를 이용하여 히트율을 계산하는 히트율 평가부;A hit rate evaluator configured to calculate a hit rate from the tag controller using a hit / miss state signal indicating the hit / miss; 상기 히트율 평가부에서 계산된 상기 히트율을 기설정 비율과 비교하여 상기 히트율이 기설정 비율보다 크거나 같을 때 직렬 방식 선택 신호를 생성하고, 상기 히트율이 기설정 비율보다 작을 때 병렬 방식 선택 신호를 생성하는 직/병렬 제어부;The hit rate calculated by the hit rate evaluator is compared with a preset rate to generate a serial type selection signal when the hit rate is greater than or equal to the preset rate, and when the hit rate is less than the preset rate, the parallel type A serial / parallel control unit for generating a selection signal; 상기 직/병렬 제어부에서 생성된 상기 직렬 방식 선택 신호에 따라 상기 제 1 버퍼로 인에이블 신호를 제공하고 상기 직/병렬 제어부에서 생성된 병렬 방식 선택 신호에 따라 상기 제 2 버퍼로 인에이블 신호를 제공하는 버퍼 제어부를 포함하는 것을 특징으로 하는 캐시 시스템.The enable signal is provided to the first buffer according to the serial mode selection signal generated by the serial / parallel control unit, and the enable signal is provided to the second buffer according to the parallel mode selection signal generated by the serial / parallel control unit. And a buffer control unit. 제 2 항에 있어서, 상기 시스템은:The system of claim 2 wherein the system is: 상기 제 1 버퍼와 상기 제 2 버퍼가 상반된 동작을 수행하도록 상기 캐시 제어부에서 발생된 인에이블 신호를 반전하여 반전된 신호를 상기 제 1 버퍼 또는 상기 제 2 버퍼로 제공하는 인버터를 더 포함하는 것을 특징으로 하는 캐시 시스템.And an inverter configured to invert an enable signal generated by the cache controller to provide an inverted signal to the first buffer or the second buffer so that the first buffer and the second buffer perform an opposite operation. Cache system.
KR1019980020029A 1998-05-30 1998-05-30 Cache system which is capable of alternative controlling either parallel or serial cache structure KR100301791B1 (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Cited By (1)

* Cited by examiner, † Cited by third party
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