KR100794973B1 - 캐시 메모리 시스템 - Google Patents

캐시 메모리 시스템 Download PDF

Info

Publication number
KR100794973B1
KR100794973B1 KR1020010086821A KR20010086821A KR100794973B1 KR 100794973 B1 KR100794973 B1 KR 100794973B1 KR 1020010086821 A KR1020010086821 A KR 1020010086821A KR 20010086821 A KR20010086821 A KR 20010086821A KR 100794973 B1 KR100794973 B1 KR 100794973B1
Authority
KR
South Korea
Prior art keywords
cache memory
tag
circuit
value
data
Prior art date
Application number
KR1020010086821A
Other languages
English (en)
Other versions
KR20020066950A (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 후지쯔 가부시끼가이샤
Publication of KR20020066950A publication Critical patent/KR20020066950A/ko
Application granted granted Critical
Publication of KR100794973B1 publication Critical patent/KR100794973B1/ko

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
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/50Control mechanisms for virtual memory, cache or TLB
    • G06F2212/502Control mechanisms for virtual memory, cache or TLB using adaptive policy
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/60Details of cache memory
    • G06F2212/601Reconfiguration of cache memory
    • 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

캐시 메모리 시스템에 있어서, 통상 상태와 저소비 전력 상태와의 전환이 가능한 태그 메모리 RAM부 및 캐시 메모리 RAM부가 예컨대 병렬로 접속된다. 모든태그 메모리 RAM부 및 캐시 메모리 RAM부가 통상 상태에서 동작하는 n 웨이 세트 어소시에이티브 구성은 단지 한 쌍의 태그 메모리 RAM부 및 캐시 메모리 RAM부가 통상 상태에서 동작하고 나머지 태그 메모리 RAM부 및 캐시 메모리 RAM부가 전력 모드 신호에 따라 요구 어드레스의 값을 토대로 저소비 전력 상태로 들어가는 1 웨이 다이렉트 맵 구성 사이에서 동적으로 전환된다.

Description

캐시 메모리 시스템{CACHE MEMORY SYSTEM}
도 1은 본 발명의 제1 실시 형태에 따른 캐시 메모리 시스템을 포함하는 시스템 전체의 일례로서 주요부를 모식적(模式的)으로 도시한 블록 구성도.
도 2는 본 발명의 제1 실시 형태에 따른 캐시 메모리 시스템을 포함하는 시스템 전체의 다른 예로서 주요부를 모식적으로 도시한 블록 구성도.
도 3은 본 발명의 제1 실시 형태에 따른 캐시 메모리 시스템의 일례를 도시한 블록 구성도.
도 4는 본 발명의 제1 실시 형태에 따른 캐시 메모리 시스템의 RAM 전력 제어 장치의 일례를 도시한 논리 회로도.
도 5는 본 발명의 제1 실시 형태에 따른 캐시 메모리 시스템의 데이터 선택기 제어 회로의 일례를 도시한 논리 회로도.
도 6은 본 발명의 제1 실시 형태에 따른 캐시 메모리 시스템의 캐시·적중/실패 제어 회로의 일례를 도시한 논리 회로도.
도 7은 본 발명의 제1 실시 형태에 따른 캐시 메모리 시스템의 메모리 영역의 개념을 설명하기 위한 모식도.
도 8은 본 발명의 제2 실시 형태에 따른 캐시 메모리 시스템의 일례를 도시한 블록 구성도.
도 9는 본 발명의 제3 실시 형태에 따른 캐시 메모리 시스템의 일례를 도시한 블록 구성도.
도 10은 본 발명의 제3 실시 형태에 따른 캐시 메모리 시스템의 다른 예를 도시한 블록 구성도.
도 11은 본 발명의 제3 실시 형태에 따른 캐시 메모리 시스템의 다른 예를 도시한 블록 구성도.
도 12는 본 발명의 제3 실시 형태에 따른 캐시 메모리 시스템의 다른 예를 도시한 블록 구성도.
도 13은 종래의 세트 어소시에이티브 구성의 캐시 메모리 시스템을 도시한 블록 구성도.
〈도면의 주요부분에 대한 부호의 설명〉
3 : 캐시 메모리 시스템
22, 23 : 전력 모드 신호
24, 25 : 어드레스 신호
26, 27 : 데이터
31a, 31b, 31c, 31d, 46 : 태그 메모리 RAM 모듈
32a, 32b, 32c, 32d, 48 : 캐시 메모리 RAM 모듈
33 : 태그 판정 회로
34 : 데이터 선택기
37 : RAM 전력 제어 장치
38 : 데이터 선택기 제어 회로
40a, 40b, 40c, 40d, 41a, 41b, 41c, 41d : 소비 전력 모드 제어 장치
42 : 태그 판정 결과 무효화 회로
본 발명은 캐시 메모리 시스템에 관한 것으로, 특히 세트 어소시에이티브(associative) 구성과 다이렉트 맵 구성의 동적인 전환이 가능한 캐시 메모리 시스템에 관한 것이다.
캐시 메모리 시스템을 내장하는 마이크로 프로세서 등의 데이터 연산 처리 장치에 있어서, 캐시 메모리 시스템의 구성으로서, 세트 어소시에이티브 구성과 다이렉트 맵 구성이 있다. 세트 어소시에이티브 구성의 캐시 메모리 시스템은 다이렉트 맵 구성에 비하여 적중율이 높기 때문에, 연산 처리 장치 전체의 고성능화가 기대되지만, 그 반면, 소비 전력이 큰 결점이 있다.
종래의 세트 어소시에이티브 구성의 캐시 메모리 시스템 구성에 대해서 설명한다. 또한, 이하의 설명에서는, 4 웨이(way) 구성으로, 캐시 메모리 용량이 16K바이트, 캐시 메모리의 라인 사이즈가 64바이트, 각 웨이의 엔트리수가 64엔트리인 캐시 메모리 시스템에 대해서 설명한다.
도 13은 종래의 세트 어소시에이티브 구성의 캐시 메모리 시스템을 도시한 블록 구성도이다. 이 캐시 메모리 시스템은 4 웨이 구성이기 때문에, 병렬로 접속 된 4 개의 태그 메모리 RAM 모듈(11a, 11b, 11c, 11d) 및 병렬로 접속된 4 개의 캐시 메모리 RAM 모듈(12a, 12b, 12c, 12d)을 구비하고 있다. 또한, 캐시 메모리 시스템은 태그 판정 회로(13) 및 데이터 선택기(14)를 구비하고 있다. 태그 판정 회로(13)는 4 개의 비교기(15a, 15b, 15c, 15d)와 4 개의 AND 회로(16a, 16b, 16c, 16d)로 구성되어 있다.
태그 메모리 RAM 모듈(11a, 11b, 11c, 11d)은 각각 대응하는 캐시 메모리 RAM 모듈(12a, 12b, 12c, 12d)에 저장된 데이터의 어드레스를 나타내는 데이터와, 그 어드레스 데이터가 유효한지 여부를 나타내는 엔트리·밸리드·플래그(entry valid)를 저장한다.
캐시 메모리 RAM 모듈(12a, 12b, 12c, 12d)은 도시하지 않은 프로세서 코어 등에 의해 실행되는 연산 처리 등에 사용된 데이터를 저장한다. 태그 메모리 RAM 모듈(11a, 11b, 11c, 11d) 및 캐시 메모리 RAM 모듈(12a, 12b, 12c, 12d)은 외부로부터의 입력 신호에 기초하여 각 RAM 모듈 전체 또는 RAM 모듈내의 각 데이터 입출력 회로의 일부분을 저소비 전력 상태로 이행시키는 기능을 갖는다.
태그 판정 회로(13)는 프로세서 코어 등으로부터 요구된 어드레스(이하, 요구 어드레스라 함)의 값과, 각 태그 메모리 RAM 모듈(11a, 11b, 11c, 11d)로부터 판독된 어드레스 데이터를 비교하고, 이들의 일치 여부 판정을 행한다. 태그 판정 회로(13)내의 각 비교기(15a, 15b, 15c, 15d)는 이 요구 어드레스와 어드레스 데이터와의 비교, 판정을 행한다.
데이터 선택기(14)는 각 캐시 메모리 RAM 모듈(12a, 12b, 12c, 12d)로부터 판독된 데이터 중에서 유효한 데이터만을 선택하여 데이터 버스로 출력한다. 태그 판정 회로(13)내의 각 AND 회로(16a, 16b, 16c, 16d)는 엔트리·밸리드·플래그를 기초로 하여 데이터 선택기(14)가 유효한 데이터를 선택하기 위한 제어 신호를 출력한다. 즉, 데이터 선택기(14)는 각 AND 회로(16a, 16b, 16c, 16d)로부터 출력된 제어 신호를 기초로 하여 유효한 데이터의 선택을 행한다.
도 13에 도시된 종래의 캐시 메모리 시스템의 작용에 대해서 설명한다. 우선, 데이터 판독시의 작용에 대해서 설명한다. 프로세서 코어 등으로부터 판독 데이터의 요구 어드레스가 입력되면, 각 태그 메모리 RAM 모듈(11a, 11b, 11c, 11d)로부터, 그 요구 어드레스에 대응하는 어드레스 데이터와, 그 어드레스 데이터에 대응하는 엔트리·밸리드·플래그가 판독된다. 판독된 어드레스 데이터는 각각 대응하는 비교기(15a, 15b, 15c, 15d)에 의해 요구 어드레스와 비교되고, 일치 여부가 판정된다.
각 비교기(15a, 15b, 15c, 15d)의 판정 결과는 대응하는 웨이의 엔트리·밸리드·플래그와 함께 대응하는 각 AND 회로(16a, 16b, 16c, 16d)에 입력된다. 각 AND 회로(16a, 16b, 16c, 16d)의 출력은 데이터 선택기(14)에 대한 제어 신호로서 데이터 선택기(14)에 공급된다. 이 제어 신호에 의해 각 태그 메모리 RAM 모듈(11a, 11b, 11c, 11d)로부터 판독된 어드레스 데이터 중, 요구 어드레스와 일치하고, 또한 엔트리·밸리드·플래그에 의해 유효하게된 어드레스 데이터를 저장하고 있던 웨이만이 유효해진다.
한편, 각 캐시 메모리 RAM 모듈(12a, 12b, 12c, 12d)에서는, 요구 어드레스 의 입력을 기초로 하여 요구 어드레스에 대응한 데이터가 각각 판독된다. 판독된 데이터 중, 데이터 선택기(14)에 의해 유효하게된 웨이의 캐시 메모리 RAM 모듈로부터 판독된 데이터만이 데이터 버스에 출력된다. 또한, 각 AND 회로(16a, 16b, 16c, 16d)의 출력은 캐시의 적중/실패 신호(Cache Hit/Miss signal)로서 프로세서 코어 등에 공급된다.
이어서, 데이터의 기록시의 작용에 대해서 설명한다. 데이터의 기록시에는 데이터를 기록해야 되는 웨이의 어드레스를 기초로 하여 선택된 엔트리에 대하여, 요구 어드레스를 태그 메모리 RAM 모듈에 기록하는 동시에, 데이터를 캐시 메모리 RAM 모듈에 기록한다.
그러나, 전술한 종래의 세트 어소시에이티브 구성의 캐시 메모리 시스템에서는, 캐시 메모리로부터의 데이터 판독시에 모든 웨이 상의 태그 메모리 RAM 모듈과 캐시 메모리 RAM 모듈을 구동해야 하기 때문에, 메모리 용량이 같아도 1 웨이 구성, 즉 다이렉트 맵 구성의 캐시 메모리 시스템보다도 많은 전력을 필요로 하는 문제점이 있었다.
본 발명은 상기 문제점을 감안하여 이루어진 것으로서, 세트 어소시에이티브 구성에 의한 고적중율 모드와 다이렉트 맵 구성에 의한 저소비 전력 모드의 동적인 전환이 가능한 캐시 메모리 시스템을 제공하는 것을 목적으로 한다.
상기 목적을 달성하기 위해서, 본 발명은 통상 상태와 저소비 전력 상태와의 전환이 가능한 태그 메모리 RAM부 n 개를 예컨대 병렬로 접속하는 동시에, 통상 상태와 저소비 전력 상태와의 전환이 가능한 캐시 메모리 RAM부 n 개를 예컨대 병렬로 접속하고, 전력 모드에 따라 RAM 전력 제어 수단에 의해 RAM부의 접속 구조를 n 웨이 구성과 1 웨이 구성 사이에서 동적으로 전환하는 것을 특징으로 한다.
즉, 외부로부터 입력된 전력 모드 신호가 고적중율 모드일 때에는 RAM 전력 제어 수단에 의해 모든 태그 메모리 RAM부 및 모든 캐시 메모리 RAM부가 통상 상태로 동작하는 n 웨이의 세트 어소시에이티브 구성이 되도록 캐시 메모리 시스템이 제어된다. 이 구성에 있어서는, 데이터 선택기에 의해 각 태그 메모리 RAM부로부터 판독된 어드레스 데이터와, 프로세서 코어 등으로부터 공급된 요구 어드레스의 값이 일치한 웨이에 대응하는 캐시 메모리 RAM부로부터 판독된 데이터만을 선택한다.
한편, 외부로부터 입력된 전력 모드 신호가 저소비 전력 모드일 때에는 RAM 전력 제어 수단에 의해 프로세서 코어 등으로부터 공급된 요구 어드레스의 값을 기초로 하여 어느 하나의 태그 메모리 RAM부와 그것에 대응하는 하나의 캐시 메모리 RAM부만이 통상 상태로 동작하고, 또한 나머지 태그 메모리 RAM부 및 캐시 메모리 RAM부가 저소비 전력 상태가 되는 1 웨이의 다이렉트 맵 구성이 되도록 캐시 메모리 시스템이 제어된다. 이 구성에 있어서는, 데이터 선택기에 의해 통상 상태의 캐시 메모리 RAM부로부터 판독된 데이터만을 선택한다.
본 발명에 따르면, 전력 모드 신호가 고적중율 모드일 때에는 캐시 메모리 시스템은 n 웨이의 세트 어소시에이티브 구성으로서 동작하고, 한편, 저소비 전력 모드일 때에는 1 웨이의 다이렉트 맵 구성으로서 동작하기 때문에, 전력 소비는 많 아도 연산 처리 장치의 성능을 우선하는 경우와, 저소비 전력을 우선하는 경우를 사용자나, 사용하고 있는 애플리케이션 등의 주변 환경에 따라 선택할 수 있다.
이하에, 본 발명의 실시 형태에 대해서 도면을 참조하여 상세히 설명한다. 또한, 이하의 각 실시 형태에 있어서, 특별히 한정되지 않지만, 캐시 메모리 시스템은 4 웨이 구성, 16K 바이트의 캐시 메모리 용량, 64 바이트의 캐시 메모리 라인 사이즈, 64엔트리의 각 웨이의 엔트리수를 갖는다고 가정한다.
(제1 실시 형태)
도 1 및 도 2는 각각 본 발명의 제1 실시 형태에 따른 캐시 메모리 시스템을 포함하는 시스템 전체예의 주요부를 모식적으로 도시한 블록 구성도이다. 연산 처리 장치(CPU: 2)는 프로세서 코어(21) 및 캐시 메모리 시스템(3)을 내장하고, 외부 메모리 시스템(4)과 접속된다.
도 1에 도시된 예에서, 전력 모드 신호(22)가 프로세서 코어(21)로부터 캐시 메모리 시스템(3)에 공급되고 있다. 한편, 도 2에서, 전력 모드 신호(23)가 전원 관리 시스템 등의 연산 처리 장치(2)를 이용하는 다른 시스템이나, 딥 스위치 등에 있어서의 사용자의 설정 등에 의해 외부로부터 캐시 메모리 시스템(3)에 공급되고 있다. 여기서, 전력 모드 신호(22, 23)는 캐시 메모리 시스템(3)을 세트 어소시에이티브 구성으로 할지, 또는 다이렉트 맵 구성으로 할지를 지시하는 신호이다. 도 1 및 도 2에 있어서, 부호 24 및 부호 25는 어드레스 신호, 부호 26 및 부호 27은 데이터이다.
도 3은 본 발명의 제1 실시 형태에 따른 캐시 메모리 시스템의 일례를 도시 한 블록 구성도이다. 이 캐시 메모리 시스템은 4 웨이 구성이기 때문에, 4개의 태그 메모리 RAM 모듈(31a, 31b, 31c, 31d) 및 4개의 캐시 메모리 RAM 모듈(32a, 32b, 32c, 32d)이 각각 병렬로 접속되어 있다.
태그 메모리 RAM 모듈(31a, 31b, 31c, 31d) 및 캐시 메모리 RAM 모듈(32a, 32b, 32c, 32d)은 후술될 RAM 전력 제어 장치(37)에 의해 저소비 전력 상태로 이행하는 기능을 갖는다. 이 기능은 각 RAM 모듈(31a, 31b, 31c, 31d, 32a, 32b, 32c, 32d)마다 설치된 소비 전력 모드 제어 장치(40a, 40b, 40c, 40d, 41a, 41b, 41c, 41d)에 의해 실현되지만, 이것은 종래의 세트 어소시에이티브 구성의 태그 메모리 RAM 모듈 및 캐시 메모리 RAM 모듈에 구비되어 있는 기능과 동일하다.
또한, 캐시 메모리 시스템은 프로세서 코어 등의 요구 어드레스의 값과, 각 태그 메모리 RAM 모듈(31a, 31b, 31c, 31d)로부터 판독된 어드레스 데이터가 일치하는지 여부를 판정하는 태그 판정 회로(33)를 구비하고 있다. 이 태그 판정 회로(33)는 종래와 마찬가지로 4개의 비교기(35a, 35b, 35c, 35d) 및 4개의 AND 회로(36a, 36b, 36c, 36d)로 구성되어 있다.
또한, 캐시 메모리 시스템은 각 캐시 메모리 RAM 모듈(32a, 32b, 32c, 32d)로부터 판독된 데이터 중에서 유효한 데이터만을 선택하여 데이터 버스로 출력하는 데이터 선택기(34)를 갖는다. 이 데이터 선택기(34)는 후술될 데이터 선택기 제어 회로(38)에 의해 제어된다. 태그 판정 회로(33) 및 데이터 선택기 제어 회로(38)는 데이터 선택기 제어 수단을 구성한다. 또한, 캐시 메모리 시스템은 캐시의 적중 또는 실패를 도시하지 않은 프로세서 코어 등으로 되돌리기 위해서 후술될 캐시·적 중/실패 제어 회로(39)를 구비하고 있다.
또한, 제1 실시 형태에 있어서, 태그 메모리 RAM 모듈(31a, 31b, 31c, 31d), 캐시 메모리 RAM 모듈(32a, 32b, 32c, 32d), 태그 판정 회로(33) 및 데이터 선택기(34)의 구성 및 기능에 대해서는 각각 종래의 태그 메모리 RAM 모듈(11a, 11b, 11c, 11d), 캐시 메모리 RAM 모듈(12a, 12b, 12c, 12d), 태그 판정 회로(13) 및 데이터 선택기(14)와 동일하기 때문에, 설명을 생략한다. 또한, 소비 전력 모드 제어 장치(40a, 40b, 40c, 40d, 41a, 41b, 41c, 41d)도 종래와 동일하기 때문에, 설명을 생략한다.
도 4는 RAM 전력 제어 장치(37)의 일례를 도시한 논리 회로도이다. RAM 전력 제어 장치(37)는 12개의 AND 회로(51∼62)와, 4개의 OR 회로(63∼66)를 갖는다.
AND 회로(51), AND 회로(52), AND 회로(53) 및 AND 회로(54)에는 입력 신호로서, 프로세서 코어로부터 공급된 요구 어드레스 신호 중, 예컨대 제13 비트째의 신호와 제12 비트째의 신호가 공급된다. 제13 비트째의 신호 및 제12 비트째의 신호가 모두 "1"일 때에는 AND 회로(51)만이 "1"을 출력한다. 제13 비트째의 신호가 입력되는 AND 회로(52)의 단자는 로우 액티브이기 때문에, 제13 비트째의 신호가 "0"이고 제12 비트째의 신호가 "1"일 때에는 AND 회로(52)만이 "1"을 출력한다.
또한, 제12 비트째의 신호가 입력되는 AND 회로(53)의 단자는 로우 액티브이기 때문에, 제13 비트째의 신호가 "1"이고 제12 비트째의 신호가 "0"일 때에는 AND 회로(53)만이 "1"을 출력한다. AND 회로(54)의 양 입력 단자는 로우 액티브이기 때문에, 제13 비트째의 신호 및 제12 비트째의 신호가 모두 "0"일 때에는 AND 회로(54)만이 "1"을 출력한다. 또한, 논리 회로의 설명에 있어서, 상대적으로 전위 레벨이 높은 하이일 때의 신호의 값은 "1"이고, 상대적으로 전위 레벨이 낮은 로우일 때의 신호의 값은 "0"이다.
AND 회로(55), AND 회로(57), AND 회로(59) 및 AND 회로(61)에는 입력 신호로서, 전력 모드 신호와, AND 회로(51), AND 회로(52), AND 회로(53) 및 AND 회로(54)의 출력 신호가 각각 공급된다. 전력 모드 신호가 "1"일 때, AND 회로(51)의 출력값이 "1"이면 AND 회로(55)의 출력값이 "1"이 되고, 또한 AND 회로(52)의 출력값이 "1"이면 AND 회로(57)의 출력값이 "1"이 된다. 또한, AND 회로(53)의 출력값이 "1"이면 AND 회로(59)의 출력값이 "1"이 되고, 또한 AND 회로(54)의 출력값이 "1"이면 AND 회로(61)의 출력값이 "1"이 된다. 한편, 전력 모드 신호가 "0"일 때에는 AND 회로(55, 57, 59, 61)의 출력은 모두 "0"이 된다.
AND 회로(56), AND 회로(58), AND 회로(60) 및 AND 회로(62)에는 입력 신호로서, 전력 모드 신호와 하이 레벨의 신호(즉 "1")가 공급된다. 이들 AND 회로(56, 58, 60, 62)에서는, 전력 모드 신호가 공급되는 단자는 로우 액티브이기 때문에, 전력 모드 신호가 "1"일 때의 출력값은 모두 "0"이고, 한편, 전력 모드 신호가 "0"일 때의 출력값은 모두 "1"이다.
OR 회로(63)는 AND 회로(55)의 출력값과 AND 회로(56)의 출력값의 OR 논리를 출력한다. OR 회로(64)는 AND 회로(57)의 출력값과 AND 회로(58)의 출력값의 OR 논리를 출력한다. OR 회로(65)는 AND 회로(59)의 출력값과 AND 회로(60)의 출력값의 OR 논리를 출력한다. OR 회로(66)는 AND 회로(61)의 출력값과 AND 회로(62)의 출력 값의 OR 논리를 출력한다.
예컨대, OR 회로(63)의 출력 신호는 웨이 0의 RAM 전력 제어 신호로서, 태그 메모리 RAM 모듈(31a) 및 캐시 메모리 RAM 모듈(32a)의 소비 전력을 각각 제어하는 소비 전력 모드 제어 장치(40a) 및 소비 전력 모드 제어 장치(41a)에 공급된다. 마찬가지로 OR 회로(64)의 출력 신호는 웨이 1의 RAM 전력 제어 신호로서, 태그 메모리 RAM 모듈(31b)용 소비 전력 모드 제어 장치(40b) 및 캐시 메모리 RAM 모듈(32b)용 소비 전력 모드 제어 장치(41b)에 공급된다.
OR 회로(65)의 출력 신호는 웨이 2의 RAM 전력 제어 신호로서, 태그 메모리 RAM 모듈(31c)용 소비 전력 모드 제어 장치(40c) 및 캐시 메모리 RAM 모듈(32c)용 소비 전력 모드 제어 장치(41c)에 공급된다. OR 회로(66)의 출력 신호는 웨이 3의 RAM 전력 제어 신호로서, 태그 메모리 RAM 모듈(31d)용 소비 전력 모드 제어 장치(40d) 및 캐시 메모리 RAM 모듈(32d)용 소비 전력 모드 제어 장치(41d)에 공급된다.
여기서, 각 소비 전력 모드 제어 장치(40a, 40b, 40c, 40d, 41a, 41b, 41c, 41d)는 입력되는 RAM 전력 제어 신호가 "1"일 때에는 대응하는 RAM 모듈을 통상 상태로 동작시키고, 한편, RAM 전력 제어 신호가 "0"일 때에는 저소비 전력 상태로 동작시킨다. 따라서, 전력 모드 신호가 "0"일 때에는 입력되는 어드레스의 2비트의 값에 관계없이 AND 회로(56, 58, 60, 62)의 출력값은 "1"이기 때문에, OR 회로(63∼66)의 출력값, 즉 각 소비 전력 모드 제어 장치(40a, 40b, 40c, 40d, 41a, 41b, 41c, 41d)에 입력되는 RAM 전력 제어 신호의 값은 모두 "1"이 된다.
즉, 태그 메모리 RAM 모듈(31a, 31b, 31c, 31d) 및 캐시 메모리 RAM 모듈(32a, 32b, 32c, 32d)은 모두 통상 상태로 동작하는 구성이 되고, 이 때의 캐시 메모리 시스템은 세트 어소시에이티브 구성이 된다.
한편, 전력 모드 신호가 "1"일 때에는 입력되는 어드레스의 2비트의 값을 기초로 하여 AND 회로(51∼54) 중 어느 하나의 출력값이 "1"이 되고, 그것에 의해 AND 회로(55, 57, 59, 61) 중 어느 하나의 출력값이 "1"이 된다. 따라서, OR 회로(63∼66) 중 어느 하나의 출력값이 "1"이 되기 때문에, 소비 전력 모드 제어 장치(40a, 40b, 40c, 40d)와 이들 각각에 대응하는 소비 전력 모드 제어 장치(41a, 41b, 41c, 41d) 중 1세트의 소비 전력 모드 제어 장치로의 RAM 전력 제어 신호의 값만이 "1"이 된다.
즉, 태그 메모리 RAM 모듈(31a, 31b, 31c, 31d) 및 캐시 메모리 RAM 모듈(32a, 32b, 32c, 32d) 중, 입력된 어드레스의 2비트의 값에 대응하는 태그 메모리 RAM 모듈과 캐시 메모리 RAM 모듈만이 통상 상태로 동작하고, 나머지 RAM 모듈은 저소비 전력 상태가 된다. 이 때의 캐시 메모리 시스템은 다이렉트 맵 구성이다. 또한, RAM 전력 제어 장치(37)의 구성은 전술한 논리 회로 구성에 한정되지 않는다.
도 5는 데이터 선택기 제어 회로(38)의 일례를 도시한 논리 회로도이다. 데이터 선택기 제어 회로(38)는 8개의 AND 회로(67∼74)와, 4개의 OR 회로(75∼78)를 구비한다.
AND 회로(67), AND 회로(69), AND 회로(71) 및 AND 회로(73)에는 입력 신호 로서, 전력 모드 신호와, 태그 판정 회로(33)내의 각 AND 회로(36a, 36b, 36c, 36d)의 출력 신호가 각각 공급된다. 이들 AND 회로(67, 69, 71, 73)의 전력 모드 신호가 입력되는 단자는 로우 액티브이기 때문에, 전력 모드 신호가 "1"일 때에는 이들의 출력은 전부 "0"이 된다. 한편, 전력 모드 신호가 "0"일 때에는 태그 판정 회로(33)내의 각 AND 회로(36a, 36b, 36c, 36d)의 출력 신호가 "1"인 웨이의 AND 회로의 출력값만이 "1"이 된다.
AND 회로(68), AND 회로(70), AND 회로(72) 및 AND 회로(74)에는 입력 신호로서, 전력 모드 신호와, RAM 전력 제어 장치(37)내의 각 OR 회로(63, 64, 65, 66)로부터 출력되는 RAM 전력 제어 신호가 각각 공급된다. 전력 모드 신호가 "1"일 때에는 RAM 전력 제어 신호가 "1"인 웨이의 AND 회로의 출력값만이 "1"이 된다. 한편, 전력 모드 신호가 "0"일 때에는 이들의 출력은 전부 "0"이 된다.
OR 회로(75)는 AND 회로(67)의 출력값과 AND 회로(68)의 출력값의 OR 논리를 출력한다. OR 회로(76)는 AND 회로(69)의 출력값과 AND 회로(70)의 출력값의 OR 논리를 출력한다. OR 회로(77)는 AND 회로(71)의 출력값과 AND 회로(72)의 출력값의 OR 논리를 출력한다. OR 회로(78)는 AND 회로(73)의 출력값과 AND 회로(74)의 출력값의 OR 논리를 출력한다.
예컨대, OR 회로(75), OR 회로(76), OR 회로(77) 및 OR 회로(78)의 각 출력 신호는 각각 웨이 0, 웨이 1, 웨이 2 및 웨이 3의 각 캐시 메모리 RAM 모듈(32a, 32b, 32c, 32d)로부터 판독된 데이터 중의 하나를 선택하기 위한 데이터 선택 신호로서 데이터 선택기(34)에 공급된다.
따라서, 전력 모드 신호가 "0"일 때(세트 어소시에이티브 구성일 때)에는 각 캐시 메모리 RAM 모듈(32a, 32b, 32c, 32d)로부터 판독된 데이터 중, 태그 판정 회로(33)에 의해 결정된, 요구 어드레스와, 각 태그 메모리 RAM 모듈(31a, 31b, 31c, 31d)로부터 판독된 유효한 어드레스 데이터가 일치한 웨이의 데이터만이 선택되어 데이터 버스에 출력된다.
전력 모드 신호가 "1"일 때(다이렉트 맵 구성일 때)에는 각 캐시 메모리 RAM 모듈(32a, 32b, 32c, 32d)로부터 판독된 데이터 중, RAM 전력 제어 신호에 의해 통상 상태로 된 캐시 메모리 RAM 모듈로부터 판독된 데이터만이 선택되어 데이터 버스에 출력된다. 또한, 데이터 선택기 제어 회로(38)의 구성은 전술한 논리 회로 구성에 한정되지 않는다.
도 6은 캐시·적중/실패 제어 회로(39)의 일례를 도시한 논리 회로도이다. 캐시·적중/실패 제어 회로(39)는 4개의 AND 회로(79∼82)와, 1개의 OR 회로(83)를 갖는다. AND 회로(81)에는 입력 신호로서, 전력 모드 신호와, 각 웨이의 RAM 전력 제어 신호를 입력으로 하는 AND 회로(79)의 출력 신호가 공급된다. AND 회로(82)에는 입력 신호로서, 전력 모드 신호와, 태그 판정 회로(33)내의 각 AND 회로(36a, 36b, 36c, 36d)의 출력 신호를 입력으로 하는 AND 회로(80)의 출력 신호가 공급된다. OR 회로(83)는 AND 회로(81)의 출력값과 AND 회로(82)의 출력값의 OR 논리를 출력한다.
전력 모드 신호가 "0"일 때(세트 어소시에이티브 구성일 때)에는 AND 회로(81)의 출력값은 "0"이 된다. 그 때, AND 회로(82)의 전력 모드 신호가 입력되 는 단자는 로우 액티브이기 때문에, AND 회로(82)의 출력값은 AND 회로(80)의 출력값에 의해 결정된다. 따라서, 캐시·적중/실패 제어 회로(39)의 출력값이 되는 OR 회로(83)의 출력값은 태그 판정 회로(33)의 출력값에 의해 결정된다. 한편, 전력 모드 신호가 "1"일 때(다이렉트 맵 구성일 때)에는 AND 회로(82)의 출력값은 "0"이 되지만, AND 회로(81)의 출력값은 AND 회로(79)의 출력값에 의해 결정된다. 따라서, 캐시·적중/실패 제어 회로(39)의 출력값은 RAM 전력 제어 신호의 값에 의해 결정된다. 또한, 캐시·적중/실패 제어 회로(39)의 구성은 전술한 논리 회로 구성에 한정되지 않는다.
도 7은 제1 실시 형태에 따른 캐시 메모리 시스템의 메모리 영역의 개념을 설명하기 위한 모식도이다. SDRAM 등의 메인 메모리(84)를 복수 영역으로 분할하여 생각하면, 캐시 메모리 시스템이 세트 어소시에이티브 구성으로 동작하는 경우에는, 캐시 메모리 RAM 모듈(32a, 32b, 32c, 32d)의 각각에 저장되는 메인 메모리(84)의 영역은 제1 번째, 제2 번째, 제3 번째, ···와 같이 메인 메모리(84)의 전 영역이다.
이에 대하여, 캐시 메모리 시스템이 다이렉트 맵 구성으로 동작하는 경우, 예컨대 캐시 메모리 RAM 모듈(32a)에는 메인 메모리(84)의 제1 번째 영역, 제5 번째 영역, 제9 번째 영역, 제13 번째 영역, ···이 저장된다. 마찬가지로, 캐시 메모리 RAM 모듈(32b)에 저장되는 메인 메모리(84)의 영역은 제2 번째, 제6 번째, 제10 번째, 제14 번째, ···이고, 캐시 메모리 RAM 모듈(32c)에서는 제3 번째, 제7 번째, 제11 번째, 제15 번째, ···이며, 캐시 메모리 RAM 모듈(32d)에서는 제4 번째, 제8 번째, 제12 번째, 제16 번째, ···가 된다.
이어서, 제1 실시 형태에 따른 캐시 메모리 시스템의 작용에 대해서 설명한다. 전력 모드 신호가 "0", 즉 캐시 메모리 시스템이 세트 어소시에이티브 구성으로 동작하는 경우에는, 데이터 판독 동작 및 데이터 기록 동작은 모두 종래의 세트 어소시에이티브 구성의 캐시 메모리 시스템에서의 동작과 동일하다.
전력 모드 신호가 "1", 즉 캐시 메모리 시스템이 다이렉트 맵 구성으로 동작하는 경우에는, 데이터 판독 동작 및 데이터 기록 동작 중 어느 것이나, 입력된 어드레스의 예컨대 제13 비트째와 제12 비트째의 값을 기초로 하여 어느 하나의 웨이의 태그 메모리 RAM 모듈 및 캐시 메모리 RAM 모듈만이 통상 상태로 동작한다. 나머지 3개의 웨이에 대해서는, 태그 메모리 RAM 모듈도 캐시 메모리 RAM 모듈도 저소비 전력 상태가 된다. 데이터 판독시에는 저소비 전력 상태의 캐시 메모리 RAM 모듈로부터 판독된 데이터는 RAM 전력 제어 신호를 기초로 하여 데이터 선택기(34)에 의해 무효로 된다.
전술한 제1 실시 형태에 따르면, 전력 모드 신호가 고적중율 모드일 때에는 캐시 메모리 시스템은 n 웨이의 세트 어소시에이티브 구성으로서 동작하고, 한편, 저소비 전력 모드일 때에는 1 웨이의 다이렉트 맵 구성으로서 동작하기 때문에, 전력 소비는 많아도 연산 처리 장치의 성능을 우선하는 경우와, 저소비 전력을 우선하는 경우를, 사용자나, 사용하고 있는 애플리케이션 등의 주변 환경에 따라 선택할 수 있다.
(제2 실시 형태)
도 8은 본 발명의 제2 실시 형태에 따른 캐시 메모리 시스템의 일례를 도시한 블록 구성도이다. 제2 실시 형태가 제1 실시 형태의 캐시 메모리 시스템(도 3 참조)과 다른 것은, 첫 번째로, 데이터 선택기 제어 회로(38) 대신에 태그 판정 결과 무효화 회로(42)를 이용하고, 태그 판정 회로(33)와 태그 판정 결과 무효화 회로(42)에 의해 태그 데이터 선택기 제어 수단을 구성하고 있는 것이다.
두 번째로, 캐시의 적중 또는 실패를 도시하지 않은 프로세서 코어 등으로 되돌리기 위해서 캐시·적중/실패 제어 회로(39) 대신에 태그 판정 결과 무효화 회로(42)의 출력을 되돌리도록 한 것이다. 그 밖의 구성은 제1 실시 형태와 동일하기 때문에, 제1 실시 형태와 동일한 구성에 대해서는 동일한 부호를 붙이고, 그 설명을 생략한다.
태그 판정 결과 무효화 회로(42)는 캐시 메모리 시스템이 다이렉트 맵 구성으로 동작하는 경우에, 저소비 전력 상태의 태그 메모리 RAM 모듈로부터 판독된 어드레스 데이터 및 엔트리·밸리드·플래그를 무효로 한다. 태그 판정 결과 무효화 회로(42)는 4개의 AND 회로(43a, 43b, 43c, 43d)를 갖는다. 웨이 0의 AND 회로(43a)에는 웨이 0의 RAM 전력 제어 신호와, 태그 판정 회로(33)내의 AND 회로(36a)의 출력 신호가 공급된다.
마찬가지로, 웨이 1의 AND 회로(43b), 웨이 2의 AND 회로(43c) 및 웨이 3의 AND 회로(43d)에는 각각 웨이 1의 RAM 전력 제어 신호와 태그 판정 회로(33)내의 AND 회로(36b)의 출력 신호, 웨이 2의 RAM 전력 제어 신호와 태그 판정 회로(33)내의 AND 회로(36c)의 출력 신호 및 웨이 3의 RAM 전력 제어 신호와 태그 판정 회로(33)내의 AND 회로(36d)의 출력 신호가 공급된다.
이어서, 제2 실시 형태에 따른 캐시 메모리 시스템의 작용에 대해서 설명하며, 전력 모드 신호가 "1", 즉 캐시 메모리 시스템이 다이렉트 맵 구성으로 동작하는 경우에 있어서, 데이터의 판독시에, 저소비 전력 상태의 캐시 메모리 RAM 모듈로부터 판독된 데이터가 태그 판정 결과 무효화 회로(42)의 출력 신호를 기초로 하여 데이터 선택기(34)에 의해 무효로 되는 점을 제외하고 제1 실시 형태와 동일하다.
전술한 제2 실시 형태에 따르면, 전력 모드 신호가 고적중율 모드일 때 캐시 메모리 시스템은 n 웨이의 세트 어소시에이티브 구성으로서 동작하고, 한편, 저소비 전력 모드일 때에는 1 웨이의 다이렉트 맵 구성으로서 동작하기 때문에, 전력 소비는 많아도 연산 처리 장치의 성능을 우선하는 경우와, 저소비 전력을 우선하는 경우를, 사용자나, 사용하고 있는 애플리케이션 등의 주변 환경에 따라 선택할 수 있다.
(제3 실시 형태)
제1 실시 형태 및 제2 실시 형태가 전력 모드 신호에 의해 세트 어소시에이티브 구성과 다이렉트 맵 구성과의 동적인 전환이 가능한 캐시 메모리 시스템이었던 것에 대하여, 제3 실시 형태에 따른 캐시 메모리 시스템은 저소비 전력화를 실현하기 위해서 다이렉트 맵 구성으로 한 것이다. 또한, 제3 실시 형태의 각 예에 있어서, 제1 실시 형태 또는 제2 실시 형태와 동일한 구성에 대해서는 이들과 동일한 부호를 붙이고 그 설명을 생략한다.
도 9는 본 발명의 제3 실시 형태에 따른 캐시 메모리 시스템의 일례를 도시한 블록 구성도이다. 이 캐시 메모리 시스템은 도 3에 도시된 제1 실시 형태의 캐시 메모리 시스템과 같은 구성의 시스템을 다이렉트 맵 구성으로 한 것으로, RAM 전력 제어 장치(44) 및 데이터 선택기 제어 회로(45)는 전력 모드 신호에 의존하지 않는 구성으로 되어 있다. 또한, 캐시의 적중 또는 실패를 전력 모드 신호에 의존하지 않고 프로세서 코어 등으로 되돌리는 구성으로 되어 있다.
도 10은 본 발명의 제3 실시 형태에 따른 캐시 메모리 시스템의 다른 예를 도시한 블록 구성도이다. 이 캐시 메모리 시스템은 도 8에 도시된 제2 실시 형태의 캐시 메모리 시스템과 같은 구성의 시스템을 다이렉트 맵 구성을 갖도록 한 것으로, RAM 전력 제어 장치(44)가 전력 모드 신호에 의존하지 않는 구성으로 되어 있다.
도 11은 도 9에 도시된 캐시 메모리 시스템의 변형예를 도시한 블록 구성도이다. 이 캐시 메모리 시스템은 도 9에 도시된 캐시 메모리 시스템에 있어서, 저소비 전력 상태로 되는 대상을 캐시 메모리 RAM 모듈(32a, 32b, 32c, 32d)만으로 한 것이다.
도 12는 도 9에 도시된 캐시 메모리 시스템의 변형예를 도시한 블록 구성도이다. 이 캐시 메모리 시스템은 도 9에 도시된 캐시 메모리 시스템에 있어서, 4개의 태그 메모리 RAM 모듈(31a, 31b, 31c, 31d) 및 4개의 캐시 메모리 RAM 모듈(32a, 32b, 32c, 32d) 대신에 4영역으로 분할된 태그 메모리 RAM 모듈(46) 및 캐시 메모리 RAM 모듈(48)을 각각 설치한 것이다.
태그 메모리 RAM 모듈(46)에는 각 영역마다 판독 회로(47a, 47b, 47c, 47d)가 설치되어 있다. 마찬가지로, 캐시 메모리 RAM 모듈(48)에도 각 영역마다 판독 회로(49a, 49b, 49c, 49d)가 설치되어 있다. 이들 판독 회로(47a, 47b, 47c, 47d, 49a, 49b, 49c, 49d)는 RAM 전력 제어 장치(44)에 의해 통상 상태와 저소비 전력 상태로 전환된다.
전술한 제3 실시 형태에 따르면, 어느 예에 있어서도, 요구 어드레스의 값을 기초로 하여 어느 하나의 웨이만이 통상 상태로 동작하고, 또한 나머지 웨이는 저소비 전력 상태가 되기 때문에, 캐시 메모리 시스템의 저소비 전력화를 도모할 수 있다.
(부기 1) n개의 태그 메모리 RAM부와,
통상 상태와 저소비 전력 상태의 전환이 가능한 n 개의 캐시 메모리 RAM부와,
전력 모드 신호를 기초로 하여 상기 캐시 메모리 RAM부 중, 모든 캐시 메모리 RAM부가 통상 상태로 동작하는 n 웨이 구성, 또는 입력된 요구 어드레스의 값을 기초로 하여 어느 하나의 캐시 메모리 RAM부만이 통상 상태로 동작하고, 또한 나머지 캐시 메모리 RAM부가 저소비 전력 상태가 되는 1 웨이 구성 중 어느 하나의 웨이 구성으로의 전환을 제어하는 RAM 전력 제어 수단과,
데이터 판독시에, 어느 하나의 캐시 메모리 RAM부로부터 판독된 데이터만을 선택하는 데이터 선택기와,
상기 n 웨이 구성에서는, 상기 요구 어드레스의 값에 대응하는 캐시 메모리 RAM부로부터 판독된 데이터만을 선택하고, 한편, 상기 1 웨이 구성에서는, 통상 상태의 캐시 메모리 RAM부로부터 판독된 데이터만을 선택하도록 상기 데이터 선택기를 제어하는 데이터 선택기 제어 수단을 구비하는 것을 특징으로 하는 캐시 메모리 시스템.
(부기 2) 상기 RAM 전력 제어 수단은 상기 요구 어드레스의 값과 상기 전력 모드 신호의 값을 기초로 하여 각 캐시 메모리 RAM부의 동작 상태를 제어하기 위한 신호를 생성하는 논리 회로로 구성되어 있는 것을 특징으로 하는 부기 1에 기재한 캐시 메모리 시스템.
(부기 3)
통상 상태와 저소비 전력 상태의 전환이 가능한 n개의 태그 메모리 RAM부와,
통상 상태와 저소비 전력 상태의 전환이 가능한 n개의 캐시 메모리 RAM부와,
전력 모드 신호를 기초로 하여 상기 태그 메모리 RAM부 및 상기 캐시 메모리 RAM부 중, 모든 태그 메모리 RAM부 및 모든 캐시 메모리 RAM부가 통상 상태로 동작하는 n 웨이 구성, 또는 입력된 요구 어드레스의 값을 기초로 하여 어느 하나의 태그 메모리 RAM부와 그것에 대응하는 하나의 캐시 메모리 RAM부만이 통상 상태로 동작하고, 또한 나머지 태그 메모리 RAM부 및 캐시 메모리 RAM부가 저소비 전력 상태가 되는 1 웨이 구성 중 어느 하나의 웨이 구성으로의 전환을 제어하는 RAM 전력 제어 수단과,
데이터 판독시에, 어느 하나의 캐시 메모리 RAM부로부터 판독된 데이터만을 선택하는 데이터 선택기와,
상기 n 웨이 구성에서는, 상기 요구 어드레스의 값에 대응하는 캐시 메모리 RAM부로부터 판독된 데이터만을 선택하고, 한편, 상기 1 웨이 구성에서는, 통상 상태의 캐시 메모리 RAM부로부터 판독된 데이터만을 선택하도록 상기 데이터 선택기를 제어하는 데이터 선택기 제어 수단을 구비하는 것을 특징으로 하는 캐시 메모리 시스템.
(부기 4) 상기 RAM 전력 제어 수단은 상기 요구 어드레스의 값과 상기 전력 모드 신호의 값을 기초로 하여 각 태그 메모리 RAM부 및 각 캐시 메모리 RAM부의 동작 상태를 제어하기 위한 신호를 생성하는 논리 회로로 구성되어 있는 것을 특징으로 하는 부기 3에 기재한 캐시 메모리 시스템.
(부기 5) 상기 데이터 선택기 제어 수단은,
각 태그 메모리 RAM부로부터 판독된 상기 어드레스 데이터와, 상기 요구 어드레스의 값이 일치하는지 여부를 판정하는 태그 판정 회로와,
상기 태그 판정 회로에 의한 판정 결과, 상기 전력 모드 신호의 값 및 상기 RAM 전력 제어 수단에 의한 제어 내용을 기초로 하여 각 캐시 메모리 RAM부로부터 판독된 데이터 중 어느 하나의 데이터를 선택하도록 제어하는 데이터 선택기 제어 회로를 갖는 것을 특징으로 하는 부기 1 내지 4 중 어느 하나에 기재한 캐시 메모리 시스템.
(부기 6) 상기 데이터 선택기 제어 수단은,
각 태그 메모리 RAM부로부터 판독된 상기 어드레스 데이터와, 상기 요구 어드레스의 값이 일치하는지 여부를 판정하는 태그 판정 회로와,
저소비 전력 상태의 태그 메모리 RAM부로부터 판독된 어드레스 데이터와 상기 요구 어드레스의 값이 일치한 경우 상기 태그 판정 회로에 의한 판정 결과를 무효로 하는 태그 판정 결과 무효화 회로를 갖는 것을 특징으로 하는 부기 3 또는 4에 기재한 캐시 메모리 시스템.
(부기 7) 병렬로 접속된 n개의 태그 메모리 RAM부와,
통상 상태와 저소비 전력 상태의 전환이 가능한 n개의 캐시 메모리 RAM부와,
상기 캐시 메모리 RAM부 중, 입력된 요구 어드레스의 값을 기초로 하여 어느 하나의 캐시 메모리 RAM부만이 통상 상태로 동작하고, 또한 나머지 캐시 메모리 RAM부가 저소비 전력 상태가 되도록 각 캐시 메모리 RAM부의 동작 상태를 제어하는 RAM 전력 제어 수단과,
데이터 판독시에, 어느 하나의 캐시 메모리 RAM부로부터 판독된 데이터만을 선택하는 데이터 선택기와,
상기 RAM 전력 제어 수단으로써 통상 상태로 된 캐시 메모리 RAM부로부터 판독된 데이터만을 선택하도록 상기 데이터 선택기를 제어하는 데이터 선택기 제어 수단을 구비하는 것을 특징으로 하는 캐시 메모리 시스템.
(부기 8) 상기 RAM 전력 제어 수단은 상기 요구 어드레스의 값을 기초로 하여 각 캐시 메모리 RAM부의 동작 상태를 제어하기 위한 신호를 생성하는 논리 회로로 구성되어 있는 것을 특징으로 하는 부기 7에 기재한 캐시 메모리 시스템.
(부기 9) 통상 상태와 저소비 전력 상태의 전환이 가능한 n개의 태그 메모리 RAM부와,
통상 상태와 저소비 전력 상태의 전환이 가능한 n개의 캐시 메모리 RAM부와,
상기 태그 메모리 RAM부 및 상기 캐시 메모리 RAM부 중, 입력된 요구 어드레스의 값을 기초로 하여 어느 하나의 태그 메모리 RAM부와 그것에 대응하는 하나의 캐시 메모리 RAM부만이 통상 상태로 동작하고, 또한 나머지 태그 메모리 RAM부 및 캐시 메모리 RAM부가 저소비 전력 상태가 되도록 각 태그 메모리 RAM부 및 각 캐시 메모리 RAM부의 동작 상태를 제어하는 RAM 전력 제어 수단과,
데이터 판독시에, 어느 하나의 캐시 메모리 RAM부로부터 판독된 데이터만을 선택하는 데이터 선택기와,
상기 RAM 전력 제어 수단에 의해 통상 상태로 된 캐시 메모리 RAM부로부터 판독된 데이터만을 선택하도록 상기 데이터 선택기를 제어하는 데이터 선택기 제어 수단을 구비하는 것을 특징으로 하는 캐시 메모리 시스템.
(부기 10) 상기 RAM 전력 제어 수단은 상기 요구 어드레스의 값을 기초로 하여 각 태그 메모리 RAM부 및 각 캐시 메모리 RAM부의 동작 상태를 제어하기 위한 신호를 생성하는 논리 회로로 구성되어 있는 것을 특징으로 하는 부기 9에 기재한 캐시 메모리 시스템.
(부기 11) 상기 데이터 선택기 제어 수단은,
각 태그 메모리 RAM부로부터 판독된 상기 어드레스 데이터와 상기 요구 어드레스의 값이 일치하는지 여부를 판정하는 태그 판정 회로와,
상기 태그 판정 회로에 의한 판정 결과 및 상기 RAM 전력 제어 수단에 의한 제어 내용을 기초로 하여 상기 캐시 메모리 RAM부로부터 판독된 데이터 중 어느 하 나의 데이터를 선택하도록 제어하는 데이터 선택기 제어 회로를 갖는 것을 특징으로 하는 부기 7 내지 10 중 어느 하나에 기재한 캐시 메모리 시스템.
(부기 12) 상기 데이터 선택기 제어 수단은,
각 태그 메모리 RAM부로부터 판독된 상기 어드레스 데이터와, 상기 요구 어드레스의 값이 일치하는지 여부를 판정하는 태그 판정 회로와,
저소비 전력 상태의 태그 메모리 RAM부로부터 판독된 어드레스 데이터와 상기 요구 어드레스의 값이 일치한 경우의 상기 태그 판정 회로에 의한 판정 결과를 무효로 하는 태그 판정 결과 무효화 회로를 갖는 것을 특징으로 하는 부기 9 또는 10에 기재한 캐시 메모리 시스템.
(부기 13) n개의 캐시 메모리 RAM부는 1모듈을 n개의 영역으로 분할한 개개의 영역에 대응하는 것을 특징으로 하는 부기 1 내지 12 중 어느 하나에 기재한 캐시 메모리 시스템.
(부기 14) n개의 상기 태그 메모리 RAM부는 1모듈을 n개의 영역으로 분할한 개개의 영역에 대응하는 것을 특징으로 하는 부기 3 내지 6 및 9 내지 12 중 어느 하나에 기재한 캐시 메모리 시스템.
본 발명에 따르면, 통상 상태와 저소비 전력 상태와의 전환이 가능한 태그 메모리 RAM부를 n개 병렬로 접속하는 동시에, 통상 상태와 저소비 전력 상태의 전환이 가능한 캐시 메모리 RAM부를 n개 병렬로 접속하고, 전력 모드 신호가 고적중율 모드일 때에는 모든 태그 메모리 RAM부 및 모든 캐시 메모리 RAM부가 통상 상태 로 동작하는 n 웨이의 세트 어소시에이티브 구성으로 되며, 한편, 전력 모드 신호가 저소비 전력 모드일 때에는 요구 어드레스의 값을 기초로 하여 어느 하나의 태그 메모리 RAM부와 그것에 대응하는 하나의 캐시 메모리 RAM부만이 통상 상태로 동작하고, 또한 나머지 태그 메모리 RAM부 및 캐시 메모리 RAM부가 저소비 전력 상태가 되는 1 웨이의 다이렉트 맵 구성으로 되기 때문에 전력 모드 신호가 고적중율 모드일 때에는 캐시 메모리 시스템은 n 웨이의 세트 어소시에이티브 구성으로서 동작하고, 한편, 저소비 전력 모드일 때에는 1 웨이의 다이렉트 맵 구성으로서 동작하므로, 전력 소비는 많아도 연산 처리 장치의 성능을 우선하는 경우와, 저소비 전력을 우선하는 경우를, 사용자나, 사용하고 있는 애플리케이션 등의 주변 환경에 따라 선택할 수 있다.

Claims (10)

  1. n개(n은 2이상의 자연수)의 태그 메모리부와;
    각각 통상 상태와 저소비 전력 상태 간에 상태 전환이 가능한 n개의 캐시 메모리부와;
    전력 모드 신호를 기초로 하여 모든 캐시 메모리부가 통상 상태로 동작하는 n 웨이 구성, 또는 입력된 요구 어드레스의 값을 기초로 하여 어느 하나의 캐시 메모리부만이 통상 상태로 동작하고, 나머지 캐시 메모리부는 저소비 전력 상태가 되는 1 웨이 구성 중 어느 하나의 웨이 구성으로의 전환을 제어하는 전력 제어 수단과;
    데이터 판독시에 어느 하나의 캐시 메모리부로부터 판독된 데이터만을 선택하는 데이터 선택기와;
    상기 n 웨이 구성에서는 상기 요구 어드레스의 값에 대응하는 캐시 메모리부로부터 판독된 데이터만을 선택하고, 상기 1 웨이 구성에서는 통상 상태의 캐시 메모리부로부터 판독된 데이터만을 선택하도록 상기 데이터 선택기를 제어하는 데이터 선택기 제어 수단
    을 포함하는 것을 특징으로 하는 캐시 메모리 시스템.
  2. 제1항에 있어서, 상기 전력 제어 수단은 상기 요구 어드레스의 값과 상기 전력 모드 신호의 값을 기초로 하여 각 캐시 메모리부의 동작 상태를 제어하기 위한 신호를 생성하는 논리 회로를 포함하는 것을 특징으로 하는 캐시 메모리 시스템.
  3. 제1항에 있어서, 상기 데이터 선택기 제어 수단은,
    각각의 태그 메모리부로부터 판독된 상기 어드레스 데이터와 상기 요구 어드레스의 값이 일치하는지 여부를 판정하는 태그 판정 회로와,
    상기 태그 판정 회로의 판정 결과, 상기 전력 모드 신호의 값, 및 상기 전력 제어 수단의 제어 내용을 기초로 하여 각각의 캐시 메모리부로부터 판독된 데이터 중 어느 하나의 데이터를 선택하도록 제어하는 데이터 선택기 제어 회로를 포함하는 것을 특징으로 하는 캐시 메모리 시스템.
  4. 제1항에 있어서, 상기 n개의 캐시 메모리부는 1 모듈을 n개의 영역으로 분할한 개개의 영역에 대응하는 것을 특징으로 하는 캐시 메모리 시스템.
  5. 각각 통상 상태와 저소비 전력 상태 간에 상태 전환이 가능한 n개(n은 2이상의 자연수)의 태그 메모리부와;
    각각 통상 상태와 저소비 전력 상태 간에 상태 전환이 가능한 n개의 캐시 메모리부와;
    전력 모드 신호를 기초로 하여 모든 태그 메모리부와 모든 캐시 메모리부가 통상 상태로 동작하는 n 웨이 구성, 또는 입력된 요구 어드레스의 값을 기초로 하여 하나의 태그 메모리부와 그 태그 메모리부에 대응하는 하나의 캐시 메모리부만이 통상 상태로 동작하고, 나머지 태그 메모리부와 캐시 메모리부는 저소비 전력 상태가 되는 1 웨이 구성 중 어느 하나의 웨이 구성으로의 전환을 제어하는 전력 제어 수단과;
    데이터 판독시에, 어느 하나의 캐시 메모리부로부터 판독된 데이터만을 선택하는 데이터 선택기와;
    상기 n 웨이 구성에서는 상기 요구 어드레스의 값에 대응하는 캐시 메모리부로부터 판독된 데이터만을 선택하고, 상기 1 웨이 구성에서는 통상 상태의 캐시 메모리부로부터 판독된 데이터만을 선택하도록 상기 데이터 선택기를 제어하는 데이터 선택기 제어 수단
    을 포함하는 것을 특징으로 하는 캐시 메모리 시스템.
  6. 제5항에 있어서, 상기 전력 제어 수단은 상기 요구 어드레스의 값과 상기 전력 모드 신호의 값을 기초로 하여 각각의 태그 메모리부와 각각의 캐시 메모리부의 동작 상태를 제어하기 위한 신호를 생성하는 논리 회로를 포함하는 것을 특징으로 하는 캐시 메모리 시스템.
  7. 제5항에 있어서, 상기 데이터 선택기 제어 수단은,
    각각의 태그 메모리부로부터 판독된 상기 어드레스 데이터와 상기 요구 어드레스의 값이 일치하는지 여부를 판정하는 태그 판정 회로와,
    상기 태그 판정 회로의 판정 결과, 상기 전력 모드 신호의 값, 및 상기 전력 제어 수단의 제어 내용을 기초로 하여, 각각의 캐시 메모리부로부터 판독된 데이터 중 어느 하나의 데이터를 선택하도록 제어하는 데이터 선택기 제어 회로를 포함하는 것을 특징으로 하는 캐시 메모리 시스템.
  8. 병렬로 접속된 n개(n은 2이상의 자연수)의 태그 메모리부와;
    각각 통상 상태와 저소비 전력 상태 간에 상태 전환이 가능한 n개의 캐시 메모리부와;
    상기 캐시 메모리부 중, 입력된 요구 어드레스의 값을 기초로 하여 하나의 캐시 메모리부만이 통상 상태로 동작하고, 나머지 캐시 메모리부는 저소비 전력 상태가 되도록 각 캐시 메모리부의 동작 상태를 제어하는 전력 제어 수단과;
    데이터 판독시에 어느 하나의 캐시 메모리부로부터 판독된 데이터만을 선택하는 데이터 선택기와;
    상기 전력 제어 수단으로써 통상 상태로 된 캐시 메모리부로부터 판독된 데이터만을 선택하도록 상기 데이터 선택기를 제어하는 데이터 선택기 제어 수단
    을 포함하는 것을 특징으로 하는 캐시 메모리 시스템.
  9. 제8항에 있어서, 상기 전력 제어 수단은 상기 요구 어드레스의 값을 기초로 하여 각각의 캐시 메모리부의 동작 상태를 제어하기 위한 신호를 생성하는 논리 회로를 포함하는 것을 특징으로 하는 캐시 메모리 시스템.
  10. 제8항에 있어서, 상기 데이터 선택기 제어 수단은,
    각 태그 메모리부로부터 판독된 상기 어드레스 데이터와 상기 요구 어드레스의 값이 일치하는지 여부를 판정하는 태그 판정 회로와,
    상기 태그 판정 회로의 판정 결과와 상기 전력 제어 수단의 제어 내용을 기초로 하여 상기 캐시 메모리부로부터 판독된 데이터 중 어느 하나를 선택하도록 제어하는 데이터 선택기 제어 회로를 포함하는 것을 특징으로 하는 캐시 메모리 시스템.
KR1020010086821A 2001-02-13 2001-12-28 캐시 메모리 시스템 KR100794973B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JPJP-P-2001-00035175 2001-02-13
JP2001035175A JP2002236616A (ja) 2001-02-13 2001-02-13 キャッシュメモリシステム

Publications (2)

Publication Number Publication Date
KR20020066950A KR20020066950A (ko) 2002-08-21
KR100794973B1 true KR100794973B1 (ko) 2008-01-16

Family

ID=18898654

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020010086821A KR100794973B1 (ko) 2001-02-13 2001-12-28 캐시 메모리 시스템

Country Status (5)

Country Link
US (1) US20020112126A1 (ko)
EP (1) EP1231539B1 (ko)
JP (1) JP2002236616A (ko)
KR (1) KR100794973B1 (ko)
DE (1) DE60117735T2 (ko)

Families Citing this family (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100395756B1 (ko) * 2001-06-16 2003-08-21 삼성전자주식회사 캐쉬 메모리 및 이를 이용하는 마이크로 프로세서
JP2003196156A (ja) * 2001-12-28 2003-07-11 Fujitsu Ltd 情報処理装置および情報処理方法
US6944714B2 (en) * 2002-07-30 2005-09-13 Hewlett-Packard Development Company, L.P. Method and apparatus for saving microprocessor power when sequentially accessing the microprocessor's instruction cache
JP3834323B2 (ja) 2004-04-30 2006-10-18 日本電気株式会社 キャッシュメモリおよびキャッシュ制御方法
US20070156992A1 (en) * 2005-12-30 2007-07-05 Intel Corporation Method and system for optimizing latency of dynamic memory sizing
EP1849082B1 (en) * 2005-02-07 2013-08-21 ST-Ericsson SA Data processing system and method of cache replacement
US20070043965A1 (en) * 2005-08-22 2007-02-22 Intel Corporation Dynamic memory sizing for power reduction
US7991955B2 (en) * 2006-12-13 2011-08-02 Advanced Micro Devices, Inc. Method and apparatus to achieve more level thermal gradient
JP4635063B2 (ja) 2008-03-11 2011-02-16 株式会社東芝 キャッシュメモリ制御回路及びプロセッサ
JP5142868B2 (ja) * 2008-07-17 2013-02-13 株式会社東芝 キャッシュメモリ制御回路及びプロセッサ
US8209489B2 (en) 2008-10-22 2012-06-26 International Business Machines Corporation Victim cache prefetching
US8347037B2 (en) 2008-10-22 2013-01-01 International Business Machines Corporation Victim cache replacement
US8499124B2 (en) 2008-12-16 2013-07-30 International Business Machines Corporation Handling castout cache lines in a victim cache
US8225045B2 (en) 2008-12-16 2012-07-17 International Business Machines Corporation Lateral cache-to-cache cast-in
US8117397B2 (en) 2008-12-16 2012-02-14 International Business Machines Corporation Victim cache line selection
US8489819B2 (en) 2008-12-19 2013-07-16 International Business Machines Corporation Victim cache lateral castout targeting
US8949540B2 (en) 2009-03-11 2015-02-03 International Business Machines Corporation Lateral castout (LCO) of victim cache line in data-invalid state
US8285939B2 (en) 2009-04-08 2012-10-09 International Business Machines Corporation Lateral castout target selection
US8312220B2 (en) 2009-04-09 2012-11-13 International Business Machines Corporation Mode-based castout destination selection
US8347036B2 (en) 2009-04-09 2013-01-01 International Business Machines Corporation Empirically based dynamic control of transmission of victim cache lateral castouts
US8327073B2 (en) 2009-04-09 2012-12-04 International Business Machines Corporation Empirically based dynamic control of acceptance of victim cache lateral castouts
US9189403B2 (en) 2009-12-30 2015-11-17 International Business Machines Corporation Selective cache-to-cache lateral castouts
US8352683B2 (en) * 2010-06-24 2013-01-08 Intel Corporation Method and system to reduce the power consumption of a memory device
EP2799997B1 (en) * 2011-12-26 2020-01-22 Renesas Electronics Corporation Data processing device
US9396117B2 (en) * 2012-01-09 2016-07-19 Nvidia Corporation Instruction cache power reduction
US9547358B2 (en) 2012-04-27 2017-01-17 Nvidia Corporation Branch prediction power reduction
US9552032B2 (en) 2012-04-27 2017-01-24 Nvidia Corporation Branch prediction power reduction
US8943274B2 (en) * 2012-05-22 2015-01-27 Seagate Technology Llc Changing power state with an elastic cache
US9135182B2 (en) * 2012-06-01 2015-09-15 Semiconductor Energy Laboratory Co., Ltd. Central processing unit and driving method thereof
US8977817B2 (en) * 2012-09-28 2015-03-10 Apple Inc. System cache with fine grain power management
JP5954112B2 (ja) * 2012-10-24 2016-07-20 富士通株式会社 メモリ装置、演算処理装置、及びキャッシュメモリ制御方法
KR101490072B1 (ko) * 2014-01-28 2015-02-06 한양대학교 산학협력단 캐시의 전력 제어를 위한 장치 및 방법
US10719434B2 (en) 2014-12-14 2020-07-21 Via Alliance Semiconductors Co., Ltd. Multi-mode set associative cache memory dynamically configurable to selectively allocate into all or a subset of its ways depending on the mode
US9798668B2 (en) 2014-12-14 2017-10-24 Via Alliance Semiconductor Co., Ltd. Multi-mode set associative cache memory dynamically configurable to selectively select one or a plurality of its sets depending upon the mode
JP6218971B2 (ja) * 2014-12-14 2017-10-25 ヴィア アライアンス セミコンダクター カンパニー リミテッド アドレス・タグ・ビットに基づく動的キャッシュ置換ウェイ選択
JP6149265B2 (ja) * 2016-04-05 2017-06-21 ルネサスエレクトロニクス株式会社 データ処理装置
US11507174B2 (en) * 2020-02-25 2022-11-22 Qualcomm Incorporated System physical address size aware cache memory

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04186595A (ja) * 1990-11-21 1992-07-03 Hitachi Ltd キャッシュメモリ装置
JPH09223068A (ja) * 1996-02-15 1997-08-26 Toshiba Microelectron Corp キャッシュメモリ
KR19980081026A (ko) * 1997-04-03 1998-11-25 윌리엄비.켐플러 저전력 라인 시스템 및 방법
JPH1185617A (ja) * 1997-09-01 1999-03-30 Toshiba Corp コンピュータシステム
KR19990057856A (ko) * 1997-12-30 1999-07-15 김영환 저전력 캐쉬 메모리 장치

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5014195A (en) * 1990-05-10 1991-05-07 Digital Equipment Corporation, Inc. Configurable set associative cache with decoded data element enable lines
US5860127A (en) * 1995-06-01 1999-01-12 Hitachi, Ltd. Cache memory employing dynamically controlled data array start timing and a microcomputer using the same
US5848428A (en) * 1996-12-19 1998-12-08 Compaq Computer Corporation Sense amplifier decoding in a memory device to reduce power consumption

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04186595A (ja) * 1990-11-21 1992-07-03 Hitachi Ltd キャッシュメモリ装置
JPH09223068A (ja) * 1996-02-15 1997-08-26 Toshiba Microelectron Corp キャッシュメモリ
KR19980081026A (ko) * 1997-04-03 1998-11-25 윌리엄비.켐플러 저전력 라인 시스템 및 방법
JPH1185617A (ja) * 1997-09-01 1999-03-30 Toshiba Corp コンピュータシステム
KR19990057856A (ko) * 1997-12-30 1999-07-15 김영환 저전력 캐쉬 메모리 장치

Also Published As

Publication number Publication date
JP2002236616A (ja) 2002-08-23
DE60117735T2 (de) 2006-08-17
EP1231539A2 (en) 2002-08-14
US20020112126A1 (en) 2002-08-15
EP1231539A3 (en) 2004-01-21
DE60117735D1 (de) 2006-05-04
EP1231539B1 (en) 2006-03-08
KR20020066950A (ko) 2002-08-21

Similar Documents

Publication Publication Date Title
KR100794973B1 (ko) 캐시 메모리 시스템
US7694077B2 (en) Multi-port integrated cache
US8443162B2 (en) Methods and apparatus for dynamically managing banked memory
EP1684180A1 (en) Cache memory and control method thereof
JPH07271672A (ja) マルチウェイセットアソシアティブキャッシュシステム
US6516387B1 (en) Set-associative cache having a configurable split and unified mode
KR100397413B1 (ko) 멀티포트 캐쉬 메모리
CA2266259A1 (en) Variable length register device
KR100304779B1 (ko) 다방향연상기억방식의캐시메모리
KR100475267B1 (ko) 메모리및마이컴
KR100188012B1 (ko) 캐시 메모리의 사용 모드 설정 장치
JP2003131945A (ja) キャッシュメモリ装置
US5754816A (en) Data storage apparatus and method with two stage reading
US7032075B2 (en) Instruction cache and microprocessor
JPH01233537A (ja) キャッシュメモリを備えた情報処理装置
KR100314001B1 (ko) 가변라인사이즈를가지는캐시메모리
KR100266630B1 (ko) 마이크로 프로세서의 캐쉬 메모리 제어 회로
KR100257750B1 (ko) 메모리 겸용 캐시
KR200182184Y1 (ko) 메모리 겸용 캐시
KR920003845B1 (ko) 개인용 컴퓨터의 사용자를 위한 rom의 영역 확장 시스템
JP2900872B2 (ja) 情報処理装置
KR20020082282A (ko) 메모리 내장 마이크로 컨트롤러
JPH11296431A (ja) 情報処理装置及びキャッシュメモリのマッピング方法
JPH04177439A (ja) シングルチップ・マイクロコンピュータ
KR20010018243A (ko) 마이크로 프로세서의 레지스터 맵핑 방법

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee