KR100620258B1 - 멀티-웨이 캐시 장치 및 방법 - Google Patents

멀티-웨이 캐시 장치 및 방법 Download PDF

Info

Publication number
KR100620258B1
KR100620258B1 KR1019990013266A KR19990013266A KR100620258B1 KR 100620258 B1 KR100620258 B1 KR 100620258B1 KR 1019990013266 A KR1019990013266 A KR 1019990013266A KR 19990013266 A KR19990013266 A KR 19990013266A KR 100620258 B1 KR100620258 B1 KR 100620258B1
Authority
KR
South Korea
Prior art keywords
way
cache
attribute
access
comparison result
Prior art date
Application number
KR1019990013266A
Other languages
English (en)
Other versions
KR19990083209A (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 KR19990083209A publication Critical patent/KR19990083209A/ko
Application granted granted Critical
Publication of KR100620258B1 publication Critical patent/KR100620258B1/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
    • 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/0846Cache with multiple tag or data arrays being simultaneously accessible
    • G06F12/0848Partitioned cache, e.g. separate instruction and operand caches
    • 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

본 발명의 장치는 멀티-웨이 캐시(18)를 가지며, 이 장치는 멀티-웨이 캐시의 제 1 웨이에 대응하는 미리 정해진 제 1 속성을 가진 제 1 사용자 제어가능 요소(102, 104 또는 106)와, 멀티-웨이 캐시의 제 2 웨이에 대응하는 미리 정해진 제 2 속성을 가진 제 2 사용자 제어가능 요소(102, 104 또는 106)와, 액세스 속성을 멀티-웨이 캐시에 전달하는 도전체(87)와, 제 1 비교 결과를 제공하기 위해 액세스 속성을 미리 정해진 제 1 속성과 비교하는 제 1 비교 회로(60)와, 제 2 비교 결과를 제공하기 위해 액세스 속성을 미리 정해진 제 2 속성과 비교하는 제 2 비교 회로(60)와, 제 1 비교 결과에 기초하여 멀티-웨이 캐시의 제 1 웨이를 선택적으로 인에이블하는 제 1 웨이 제어 회로(92)와, 제 2 비교 결과에 기초하여 멀티-웨이 캐시의 제 2 웨이를 선택적으로 인에이블하는 제 2 웨이 제어 회로(92)를 포함한다.
멀티-웨이 캐시, 도전체, 제 1 비교 회로, 제 2 비교 회로, 제 1 웨이 제어 회로

Description

멀티-웨이 캐시 장치 및 방법{Multi-way cache apparatus and method}
도 1은 데이터 처리 시스템 실시예의 블록도.
도 2는 도 1의 캐시 부분 실시예의 블록도.
도 3은 도 2의 캐시를 보다 상세하게 설명하는 특정 실시예의 블록도.
도 4는 도 2의 캐시와 관련하여 사용하기 위한 레지스터의 특정 실시예를 설명하는 개략도.
도 5는 도 4의 레지스터를 사용하는 도 2 캐시의 액세스 동작을 설명하는 플로차트.
*도면의 주요 부분에 대한 부호의 설명*
18 : 멀티-웨이 캐시 60 : 제 1 및 제 2 비교 회로
87 : 도전체 92 : 제 1 및 제 2 웨이 제어 회로
102, 104, 106 : 제 1 및 제 2 사용자 제어 요소
(발명의 분야)
본 발명은 프로세서와 메모리에 관한 것으로, 특히 멀티-웨이 캐시 메모리에 관한 것이다.
(발명의 배경)
휴대용 및 핸드헬드 응용제품이 널리 사용되고 있기 때문에 마이크로프로세서와 마이크로컨트롤러 설계에 있어서 낮은 전력 소모의 중요성이 더해가고 있다. 통상 임베딩된 제어 시스템은 일반적으로 중앙 처리 장치(CPU)와 다양한 종류의 메모리와 주변 장치를 구비하고 있다. 다른 종류의 메모리는 마이크로컨트롤러를 가진 집적 회로 및/또는 동일 집적 회로에 외적 부가되어도 되고, 캐시 메모리, ROM(read only memory) 및 다양한 SRAM(static random access memory)장치를 구비해도 된다.
많은 양의 에너지와 시간이 큰 외부 주기억장치를 액세스하는데 필요로 된다. 그러므로, 주기억장치에 대한 액세스 횟수를 감소시키기 위해, 캐시라고 종종 불리우는 보다 작고, 보다 빠르고, 보다 효율적인 메모리가 집적 회로에 사용되어도 된다. 집적 회로의 사이즈를 가능한 한 작게 유지하기 위해서는, 필요로 하는 최대 메모리만 집적 회로에 탑재된다.
캐시 TAG는 캐시의 성능을 향상시키기 위해 빈번하게 사용된다. 캐시 TAG는 마이크로프로세서에 의해 제공되는 TAG어드레스를 수신하고 요청된 명령 및/또는 데이터가 캐시 메모리에 존재하는지를 판정한다. 요청된 명령이 캐시에 위치되어 있지 않으면, 마이크로프로세서는 이후 주기억장치로부터 명령을 검색해야 한다. 명령이 캐시에 기록될 때 명령 어드레스의 상위 차수의 비트가 TAG 어레이에 저장된다. 또한 캐시 TAG는 프로세서에서 발생된 어드레스를 TAG어드레스와 비교하는 비교기를 가진다. TAG어드레스와 프로세서에서 발생된 어드레스가 동일하면, 캐시 "히트(hit)"가 발생하고, 매치 신호가 캐시 TAG에 의해 제공되고, 요청된 데이터가 캐시 메모리에 위치된 것을 표시한다. 프로세서에서 발생된 어드레스와 TAG어드레스가 동일하지 않으면, 캐시 "미스(miss)"가 발생하고, 매치신호는 요청된 데이터가 캐시 메모리에 위치되어 있지 않다는 것을 표시한다. 또한, 유효 비트(valid bit)가 캐시의 비교 사이클중 저장된 TAG 어드레스의 유효 히트(valid hit)를 한정하는 TAG어드레스의 일부로서 설정되어도 된다.
종래의 캐시 접근 방법에 의하면, 많은 응용에 있어서, 캐시 효율은 많은 캐시 미스와 외부 메모리 액세스로 이어지는 액세스 요구와 충돌함으로써 부정적인 영향을 준다. 또한, 저전력 제품에 있어서, 리소스를 처리하기 위한 효율적인 전력 운용에 이점을 가진다. 캐시 메모리는 낮은 전력 소모와 관련된, 보다 높은 캐시 히트 레이트 등의 증가된 처리 효율을 제공하는 것이 바람직하다.
따라서, 개선된 캐시 장치 및 방법이 필요하다.
본 발명은 특허청구범위에 그 특이점이 교시되었으나, 본 발명의 다른 특징은 첨부 도면을 참조한 다음의 상세한 설명에 의해 개시된다.
일반적으로, 본 발명은 멀티-웨이 캐시 장치 및 멀티-웨이 캐시를 사용하는 방법에 관한 것이다. 본 발명의 제 1 특징에 따르면, 이 장치는 멀티-웨이 캐시를 가진 장치이다. 이 장치는 멀티-웨이 캐시의 제 1 웨이에 대응하는 소정의 제 1 속성을 가진 제 1 사용자 제어가능 요소와, 멀티-웨이 캐시의 제 2 웨이에 대응하는 소정의 제 2 속성을 가진 제 2 사용자 제어가능 요소와, 액세스 속성을 멀티-웨이 캐시에 전달하기 위한 도전체와, 제 1 비교 결과를 제공하기 위해 액세스 속성과 소정의 제 1 속성과 비교하는 제 1 비교 회로와, 제 2 비교 결과를 제공하기 위해 액세스 속성과 소정의 제 2 속성을 비교하는 제 2 비교 회로와, 제 1 비교 결과에 기초하여 멀티-웨이 캐시의 제 1 웨이를 선택적으로 인에이블하기 위한 제 1 웨이 제어 회로와, 제 2 비교 결과에 기초하여 멀티-웨이 캐시의 제 2 웨이를 선택적으로 인에이블링하기 위한 제 2 웨이 제어 회로를 구비한다.
본 발명의 다른 특징에 따르면, 이 장치는 집적 회로이다. 이 집적 회로는 제 1 웨이와 제 2 웨이를 가진 캐시와, 캐시의 제 1 웨이에 대한 제 1 저장 속성을 저장하기 위한 제 1 저장 요소와, 캐시의 제 2 웨이에 대한 제 2 저장 속성을 저장하기 위한 제 2 저장 속성과, 액세스 속성을 전달하기 위한 도전체와, 제어 회로를 구비한다. 제어 회로는 액세스 속성과 제 1 저장 속성을 비교하여 제 1 비교 결과를 제공하고 제 1 비교결과에 기초하여 캐시의 제 1 웨이를 선택적으로 인에이블한다. 또한 제어 회로는 액세스 속성을 제 2 저장 속성과 비교하여 제 2 비교 결과를 제공하고 제 2 비교 결과에 기초하여 캐시의 제 2 웨이를 선택적으로 인에이블한다.
본 발명의 다른 특징에 따르면, 멀티-웨이 캐시를 가진 데이터 처리 시스템을 동작시키는 방법이 개시되어 있다. 이 방법은 액세스 동작을 개시하기 위한 단계와, 액세스 동작에 응답하여 멀티-웨이 캐시를 액세스하는 단계와, 액세스 동작 의 부분으로서 제공된 액세스 속성과 멀티-웨이 캐시를 제공하는 단계와, 제공된 액세스 속성과 멀티-웨이 캐시의 제 1 웨이에 대응하는 제 1 저장 액세스를 비교하는 단계와, 제공된 액세스 속성을 멀티-웨이 캐시의 제 2 웨이에 대응하는 제 2 저장 액세스 속성을 비교하는 단계와, 제공된 액세스 속성이 제 1 저장 액세스 속성과 일치하는지의 여부에 따라 멀티-웨이 캐시의 제 1 웨이를 선택적으로 인에이블하는 단계와, 제공된 액세스 속성이 제 2 저장 액세스 속성과 일치하는지의 여부에 따라 멀티-웨이 캐시의 제 2 웨이를 선택적으로 인에이블하는 단계를 구비한다.
사용된 특정 용어 및 표현과 상세한 설명 및 첨부 도면에 개시된 특정 구조와 동작의 상세는 단지 예시적인 것이며 여하튼 특허청구범위에 개시된 것과 같이 본 발명의 범위를 제한하고자 하는 것은 아니라는 것을 이해해야 한다.
도 1을 참조하면, 처리 시스템(10)의 일 실시예가 도시되어 있다. 처리 시스템(10)은 프로세서(12)와 외부 메모리(14)를 구비한다. 프로세스(12)는 중앙 처리 장치(CPU, 16), 캐시 메모리(18), 버스 인터페이스(22)와 다른 모듈(20)을 구비한다. 또한, 프로세서(12)는 버스(24)와 버스(26)를 구비한다. 버스(24)는 CPU(16), 캐시(18), 버스 인터페이스(22) 및 다른 모듈(20)을 상호 접속한다. 버스(26)는 버스 인터페이스(22)를 메모리(14)에 결합시킨다. 데이터 처리 시스템(10)의 특정 예시적인 실시예가 개시되어 있으나, 이와 같은 처리 시스템의 각종 구성 및 다른 실시예가 있을 수 있다는 것을 생각할 수 있다. 예를 들면, 캐시(18)는 프로세서(12) 의 부분으로서 도시되어 있지만, 다른 방법으로서 이 캐시는 프로세서(12)의 외측, 예를 들면 외부 메모리(14)내에 배치될 수 있다.
도 2를 참조하면, 캐시(18)의 일부의 특정 실시예가 개시되어 있다. 캐시(18) 부분은 레지스터(40), 멀티플 웨이를 위한 태그 메모리 어레이(42 내지 48), 멀티플 웨이를 위한 데이터 메모리 어레이(50 내지 56) 및 캐시 제어 회로(58)를 구비한다. 캐시 제어 회로(58)는 레지스터(80), 비교기(60) 및 액세스 제어 로직(82)을 구비한다. 레지스터(40)는 버스(24)의 어드레스부를 수용하고 태그 값부(64), 인덱스부(66) 및 워드 선택부(68)를 가진다. 태그부(64)는 멀티-웨이 태그 어레이(42 내지 48)에 제공된 태그 값 데이터를 구비한다. 인덱스부(66)로부터의 데이터는 멀티-웨이 태그 어레이(42 내지 48)와 멀티-웨이 데이터 어레이(50 내지 56) 양자에 제공된다. 워드 선택부(68)로부터의 데이터는 멀티-웨이 데이터 어레이(50 내지 56)에 제공된다. 멀티-웨이 데이터 어레이는 버스(24)의 양방향 데이터부에 결합된다.
각 태그 어레이, 예를 들면 태그 어레이(웨이 0)(42)는 인덱스 값(66)에 관련되어 배치된 데이터와 태그 값(64)간의 비교에 기초하여 히트 신호를 대응하는 데이터 어레이, 예를 들면 데이터 어레이(웨이 0)(50)에 제공한다. 캐시 제어 회로(58)는 액세스 속성(87), 어드레스 및 버스(24)로부터의 제어 데이터를 받는다. 다른 실시예에 있어서, 액세스 속성(87)은 국부적으로, 예를 들면 멀티-웨이 캐시(18)안으로부터 발생되어도 된다. 비교기(60)는 복수의 캐시 웨이의 각각에 대해 기록 인에이블 신호(84) 및 판독 인에이블 신호(86)를 발생하기 위해 액세스 제어 로직에서도 처리되는 비교 결과(61)를 생성하기 위해 액세스 속성(87)과 레지스터(80)로부터의 저장된 속성값과 비교하기 위해 사용된다. 단지 하나의 비교기(60)가 도시되어 있지만, 비교기(60)는 복수의 캐시 웨이 각각에 대해 복수의 개개의 비교기를 구비한다. 특정 실시예에 있어서, 액세스 속성은 액세스된 정보에 대한 데이터 분류 형태를 포함하며, 이와 같은 명령 형태 또는 정보 데이터 형태는 메모리에 저장된다. 이 실시예의 레지스터(80)는 각각의 데이터 분류 형태에 대한 인에이블 또는 디스에이블에 대응하는 제어 비트를 포함한다. 또한, 레지스터(80)는 복수의 캐시 웨이에 대한 인에이블 또는 디스에이블된 다양한 기능을 선택하기 위해 다른 제어 비트를 포함해도 된다. 이와 같은 추가 제어 비트의 예가 웨이별(per way basis)로 캐시 플러싱(cache flushing)을 선택적으로 인에이블하기 위한 제어 비트이다. 또한, 캐시 제어 회로는 각각의 통신 경로(62, 70)를 통해 태그 어레이(42 내지 48)와 데이터 어레이(50 내지 56)와 통신한다.
캐시 제어 회로(58)는 데이터 버스(24)로부터 수신된 데이터에 응답한다. 예를 들면, 복수의 캐시 웨이에 대해 사용자 선택 속성 제어 비트를 포함하는 사용자 프로그래머블 제어 워드는 데이터 버스(24)로부터 수신되어 레지스터(80)에 저장되어도 된다. 이러한 방식으로, 레지스터(80)는 특정 응용 또는 사용자 요구에 따라 멀티-웨이 캐시 메모리 리소스를 융통성 및 다이나믹하게 할당해도 된다.
도 3을 참조하면, 태그 어레이(웨이 0)(42) 등의 제 1 태그 어레이 웨이의 부분과 데이터 어레이(웨이 0)(50) 등의 대응하는 제 1 데이터 어레이 웨이 부분의 특정 실시예가 도시되어 있다. 상기 부분은 태그부(64), 인덱스부(66) 및 워드 선 택부(68)를 가진 레지스터(40)를 구비한다. 태그부(64)는 히트 신호(72)를 제공하기 위해 인덱스부(66)를 통해 태그 어레이(웨이 0)(42)로부터 검색된 값과 비교기(65)를 사용하여 비교된다. 데이터 어레이(웨이 0)(50)는 복수의 데이터 블록을 구비하고 인덱스 값(66)과 워드 선택 값(68) 모두에 의해 어드레스된다. 어드레스된 데이터 항목은 데이터 어레이(웨이 0)(50)로부터 버스(24)의 일부인 데이터 버스를 통해 출력된다.
또한 판독 인에이블 신호(86)를 수신하고 인에이블 신호(84)를 그 입력에 기록하고 제어 신호(94)를 그 출력에 제공하는 웨이 제어 회로(92)가 개시되어 있다. 제어 신호(94)는 태그 어레이(웨이 0)(42) 모두에 대한 판독 및 기록 제어 신호뿐만 아니라 웨이별로 수행되거나 수행되지 않을 기능을 위해 다른 관련 제어 신호를 포함한다. 도 4를 참조하면, 캐시 제어 회로(58)내의 레지스터의 특정 실시예가 설명되어 있다. 이 실시예에 있어서, 레지스터(80)는 복수의 데이터 필드를 포함하고, 각 필드는 복수의 데이터 비트를 포함한다. 레지스터(80)는 캐시 플러쉬 필드(102), 데이터 캐싱 인에이블 필드(104) 및 명령 캐싱 인에이블 필드(106)를 포함한다. 각 필드(102 내지 106)는 하나 이상의 제어 비트를 포함해도 된다. 필드(102)의 캐시 제어 비트는 다른 캐시 웨이와 각각 관련되어 있다. 각 캐시 웨이에 대해, 필드(102)내의 특정 캐시 제어 비트는 특정 캐시 웨이가 플러쉬 또는 클리어되어 있는가를 판정할 것이다. 특정 캐시 웨이가 플러쉬되어 있으면, 이와 같은 웨이를 위한 데이터 어레이내의 모든 데이터는 무효로 된다.
각 캐시 웨이에 있어서, 필드(104)내의 특정 캐시 제어 비트는 특정 캐시 웨이가 데이터 분류 형태를 가진 데이터를 액세스하는 데 사용될 수 있는지의 여부를 판정할 것이다. 마찬가지로, 각 캐시 웨이에 있어서, 필드(106)내의 특정 캐시 제어 비트는 특정 캐시가 명령 분류 형태를 가진 데이터에 액세스하는 데 사용될 수 있는지의 여부를 판정할 것이다. 데이터와 명령 형태의 분류 형태만이 개시되었으나, 상기 퍼 웨이 방법과 구조는 다양한 데이터 분류에 적용할 수 있다는 것을 생각할 수 있다. 예를 들면, 다른 제어 필드가 다른 데이터 분류 형태의 정의, 예를 들어 사용자 분류 형태, 슈퍼바이저 분류 형태, 적층 데이터 분류 형태 및 비적층 데이터 분류 형태에 대해 사용되어도 된다.
도 5를 참조하면, 멀티-웨이 캐시를 가진 데이터 처리 시스템(10)의 특정 동작 방법이 설명되어 있다. 이 방법은 예를 들면 메모리 액세스 등의 액세스를 개시하는 제 1 단계, 즉 단계 202를 포함하며, 여기서 어드레스와 속성 정보는 멀티-웨이 캐시에 제공된다. 단계 204에서, 제공된 속성 정보는 멀티-웨이 캐시의 각 웨이에 대해 저장 속성 제어 비트와 비교된다. 이들 저장된 속성 제어 비트는 상기한 것과 같이 레지스터(80)에 저장된 제어 비트이어도 된다. 상기 비교에 기초하여, 판독 인에이블과 기록 인에이블 신호 등의 인에이블 신호가 단계 206에서 멀티-웨이 캐시의 각 웨이에 제공된다. 단계 208에서, 각 캐시의 선택된 웨이는 인에이블 신호에 기초하여 인에이블되고 한편 선택되지 않은 웨이는 디스에이블인채로 있다.
캐시를 액세스할 때, 단계 210에서 캐시 히트가 있으면, 캐시 액세스는 단계 212에서 관련하는 선택된 캐시 웨이만으로 계속한다. 또한, 치환 기능이 후속 치환 동작에서 치환될 캐시 엔트리를 판정하기 위해 사용된다. 치환 기능은 단지 멀티-웨이 캐시의 선택 웨이에 의해서만 영향을 받는다. 캐시 미스의 경우, 단지 선택된 캐시 웨이는 단계 214에서 치환 동작에 관여한다. 특정 예로서, 단지 선택된 캐시 웨이가 기존 블록을 적당한 액세스 동작에 대응하는 외부 메모리로부터의 데이터 블록으로 치환하기 위해 이용할 수 있다. 이후 이 액세스 동작은 단계 216에서 종료한다. 상기 멀티-웨이 캐시 장치와 방법은 많은 이점을 가진다. 예를 들면, 특정 처리에 응용할 경우, 캐시 효율은 이와 같은 응용에 의해 자주 사용되는 특정 데이터 분류 형태에 높은 할당을 제공함으로써 증가될 수 있다. 예를 들면, 특정 응용에 있어서, 명령 형태 데이터의 높은 백분율이 처리를 위해 액세스되므로 높은 캐시 용도로부터의 이점을 가질 수도 있다. 멀티 웨이 베이시스에 대한 캐시 리소스의 선택 할당을 허용함으로써, 이와 같은 바람직한 캐시 할당이 충당될 수 있다. 또한, 각각의 캐시 웨이는 특정 데이터 분류 형태에 대해 해제될 수 있으므로, 전력 절감은 비선택 캐시 웨이를 위한 관련 전력 소모 회로를 사용하지 않기 때문이다. 이와 같은 전력 낭비의 보존은 낮은 전력 취급 장치 등의 많은 저전력을 사용하는 제품에 특히 유용하다.
따라서, 개선된 멀티-웨이 캐시 장치와 데이터 처리 시스템의 작동 방법의 적어도 하나의 최선의 실시예를 포함하는 실시예에 대해 기술하였다. 개시된 요지는 다양한 방법으로 변경될 수 있고 전술한 최선 형태이외의 많은 실시예가 있을 수 있다는 것은 이 기술분야에서 숙련된 사람에게는 명백하다. 따라서, 상기 요지는 예시적인 것이며 한정적인 것이 아니고, 본 발명의 사상 및 범위내에 속하는 모든 이와 같은 변형예 및 다른 실시예를 포함하는 다음의 특허청구범위에 의해 법에서 허용하는 최대 범위까지 보호되도록 하고자 하는 것이다. 본 발명의 범위는 다음의 특허청구범위와 상기 상세한 설명이외의 등가물의 가장 넓게 허용될 수 있는 해석에 의해 정해지는 것이다.
본 발명에 의하면, 캐시 메모리가 낮은 전력 소모와 관련된, 보다 높은 캐시 히트 레이트 등의 증가된 처리 효율을 제공한다.

Claims (3)

  1. 메모리 및 멀티-웨이 캐시(multi-way cache)를 가진 데이터 처리 시스템을 동작시키는 방법에 있어서,
    메모리 액세스 동작을 개시시키는 단계와,
    상기 액세스 동작에 응답하여 상기 멀티-웨이 캐시를 액세스하는 단계를 포함하고,
    상기 액세스 단계는,
    제공된 액세스 속성(access attribute)을 상기 액세스 동작의 일부로서 상기 멀티-웨이 캐시에 제공하는 단계와,
    상기 제공된 액세스 속성을 상기 멀티-웨이 캐시의 제 1 웨이에 대응하는 제 1 저장 액세스 속성과 비교하는 단계와,
    상기 제공된 액세스 속성을 상기 멀티-웨이 캐시의 제 2 웨이에 대응하는 제 2 저장 액세스 속성과 비교하는 단계와,
    상기 제공된 액세스 속성이 상기 제 1 저장 액세스 속성과 일치하는지의 여부에 기초하여 상기 멀티-웨이 캐시의 상기 제 1 웨이를 선택적으로 인에이블하는 단계와,
    상기 제공된 액세스 속성이 상기 제 2 저장 액세스 속성과 일치하는지의 여부에 기초하여 상기 멀티-웨이 캐시의 상기 제 2 웨이를 선택적으로 인에이블하는 단계를 포함하고,
    상기 제 1 웨이를 선택적으로 인에이블링하는 단계 및 상기 제 2 웨이를 선택적으로 인에이블링하는 단계는 캐시 미스(cache miss)와 캐시 히트(cache hit) 중 하나가 상기 액세스 동작 중 발생했는지의 여부를 판정하기 이전에 수행되는, 메모리 및 멀티-웨이 캐시를 가진 데이터 처리 시스템을 동작시키는 방법.
  2. 집적 회로에 있어서,
    제 1 웨이와 제 2 웨이를 가진 캐시와,
    상기 캐시의 상기 제 1 웨이에 대한 제 1 저장 속성을 저장하기 위한 제 1 저장 요소와,
    상기 캐시의 상기 제 2 웨이에 대한 제 2 저장 속성을 저장하기 위한 제 2 저장 요소와,
    메모리 액세스 동작에 대응하는 액세스 속성을 전달하기 위한 도전체와,
    제 1 비교 결과를 제공하기 위해 상기 액세스 속성을 상기 제 1 저장 속성과 비교하고 상기 제 1 비교 결과에 기초하여 상기 캐시의 상기 제 1 웨이를 선택적으로 인에이블하고, 제 2 비교 결과를 제공하기 위해 상기 액세스 속성을 상기 제 2 저장 속성과 비교하고 상기 제 2 비교 결과에 기초하여 상기 캐시의 상기 제 2 웨이를 선택적으로 인에이블하는 제어 회로를 포함하고,
    상기 제어 회로는 상기 액세스 동작에 대응하는 캐시 히트와 캐시 미스 중 하나가 상기 액세스 동작 중 발생했는지의 여부를 판정하기 이전에 상기 캐시의 상기 제 1 웨이를 선택적으로 인에이블하고 상기 캐시의 상기 제 2 웨이를 선택적으로 인에이블하는, 집적 회로.
  3. 멀티-웨이 캐시를 가진 장치에 있어서,
    상기 멀티-웨이 캐시의 제 1 웨이에 대응하는 미리 정해진 제 1 속성을 가진 제 1 사용자 제어가능 요소와,
    상기 멀티-웨이 캐시의 제 2 웨이에 대응하는 미리 정해진 제 2 속성을 가진 제 2 사용자 제어가능 요소와,
    메모리 액세스 동작에 대응하는 액세스 속성을 상기 멀티-웨이 캐시에 전달하는 도전체와,
    제 1 비교 결과를 제공하기 위해 상기 액세스 속성을 상기 미리 정해진 제 1 속성과 비교하는 제 1 비교 회로와,
    제 2 비교 결과를 제공하기 위해 상기 액세스 속성을 상기 미리 정해진 제 2 속성과 비교하는 제 2 비교 회로와,
    상기 제 1 비교 결과에 기초하여 상기 멀티-웨이 캐시의 상기 제 1 웨이를 선택적으로 인에이블하는 제 1 웨이 제어 회로와,
    상기 제 2 비교 결과에 기초하여 상기 멀티-웨이 캐시의 상기 제 2 웨이를 선택적으로 인에이블하는 제 2 웨이 제어 회로를 포함하고,
    상기 액세스 동작에 대응하는 캐시 히트와 캐시 미스 중 하나가 발생했는지의 여부를 상기 장치가 판정하기 이전에, 상기 제 1 웨이 제어 회로는 상기 제 1 웨이를 선택적으로 인에이블링하고 상기 제 2 웨이 제어 회로는 상기 제 2 웨이를 선택적으로 인에이블링하는, 멀티-웨이 캐시를 가진 장치.
KR1019990013266A 1998-04-20 1999-04-15 멀티-웨이 캐시 장치 및 방법 KR100620258B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US09/062,571 1998-04-20
US09/062,571 US6185657B1 (en) 1998-04-20 1998-04-20 Multi-way cache apparatus and method
US9/062,571 1998-04-20

Publications (2)

Publication Number Publication Date
KR19990083209A KR19990083209A (ko) 1999-11-25
KR100620258B1 true KR100620258B1 (ko) 2006-09-07

Family

ID=22043355

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019990013266A KR100620258B1 (ko) 1998-04-20 1999-04-15 멀티-웨이 캐시 장치 및 방법

Country Status (7)

Country Link
US (1) US6185657B1 (ko)
EP (1) EP0952524B1 (ko)
JP (1) JP2000029789A (ko)
KR (1) KR100620258B1 (ko)
CN (1) CN1178138C (ko)
DE (1) DE69933328T2 (ko)
TW (1) TW440764B (ko)

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6560677B1 (en) * 1999-05-04 2003-05-06 International Business Machines Corporation Methods, cache memories, systems and computer program products for storing transient, normal, and locked entries in an associative cache memory
US6405287B1 (en) * 1999-11-17 2002-06-11 Hewlett-Packard Company Cache line replacement using cache status to bias way selection
DE69937611T2 (de) * 1999-12-06 2008-10-23 Texas Instruments Inc., Dallas Intelligenter Puffer-Speicher
EP1111511B1 (en) * 1999-12-06 2017-09-27 Texas Instruments France Cache with multiple fill modes
US6658532B1 (en) * 1999-12-15 2003-12-02 Intel Corporation Cache flushing
JP2001222491A (ja) * 2000-02-09 2001-08-17 Nec Corp 情報提供システム、情報提供方法およびクライアント
US6446168B1 (en) * 2000-03-22 2002-09-03 Sun Microsystems, Inc. Method and apparatus for dynamically switching a cache between direct-mapped and 4-way set associativity
US7386671B2 (en) * 2000-06-09 2008-06-10 Texas Instruments Incorporated Smart cache
US6748492B1 (en) * 2000-08-07 2004-06-08 Broadcom Corporation Deterministic setting of replacement policy in a cache through way selection
US6848024B1 (en) * 2000-08-07 2005-01-25 Broadcom Corporation Programmably disabling one or more cache entries
US6732234B1 (en) 2000-08-07 2004-05-04 Broadcom Corporation Direct access mode for a cache
US6681295B1 (en) * 2000-08-31 2004-01-20 Hewlett-Packard Development Company, L.P. Fast lane prefetching
US6748495B2 (en) 2001-05-15 2004-06-08 Broadcom Corporation Random generator
US7330954B2 (en) * 2002-04-18 2008-02-12 Intel Corporation Storing information in one of at least two storage devices based on a storage parameter and an attribute of the storage devices
US7266587B2 (en) * 2002-05-15 2007-09-04 Broadcom Corporation System having interfaces, switch, and memory bridge for CC-NUMA operation
TWI246658B (en) * 2003-04-25 2006-01-01 Ip First Llc Microprocessor, apparatus and method for selectively associating store buffer cache line status with response buffer cache line status
US7069388B1 (en) * 2003-07-10 2006-06-27 Analog Devices, Inc. Cache memory data replacement strategy
US6973540B2 (en) * 2003-07-25 2005-12-06 Freescale Semiconductor, Inc. Method and apparatus for selecting cache ways available for replacement
KR20060119085A (ko) * 2005-05-18 2006-11-24 삼성전자주식회사 텍스쳐 캐쉬 메모리 장치 및 이를 이용한 삼차원 그래픽가속기 및 방법
US7496771B2 (en) * 2005-11-15 2009-02-24 Mips Technologies, Inc. Processor accessing a scratch pad on-demand to reduce power consumption
US7562191B2 (en) * 2005-11-15 2009-07-14 Mips Technologies, Inc. Microprocessor having a power-saving instruction cache way predictor and instruction replacement scheme
US7873820B2 (en) * 2005-11-15 2011-01-18 Mips Technologies, Inc. Processor utilizing a loop buffer to reduce power consumption
US7376807B2 (en) * 2006-02-23 2008-05-20 Freescale Semiconductor, Inc. Data processing system having address translation bypass and method therefor
US7401201B2 (en) * 2006-04-28 2008-07-15 Freescale Semiconductor, Inc. Processor and method for altering address translation
JP4635063B2 (ja) * 2008-03-11 2011-02-16 株式会社東芝 キャッシュメモリ制御回路及びプロセッサ
US8667226B2 (en) 2008-03-24 2014-03-04 Freescale Semiconductor, Inc. Selective interconnect transaction control for cache coherency maintenance
CN102662868B (zh) * 2012-05-02 2015-08-19 中国科学院计算技术研究所 用于处理器的动态组相联高速缓存装置及其访问方法
JP6477352B2 (ja) * 2015-08-17 2019-03-06 富士通株式会社 演算処理装置、演算処理装置の制御方法および演算処理装置の制御プログラム

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5091851A (en) 1989-07-19 1992-02-25 Hewlett-Packard Company Fast multiple-word accesses from a multi-way set-associative cache memory
US5509135A (en) 1992-09-25 1996-04-16 Digital Equipment Corporation Multi-index multi-way set-associative cache
US5553262A (en) 1988-01-21 1996-09-03 Mitsubishi Denki Kabushiki Kaisha Memory apparatus and method capable of setting attribute of information to be cached

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5682515A (en) 1993-01-25 1997-10-28 Benchmarq Microelectronics, Inc. Low power set associative cache memory with status inhibit of cache data output
US5410669A (en) 1993-04-05 1995-04-25 Motorola, Inc. Data processor having a cache memory capable of being used as a linear ram bank
US5870616A (en) 1996-10-04 1999-02-09 International Business Machines Corporation System and method for reducing power consumption in an electronic circuit

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5553262A (en) 1988-01-21 1996-09-03 Mitsubishi Denki Kabushiki Kaisha Memory apparatus and method capable of setting attribute of information to be cached
US5553262B1 (en) 1988-01-21 1999-07-06 Mitsubishi Electric Corp Memory apparatus and method capable of setting attribute of information to be cached
US5091851A (en) 1989-07-19 1992-02-25 Hewlett-Packard Company Fast multiple-word accesses from a multi-way set-associative cache memory
US5509135A (en) 1992-09-25 1996-04-16 Digital Equipment Corporation Multi-index multi-way set-associative cache

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
EP O조

Also Published As

Publication number Publication date
DE69933328T2 (de) 2007-01-11
EP0952524A1 (en) 1999-10-27
CN1233020A (zh) 1999-10-27
TW440764B (en) 2001-06-16
CN1178138C (zh) 2004-12-01
EP0952524B1 (en) 2006-09-27
DE69933328D1 (de) 2006-11-09
JP2000029789A (ja) 2000-01-28
US6185657B1 (en) 2001-02-06
KR19990083209A (ko) 1999-11-25

Similar Documents

Publication Publication Date Title
KR100620258B1 (ko) 멀티-웨이 캐시 장치 및 방법
US6192458B1 (en) High performance cache directory addressing scheme for variable cache sizes utilizing associativity
US5689679A (en) Memory system and method for selective multi-level caching using a cache level code
US20090006756A1 (en) Cache memory having configurable associativity
US6378047B1 (en) System and method for invalidating set-associative cache memory with simultaneous set validity determination
US6157980A (en) Cache directory addressing scheme for variable cache sizes
KR960008546A (ko) 2-웨이 세트연관 캐시메모리
US5497458A (en) Cache testability circuit for embedded diagnostics
KR20220017006A (ko) 메모리-인식 프리-페칭 및 캐시 바이패싱 시스템 및 방법
US8572320B1 (en) Memory devices and systems including cache devices for memory modules
US5835934A (en) Method and apparatus of low power cache operation with a tag hit enablement
JP3007870B2 (ja) アーキテクチャ操作を管理する方法及び装置
US6314494B1 (en) Dynamically size configurable data buffer for data cache and prefetch cache memory
US6571323B2 (en) Memory-access management method and system for synchronous dynamic Random-Access memory or the like
JP2007156821A (ja) キャッシュシステム及び共用2次キャッシュ
JP2001043134A (ja) コンピュータ・システム内でキャッシュ・ライン置換を管理するための方法および装置
US6976130B2 (en) Cache controller unit architecture and applied method
US7177981B2 (en) Method and system for cache power reduction
KR100304318B1 (ko) 프로세서버스에대한캐시조작의요구에기초해서명령을발행하는방법및장치
KR100833178B1 (ko) 캐시 메모리에 저장되는 블록개수를 제어할 수 있는 캐시메모리 시스템 및 동작 방법
GB2335764A (en) Selective caching of memory accesses based on access history
US6105112A (en) Dynamic folding of cache operations for multiple coherency-size systems
US6601155B2 (en) Hot way caches: an energy saving technique for high performance caches
US5611072A (en) Cache with an extended single cycle read/write system and method
US6694408B1 (en) Scalable replacement method and system in a cache memory

Legal Events

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

Payment date: 20120808

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20130812

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20140807

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20150807

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20160801

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20170811

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20180801

Year of fee payment: 13

EXPY Expiration of term