KR20030010823A - 멀티웨이 세트 연관 구조의 캐쉬 메모리 및 데이터 판독방법 - Google Patents

멀티웨이 세트 연관 구조의 캐쉬 메모리 및 데이터 판독방법 Download PDF

Info

Publication number
KR20030010823A
KR20030010823A KR1020010045399A KR20010045399A KR20030010823A KR 20030010823 A KR20030010823 A KR 20030010823A KR 1020010045399 A KR1020010045399 A KR 1020010045399A KR 20010045399 A KR20010045399 A KR 20010045399A KR 20030010823 A KR20030010823 A KR 20030010823A
Authority
KR
South Korea
Prior art keywords
data
signal
tag
memory
input
Prior art date
Application number
KR1020010045399A
Other languages
English (en)
Other versions
KR100398954B1 (ko
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 KR10-2001-0045399A priority Critical patent/KR100398954B1/ko
Priority to GB0216866A priority patent/GB2381095B/en
Priority to US10/206,588 priority patent/US6839807B2/en
Publication of KR20030010823A publication Critical patent/KR20030010823A/ko
Application granted granted Critical
Publication of KR100398954B1 publication Critical patent/KR100398954B1/ko

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
    • 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/0864Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using pseudo-associative means, e.g. set-associative or hashing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1028Power efficiency
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

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

세트 선택 신호가 센스 증폭기를 제어하는 구조의 멀티웨이 세트 연관 구조의 캐쉬 메모리가 제공된다. 임의의 세트에 있는 데이터를 판독할 때, 다수 세트의 로우 어드레스(row address)를 인에이블시킨 상태에서 세트 선택 신호에 의해 센스 증폭기를 인에이블시켜서 하나의 세트만 선택한다. 본 발명은 먼저 그 구조가 단순하며, 기존의 구성에 비해 소모 전력이 (1/N) (여기서, N은 세트수를 나타냄)으로 줄어든다는 이점이 있다.

Description

멀티웨이 세트 연관 구조의 캐쉬 메모리 및 데이터 판독 방법{MULTI-WAY SET ASSOCIATIVE CACHE MEMORY AND DATA READING METHOD THEREFROM}
본 발명은 멀티웨이 세트 연관 구조의 캐쉬 메모리에 관한 것으로서, 특히 세트 선택 신호가 센스 증폭기를 제어하는 구조의 멀티웨이 세트 연관 구조의 캐쉬 메모리에 관한 것이다.
현대의 대부분의 컴퓨터 시스템은 중앙처리장치(central processing unit : 이하, "CPU"라고 함)와 메인 메모리를 포함하고 있다. CPU가 명령어(instructions)나 오퍼랜드(operands)를 디코딩하고 실행하는 속도는 명령어나 오퍼랜드가 메인 메모리로부터 CPU로 전송되는 속도에 달려 있다. CPU가 메인 메모리로부터 명령어나 오퍼랜드를 얻는데 걸리는 시간을 줄이기 위하여, 많은 컴퓨터 시스템은 도 1에 도시된 바와 같이 CPU(102)와 메인 메모리(104) 사이에 캐쉬 메모리(106)를 가지고 있다. 도 1에서 CPU(102)는 메인 메모리(104)에 저장되어 있는 데이터를 이용한다.CPU(102)가 메인 메모리(104)로부터의 데이터에 엑세스하는 속도를 높이기 위하여, 캐쉬(106)가 이용된다.
캐쉬 메모리는 가까운 미래에 CPU에 의해 사용될 것으로 믿어지는 메인 메모리의 내용의 일부를 일시적으로 저장하기 위해 이용되는 작은 크기의 고속 버퍼 메모리이다. 캐쉬의 주요 목적은 데이터 또는 오퍼랜드 인출을 위한 메모리 엑세스(memory access) 시간을 줄이는 것이다. 캐쉬 메모리에 위치한 정보는 메인 메모리에 위치한 정보보다 엑세스를 위해 걸리는 시간이 매우 적다. 그러므로 캐쉬 메모리를 갖는 CPU는 인출 또는 저장되는 명령어 및 오퍼랜드를 기다리는데 더 적은 시간을 필요로 한다.
캐쉬 메모리는 일 이상의 워드 데이터로 구성된 많은 수의 블록(소위, 라인)으로 이루어져 있다. 각 블록은 메인 메모리의 어느 블록의 복사본이라는 것을 특정하는 어드레스 태그(address tag)와 관련되어 있다. 프로세서가 메모리 참조(memory reference)를 할 때마다, 요청된 데이터의 복사본이 캐쉬에 존재하는지 여부를 알기 위하여 어드레스 태그 비교가 이루어진다. 요청된 메모리 블록이 캐쉬에 존재하지 않으면, 그 블록은 메인 메모리로부터 검출되며, 캐쉬에 저장되고 프로세서에 제공된다.
미국특허 제5,091,851호(출원인 : 휴렛패커드, 출원번호 : 382158)는 멀티웨이 세트 연관 구조의 캐쉬 메모리에 관해 개시하고 있다. 상기 특허는 본 인용에 의해 여기에 포함되는 것으로 한다.
멀티웨이 세트 연관 구조의 캐쉬(multi-way set-associative cache)에서는하나의 인덱스(index)가 복수의 데이터 임의 접근 메모리(random access memories : 이하, "RAM"이라고 함)에 동시에 접근하기 위하여 이용된다. 데이터 RAM은 하나 이상의 물리적인 임의 접근 메모리 집적회로에 의해 구현된다. 하나의 세트(a set)는 하나의 캐쉬 인덱스(a cache index)에 의해 접근 가능한 모든 라인의 집합이다. 하나의 캐쉬 인덱스에 의해 접근 가능한 데이터 RAM의 수는 캐쉬의 경로수(way number)를 가리킨다. 예를 들어, 어떤 캐쉬에서 하나의 캐쉬 인덱스가 2개의 데이터 RAM으로부터의 데이터에 엑세스하기 위하여 이용된다면 그 캐쉬는 2 웨이 세트 연관 구조의 캐쉬(a two-way set associative cache)이다.
멀티웨이 엑세스(multi-way access)가 수행되면 각 데이터 RAM에 대하여 태그 비교가 이루어진다. 태그 비교 결과, 요청된 데이터 블록이 특정 데이터 RAM에 있는 것으로 판명되면 읽기 또는 쓰기 동작은 그 특정 데이터 RAM에 대해 이루어진다.
도 2는 종래의 멀티웨이 세트 연관 구조의 캐쉬의 구조를 도시하는 블록도이다. 도 2에 도시된 바와 같이, 캐쉬(106)는 태그 RAM(202), 태그 RAM(204), 데이터 RAM(206), 데이터 RAM(208), 태그 비교기(210), 태그 비교기(212), 게이트(214), 게이트(216), 먹스(218), 논리합 게이트(220)를 포함하고 있다.
데이터 프로세서(102)가 캐쉬(106)로부터 데이터 읽기를 요청하면, 프로세서(102)는 라인(222)에 읽으려는 데이터의 판독 어드레스를 놓는다. 어드레스의 전형적인 구조는 도 3에 도시되어 있다. 도 3에 도시되어 있는 바와 같이, 어드레스(300)가 32 비트로 구성된 경우, 예를 들어 비트 0-20은 어드레스태그(302), 비트 21-25는 캐쉬 인덱스(304), 비트 26-29는 라인 오프셋(306), 비트 30-31은 바이트 오프셋(308)으로 이용된다.
데이터 RAM(206, 208) 내에 데이터는 예를 들어, 16 워드의 라인으로 저장된다. 데이터 RAM(206, 208)은 각각 예를 들어 32 라인을 유지한다. 데이터 RAM 내의 각 데이터 라인은 캐쉬 인덱스(304)를 이용하여 어드레싱된다. 데이터 RAM(206) 내에 저장된 각 데이터 라인에 대한 어드레스 태그가 태그 RAM(202)에 저장된다. 데이터 RAM(208) 내에 저장된 각 데이터 라인에 대한 어드레스 태그는 태그 RAM(204)에 저장된다. 동일한 캐쉬 인덱스가 태그 RAM(204)와 태그 RAM(206) 내의 어드레스 태그를 동시에 어드레싱하고, 관련된 데이터 라인을 데이터 RAM(206)과 데이터 RAM(208)에서 동시에 어드레싱하기 이용된다.
판독 어드레스(300)의 캐쉬 인덱스 부분은 태그 RAM(202)으로부터 캐쉬 인덱스에 의해 특정된 위치에서 데이터 RAM(206) 내의 현재 데이터 라인의 어드레스 태그를 엑세스하기 위하여 이용된다. 태그 RAM(202)는 어드레스 태그를 라인(224) 위에 놓는다. 태그 비교기(210)는 태그 RAM(202)로부터의 어드레스 태그와 판독 어드레스의 어드레스 태그를 비교한다. 만약 이 둘이 동일하면, 태그 비교기(210)는 라인(226) 위에 유효신호(valid signal)를 발생시키며, 유효신호는 멀티플렉서(218)와 논리합 게이트(220)와 게이트(214)로 전달된다. 그러나 캐쉬 판독 사이클 동안, 게이트(214)의 입력(228) 위의 제어신호가 게이트(214)를 디스에이블시키므로, 라인(226) 위의 유효신호는 데이터 RAM(206)의 기록 인에이블 입력 라인(230)에 도달하지 못한다.
태그 RAM(202)로부터의 어드레스 태그에 엑세스하는 것과 동시에, 판독 어드레스의 캐쉬 인덱스 부분과 라인 오프셋 부분은 데이터 RAM(206) 내의 데이터 워드를 엑세스하기 위하여 이용된다. 이 데이터 워드는 데이터 RAM 출력(230)에 놓인다. 유효신호가 라인(226) 위에 놓이면, 멀티플렉서(218)는 데이터 출력(230)을 라인(232)에 연결한다. 라인(232) 위의 데이터 워드는 데이터 처리장치(102)로 전달된다. 태그 RAM(202)로부터의 어드레스 태그와 판독 어드레스의 어드레스 태그가 일치하지 않으면, 무효신호(invalid signal)가 태그 비교기(210)에 의해 라인(226) 위에 놓이므로 태그 RAM(202)에서 미스(miss)가 발생했음을 표시한다.
캐쉬 인덱스가 태그 RAM(202)과 데이터 RAM(206)에서 이용되는 동시에, 태그 RAM(204)와 데이터 RAM(208)에서 이용된다. 판독 어드레스의 캐쉬 인덱스 부분은 태그 RAM(204)로부터 캐쉬 인덱스에 의해 특정된 위치에서 데이터 RAM(208) 내의 현재 데이터 라인의 어드레스 태그를 엑세스하기 위하여 이용된다. 태그 RAM(204)은 라인(234) 위에 어드레스 태그를 놓는다. 태그 비교기(212)는 태그 RAM(204)로부터의 어드레스 태그와 판독 어드레스의 태그 어드레스를 비교한다. 이 둘이 동일하면 태그 비교기(212)는 유효신호를 라인(236) 위에 놓는다. 이 유효신호는 멀티플렉서(218)와 논리합 게이트(220)와 게이트(216)로 전달된다. 그러나 캐쉬 판독 사이클 동안, 게이트(216)의 입력(238) 위의 제어신호는 게이트(216)를 디스에이블시킴으로써, 라인(236) 위의 유효신호가 데이터 RAM(208)의 기록 인에이블 입력 라인(240)에 도달하지 못하도록 한다.
태그 RAM(204)으로부터 어드레스 태그에 엑세스하는 동시에, 판독 어드레스의 캐쉬 인덱스와 라인 오프셋은 데이터 RAM(208) 내의 데이터 워드에 엑세스하기 위하여 이용된다. 이러한 데이터 워드는 데이터 RAM(208)의 출력(242) 위에 놓여진다. 유효신호가 라인(236) 위에 놓여지면 멀티플렉서(218)는 데이터 출력(242)을 라인(232)에 연결한다. 라인(232) 위의 데이터 워드는 데이터 프로세서(102)로 전달된다. 태그 RAM(204)로부터의 어드레스 태그와 판독 어드레스의 어드레스 태그가 일치하지 않으면, 무효신호가 태그 비교기(212)에 의해 라인(236) 위에 놓여지므로서, 태그 RAM(204)에 대해 미스(miss)가 발생했음을 표시한다.
태그 비교기(210)와 태그 비교기(212)가 모두 무효신호를 발생시키면, 논리합 게이트(220)의 출력 라인(244)에 캐쉬 미스(cache miss)를 가리키는 신호가 발생한다. 그러면 판독 어드레스에 의해 어드레싱되는 워드를 포함하는 데이터 라인이 메인 메모리(104)로부터 인출되며, 데이터 RAM(206) 또는 데이터 RAM(208) 내에 놓여진다. 인출된 데이터 라인에 대한 어드레스 태그는 동시에 태그 RAM(202) 또는 태그 RAM(204)에 놓여진다.
이러한 종래의 멀티웨이 세트 연관 방식에서는 태그 비교기(210, 212)에서의 태그 비교 결과 발생된 신호(이하, "세트 선택 신호"라고 함)로 캐쉬의 데이터 경로를 구성하는 멀티플렉서를 제어하였다. 즉, 멀티 세트의 모든 데이터를 데이터 RAM으로부터 판독하여 멀티플렉서(218)에서 선택하였다.
그러나 세트 선택 신호에 의해 데이터 경로를 구성하는 멀티플렉서를 제어하는 구조에서 원하는 사이클 내에 데이터를 출력하기 위해서는 동시에 멀티세트에서 판독을 해야 하는데, 이 때 소모전력이 커지는 문제점이 있다. 또한 각각의 데이터RAM으로부터 멀티플렉서로 입력되는 데이터 라인의 개수가 많을 뿐만 아니라, 액세스하는 데이터의 개수가 많기 때문에 전력 소모가 크다.
한편, 멀티웨이 세트 연관 구조의 캐쉬 메모리에 저장된 데이터를 판독하기 위하여 태그 비교기에서 생성된 세트 선택 신호가 데이터 RAM으로 입력되는 경로인 판독 경로는 라인 부하가 크고 제어하는 블록이 많으므로, 세트 선택 신호가 태그에서 캐쉬에 도달하는 시점이 전체 속도를 결정짓는 신호가 된다. 그래서 세트 선택 신호를 가장 빠른 경로로 가져가려는 방법이 다양하게 모색되었다.
세트 선택 신호 입력 버퍼는 태그에서 비교한 후에 생성되는 세트 선택 신호를 L2 캐쉬에서 입력받는 회로이다. 종래의 세트 선택 신호 입력 버퍼는 동기적인 신호를 발생하는 구조를 사용했다. 그런데 클록에 동기될 경우 버퍼에 세트 선택 신호가 인에이블된 이후에도 클록이 인에이블될 때까지의 시간을 기다려야 하므로, 캐쉬의 동작 속도가 늦어지는 요인이 되었다.
본 발명은 이러한 종래 기술의 문제점을 해결하기 위한 것으로서, 멀티웨이 세트 연관 구조의 캐쉬 메모리에서 데이터를 판독할 때 소모전력이 적도록 하는 것을 일 목적으로 한다.
또한 본 발명은 멀티웨이 세트 연관 구조의 캐쉬 메모리에서 데이터 라인의 개수를 줄이는 것을 다른 목적으로 한다.
또한 본 발명은 멀티웨이 세트 연관 구조의 캐쉬 메모리에서 세트 선택 신호가 판독 경로를 경유하는 시간을 줄이므로써 캐쉬 메모리의 동작 속도를 높이는 것을 또 다른 목적으로 한다.
도 1은 데이터 프로세서와 메인 메모리와 캐쉬 메모리를 구비하는 컴퓨터 시스템의 블록도.
도 2는 종래 캐쉬 메모리의 구조를 도시하는 블록도.
도 3은 판독 어드레스의 구성을 도시하는 도면.
도 4는 L2 캐쉬와 태그가 내장된 마이크로 프로세서 장치의 구성도.
도 5는 멀티 세트로 구성된 1개의 SRAM 블록의 구성도.
도 6은 종래 세트 선택 방법을 도시하는 블록도.
도 7은 본 발명에 의한 세트 선택 방법을 도시하는 블록도.
도 8은 본 발명에 의한 로컬 워드라인 디코더의 회로도.
도 9는 본 발명에 센스 증폭기의 회로도.
도 10은 본 발명에 의한 세트 선택 방법을 설명하는 신호의 타이밍도.
도 11은 본 발명에 의한 세트 선택 신호 입력 버퍼의 회로도.
도 12는 판독 동작시와 기록 동작시의 세트 선택 신호의 전송을 설명하는 신호의 타이밍도.
[도면의 참조부호에 대한 설명]
102 : 데이터 프로세서104 : 메인 메모리
106 : 캐쉬 메모리602 : MPU 코어
604 : 태그 RAM606 : 캐쉬 RAM
608 : 태그 비교기610 : 먹스
612 : 출력 버퍼702 : 센스 증폭기
INV1, INV2, INV3 : 인버터TB1, TB2 : 삼상태 버퍼
FF1, FF2 : 플립플롭TG1, TG2 : 전송 게이트
전술한 바와 같은 목적을 달성하기 위하여 본 발명에 의한 멀티웨이 세트 연관 구조를 갖는 캐쉬 메모리는 임의의 세트에 있는 데이터를 판독할 때, 다수 세트의 로우 어드레스(row address)를 인에이블시킨 상태에서 세트 선택 신호에 의해 센스 증폭기를 인에이블시켜서 하나의 세트만 선택한다. 즉 세트 선택 신호에 의해 종래와 같이 데이터 경로를 구성하는 멀티플렉서를 제어하는 것이 아니라, 센스 증폭기를 제어하는 것이다.
본 발명은 멀티웨이 세트 연관 구조의 캐쉬 메모리(a multi-way set associative cache memory)에서 임의의 세트에 있는 데이터를 판독하는 방법에 있어서, 요청된 데이터에 대한 어드레스와 태그를 비교하여 세트 선택 신호를 발생시키는 단계와, 모든 세트의 로우 어드레스를 인에이블시킨 상태에서 상기 세트 선택 신호에 의해 선택된 세트의 센스 증폭기만을 인에이블시켜서 데이터를 판독하는 단계를 구비하는 것을 특징으로 한다.
본 발명은 멀티웨이 세트 연관 구조의 캐쉬 메모리(a multi-way set associative cache memory)에 있어서, 태그를 저장하는 태그 메모리(tag memory)와, 상기 태그에 해당하는 메모리의 데이터를 저장하는 데이터 메모리(data memory)와, 요청된 데이터에 대한 어드레스와 상기 태그를 비교하여 세트 선택 신호를 발생시키는 태그 비교기(tag comparator)와, 인에이블됨으로써 상기 데이터 메모리에 저장된 데이터를 출력하는 복수의 센스 증폭기(a plurality of senseamplifiers)-여기서, 상기 복수의 센스 증폭기 중에서 상기 세트 선택 신호에 의해 선택된 하나의 세트에 해당하는 센스 증폭기만이 인에이블됨-를 구비하는 것을 다른 특징으로 한다.
여기서, 데이터 메모리는 요청된 데이터에 대한 어드레스를 디코딩하여 하나의 워드라인을 인에이블시키는 디코더를 포함하고 있다. 또한 센스 증폭기는 센스 증폭기 인에이블 신호에 의해 인에이블되며, 센스 증폭기 인에이블 신호는 판독 인에이블 신호(read enable signal)와 세트 선택 신호(set selection signal)의 논리곱 연산에 의해 만들어진다.
본 발명은 마이크로 프로세서 장치(a micro processor unit)에 있어서, 요청하는 데이터에 대한 메모리의 어드레스를 발생시키는 데이터 프로세서(data processor)와, 멀티웨이 세트 연관 구조의 캐쉬 메모리를 구비하며, 상기 캐쉬 메모리는 태그를 저장하는 태그 메모리와, 상기 태그에 해당하는 메모리의 데이터를 저장하는 데이터 메모리와, 상기 요청된 데이터에 대한 어드레스와 상기 태그를 비교하여 세트 선택 신호를 발생시키는 태그 비교기와, 인에이블됨으로써 상기 데이터 메모리에 저장된 데이터를 출력하는 복수의 센스 증폭기-여기서, 상기 복수의 센스 증폭기 중에서 상기 세트 선택 신호에 의해 선택된 하나의 세트에 해당하는 센스 증폭기만이 인에이블됨-를 포함하는 것을 또 다른 특징으로 한다.
전술한 바와 같은 특징을 갖는 본 발명은 먼저 그 구조가 단순하다는 이점이 있다. 즉 N 웨이 세트 연관인 경우, 기존의 구성에서는 데이터 라인의 개수가 (N×데이터수)이었는데 본 발명에 의한 구성에서는 (1×데이터수)로 줄어든다. 또한 본발명에서는 기존의 구성에 비해 (1/N)으로 소모 전력이 줄어든다는 이점이 있다.
또한 본 발명은 세트 선택 신호 입력 버퍼의 판독 경로를 비동기적 구조로 개선하여, 세트 선택 신호가 전달되는 대로 순차적으로 버퍼를 구동하도록 하여 버퍼에서 소요되는 시간을 최소화하였다. 판독 경로(read path)는 클록에 동기되지 않고, 판독 인에이블 신호에 의해 전송 게이트(transmission gate)를 인에이블시켜서 태그에서 생성된 세트 선택 신호를 데이터 메모리로 패스쓰루(pass through)시켜 준다.
이러한 구조를 사용하여 클록에 동기없이 세트 선택 신호를 패스시키면, 입력 버퍼에서 소비되는 시간없이 세트 선택 신호를 각 센스 증폭기 인에이블 신호로 보낼 수 있게 된다. 따라서 결정적 경로인 세트 선택 신호의 전달이 빨라지고, 판독 시간과 칩 전체의 속도도 개선된다.
이하, 첨부된 도면을 참조하여 본 발명의 실시예를 상세히 설명한다. 첨부된 도면에서 동일한 참조부호는 동일한 구성요소를 가리키기 위하여 사용된다.
먼저, 도 4는 L2 캐쉬와 태그가 내장된 마이크로 프로세서 장치(micro processor unit : 이하, "MPU"라고 함)의 블록도이다. MPU 외부에 연결되었던 L2 캐쉬가 도 4에서와 같이 내장되면 라인 부하(line loading)가 감소되어 속도가 개선되고, 전력소모도 줄어드는 효과가 있다. 전술한 바와 같이, 멀티웨이 세트를 사용하면 히트율(hit ratio)이 증가되어 효율적이고 단순한 구조를 가져갈 수 있다. 도 4에 도시된 MPU는 8개의 SRAM(402)과 1개의 TAG(404)와 MPU 코어(406)로 구성되어 있으며, MPU 코어(406)와 8개의 SRAM(402) 사이에 어드레스와 데이터가 전달되고, 태그(404)와 MPU 코어(406) 사이에는 어드레스가 전달되며, 태그(404)에서는 세트 선택 신호(408)를 SRAM(402)에 전달한다.
데이터가 판독되는 동작을 설명하면, MPU 코어(406)에서 생성되는 어드레스를 태그(404)에서는 이전의 저장된 어드레스와 비교하여 세트 선택 신호(408)를 각 L2 캐쉬(402)에 전달한다. L2 캐쉬(402)에서는 어드레스에 의해 모든 세트의 워드라인(wordline)이 선택되고, 그 중 태그(404)에서 전달되는 세트 선택 신호(408)에 해당하는 데이터를 읽어낸다.
도 5는 본 발명에 따라 멀티 세트로 구성된 하나의 SRAM 블록을 도시한 도면이다. 하나의 SRAM 블록(402)은 어드레스 버퍼 및 제어신호를 만들어내는 주변 회로(peripheral circuit)가 형성된 블록(502)과, 어드레스를 디코딩하는 블록(504)과, 메모리 어레이(506)와, 센스 증폭기(508)로 구성되어 있다. SRAM의 동작을 간단히 설명하면, 어드레스 신호가 들어오면 X와 Y의 디코더(502)를 통해 하나의 워드라인이 인에이블되고, 센스 증폭기(508)를 통해 셀에 저장된 데이터를 읽어낸다. 이 멀티 세트 구조에서는 각 세트의 워드라인이 인에이블된 상태에서 세트 선택 신호에 의해 하나의 센스 증폭기가 구동되어 데이터를 읽는다.
도 6은 본 발명에 의한 캐쉬 메모리와의 비교를 용의하게 하기 위하여 도 2에 도시된 종래의 멀티플렉서 제어형 캐쉬 메모리를 다시 도시한 도면이다. MPU 코어(602)에서 생성된 어드레스는 태그 RAM(602)와 L2 캐쉬 RAM(604)에 전달되며, 태그 비교기(608)에서는 어드레스 태그의 비교 후에 세트 선택 신호를 멀티플렉서(610)로 보내주고, L2 캐쉬 RAM(606)는 워드라인이 선택되어 해당하는모든 데이터를 멀티플렉서(610)에 전달한다. 그 중 세트 선택 신호에 의해 선택된 데이터만이 출력 버퍼(612)를 통해 출력된다.
도 7은 본 발명에 의한 캐쉬 메모리의 구조를 용이하게 이해할 수 있도록 도시한 도면이다. 도 6에 도시된 종래의 멀티플렉서 제어형 캐쉬 메모리와 비교하여, 태그 비교기(608)에 발생된 세트 선택 신호가 멀티플렉서(610)를 제어하는 것이 아니라, 센스 증폭기(702)를 제어하는 점에서 구별된다. 세트 선택 신호는 센스 증폭기(702)를 제어하여, 다수의 센스 증폭기 중에서 하나만을 인에이블시키고, 그에 해당하는 데이터만을 출력 버퍼(612)에 전달한다. 이를 통해 모든 센스 증폭기가 인에이블되는데 사용되는 전력을 줄이고, 센스 증폭기에서 멀티플렉서까지의 데이터 라인이 많아 레이아웃(layout)이 복잡해지는걸 방지할 수 있다.
도 8은 태그 비교기에서 생성된 세트 선택 신호를 이용하여 센스 증폭기 인에이블 신호를 생성하는 회로도이다. 센스 증폭기 인에이블 신호는 센스 증폭기를 활성화시켜 해당 캐쉬 RAM에 저장된 데이터가 판독되도록 한다. 도 8에서 READ는 판독 인에이블 신호(read enable signal)를, SET는 세트 선택 신호(set selection signal)를, BANK는 뱅크 신호(bank signal)를, CLK는 클록 신호를, 그리고 FIRE는 센스 증폭기 인에이블 신호를 각각 가리킨다. 판독 인에이블 신호(READ)는 MPU 코어에서 보내지는 신호에 의해 결정되어 제어 블록(control block)에서 만들어지는 신호이며, 세트 선택 신호(SET)는 태그에서 생성되어 각 L2 캐쉬에 전달되어 멀티 웨이 세트 중에서 하나를 선택하는 신호이고, 뱅크 신호(BANK)는 MPU 인덱스에 의해 뱅크를 선택하는 신호이다.
도 8에 도시된 바와 같이, NAND 게이트(802)로는 판독 인에이블 신호(READ)와 세트 선택 신호(SET)와 뱅크 신호(BANK)가 입력된다. 뱅크 신호(BANK)는 인버터(804, 805)를 거친 후에 NAND 게이트(802)로 입력된다. NAND 게이트(802)의 출력은 인버터(806)에 의해 인버팅된 후 클록 신호(CLK)와 함께 NOR 게이트(808)에 입력되며, NOR 게이트(808)의 출력은 인버터(810, 812)를 거친 후에 센스 증폭기 인에이블 신호(FIRE)로 이용된다.
도 9는 본 발명에 의한 캐쉬 메모리에 이용된 센스 증폭기의 회로도이다. 도 9에서 902는 센스 증폭기를, 904는 메모리 셀을, 906은 워드라인을 각각 가리킨다. 먼저 센스 증폭기 인에이블 신호(FIRE)가 L 레벨이면 P채널 MOSFET(MP3, MP4)는 온(ON)이 되므로 노드(N1, N2)는 Vcc가 걸리고, N채널 MOSFET(MN6, MN7)는 모두 온(ON)이 되므로 출력단자(OUT, /OUT)는 L 레벨이 된다. 이를 통해 센스 증폭기 인에이블 신호(FIRE)가 L 레벨이면 메모리 셀(904)에 저장된 데이터는 판독되지 않음을 알 수 있다.
그러나 센스 증폭기 인에이블 신호(FIRE)가 H 레벨로 되면 N채널 MOSFET(MN1)은 온(ON)이 되나, P채널 MOSFET(MP3, MP4)는 오프(OFF)가 된다. 워드라인(906)이 선택되면 메모리 셀(904)에 저장된 데이터가 비트라인(BL, /BL)에 놓여진다. FIRE가 온(ON)인 상태에서 비트라인(BL)이 비트라인(/BL)보다 조금 레벨이 높다고 가정하면, N채널 MOSFET(MN2)는 N채널 MOSFET(MN3)에 비해 상대적으로 온(ON)이 된다. 이는 N채널 MOSFET(MN4)가 N채널 MOSFET(MN5)에 비해 상대적으로 온(ON)이 되도록 하여, 노드(N1)이 노드(N2)에 비해 상대적으로 H 레벨이 되도록한다. 따라서 P채널 MOSFET(MP1)는 더욱 오프가 되고, P채널 MOSFET(MP2)는 더욱 온(ON)이 된다. 이러한 방식으로, 양의 궤환(positive feedback)은 P채널 MOSFET(MP2)와 N채널 MOSFET(MN4)가 완전히 온(ON) 되도록 하고, P채널 MOSFET(MP1)과 N채널 MOSFET(MN3)가 완전히 오프(OFF) 되도록 한다. 따라서 절점(N1)은 완전한 L 레벨이 되고, 절점(N2)은 완전한 H 레벨이 되므로, 출력단자(OUT)는 출력단자(/OUT)에 비해 L 레벨이 된다. 이를 통해 센스 증폭기 인에이블 신호(FIRE)가 H 레벨이 되면 메모리 셀(904)에 저장된 데이터가 판독됨을 알 수 있다.
도 10은 어드레스와 워드라인과 센스 증폭기가 인에이블되는 시점을 도시한 타이밍도이다. 도 10에서 CLK는 클럭 신호를, IDX는 캐쉬 인덱스 신호를, READ_LC는 비트라인을 통한 메모리 셀의 판독신호를, WL은 워드라인 선택신호를, SET_T는 태그 비교기에서 출력된 세트 선택 신호를, SET_C는 캐쉬로 전달된 세트 선택 신호를, FIRE는 도 9에 도시된 회로를 통해 생성된 센스 증폭기 인에이블 신호를, READ_GB는 센스 증폭기를 통해 증폭되어 출력된 신호를, DATA는 8개의 캐쉬에서 출력된 데이터를 각각 가리킨다. 도 10에 도시된 바와 같이, 판독 인에이블 신호를 태그와 L2 캐쉬가 동시에 받고, 태그에서 ① 구간 동안 비교하여 세트 선택 신호를 보내준다. 동시에 L2 캐쉬의 워드라인은 인덱스를 받아서 활성 상태로 된다. ② 구간에서 세트 선택 신호가 인에이블되면 센스 증폭기를 선택하여 센스 증폭기 출력단자를 통해 ③ 구간에서 데이터를 출력하게 된다.
도 11은 본 발명의 다른 특징에 의한 세트 선택 신호 입력 버퍼의 회로도이다. 도 11에 도시된 바와 같이 2개의 삼상태 버퍼(TB1, TB2)와, 각각의 클록신호에 의해 동기되는 2개의 플립플롭(FF1, FF2)와, 캐쉬 메모리에 데이터를 기록할 때 인에이블되는 전송 게이트(TG1)과, 캐쉬 메모리로부터 데이터를 판독할 때 인에이블되는 전송 게이트(TG2)를 구비하고 있다. 도 11에서 CLK1과 CLK2는 클록신호를, SET_T는 태그 비교기에서 전송된 세트 선택 신호를, READ_EN는 판독 인에이블 신호를 각각 가리킨다.
제1 삼상태 버퍼(TB1)은 태그 비교기에서 전송되는 세트 선택 신호(SET_T)가 입력되며, 제1 클록신호(CLK1)에 의해 동기된다. 세트 선택 신호(SET_T)는 인버터(INV1)에 의해 신호의 위상이 역전되어 제1 삼상태 버퍼(TB1)에 입력된다. 제1 삼상태 버퍼(TB1)의 출력신호는 제1 플립플롭(FF1)에 입력된다. 제1 플립플롭(FF1)의 출력신호는 제2 클록신호(CLK2)에 의해 동기되는 제2 삼상태 버퍼(TB2)에 입력된다. 제2 삼상태 버퍼(TB2)의 출력신호는 제2 플립플롭(FF2)에 입력된다. 캐쉬 메모리에 데이터를 기록할 때 인에이블되는 제1 전송 게이트(TG1)은 제2 플립플롭(FF2)의 출력신호를 입력받으며, 판독 인에이블 신호(READ_EN)의 제1 상태에 의해 인에이블된다. 한편 캐쉬 메모리로부터 데이터를 판독할 때 인에이블되는 제1 전송 게이트(TG2)는 세트 선택 신호(SET_T)를 입력 받으며, 제1 전송 게이트(TG1)와는 달리 판독 인에이블 신호(READ_EN)의 제2 상태에 의해 인에이블된다.
먼저 캐쉬 메모리에 데이터를 기록할 때 인에이블되는 기록 경로는 결정적인 경로가 아니므로 클록(CLK1, CLK2)에 동기되도록 한다. 기록 경로는 입력으로태그(엄밀히는 태그 비교기)에서 생성된 세트 선택 신호(SET_T)를 받아서, 클록신호(CLK1)와 클록신호(CLK2)를 받아 플립플롭을 거쳐 판독 인에이블 신호(READ_EN)가 L 레벨일 때 전송 게이트(TG1)를 인에이블시켜서 세트 선택 신호를 패스시킨다.
한편, 캐쉬 메모리로부터 데이터를 판독할 때 인에이블되는 판독 경로는 판독 인에이블 신호(READ_EN)와 어드레스(도시되지 않음)만 있으면 전송 게이트를 통해 패스되도록 설계되어있다. 판독 경로는 판독 인에이블 신호(READ_EN)가 H 레벨일 때 전송 게이트(TG2)를 인에이블시켜서 태그에서 발생된 세트 선택 신호(SET_T)가 세트 선택 신호 입력 버퍼의 출력단자(SET_C)로 전달되도록 한다.
도 12는 도 11에 도시된 회로에 의해 판독 동작시(도 12a) 및 기록 동작시(도 12b) 신호가 생성되는 시점을 도시한 타이밍도이다. 먼저 도 12a에 도시된 바와 같이 판독 동작시에는 태그에서 생성된 세트 선택 신호(TAG_T)는 긴 라인 부하(line loading)를 거쳐 캐쉬에 도달한다. 판독 인에이블 신호(READ_EN)는 판독시에 판독 명령어가 들어온 것을 감지하여 만들어지는 신호로 세트 선택 신호가 입력되기 1 사이클 전에 먼저 만들어지는 내부 제어 신호이다. 이 신호가 먼저 인에이블된 상태에서 SET_T가 들어오면 바로 SET_C가 생성된다. 그러나 도 12b에 도시된 바와 같이 기록 동작시에는 클록에 동기되어 SET_C가 생성되므로 클록 신호가 상승된 후에 인에이블된다.
지금까지 설명된 것은 본 발명을 구체화하는 실시예에 관한 것으로서, 본 발명의 범위가 이에 의해 특정되는 것은 아니며, 다양한 변형이나 변경이 당업자 수준에서 가능하다. 본 발명의 범위는 원칙적으로 후술하는 특허청구범위에 의하여정하여짐을 주목하라.
전술한 바와 같은 특징을 갖는 본 발명은 먼저 그 구조가 단순하다는 이점이 있다. 즉 N 웨이 세트 연관인 경우, 기존의 구성에서는 데이터 라인의 개수가 (N×데이터수)이었는데 본 발명에 의한 구성에서는 (1×데이터수)로 줄어든다. 또한 본 발명에서는 기존의 구성에 비해 (1/N)으로 소모 전력이 줄어든다는 이점이 있다.
또한 클록에 동기없이 세트 선택 신호를 패스시키면, 입력 버퍼에서 소비되는 시간없이 세트 선택 신호를 각 센스 증폭기 인에이블 신호로 보낼 수 있게 되므로, 결정적 경로인 세트 선택 신호의 전달이 빨라지고, 판독 시간과 칩 전체의 속도가 개선되는 이점이 있다.

Claims (16)

  1. 멀티웨이 세트 연관 구조의 캐쉬 메모리(a multi-way set associative cache memory)에서 임의의 세트에 있는 데이터를 판독하는 방법에 있어서,
    요청된 데이터에 대한 어드레스와 태그를 비교하여 세트 선택 신호를 발생시키는 단계와,
    모든 세트의 로우 어드레스를 인에이블시킨 상태에서 상기 세트 선택 신호에 의해 선택된 세트의 센스 증폭기만을 인에이블시켜서 데이터를 판독하는 단계를 구비하는 것을 특징으로 하는 데이터 판독 방법.
  2. 멀티웨이 세트 연관 구조의 캐쉬 메모리(a multi-way set associative cache memory)에 있어서,
    태그를 저장하는 태그 메모리(tag memory)와,
    상기 태그에 해당하는 메모리의 데이터를 저장하는 데이터 메모리(data memory)와,
    요청된 데이터에 대한 어드레스와 상기 태그를 비교하여 세트 선택 신호를 발생시키는 태그 비교기(tag comparator)와,
    인에이블됨으로써 상기 데이터 메모리에 저장된 데이터를 출력하는 복수의 센스 증폭기(a plurality of sense amplifiers)-여기서, 상기 복수의 센스 증폭기 중에서 상기 세트 선택 신호에 의해 선택된 하나의 세트에 해당하는 센스 증폭기만이 인에이블됨-를 구비하는 것을 특징으로 하는 캐쉬 메모리.
  3. 제2항에 있어서,
    상기 데이터 메모리는 상기 요청된 데이터에 대한 어드레스를 디코딩하여 하나의 워드라인을 인에이블시키는 디코더를 포함하는 것을 특징으로 하는 캐쉬 메모리.
  4. 제2항에 있어서,
    상기 센스 증폭기는 센스 증폭기 인에이블 신호에 의해 인에이블되며, 상기 센스 증폭기 인에이블 신호는 판독 인에이블 신호(read enable signal)와 세트 선택 신호(set selection signal)의 논리곱 연산에 의해 만들어지는 것을 특징으로 하는 캐쉬 메모리.
  5. 마이크로 프로세서 장치(a micro processor unit)에 있어서,
    요청하는 데이터에 대한 메모리의 어드레스를 발생시키는 데이터 프로세서(data processor)와,
    멀티웨이 세트 연관 구조의 캐쉬 메모리를 구비하며,
    상기 캐쉬 메모리는
    태그를 저장하는 태그 메모리와,
    상기 태그에 해당하는 메모리의 데이터를 저장하는 데이터 메모리와,
    상기 요청된 데이터에 대한 어드레스와 상기 태그를 비교하여 세트 선택 신호를 발생시키는 태그 비교기와,
    인에이블됨으로써 상기 데이터 메모리에 저장된 데이터를 출력하는 복수의 센스 증폭기-여기서, 상기 복수의 센스 증폭기 중에서 상기 세트 선택 신호에 의해 선택된 하나의 세트에 해당하는 센스 증폭기만이 인에이블됨-를 포함하는 것을 특징으로 하는 마이크로 프로세서 장치.
  6. 제5항에 있어서,
    상기 데이터 메모리는 상기 요청된 데이터에 대한 어드레스를 디코딩하여 하나의 워드라인을 인에이블시키는 디코더를 포함하는 것을 특징으로 하는 캐쉬 메모리.
  7. 제5항에 있어서,
    상기 센스 증폭기는 센스 증폭기 인에이블 신호에 의해 인에이블되며, 상기 센스 증폭기 인에이블 신호는 판독 인에이블 신호(read enable signal)와 세트 선택 신호(set selection signal)의 논리곱 연산에 의해 만들어지는 것을 특징으로 하는 캐쉬 메모리.
  8. 멀티웨이 세트 연관 구조의 캐쉬 메모리(a multi-way set associative cache memory)에 있어서,
    태그를 저장하는 태그 메모리(tag memory)와,
    상기 태그에 해당하는 메모리의 데이터를 저장하는 데이터 메모리(data memory)와,
    요청된 데이터에 대한 어드레스와 상기 태그를 비교하여 세트 선택 신호를 발생시키는 태그 비교기(tag comparator)와,
    인에이블됨으로써 상기 데이터 메모리에 저장된 데이터를 출력하는 판독 회로(reading circuit)와,
    상기 데이터 메모리에 저장된 데이터를 판독할 때 상기 세트 선택 신호를 입력받아 상기 판독 회로로 비동기적으로 전송하는 세트 선택 신호 입력 버퍼를 구비하는 것을 특징으로 하는 캐쉬 메모리.
  9. 제8항에 있어서,
    상기 세트 선택 신호 입력 버퍼의 판독 경로는 판독 인에이블 신호에 의해 제어되는 전송 게이트로 구성되는 것을 특징으로 하는 캐쉬 메모리.
  10. 제8항에 있어서,
    상기 세트 선택 신호 입력 버퍼는 판독 인에이블 신호가 인에이블됨에 따라 상기 입력된 세트 선택 신호를 상기 판독 회로로 전송하는 것을 특징으로 하는 캐쉬 메모리.
  11. 제8항에 있어서,
    상기 판독 회로는 센스 증폭기이고, 상기 판독 회로로 전송되는 세트 선택 신호는 센스 증폭기 인에이블 신호인 것을 특징으로 하는 캐쉬 메모리.
  12. 멀티웨이 세트 연관 구조의 캐쉬 메모리(a multi-way set associative cache memory)에 있어서,
    태그를 저장하는 태그 메모리(tag memory)와,
    상기 태그에 해당하는 메모리의 데이터를 저장하는 데이터 메모리(data memory)와,
    요청된 데이터에 대한 어드레스와 상기 태그를 비교하여 세트 선택 신호를 발생시키는 태그 비교기(tag comparator)와,
    인에이블됨으로써 상기 데이터 메모리에 저장된 데이터를 출력하는 복수의 센스 증폭기(a plurality of sense amplifiers)-여기서, 상기 복수의 센스 증폭기 중에서 상기 세트 선택 신호에 의해 선택된 하나의 세트에 해당하는 센스 증폭기만이 인에이블됨-와,
    상기 데이터 메모리에 저장된 데이터를 판독할 때 상기 세트 선택 신호를 입력받아 상기 선택된 센스 증폭기에 비동기적으로 전송하는 세트 선택 신호 입력 버퍼를 구비하는 것을 특징으로 하는 캐쉬 메모리.
  13. 제12항에 있어서,
    상기 세트 선택 신호 입력 버퍼의 판독 경로는 판독 인에이블 신호에 의해 제어되는 전송 게이트로 구성되는 것을 특징으로 하는 캐쉬 메모리.
  14. 멀티웨이 세트 연관 구조의 캐쉬 메모리에서의 세트 선택 신호 입력 버퍼에 있어서,
    태그에서 전송되는 세트 선택 신호가 입력되며, 제1 클록신호에 의해 동기되는 제1 삼상태 버퍼와,
    상기 제1 삼상태 버퍼의 출력신호가 입력되는 제1 플립플롭과,
    상기 제1 플립플롭의 출력신호가 입력되며, 제2 클록신호에 의해 동기되는 제2 삼상태 버퍼와,
    상기 제2 삼상태 버퍼의 출력신호가 입력되는 제2 플립플롭과,
    상기 제2 플립플롭의 출력신호가 입력되며, 상기 캐쉬 메모리에 데이터를 기록할 때 판독 인에이블 신호의 제1 상태에 의해 인에이블되는 제1 전송 게이트와,
    상기 세트 선택 신호가 입력되며, 상기 캐쉬 메모리로부터 데이터를 판독할 때 상기 판독 인에이블 신호의 제2 상태에 의해 인에이블되는 제2 전송 게이트를 구비하는 것을 특징으로 하는 세트 선택 신호 입력 버퍼.
  15. 멀티웨이 세트 연관 구조의 캐쉬 메모리(a multi-way set associative cache memory)에 있어서,
    태그를 저장하는 태그 메모리(tag memory)와,
    상기 태그에 해당하는 메모리의 데이터를 저장하는 데이터 메모리(data memory)와,
    요청된 데이터에 대한 어드레스와 상기 태그를 비교하여 세트 선택 신호를 발생시키는 태그 비교기(tag comparator)와,
    인에이블됨으로써 상기 데이터 메모리에 저장된 데이터를 출력하는 판독 회로(reading circuit)와,
    상기 태그 비교기로부터 전송된 상기 세트 선택 신호를 입력받아 상기 데이터 메모리로 전송하는 세트 선택 신호 입력 버퍼를 구비하며,
    상기 세트 선택 신호 입력 버퍼는
    상기 태그 비교기로부터 상기 세트 선택 신호가 입력되며, 제1 클록신호에 의해 동기되는 제1 삼상태 버퍼와,
    상기 제1 삼상태 버퍼의 출력신호가 입력되는 제1 플립플롭과,
    상기 제1 플립플롭의 출력신호가 입력되며, 제2 클록신호에 의해 동기되는 제2 삼상태 버퍼와,
    상기 제2 삼상태 버퍼의 출력신호가 입력되는 제2 플립플롭과,
    상기 제2 플립플롭의 출력신호가 입력되며, 상기 캐쉬 메모리에 데이터를 기록할 때 판독 인에이블 신호의 제1 상태에 의해 인에이블되는 제1 전송 게이트와,
    상기 세트 선택 신호가 입력되며, 상기 캐쉬 메모리로부터 데이터를 판독할 때 상기 판독 인에이블 신호의 제2 상태에 의해 인에이블되는 제2 전송 게이트를 포함하는 것을 특징으로 하는 캐쉬 메모리.
  16. 멀티웨이 세트 연관 구조의 캐쉬 메모리(a multi-way set associative cache memory)에 있어서,
    태그를 저장하는 태그 메모리(tag memory)와,
    상기 태그에 해당하는 메모리의 데이터를 저장하는 데이터 메모리(data memory)와,
    요청된 데이터에 대한 어드레스와 상기 태그를 비교하여 세트 선택 신호를 발생시키는 태그 비교기(tag comparator)와,
    인에이블됨으로써 상기 데이터 메모리에 저장된 데이터를 출력하는 복수의 센스 증폭기(a plurality of sense amplifiers)-여기서, 상기 복수의 센스 증폭기 중에서 상기 세트 선택 신호에 의해 선택된 하나의 세트에 해당하는 센스 증폭기만이 인에이블됨-와,
    상기 태그 비교기로부터 전송된 상기 세트 선택 신호를 입력받아 상기 데이터 메모리로 전송하는 세트 선택 신호 입력 버퍼를 구비하며,
    상기 세트 선택 신호 입력 버퍼는
    상기 태그 비교기로부터 상기 세트 선택 신호가 입력되며, 제1 클록신호에 의해 동기되는 제1 삼상태 버퍼와,
    상기 제1 삼상태 버퍼의 출력신호가 입력되는 제1 플립플롭과,
    상기 제1 플립플롭의 출력신호가 입력되며, 제2 클록신호에 의해 동기되는 제2 삼상태 버퍼와,
    상기 제2 삼상태 버퍼의 출력신호가 입력되는 제2 플립플롭과,
    상기 제2 플립플롭의 출력신호가 입력되며, 상기 캐쉬 메모리에 데이터를 기록할 때 판독 인에이블 신호의 제1 상태에 의해 인에이블되는 제1 전송 게이트와,
    상기 세트 선택 신호가 입력되며, 상기 캐쉬 메모리로부터 데이터를 판독할 때 상기 판독 인에이블 신호의 제2 상태에 의해 인에이블되는 제2 전송 게이트를 포함하는 것을 특징으로 하는 캐쉬 메모리.
KR10-2001-0045399A 2001-07-27 2001-07-27 멀티웨이 세트 연관 구조의 캐쉬 메모리 및 데이터 판독방법 KR100398954B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR10-2001-0045399A KR100398954B1 (ko) 2001-07-27 2001-07-27 멀티웨이 세트 연관 구조의 캐쉬 메모리 및 데이터 판독방법
GB0216866A GB2381095B (en) 2001-07-27 2002-07-19 Multi-way set associative cache memory
US10/206,588 US6839807B2 (en) 2001-07-27 2002-07-25 Multi-way set associative cache memory

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2001-0045399A KR100398954B1 (ko) 2001-07-27 2001-07-27 멀티웨이 세트 연관 구조의 캐쉬 메모리 및 데이터 판독방법

Publications (2)

Publication Number Publication Date
KR20030010823A true KR20030010823A (ko) 2003-02-06
KR100398954B1 KR100398954B1 (ko) 2003-09-19

Family

ID=19712602

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2001-0045399A KR100398954B1 (ko) 2001-07-27 2001-07-27 멀티웨이 세트 연관 구조의 캐쉬 메모리 및 데이터 판독방법

Country Status (3)

Country Link
US (1) US6839807B2 (ko)
KR (1) KR100398954B1 (ko)
GB (1) GB2381095B (ko)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7054184B2 (en) * 2004-05-12 2006-05-30 International Business Machines Corporation Cache late select circuit
US8688890B2 (en) * 2006-12-05 2014-04-01 Hewlett-Packard Development Company, L.P. Bit ordering for communicating an address on a serial fabric
US7996620B2 (en) * 2007-09-05 2011-08-09 International Business Machines Corporation High performance pseudo dynamic 36 bit compare
US9600179B2 (en) * 2014-07-30 2017-03-21 Arm Limited Access suppression in a memory device
US9275714B1 (en) * 2014-09-26 2016-03-01 Qualcomm Incorporated Read operation of MRAM using a dummy word line
US10169246B2 (en) * 2017-05-11 2019-01-01 Qualcomm Incorporated Reducing metadata size in compressed memory systems of processor-based systems
US11176051B2 (en) * 2020-03-13 2021-11-16 Shenzhen GOODIX Technology Co., Ltd. Multi-way cache memory access

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2645986B1 (fr) * 1989-04-13 1994-06-17 Bull Sa Procede pour accelerer les acces memoire d'un systeme informatique et systeme pour la mise en oeuvre du procede
US5091851A (en) 1989-07-19 1992-02-25 Hewlett-Packard Company Fast multiple-word accesses from a multi-way set-associative cache memory
US5031141A (en) * 1990-04-06 1991-07-09 Intel Corporation Apparatus for generating self-timing for on-chip cache
JPH04328656A (ja) * 1991-04-30 1992-11-17 Toshiba Corp キャッシュメモリ
GB2275119B (en) * 1993-02-03 1997-05-14 Motorola Inc A cached processor
JPH0749807A (ja) * 1993-08-05 1995-02-21 Mitsubishi Electric Corp メモリシステム及びキャッシュメモリシステム
JP3560266B2 (ja) * 1995-08-31 2004-09-02 株式会社ルネサステクノロジ 半導体装置及び半導体データ装置
US5550774A (en) * 1995-09-05 1996-08-27 Motorola, Inc. Memory cache with low power consumption and method of operation
US5911153A (en) * 1996-10-03 1999-06-08 International Business Machines Corporation Memory design which facilitates incremental fetch and store requests off applied base address requests
JPH10154394A (ja) * 1996-11-21 1998-06-09 Toshiba Corp メモリ装置
US5848428A (en) * 1996-12-19 1998-12-08 Compaq Computer Corporation Sense amplifier decoding in a memory device to reduce power consumption
US5995420A (en) * 1997-08-20 1999-11-30 Advanced Micro Devices, Inc. Integrated XNOR flip-flop for cache tag comparison
US20020087779A1 (en) * 2000-12-29 2002-07-04 Kevin Zhang High-speed way select scheme for a low power cache

Also Published As

Publication number Publication date
US20030061446A1 (en) 2003-03-27
GB2381095A (en) 2003-04-23
GB2381095B (en) 2003-09-17
GB0216866D0 (en) 2002-08-28
KR100398954B1 (ko) 2003-09-19
US6839807B2 (en) 2005-01-04

Similar Documents

Publication Publication Date Title
US5559986A (en) Interleaved cache for multiple accesses per clock cycle in a microprocessor
US7203794B2 (en) Destructive-read random access memory system buffered with destructive-read memory cache
US7085881B2 (en) Semiconductor memory device
KR100445927B1 (ko) 메모리 인터페이스를 갖는 프로세서와, 이 프로세서에서 수행되는 방법 및 컴퓨터 시스템
US6356990B1 (en) Set-associative cache memory having a built-in set prediction array
US20020176308A1 (en) Semiconductor integrated circuit device with memory blocks and a write buffer capable of storing write data from an external interface
JPH0594698A (ja) 半導体記憶装置
JP2001516118A (ja) 短待ち時間dramセルおよびその方法
KR100395756B1 (ko) 캐쉬 메모리 및 이를 이용하는 마이크로 프로세서
GB2248952A (en) Hierarchical integrated circuit cache memory
JPH05314779A (ja) 連想メモリセルおよび連想メモリ回路
JP3732637B2 (ja) 記憶装置、記憶装置のアクセス方法及び半導体装置
US6091667A (en) Semiconductor memory device and a data reading method and a data writing method therefor
KR100398954B1 (ko) 멀티웨이 세트 연관 구조의 캐쉬 메모리 및 데이터 판독방법
US20040153610A1 (en) Cache controller unit architecture and applied method
US6941414B2 (en) High speed embedded DRAM with SRAM-like interface
JP4404373B2 (ja) 半導体集積回路
US6385687B2 (en) Method and apparatus for simultaneously accessing the tag and data arrays of a memory device
JPH027141A (ja) キャッシュメモリシステム
JP3559631B2 (ja) 半導体メモリ及びデータ処理装置
JPH02227897A (ja) 半導体記憶装置
JPWO2006001078A1 (ja) 半導体集積回路装置
JPH0421046A (ja) キャッシュメモリ
JPH0553910A (ja) キヤツシユ記憶装置

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20120831

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20130902

Year of fee payment: 11

LAPS Lapse due to unpaid annual fee