KR910004309B1 - 다중 레벨 캐쉬 시스템 - Google Patents

다중 레벨 캐쉬 시스템 Download PDF

Info

Publication number
KR910004309B1
KR910004309B1 KR1019830001301A KR830001301A KR910004309B1 KR 910004309 B1 KR910004309 B1 KR 910004309B1 KR 1019830001301 A KR1019830001301 A KR 1019830001301A KR 830001301 A KR830001301 A KR 830001301A KR 910004309 B1 KR910004309 B1 KR 910004309B1
Authority
KR
South Korea
Prior art keywords
cache
levels
directory
storage
signals
Prior art date
Application number
KR1019830001301A
Other languages
English (en)
Other versions
KR840004275A (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
Priority claimed from US06/364,052 external-priority patent/US4464717A/en
Application filed by 허니웰 인포메이션 시스템즈 인코오포레이티드, 니콜라스 프레이지노스 filed Critical 허니웰 인포메이션 시스템즈 인코오포레이티드
Priority to KR1019830001301A priority Critical patent/KR910004309B1/ko
Publication of KR840004275A publication Critical patent/KR840004275A/ko
Application granted granted Critical
Publication of KR910004309B1 publication Critical patent/KR910004309B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

내용 없음.

Description

다중 레벨 캐쉬 시스템
제 1 도는 본 발명의 캐쉬(cache)장치를 포함하는 미니컴퓨터 시스템의 블록도.
제 2 도는 제 1 도의 캐쉬 장치의 블록도.
제 3a∼3c 도는 제 2 도의 캐쉬 장치의 상이한 영역들의 세부도.
제 4 도는 본 발명의 동작을 설명하는데 사용되는 순서도.
제 5 도는 본 발명의 동작을 설명하는데 사용되는 타이밍도.
* 도면의 주요부분에 대한 부호의 설명
10 : 중앙처리장치 12 : 주기억장치
15 : 시스템 버스 20 : 캐쉬 장치
20-2 : 버스 인터페이스 시스템 20-4 : 캐쉬 랜덤 액서스 메모리부
20-8 : 다이렉토리 장치부 20-10 : 대체 및 경신 논리장치
20-40 : 캐쉬 저장장치 40-42 : 히트/미스 제어회로들
20-430 : 선택논리회로들
본 발명은 캐쉬 시스템들, 특히 미니 컴퓨터와 마이크로프로세싱 시스템들에 포함될 수 있는 캐쉬 시스템들에 관한 것이다.
전 시스템 성능을 개선시키고 신뢰할 수 있는 동작을 제공하기 위해 컴퓨터 시스템내에 캐쉬 시스템들을 제공하는 것은 본 기술에 있어서 잘 알려져 있다. 그런 시스템들의 예들은 존엘. 커리 등에게 특허된 미합중국 특허 제 3,820,078 호에서와, 1970년 7월에 엠. 더블류. 비이에 의해 "버퍼 재저장 장치에서의 결점 버퍼부들의 제거"란 제하의 IBM 테크니컬 디스클로우저 불리틴(Technical Disclosure Bulletin), 제 13 권, 제 2 호에 명시되었다. 그런 시스템들에 있어서, 신뢰할 수 있는 동작은 불량 패리티(Parity)를 가지는 것으로써 검출되는 캐쉬 메모리 번지들을 무효화시킴으로써 수행된다. 이렇게 하면 캐쉬 번지들과 관련되는 부가 비트들이 필요하게 되어 캐쉬 시스템의 가격과 복잡성을 상당히 추가시켜야 한다. 더욱 중요하게도, 그런 무효화 동작들을 수행하기 위해서는 처리시간이 필요하게 된다.
다른 종래 기술 캐쉬 시스템들은 캐쉬가 거기에 관련된 중앙처리장치(CPU)에 의해 결점 조건들의 검출시 우회할 수 있게끔 하였다. 이런 유형의 시스템의 일례는 본 동일 양수인에게 양도된 토마스 에프. 조이스에게 특허된 미합중국 특허 제 4,195,343호에 명시되었다. 일반적으로, 이런 유형의 캐쉬시스템은 CPU에 2개 유형의 에러들, 정정할 수 없는 에러를 나타내는 메모리 "적색(red)" 에러 조건과 정정가능 에러를 나타내는 메모리 "황색(yellow)"에러 조건을 보고하도록 설계되어 있다. "적색" 에러신호를 수신하였을 때 혹은 수신된 메모리 데이터에 있어서 바이트 데이터 패리티(Parity)에러를 검출하였을 때, CPU는 전(entire) 캐쉬를 오프라인(off-line)으로 절환하여 운용(operating) 시스템에 에러를 보고하고 처리를 계속한다.
상기 시스템들이 결점조건의 결과로써 캐쉬장치를 비접속시키게 하는 동안에, CPU가 그런 결점조건들을 처리하는 것이 필요되게 된다. 이렇게 하는 것은 시간소모적인 것임에 틀림이 없으며 그런 진단이 캐쉬 시스템 그 자체에 의해 보고된 여러 유형의 에러조건에 부분적으로 달려있게 되므로 귀중한 정보의 손실을 또한 초래할 수도 있게 된다.
따라서, 가격상 저렴하고 복잡성을 최소한으로 줄이는 신뢰할 수 있는 캐쉬 시스템을 제공하는 것이 본 발명의 주요한 목적이다.
본 발명의 또다른 목적은 보수유지가 개선되어 시스템 신뢰도를 강화시킨 캐쉬 시스템을 제공하는데 있다.
상기 목적들과 장점들은 중앙처리장치(CPU)와 주기억장치(main storage) 사이에 위치한 본 발명의 다중 레벨세트 연합(associative) 캐쉬 시스템의 양호한 실시예에서 성취된다. 본 발명에 다르면 다이렉토리(directory) 및 캐쉬 저장 장치들이 많은 메모리 위치(location)들의 레벨로 구성된다.
다이렉토리 저장장치는 동작중 캐쉬 읽기 및 쓰기 메모리 사이클들 동안에 다이렉토리 저장장치 번지들에서 에러들을 검출하기 위해 에러 검출장치를 포함하고 있다. 에러 거물장치는 캐쉬 히트(hit)들을 나타내는 신호들을 에러들과 결합시켜 무효 히트검출신호들을 발생시키는 제어 장치에 결합된다. 무효히트 신호들에 의해 지적되는 다이렉토리 저장장치내에서의 소프트형 하는 하드형 에러들의 존재가 검출되지 않은채 지나치게 된다면, 그 결과가 오(誤)데이터 또는 정(正)데이터(false or incorrect data)를 전달하는 캐쉬 시스템에 나타나게 될 것이다.
본 양호한 실시예에 있어서, 제어장치는 정보가 대체되어지는 캐쉬레벨을 일치시키는데 사용되는 라운드 로빈(round robin) 대체 장치에 결합된다. 본 발명의 교지(敎旨)에 따라, 제 1 무효 히트 검출신호의 발생에 응답하여 제어장치는 캐쉬 시스템을 강등(degraded)모우드로 위치시켜 놓는다. 이런 모우드에 있을 때, 캐쉬 시스템의 다른 영역들에 있어서와 같이 대체장치는 캐쉬읽기 및 쓰기 메모리 동작들을 에러가 없는 캐쉬레벨들의 수의 서브 디비젼(subdivision)으로 제한시켜 유연하게 캐쉬동작을 강등시키는 조건으로 된다. 메모리 정보의 무결성을 보전시키기 위해, 제어장치는 후속 무효히트 검출신호들의 발생에 응답하여 효과적으로 캐쉬 시스템을 오프라인으로 위치시키는 신호들을 발생시킨다.
위와 같이 배치함으로써 시스템 신뢰도와 성능이 개선되게 된다. 다이렉토리 에러들에 관련된 캐쉬 시스템의 서브 디비젼을 무력화시킬 수 있는 캐쉬내의 장치를 포함시킴으로써, 보고된 실패들을 검증하고 무효화 동작들을 수행하는데 정상적으로 요구되는 처리시간이 제거된다. 캐쉬 시스템은 여전히 동작상에 있으므로, 전캐쉬 시스템을 우회시키는 그런 시스템에 있어서와 같이 CPU 성능은 메모리 실패에 응답하여 실질적 감소되질 않게 된다.
성능 및 속도상의 부가적 증가들은 필요 검증의 수를 최소한으로 줄이는 캐쉬 히트동안에 검출되는 에러조건들에 응답하여서만 캐쉬 서브디비젼들을 무력화시킴으로써 초래된다. 즉, 검증하는 것은 오데이터의 전달에 기인하는 상황들로 국한된다.
이상의 목적들 및 장점들과 함께, 그 구성 및 동작의 방법에 관해 본 발명의 특징으로 생각되는 진기한 특징들은 첨부된 도면을 연결지어 고려해 볼 때 다음의 설명으로부터 더 잘 이해될 것이다. 그러나, 각각의 도면들은 도시 및 설명을 할 목적으로만 주어진 것이지 본 발명의 한계 범위를 정의할 의도로 된 것은 아니다.
제 1 도를 참조하면, 미니 컴퓨터 시스템은 중앙처리장치(CPU)(10)와, 주기억장치(12) 그리고 캐쉬장치(20)를 포함하고 있다는 것을 알 수 있다. 도시된 바와 같이, CPU(10)와 주기억장치(12) 그리고 캐쉬 장치(20)는 각각 버스 인터페이스들(11),(14) 및 (16)의 번지 제어 및 데이터 선로들을 통해 시스템버스(15)에 결합된다. 게다가, CPU(10)와 캐쉬장치(20)는 사설(private) 인터페이스(18)의 번지, 제어 및 데이터 선로들을 통해 서로 접속된다.
본 발명의 목적상, CPU(10)와 주기억장치(12)는 설계상 종래의 것으로 고려될 수도 있다. 주기억장치(12)는 1,024×1,024 행렬로 구성된 1,048,576워어드까지 포함할 수 있는 MOS 메모리이다. 예를들면, CPU(10)와, 주기억장치(12)는 양수인에게 양도되고 1980년 3월 25일에 특허된 미합중국 특허 제 4,195,343 호에서 설명된 CPU와 주기억장치의 형태를 가질 수도 있다. 또한 허니웰 인포메이션 시스템즈 인코오포레이티드에서 생산되는 시리이즈 60레벨 6모델 40미니컴퓨터에 포함된 장치들의 형태를 가질 수도 있다.
캐쉬 장치(20)는 이미 사용되고 있거나 사용 예정된 프로세서 데이터 및 명령(instruction)들에다 고속 액서스를 제공한다(예를들면 선(先)인출(prefetched). 일반적으로, CPU(10)는 사설 인터페이스(18)를 통해 데이터 워어드들과 명령들을 요구한다. 요구된 워어드가 캐쉬에 있을 때, 캐쉬장치(20)는 인터페이스(18)를 통해 요구된 워어드를 전송한다. 요구된 워어드가 캐쉬에 저장되어 있지 않을 때, 캐쉬장치(20)는 주기억장치(12)로부터 그 워어드를 인출하여 사설 인터페이스(18)를 통해 그것을 CPU(10)로 전달한다.
본 양호한 실시예의 캐쉬장치(20)는 버스인터페이스부(20-2), 다이렉토리부(20-8), 캐쉬랜덤 액서스 메모리(RAM)부(20-4) 그리고 대체논리부(20-10)를 포함한다. 버스 인터페이스부(20-2)는 CPU(10)로부터의 요구들에 응답하여 데이터와 명령들을 인출하기 위해 캐쉬장치(20)가 비동기식 시스템 버스(15)를 통해 주기억장치(12)를 액서스할 수 있도록 하기 위해 버스제어회로들을 포함한다. 이런 회로들에 관한 그 이상의 정보와 시스템 버스(15)의 동작에 있어서, 미합중국 특허 제 3,993,981 호, 제 4,030,075호 그리고 제 4,195,343 호를 참고로 하면 될 것이다.
다이렉토리부(20-8)는 CPU 피요구 워어드가 부(20-4)에 소재하는지 여부를 결정한다. 이것을 수행하기 위해, 여기서 논의되는 바와 같이 다이렉토리부(20-8)는 4-레벨 세트 연합메모리를 포함한다. 또한, 본 발명의 교지에 따라, 그것은 동작의 강등모우드로 캐쉬 장치(20)를 위치시켜 놓는데 사용된 에러 신호들에 응답하여 무효히트 검출 신호들을 발생시키도록 동작하게 된다.
캐쉬 RAM부(20-4)는 CPU 데이터 및 명령용 고속 저장장치를 포함한다. 그것은 1,024×4 행렬로 구성된 4,096워어드들을 가진다. 따라서, 주기억장치(12)의 각행은 거기에 관련된 캐쉬부(20-4)에서 4개 엔트리(entry)들을 가진다.
대체 논리부(20-10)는 캐쉬 RAM부(20-4)에서 소재하지 않았고 CPU(10)에 의해 요구된 데이터 및 명령들을 인출하기 위해 주기억장치(12)로 액서스를 제어하는 회로들을 포함한다. 또한 그것은 대체 및 경신 동작들중 캐쉬 RAM부(20-4)와 다이렉토리부(20-8)에서 주기억장치(12)로부터 수신된 정보를 저장하기위한 논리 회로들을 포함한다.
캐쉬 RAM부(20-4)
제 2 도는 블록도 형태로 도시되었다. 그 장치들은 부들(20-4) 및 (20-8)을 포함한다. 도면에서 보는 바와 같이, 부(20-4)는 4-레벨 캐쉬 저장 장치와 히트/미스제어 회로들(20-42)을 포함한다. 저장장치(20-40)의 각 레벨은 6개 RAM 칩들로 되어 있는데, 각 칩은 1,024×4 위치들을 포함한다. 제 2 도를 통해 보는 바와 같이, 각 RAM 칩은 대체논리부(20-10)로부터 행번지 신호들 ADDR08200-ADDR17200을 수신한다. 이러한 신호들은 CPU(10)로부터 수신된 주기억장치 번지의 하위 유효 10개 번지 비트들(예를들면 비트들 10-19)에 해당된다. 게다가, 각 레벨의 6개 칩들은 블록(20-42)의 회로들로부터 칩 선택신호들 CHIPS0000 - CHIPS3000중 해당 신호를 수신한다. 이런 신호들중 어느 1개 신호가 이진수 "0"으로 될 때, 지정된 레벨의 모든 RAM 칩 등은 동작을 위해 인에이블된다.
RAM 레벨들은 설계시 종래의 것으로 고려될 수 있고, 예를들면 인텔 코오포레이션에서 생산되는 2149HMOS 메모리칩들로 구성될 수도 있다.
결국, 각 레벨의 RAM 칩들은 다이렉토리부(20-8)로부터 쓰기 인에이블 신호들 WRITE0C00-WRITE3C00중 1개 해당 신호를 수신한다. 이런 신호들중 어느 1개 신호가 이진수 "0"으로 될 때, 지정된 레벨의 모든 칩들이 쓰기 동작을 위해 인에이블된다. 지정된 레벨로 기입되는 데이터는 부(20-10)으로부터 수신되는 신호들 DATA00A10-DATA19A10로써 선로들에서 데이터의 1개 세트로 인가된다. 또한 데이터는 신호들 DATA00A10-DATA19010로써 각 레벨의 칩들로부터 출력선로들의 1개 세트로 독출된다. 제 2 도에 도시된 바와 같이 각 레벨에 공통적인 입출력 데이터 선로들은 와이어드 (wired) OR 베열로 접속된다.
제 2 도를 통해 보는 바와 같이, 블록(20-42)의 히트/미스 제어회로들은 4개의 비교기 회로들(20-420)-(20-426)을 포함한다. 이 회로들은 열번지 신호들 ADDR0010-ADDR0710, CPU(10)또는 대체 논리부(20-10)으로부터의 신호들 ADDR00A10 및 ADDR00B10을 다이렉토리 레벨들중 해당 1개 레벨로부터 독출된 번지신호들(즉, 신호들 HDAT00B10-09B10, HDAT10B10-19B10, HDAT20B10-29B10 그리고 HDAT30B10-39B10)과 비교한다. 열번지는 주기억장치번지의 최상위 유효 10개 비트들(즉, 비트들 0-9)에 해당된다.
각각의 비교기 회로들(20-420)-(20-426)은 비교된 결과들을 나타내는 히트 신호들 HIT000000-HIT003000중 1개 해당 신호를 발생시킨다. 히트 신호들은 다이렉토리부(20-8)과 블록(20-430)의 선택논리 회로들에 입력으로써 인가된다. 참(true)또는 동일(identical)한가를 비교하게 될 때, 비교가 회로는 히트신호들중 1개 해당신호를 이진수"0"으로 밀어 넣는다.
설계상 비교기 회로들은 종래의 것이다. 예를들면, 각 비교기회로는 각 쌍의 해당 번지 비트들을 비교하기 위해 연결된 10개의 배타(exclusive) OR 회로들과 배타 OR 회로들의 출력을 수신하도록 연결된 NAND 게이트로 구성될 수 있다. 게다가, NAND 게이트는 다이렉토리부(20-8)로부터 신호들 DBANK0000 및 DBANK1000의 쌍중 1개를 수신하도록 연결된다. 여기에서 설명되는 바와 같이, 이 신호들의 상태들은 캐쉬장치(20)가 연산의 강등모우드로 연산되는지 여부를 확립시킨다.
제 2 도를 통해 보는 바와 같이, 신호들 HIT000000-HIT003000은 인버터 회로들(20-432)-(20-438)에 의해 반전되고 출력신호들 HIT000010-HIT003010은 입력으로써 블록(20-430)의 논리회로들에 인가된다. 이런 회로들은 칩 인에이블 신호들 CHIPS0000-CHIPS30000을 발생시키도록 동작한다. 이런 신호들은 다음 부울 방정식에 따라 발생되는데 그중에서 기호+는 OR 연산을, 기호 ·는 AND 연산을 나타낸다.
Figure kpo00001
Figure kpo00002
신호들 INTERG000 및 CYERIT010은 대체논리부(20-10)의 회로들에 의해 발생된 타이밍 신호들이다.
데이터가 캐쉬 저장 장치(20-40)로부터 버스 인터페이스(18)로 인가되고 있지 않을 때 신호 INTERG000는 이진수 "0"이다. 신호 CYWRIT010는 동작의 각 메모리 쓰기 사이클 동안에 이진수 "1"로 된다. 이런 신호들의 동작에 관한 그 이상의 정보에 대해서는, 미합중국 특허 제 4,195,343 호를 참고로 하면 될 것이다.
다이렉토리부(20-8)
제 2 도를 통해 보는 바와 같이, 부(20-8)는 블록(20-82)의 라운드로빈카운터 회로들, 블록(20-82)의 다이렉토리 및 캐쉬 저장 쓰기 제어회로들, 4-레벨 세트 연합 다이렉토리 (20-84)와 블록(20-86)의 다이렉토리패리티 및 모우드 제어 회로들을 포함한다. 블록(20-80)의 라운드 로빈 카운터 회로들은 새로운 정보로 대체되는 정보를 가진 캐쉬 저장장치(20-400)의 다음행을 선택한다. 사용된 라운드 로빈 대체 기술은 가장 최근 대체된 위치에 새로운 정보를 대체시키는 것이다. 간단히 말해, 각 캐쉬행은 블록(20-80)의 회로들이 행의 4개 엔트리들중 어느것이 해당주기억행으로부터 1개 워어드를 배당되는지를 확인한다는 점에서 독립적으로 관리된다. 배당 또는 배정되는 캐쉬행에서의 다음 워어드 위치를 지시하는 내용들을 가진 각 행에서 분리 카운터를 사용함으로써 배정이 수행된다. 각 새로운 워어드가 캐쉬에 저장되므로, 캐쉬행에 관련되는 카운터는 동일행에 대한 일련의 새로운 메모리 레퍼런스들(references)에 있어서 15번째가 제 1 메모리 레퍼런스의 정보와 대체하도록 랩어라운드(Wrap around) 방식으로 1만큼 증가한다. 따라서 1개행에 있어서 가장 최근에 대체된 캐쉬 워어드 위치의 내용들이 이미 캐쉬내에 있지 않는 해당 메모리 행에 있어서의 1개 워어드로의 메모리 레퍼런스로부터의 정보에 의해 대체된다.
라운드 로빈 카운터 회로들(20-80)
제 3a 도에서 보는 바와 같이, 블록(20-80)의 라운드 로빈 카운터 회로들은 한쌍의 1-비트×1,024 RAM 칩들(20-800) 및 (20-802), 다수의 D형 플립플롭들 (20-804)-(20-808), NAND게이트 (20-810), 배타 OR 게이트(20-812) 그리고 도시된 바와 같이 연결된 NOR 게이트 (20-814)를 포함한다. 동작의 읽기 또는 쓰기 사이클동안에 칩들을 인에이블시키는 RAM 칩등(20-800) 및 (20-802)의 칩 인에이블 단자들(CE)은 접지로 연결된다. 부(20-10)에 의해 칩들의 번지입력단자들로 인가되는 행번지신호들 ADDR08200-ADDR17200에 응답하여 RAM 칩들(20-800) 및 (20-802)은 가장 최근에 대체된 정보를 저장하는 캐쉬행을 지정하는 출력신호들 ROUND0A10 및 ROUND1A10을 발생시킨다.
RAM 칩들(20-800) 및 (20-802)의 쓰기 인에이블단자들(WE)은 NAND게이트 (20-810)로부터 신호 RNDWRT000를 동작의 쓰기 사이클 동안에, RAM 칩들(20-800) 및 (20-802)을 인에이블시키는 이진수 "0"으로 만든다.
동작의 쓰기 사이클들은 주기억장치(12)에 저장된 제 1 의 4096 데이터 워어드들이 캐쉬로 기입되는 특징이 있는 동작의 품질(quality)논리 테스트(QLT)모우드 중에 발생된다. QLT 모우드 동안에, 신호 CYQLT0010는 플립플롭 (20-808)을 신호 ROUNDR000의 함수로써 스위치 상태로 인에이블시키는 이진수 "0"이다.
2개의 신호들 BAR012010 및 BAR111010 모두가 이진수 "0"들로 될 때, NOR 게이트(20-814)는 신호 ROUNDR000000를 이진수 "1"로 만든다. 사이클 타이밍신호 CYF1F0110가 이진수 "1"로 스위치했을 때 신호 ROUNDR00는 플립플롭(20-808)을 이진수 "1"로 스위치한다. 이것은 교대로 이진수 "0" 출력신호 ROUND0R00를 이진수 "0"으로 만든다.
이진수"0"일때의 ROUND0R00 플립플롭들(20-804)및 (20-806)을 이진수 "0" 상태들로 보유하는 클리어 신호를 발생시킨다. 신호들 ROUND0010 및 ROUND 1010의 이진수 "0" 상태들은 배타 OR게이트(20-812)가 신호 RNDADD010를 이진수 "0"로 만들도록 한다. 따라서, 이진수 "0"들은 RAM 칩(20-800)의 데이터 입력 단자로 인가된다. 동시에, 플립플롭(20-806)은 이진수 "0" 상태로 되므로, 신호 ROUND1000는 이진수 "1"로 된다. 그러므로, 이진수 "1"은 RAM 칩 (20-802)의 데이터 입력단자로 인가된다.
제 1 번지화 시퀀스 동안에, 신호 CYWRIT010는 교대로 쓰기펄스 인에이블 신호 WRTPLS000를 이진수 "0"로 만드는 각각의 1024개 쓰기 싸이클들 동안에 이진수 "1"로 된다. 신호 UPDATE010는 QLT 모우드동안에 이진수 "1"로 되므로, NAND 게이트 (20-810)는 신호 RNDWRT000을 동작의 쓰기사이클 동안에 양 RAM 칩들(20-800)및 (20-802)을 인에이블 시키는 이진수 "0"으로 만든다. 쓰기 사이클동안에, 이진수 "0"은 이진수 "0"이 RAM 칩(20-802)의 1개 비트위치로 기입되는 동안에 RAM 칩(20-800)의 1개 비트위치로 기입되게 된다.
이진수 "1"들이 동일한 대응 번지들을 가지는 RAM 칩(20-802)의 1024개 비트 위치들로 계속적으로 기입되는 동안에 이진수 "0"들은 번지들 0000-1023에 해당하는 RAM 칩 (20-800)의 1024개 비트 위치로 계속 기입된다. 제 1 번지화 시퀀스 동안에, 플립플롭들(20-804) 및 (20-806)으로부터의 이진수 "0" 출력은 캐쉬의 다른 영역들로 인가되어, 기입되는 레벨 0의 캐쉬 및 다이렉토리 위치들을 인에이블시킨다.
번지 1024(2000)8에 도달하여 제 1 시퀀스의 종료를 신호할때, 신호 BAR12010은 이진수 "1"로 된다. 이것은 NOR 게이트(20-814)가 신호 ROUNDR000를 이진수 "0"으로 만들게 한다. 사이클 타이밍 신호 CYF1F0110이 이진수 "1"로 스위치하였을 때, 플립플롭(20-88)은 이진수 "0"으로 스위치한다. 이때, 플립플롭들(20-804) 및 (20-806)은 스위치하는 동안에 인에이블된다. 다시, 번지 00008는 RAM 칩들(20-800)및 (20-802)로 인가된다.
RAM 칩 (20-800)으로부터 읽혀진 신호 ROUND0A10는 RAM 칩 (20-802)로부터 읽혀진 신호 ROUND1A10이 이진수 "1"일 동안에 이진수 "0"이 된다. 신호 CYWRIT010가 이진수 "1"로 스위치하였을 때, 플립플롭(20-806)이 이진수 "1" 상태로 스위치한다. 이것은 배타 OR 회로(20-812)가 신호 RNDAD010를 이진수 "1"로 스위치 시키게 한다. 따라서, 이진수 "0" 신호는 이진수 "0" 신호가 RAM 칩(20-802)의 데이터 입력으로 인가되는 동안에 RAM 칩(20-800)의 데이터 입력으로 인가된다. 따라서, 이진수 "0"이 RAM 칩 (20-802)의 제 1 비트 위치로 기입되는 동안에 이진수 "1"이 RAM 칩(20-800)의 제 1 비트 위치로 기입된다. 제 2 번지 시퀀스는 RAM 칩(20-800)의 1024개 비트 위치들로 기입되는 이진수 "1"들과 칩들(80-802)의 1024개 비트 위치들로 기입되는 이진수 "0"들을 가진채 계속된다. 제 2 번지화 시퀀스동안에, 플립플롭들(20-804)및 (20-806)로부터의 이진수 "0" 및 이진수 "1" 출력들이 데이타 워어드들과 행번지들을 인에이블시켜 각각 레벨 1 캐쉬 및 다이렉토리 위치들로 기입된다.
제 3 및 제 4 번지화 시퀀스들 동안에, 데이터 워어드들 및 행번지들은 캐쉬 저장장치(20-400)및 다이렉토리(20-84)의 제 2 및 제 3 레벨들로 기입된다. 연산의 QLT모우드에 관한 그 이상의 정보에 대해서는 미합중국 특허 제 4,195,343 호를 참조해서 좋을 것이다.
다이렉토리 및 캐쉬 쓰기 제어 회로들(20-82)
블록(80-82)의 다이렉토리 및 저장 쓰기 회로들은 제 3b 도에 더욱 상세히 도시되었다. 부 (20-4)로부터의 캐쉬히트신호들 HIT001000-HIT00200과 부들(20-86) 및 (20-80)로부터의 라운드 로빈 신호들 ROUND0110 및 ROUND1010에 응답하여 쓰기 신호들의 세트들 WRITE0C00-WRITE3C00 및 WRITE0010-WRITE3010을 발생시키도록 동작한다. 동작들의 대체 및 쓰기제어 사이클동안에 지정된 캐쉬 및 다이렉토리 위치들로 기입되는 데이터 워어드들과 행번지들을 인에이블시키기 위해 캐쉬저장 장치(20-400)와 캐쉬 다이렉토리(20-84)로 인가된다. 보다 상세하게 말해서, 블록(20-82)의 회로들은 한쌍의 NAND 게이트들(20-820)및 (20-822), 한쌍의 D형 플립플롭(20-824) 및 (20-826), 다수의 인버터 회로들(20-828), (20-830), (20-832) 그리고 (20-846), 다수의 NOR 게이트들 (20-838), (20-844), (20-850)-(20-854) 그리고 디코더회로(20-848)를 포함한다. 신호들 HIT000000-002000에 응답하여 NAND 게이트들(20-820) 및 (20-822)은 D형 플립플롭들(20-824) 및 (20-826)을 세팅시키기 위해, 각 히트 선택신호들 HSEL01010 및 HSEL0010을 발생시킨다. AND 1NOR 게이트들의 2개 세트들(20-834), (20-836), (20-838) 그리고 (20-840), (2-20-842), (20-844)은 라운드 로빈 신호들 ROUND1010, ROUND0110, 대체신호들 REPLAC010 및 REPLAC000 그리고 히트 선택신호들 HSEL01110, HSEL00110중, 상이한 것들에 결합하여 도시된 바와 같은 선택신호들 SEL001010및 SEL000010을 발생시킨다.
그 신호들은 디코드 회로(20-848)에 의해 디코드되어 쓰기신호 WRTRLS1100에 응답하여 이진수 "0" 상태로 되는 쓰기 신호들 WRITE0C00-WRITE3C00중 적어도 적절한 결과를 초래한다. 또한 신호들 SEL0010 및 SEL001010은 쓰기신호들 WRITE0010-WRITE3010중 해당 신호들을 발생시키기 위해 NOR 게이트들 (20-850)-(20-854)과 AND 게이트 (20-856)안으로 선택적으로 결합된다.
캐쉬 다이렉토리(20-84)
제 2 도를 통해 보듯이, 4-레벨 캐쉬 다이렉토리의 각 레벨은 3개의 RAM 칩들을 포함하는데 각 칩은 1024×4비트 위치들을 포함한다. 각 RAM 칩은 부(20-5)로부터 행번지 신호들 ADDR08200-17200을 수신한다. 이런 신호들은 주기억요구번지의 최상위 10개 번지 비트들 (즉 비트들 0-9)에 해당된다. 다이렉토리(20-84)의 모든 칩들은 제 2 도에서 지적된 바와 같이 칩들의 칩선택단자들(CS)를 접지시킴으로써 인에이블된다.
게다가, 각 레벨의 3개 칩들은 부(20-82)로부터 쓰기 인에이블신호들 WRITE0C00-WRITE3C00중 해당 1개 신호를 수신한다. 이런 신호들중 어느 1개 신호가 이진수 "0"으로 될 때, 지정된 레벨의 모든 칩들은 쓰기동작동안 인에이블된다.
정규 동작동안에, 지정된 레벨로 기입되는 다이렉토리 번지 데이터는 반전되어 블록(20-86)의 3상태 구동(tristate driver)회로들을 통해 지정된 레벨의 신호들 HDAT00B10-HDAT09B10 내지 HDAT30B10-HDAT39B10의 세트들중 1개 세트로서 선로들상의 데이터의 세트들중 1개 해당 세트로 인가된다. 게다가, 여기에서 설명되는 바와 같이, 블록 (20-86)에 포함된 패리티 발생회로들은 지정된 다이렉토리 레벨로도 기입되는 행번지의 상이한 5개 비트 영역들에 대한 패리티 비트들의 세트들로 되는 신호들 PBIT001A1, PBIT011A1-PBIT001D1, PBIT011D1을 발생시킨다.
다이렉토리 패리티 및 모우드 제어 회로들(20-86)
블록(20-86)의 다이렉토리 패리티 및 모우드 제어회로들은 제 3c 도에 더욱 상세하게 도시되었다. 이 다이렉토리 패리티 회로들은 블록(20-860)의 패리티 발생회로들, 번지 및 패리티 구동회로들 그리고 비교기 회로들을 포함한다. 모우드 제어회로들은 블록(20-880)의 히트 비교기, 모우드 제어회로 그리고 에러지시회로들을 포함한다.
제 3c 도를 통해 보듯이, 블록(20-860)은 한쌍의 패리티 발생회로들(20-861) 및 (20-862)을 포함하는데, 그 회로들 각각은 부(20-10)로부터 입력메모리 번지의 행번지 영역의 상이한 5개 비트들에 대해 1개 패리티 비트를 발생시킨다. 동일한 행번지는 블록 (20-863)의 인버터 3상태 구동회로로 인가된다. 이런 회로들은 이진수 "0"으로 되는 신호 CYWRIT000에 의해 쓰기동작 동안에 인에이블된다. 이것은 반전된 행번지가 신호들 HDATA00A10-HDATA39A10로써 구동출력단자들에서 인가되게 한다.
그곳으로부터, 그것들은 다이렉토리(20-84)의 각 레벨들의 캐쉬 다이렉토리 칩들의 데이터 입출력 단자들로 인가된다. 각 쓰기 동작동안에, 블록(20-863)의 구동회로들은 디세이블되어 다이렉토리(20-84)로부터 독출된 캐쉬 다이렉토리 행번지를 인에이블시켜 신호들 HDAT00010-0810 내지 HDAT03010-3910의 4개 세트들로써 비교기 회로들(20-420)-(20-428)로 인가되게 한다. 언급한 바와 같이, 이런 신호들은 히트조건의 발생을 결정하기 위해 행번지와 비교한다.
유사한 방식으로, 발생된 홀수 패리티 신호들 DPBIT0000 및 DPBIT1000은 3상태 구동회로들(20-864a)-(20-864d)을 반전시키는 입력들로 인가된다. 쓰기동작중에 인에이블될 때, 반전된 패리티 신호들은 다이렉토리(20-84)의 다이렉토리 레벨들의 캐쉬 다이렉토리 칩들의 입출력 단자들로 인가된다. 행번지와 거기에 관련된 패리티 비트들을 반전시킴으로써, 원하는 비교를 수행하는데 요구되는 논리회로들의 수를 줄이는 것이 가능하게 된다.
읽기 동작 동안에, 구동회로들(20-864a)-(20-864d)은 디세이블되고 다이렉토리(20-84)로부터 독출된 패리티 비트 신호들의 4개 쌍들은 블록(20-866)의 비교기 회로들(20-866a)-(20-866d)중 해당회로들에 인가된다. 다이렉토리 패리티 신호들의 쌍들은 회로들(20-861) 및 (20-862)에 의해 발생된 패리티 신호들 DPBIT0010 및 DPBIT1010과 비교된다.
제 3c 도를 통해 보는 바와 같이, 각각의 비교기 회로들(20-866a)-(20-866d)은 1개 출력 NOR 게이트(예를 들면 20-869a)내에 결합된 출력들을 가지는 한쌍의 배타 OR 게이트들 (예를들면 20-867a 및 20-868a)을 포함한다. 패리티 비트들로 발생된 행번지는 해당 다이렉토리 레벨로부터 독출된 비트들을 비교할 때, 출력 NOR 게이트는 히트 인에이블 신호들 HITEN0010-HITEN3010중 1개 해당 신호를 이진수 "1" 상태로 만든다는 것을 나타낸다. 다이렉토리 패리티가 1개 레벨에서 검출될 때, 신호들 HITEN0010-HITEN3010중 1개 해당 신호가 이진수 "0"상태로 된다.
히트 인에이블 신호들은 블록 (20-880)의 회로들에 입력들로써 인가된다. 이런 회로들은 히트 무효신호들 PARERRA00-PARERRD00을 발생시키기 위해 부(20-42)로부터 히트 인에이블 신호들 HITEN0010-HITEN3010을 히트신호들 HIT000000-HIT003000을 결합시키는 4개의 OR 게이트들(20-881)-(20-884)을 포함한다. 히트조건이 부(20-42)의 회로들에 의해 검출될 때, 신호들 HIT000000-HIT003000중 1개 해당 신호는 이진수 "0"상태로 된다. 다이렉토리 패리티 에러가 비교기 회로들(20-866)에 의해 검출될 때, 그 레벨에 대한 히트 인에이블신호는 이진수 "0"으로 된다. 이것은 교대로 OR 게이트들(20-881)-(20-884)중 1개가 적당한 히트무효신호가 이진수 "0" 상태로 되게끔 만든다.
4개의 모든 히트 무효 신호들은 NAND게이트(20-887)내에서 결합된다. 이 게이트는 무효 히트에 응답하여(즉, 신호들 PARERRA00-PARERRD10중 1개 신호가 이진수 "0"으로 될때) 신호 PARERR010를 이진수 "1"로 만든다. 신호 PARERR010는 부(20-10)의 신호 CPRCLK010에 응답하여 D형 플립플롭으로 클록된다. 다이렉토리 패리티 에러조건이 유효할 때 플립플롭(20-888)의 상태는 신호를 낸다(즉, 동작의 다이렉토리 읽기 사이클 동안에 발생된다).
또한, 무효 히트 신호들은 도시된 바와 같이 한쌍의 NAND 게이트들 (20-885) 및 (20-886)내에 결합된다. 즉 레벨들 0 및 1에 대한 무효 히트신호들은 레벨들 2 및 3에 대한 무효히트 신호들이 NAND 게이트(20-886)내에 결합되는 동안에 NAND 게이트(20-885)내에 결합된다. NAND 게이트(20-885)가 신호 DIRPE0010를 이진수 "1"로 만들 때, 이것은 레벨들 0 및 1에서 무효히트의 검출을 신호한다. 마찬가지로, NAND 게이트(20-886)가 신호 DIRPE1010를 이진수 "1"로 만들 때, 이것은 레벨들 2 및 3 내에서 무효히트의 검출을 신호한다.
다이렉토리 히트 신호들 DIRPE0010 및 DIRPE1010은 한쌍의 후속 NAND 게이트들(20-889) 및 (20-890) 내에서 패리티 에러 무효 신호 PARERR110와 결합한다. NAND 게이트(20-889)가 신호 DIRPE0000를 이진수 "0" 상태로 만들 때, 이것은 유효에러가 다이렉토리 레벨 0 또는 1 내에서 발생된 바와 같이 검출되었다는 것을 신호한다. 유사하게, NAND 게이트(20-890)가 신호 DIRPE1000를 이진수 "0" 상태로 만들 때, 이것은 유효에러가 레벨 2 또는 3 내에서 발생된 바와 같이 검출되었다는 것을 신호한다.
신호들 DIRPE0000 및 DIRPE1000은 각각 한쌍의 D형 플립플롭들(20-892) 및 (20-894)의 스윗칭을 제어한다. 둘중 1개 신호가 이진수 "0"으로 스위치될때, 그것은 플립플롭들(20-892) 및 (20-894) 중 1개 해당 플립플롭이 이진수 "0" 상태로 스위치될때, 그것은 플립플롭들(20-892) 및 (20-894) 중 1개 해당 플립플롭이 이진수 "0"상태로 스위치 하게끔 한다. 플립플롭들로부터의 출력신호들 DBANK0000 및 DBANK1000은 다른 캐쉬부들의 동작과 마찬가지로 라운드 로빈 회로들의 계수 시퀀스를 제어하는데 사용된다. 예를들면, 이 신호들은 직렬연결쌍의 NAND 게이트들(20-895) 및 (20-896)내에서 라운드 로빈부(20-80)로부터의 최상위 유효 비트신호 ROUND0010와 결합된다. 출력게이트(20-895)에 의해 발생된 출력신호 ROUND0110는 부(20-80)의 라운드 로빈 카운터 회로들에 의해 초기적으로 발생된 최상위 유효 비트 신호 ROUND0110의 상태를 제어 또는 확립한다.
더욱 상세히 설명하면, 두개 신호들 DBANK0000 및 DBANK1000 모두가 이진수 "1"들일 때, 신호 ROUND0110의 상태는 신호 ROUND0010의 함수로써 변화한다. 그러므로, 라운드 로빈 계수 시퀀스는 정규적으로 진행한다.
그러나, 신호 DIRPE0000가 이진수 "0"으로 스위치 하였을 때, 신호 DBANK-00
00는 이진수 "0"으로 스위치한다. 이것은 NAND 게이트(20-895)가 신호 ROUND0110가 이진수 "1"상태로 만들게 한다. 최상위 유효 비트 신호 ROUND0110는 신호 DBANK가 이진수 "0"으로 있는 한 이진수 "1"로 있게 된다. 따라서, 라운드 로빈 계수 시퀀스는 레벨들 2 및 3을 단지 지정하도록 변경된다.
유사하게, 신호 DIRPE1000가 이진수 "0"으로 스위치하였을때, 신호 DBANK1000는 이진수 "0"으로 스위치한다. 이것은 NAND 게이트가 신호 ROUND2000를 이진수 "1"로 만들게끔 한다. 그 결과 NAND 게이트(20-90895)는 최상위 유효비트 신호 ROUND0110를 이진수 "0"으로 만든다. 이것은 레벨들 0 및 1만이 지정되도록 라운드 로빈 계수 시퀀스를 변경시킨다. 게다가, 신호들 DBANK0000 및 DBANK1000은 부(20-42)의 비교기 회로들의 쌍들에 입력들로써 인가된다. 따라서, 비교기 회로들의 쌍들은 신호들 DBANK0000 및 DBANK1000의 상태들의 함수로써 히트 신호를 발생시키는 것이 금지되게 된다.
부가 게이트들(20-897)-(20-900)은 캐쉬가 메모리 황색 또는 수정가능 에러 조건으로써 신호되는 강등 모우드에서 동작중일 때와 캐쉬가 메모리 적색 또는 수정 불가능 에러 조건으로 신호되는 오프-라인으로 위치되고 있을 때 CPU(10)에 보고하는데 사용된다. 보다 상세히 말해, AND게이트(20-899)는 CPU(10)로 인가되는 메모리 황색에러 신호 CADY0010를 발생시키기 위해 CPU(10)신호 CYCADNOCO로부터 제어를 받는 캐쉬에 무효 패리티 에러신호 PARERR110를 결합시킨다. 두개의 플립플롭들 모두가 이진수 "0"들일 때 NOR 게이트(20-897)는 신호 DIRRED를 정정불가능조건의 발생을 신호하기 위해 게이트(20-898)를 통해 CPU(10)로 들어가게 되는 이진수 "1" 상태로 만든다. 게다가, 후속 D형 플립플롭(20-891)은 제 1 유효패리티 에러의 발생을 저장하는데 사용된다.
NAND 게이트(20-887)로부터의 출력신호 PARERR010는 NAND 게이트(20-902)에 의해 발생되는 캐쉬 히트신호 CAHIT110에 결합되는 신호 PARERR000를 발생시키기 위해 게이트(20-903)에 의해 반전된다. 결과신호 CACHIT200는 부(20-10)로 들어가게 되어 정류 캐쉬미스조건의 경우에서와 같이 주(main)메모리 요구를 발생시키는데 사용되게 된다.
[동작의 설명]
제 1 도-제 5c 도를 참고로 하여, 본 발명의 양호한 실시예의 동작은 제 4 도의 순서와 제 5 도의 타임도를 참고로 이제 설명될 것이다.
본 발명의 양호한 실시예의 캐쉬장치는 동작의 정규모우드로부터 진행되는 모우드 전이를 일으킴으로써 품위있는 강등을 제공하는데, 그 동작은 4개의 캐쉬레벨들이 모두 동작의 강등모우드로 동작 또는 능동적으로 된 다음 어떤 레벨들도 동작 또는 능동적으로 되지 않는 특징으로 지닌 우회 모우드로 되는 특징으로 지닌다. 제 4 도의 순서도는 이런 모우드 전이들의 발생이 어떻게 생기는지를 보여준다.
캐쉬장치(20)가 초기화되고 정규적으로 동작한다고 가정하겠다. 예로써, 캐쉬내에 저장되어 있고 다이렉토리 패리티에러를 발생시키는 액서스를 가지는 데이터를 요구하는 CPU에 의해 성공적인 읽기 요구들이 발생된다. 이런 요구들에 응답하는 동작을 이제부터 다룰 것이다. CPU(10)가 제 1 도의 캐쉬장치(20)에 메모리 쓰기 요구를 보냈을 때, 20비트 주기억번지는 적당한 버스제어신호들과 함께 인터 페이스(18)의 번지선로들에 인가된다.
이것은 버스번지 신호들 BAR030010-BAR220010은 인터페이스(18)의 번지신호들로부터 수신되는 특징으로 지닌 제 5 도의 타이밍 시퀀스를 시발시킨다.
제 2 도로부터 신호들 ADDR08200-ADDR17200에 대응하는 10-비트 행 번지는 다이렉토리 및 캐쉬부들 (20-8) 및 (20-4)의 여러 영역들로 인가된다. 또한, 그때 신호들 ADDR0010-ADDR0710, 신호들 ADDR0A10 및 ADDR0B10에 대응하는 10-비트 행번지는 히트/미스 제어회로들(20-42)로 인가된다.
상기와 병행하여, 제 3C도의 패리티 발생회로들(20-861) 및 (20-862)은 입력 행번지로부터 패리티 비트신호들 DPBIT0010 및 DPBIT1010을 발생시킨다. 이것은 읽기 동작이므로, 구동회로들(20-864a)-(20-864d)은 금지된다. 따라서, 다이렉토리 레벨들로부터 독출된 패리티 비트 신호들의 세트 등은 비교기 회로들(20-869a)-(20-869d)에 입력들로써 인가된다.
비교기 회로들(20-420)-(40-426)은 동작하여 4개의 다이렉토리 행번지들을 메모리 요구 행번지와 비교한다. 요구된 데이타가 캐쉬저장장치(20-40)에 저장되어 있다고 가정했으므로, 비교기 회로들중 1개가 동작하여 히트 신호들 HIT000010-HIT003010중 1개 신호를 히트조건을 나타내는 이진수 "1" 상태로 만든다. 동시에, 비교기 회로들(20-866a)-(20-866d)이 동작하여 다이렉토리번지 패리티 비트들을 메모리 행번지로부터 발생된 패리티 비트들과 비교한다.
읽기 요구는 다이렉토리 패리티 에러를 발생시킨다고 가정되었으므로, 비교기 회로들(20-866a)-(20-866d)중 1개 회로가 동작하여 히트 인에이블 신호들중 1개 신호를 이진수 "1" 상태로 만든다. 다이렉토리 패리티 에러가 요구된 데이타가 저장되는 곳(즉, 히트가 발생된 곳)으로부터 레벨들의 서브 디비젼 또는 세트에 발생될 때, NAN 게이트(20-887)가 동작하여 다이렉토리 패리티 에러신호 PARERR010를 이진수 "1"로 만든다.
제 5 도를 통해 보는 바와 같이, 신호 PARERR010는 메모리 요구를 수령한 다음 약 90nanoseconds동안 발생된다. 이것은 읽기 요구이므로, 약 40nanoseconds 후 신호 PARERR010는 부(20-10)의 클록회로들로 부터의 타이밍 신호 CPRCLK010에 응답하여 플립플롭(20-888)으로 클록된다.
이 결과 이진수 "1"로 되는 패리티 에러 유효 신호 PARERR110가 생기게 된다. 제 5 도를 통해 보는 바와 같이, 이 신호는 히트 무효신호들 DIRPE0010및 DIRPE1010의 상태들을 강등모우드 플립플롭들(20-892) 및 (20-894)로 즉시 게이트시킨다.
제 4 도의 순서도로부터, 신호 PARERR110에 의해 신호된 바와 같이 다이렉토리 패리티 에러를 검출한 결과로 캐쉬 저장장치(20-40)는 우회되고 유요구된 데이터는 주기억장치(12)로부터 인출되게 된다. 회로들(20-42)에 의해 신호되었을때 히트조건이 발생됨에 따라 NAND 게이트(20-902)는 캐쉬히트신호 CACHIT110를 이진수 "1" 상태로 만든다. 그러나 이진수 "0"으로 스위치되는 신호들 PARERR AOO-PARERR000중 1개 신호에 의해 NAND 게이트 (20-887)가 이진수 "1"로 스위치 되었을 때 신호 PARERR000는 이진수"0"로 되었다. 이것은 NAND 게이트(20-904)가 신호 CACHIT200를 이진수 "0"상태로 스위치시키는 것을 금지시킨다. 그 결과 신호 CACHIT2000가 (20-10)의 회로들이 주기억장치(12)로 들어가게 되는 메모리 요구를 발생시키게끔 한다.
제 4 도를 통해 보듯이, 제 3c 도의 회로들 (20-880)은 다이렉토리 에러가 발생되는 캐쉬의 서브디비젼에서 인지가 확립된다. 보다 상세히 말해, 강등모우드 플립플롭들(20-892) 및 (2-20-894)의 상태들은 레벨들의 어떤 세트 또는 서브 디비젼이 디세이블되는지를 정의한다.
레벨 0에 저장된 데이터가 액서스될 때 다이렉토리 패리티 에러가 발생된다고 가정되었다. 따라서, 캐쉬동작은 제 4 도에서 도시된 바와 같이 레벨들 0 및 1을 오프-라인으로 스위치시키도록 진행하게 된다. 즉 플립플롭(20-892)은 제 5 도에 도시된 바와 같이 메모리 요구를 수령함으로부터 약 150nanoseconds 동안 이진수 "1" 상태로 스위치된다.
상기 스윗칭의 결과로 강등모우드 신호 DBANK000는 이진수 "0"으로 되게 된다. 신호 DBANK10000는 이진수 "1"상태로 지속된다. 따라서, NAND 게이트(20-895)는 최상위 유효 라운드 로빈 비트신호 ROUND0110를 이진수 "1"로 스위치한다. 제 5 도를 통해 보는 바와 같이, 이것은 신호 DBANK0000를 스위치한 다음 약 5nanoseconds 동안 발생된다. 신호 DBANK0000는 NAND 게이트(20-895)가 라운드 로빈 비트신호 ROUND0110를 이진수 "0"상태로 유지시키게끔 한다.
따라서, 제 3a 도의 라운드 로빈 카운터 부(20-80)는 메모리 데이터가 여기에서 설명된 바와 같이 레벨들 2 및 3 내에서만 대체되도록 효과적으로 허용한다. 게다가, 이진수 "0" 신호 DBANK000는 제 2 도의 레벨 0 및 레벨 1 비교기 회로들(20-420)을 디세이블시킨다. 따라서, 레벨들 0 및 1은 후속메모리 읽기 요구들의 처리에 관계되는 오프-라인으로 있게 된다.
제 4 도를 통해 보는 바와 같이, 유효 패리티 에러신호 PARERR110은 황색에러 응답 신호 CADYL0010를 이진수 "1"로 만든다. 주기억장치(15)로부터 피요구 데이터가 캐쉬장치(20)에 의해 수신되자마자, 그것은 회로들(20-880)에 의해 수정된 바와 같이 라운드 로빈레벨 신호에 의해 지정된 레벨의 그 다음 위치로 기입된다. 즉, 부(20-10)의 대체 회로들은 동작하여 대체신호 REPLA010를 대체동작을 나타내는 이진수 "0"으로 만든다. 이 결과 쓰기 사이클 신호 CYWRIT는 부(20-10)의 대체 회로들에 의해 이진수 "1"로 되게된다.
제 3a 도를 통해 보는 바와 같이, 신호 CYWRIT010는 메모리 요구행번지에 응답하여 라운드로빈 카운터칩들(20-800) 및 (20-806)로부터 독출된 레벨 신호들 ROUND0A10 및 ROUND1A10이 플립플롭들(20-804) 및 (20-806)로 로우드(load)되게끔한다. 전에 언급한 바와 같이, 최상위 유효 라운드 로빈 카운터는 제 3c 도의 플립플롭의 상태에 의해 수정되어 블록(20-82)의 쓰기 제어회로들로 인가된다. 캐쉬장치(20)가 대체동작을 수행하고 있으므로 제 3b 도의 선택신호들 SEL001010 및 SEL00010은 라운드 로빈 카운터 신호들 ROUND1010 및 ROUND0110의 함수로써 발생된다.
보다 상세히 말해, 반전될 때 신호 ROUND0110의 이진수 "1"상태는 NOR게이트(20-844)가 선택신호 SEL000010를 이진수 "1"로 만들게끔 한다. 선택신호 SEL001010는 신호 ROUND1010의 상태의 함수로써 이진수 "1" 또는 "0"으로 되게 된다. 블록(20-10)의 대체회로들에 의해 쓰기신호펄스 WRTPLS110가 발생될 때, 디코더 회로(20-848)는 쓰기신호 WRITE2C10 또는 WRITE3C00를 이진수 "0"으로 만든다.
유사하게, 회로들(20-850)-(20-856)은 쓰기신호 WRITE2010또는 WRITE3010를 이진수 "1"로 만든다. 따라서, 주기억장치(12)로부터 데이터는 캐쉬 다이렉토리(20-84) 및 캐쉬 저장장치(20-400)의 레벨 2 또는 레벨 3으로만 기입된다.
제 2 도를 통해 보듯이, 메모리 요구 행번지는 신호 WRITE2C00 또는 WRITE3C00에 응답하여 캐쉬 다이렉토리 레벨들로 기입된다. 캐쉬 저장장치(20-400)의 경우에 있어서, 신호 WRITE2010 또는 WRITE3010는 선택논리회로들(20-430)이 레벨 2 또는 레벨 3RAM 칩들에 인에이블 시키기 위해 칩선택 신호들 CHIPS2000 또는 CHIPS3000중 적당한 1개 신호를 이진수 "0"으로 만든다. 신호들 DATA00A10-DATA19A10에 대응하고 주기억장치(12)로부터 수신된 데이터는 쓰기 신호 WRITE2C00 또는 WRITE3C00에 응답하여 행번지에 의해 지정된 위치로 기입된다.
제 4 도를 통해 보는 바와 같이, 요구된 데이터가 캐쉬저장장치(20-400)로 기입될 때, 그것은 황색에러 응답신호 CADYL0010와 함께 인터페이스(18)를 거쳐 CPU로 들어가게 된다. 그 다음에 캐쉬장치(20)는 메모리 요구들을 강등모우드로 계속 처리한다. 따라서 CPU(10)는 검출된 캐쉬에러 또는 실패에도 불구하고 상당히 효율적으로 동작할 수 있게 된다.
명백하게도 동작을 결정 조건을 정정하는 것이 편리하게 될 때까지 강등모우드로 계속될 것이다. 캐쉬장치(20)가 시간소모적인 보고 및 진단 절차들을 포함하는 귀중한 처리시간을 사용하지 않고 제 4 도의 동작들을 자동적으로 수행하므로 시스템 동작은 고양되고 신뢰도가 증가하게 된다. 게다가, 이런 동작들을 최소한의 부가논리회로들로 수행되므로 거기에 따라 시스템 신뢰도가 더 개선되게 된다.
제 4 도를 통해 보듯이, 캐쉬장치(20)는 후속 다이렉토리 패리티에러가 본 예에서 레벨들 2 및 3에 해당하는 동작중인 또는 존속하는 캐쉬 레벨들 내에서 검출될 때까지 강등모우드로 계속 동작하게 된다.
에러를 발생시키는 그 다음 메모리 읽기 요구는 레벨들 2 또는 3내에 저장된 데이터를 액서스 하는 것을 지정한다고 가정해 보자.
위에서 설명된 방식대로, 제 3c 도의 부(20-86)의 회로들은 히트무효신호 DIRPE1010가를 이진수 "1"로 만드는 신호들을 발생시킨다. 이것은 읽기 요구이므로, 플립플롭(20-888)이 다시 이진수 "1"로 스위치된다. 이 시간에 패리티 에러 유효신호 PARERR110는 NAND게이트가 신호 DIRPE1000를 이진수 "0"으로 만들게하여 강등모우드 플립플롭(20-894)을 이진수 "1"로 스위치시킨다.
제 3c 도를 통해 보는 바와 같이, 신호 DBANK1000는 NOR게이트(20-897)로 하여금 신호 DIRRED010를 이진수 "1"로 만들게끔 하는 이진수 "0"으로 스위치된다. 이것은 적색에러응답신호 CADRED010를 이진수 "1"로 만든다.
제 4 도를 통해 보는 바와 같이, 신호 DBANK1000의 이진수 "0"상태가 능동 레벨들 2 및 3이 제 2 도의 비교기 회로들 (20-426) 및 (20-428)을 디세이블함으로써 오프-라인으로 스위치되게끔 한다. 캐쉬 장치(20)는 앞서 설명한 방식으로 동작하여 주기억장치(12)로부터 데이터를 인출한다. 수령하자마자, 데이터는 적색에러 응답신호와 함께 인터페이스(18)를 거쳐 CPU(10)로 들어가게 된다.
제 4 도를 통해 보듯이, CPU(10)는 동작의 캐쉬장치(20)가 우회 또는 오프-라인 모우드로 위치해 있음을 나타내는 상태(status)정보를 발생시키기 위해 필요동작을 취할 수 있다. 레벨들 2 및 3 내에 저장된 데이터가 액서스되었을 때 다이렉토리 패리티 에러가 최초로 발생된다면 레벨들 2 및 3은 제 4 도에 나타난 바와 같이 오프-라인으로 위치하게 된다. 보다 상세히 설명하면, 제 3 도의 플립플롭(20-894)은 플립플롭(20-892)이 이진수 "0"상태로 있는 동안에 이진수 "1"로 스위치된다. 따라서, 이것은 NAND게이트(20-895)가 최상의 유효 라운드 로빈 카운터 비트 신호 ROUND0110를 이진수 "0"상태로 만들게끔 한다. 따라서, 대체 동작들 동안에, 데이터를 캐쉬 다이렉토리(20-84) 및 캐쉬저장장치(20-400)의 레벨들 0 및 1로만 기입되는 것이 허용된다. 즉, 부(20-82)의 회로들은 신호 ROUND0110의 상태에 의해 조건화되어 단지 쓰기 신호들 WRITE0C00 및 WRITE1C00는 이진수 "0"들로, 신호들 WRITE0010 및 WRITE1010은 이진수 "1"들로 만든다.
전문(前文)으로부터, 본 발명의 장치가 어떻게 보다더 신뢰할 수 있고 성능이 뛰어난 캐쉬 시스템을 제공할 수 있는가 하는 것을 알아보았다. 이것은 장치상 최소의 증가로 수행되므로 고도의 신뢰도가 유지되게 된다.
본 기술에 숙달된 자에 의해 본 발명의 양호한 실시예들에 많은 변화가 생기게 될 것이라는 것은 잘 이해될 것이다. 예를 들면, 본 발명의 장치는 상이한 캐쉬 구성들 (예를 들면, 저장위치들, 부들기타 등등)과 상이한 유형의 에러 검출장치로 사용될 수도 있다.
또한, 본 발명은 가령 예를 들어 가장 최근에 사용된 대체 방식과 같은 다른 유형의 장치가 다이렉토리 에러들에 응답하여 캐쉬저장용량을 전체 용량의 1/2로 강등시키는 동작을 하는 반면에, 본 기술에 숙달된 사람들이라면 캐쉬저장용량을 전체 저장용량의 1/4 또는 그 이하로 강등시켰을 수도 있다는 것을 알 수 있을 것이다.
특허 법규에 맞게 최상 양식으로 된 본 발명이 도시되고 설명되어 있지만, 청구범위에서 설명된 바와 같이 본 발명의 정신을 이탈하지 않고 어떤 변화가 있을 수도 있으며 더구나 몇몇 경우에 있어서 본 발명의 어떤 특징들이 다른 특징들의 해당 사용없이 장점으로 쓰일 수도 있다.

Claims (10)

  1. 컴퓨터 시스템에서 사용되고, 이 시스템에 의해서 발생된 제 1 및 제 2 번지 부분을 포함하는 요구된 데이터의 주기억장치 번지로서 각각 식별될 메모리 액서스 요구들에 응답하여 주기억장치에 유지된 데이터를 고속으로 액세스함에 있어, 각기 동일한 그룹의 저장위치를 갖는 복수의 레벨로 구성되고 상기 모든 레벨내의 해당저장위치는 상기 각 제 2 번지 부분에 의해서 지정되며, 또 각 저장위치는 데이터의 아이템을 저장하고 있는 번지화 가능 데이터 저장장치(20-400)와 ; 상기 데이터 저장장치와 동일한 수의 레벨 및 동일한 그룹의 저장위치로 구성되고, 그 각 저장위치는 데이터 저장장치내의 대응저장위치내에 유지된 데이터 아이템의 주기억장치 번지의 제1번지 부분을 저장하며, 상기 모든 레벨내의 해당저장위치는 상기 각 제 2 번지부분에 의해서 지정되는 번지화 가능 다이렉토리 저장장치(20-84)를 구비하고 있는 부분적으로 강등가능한 캐쉬장치에 있어서, 상기 다이렉토리 저장장치에 결합되어, 상기 다이렉토리 저장장치로부터 독출되는 제 1 에러신호와 관련된 에러를 나타내는 에러신호를 발생하도록 동작하는 에러검출수단(20-860)과 ; 상기 에러검출수단에 결합되고, 아울러 상기 다이렉토리 저장장치 및 상기 데이터 저장장치에 동작적으로 결합되어, 상기 캐쉬장치 레벨들중의 하나에 저장된 데이터 아이템을 독출하는 동안 검출된 최초 발생 에러신호에 응답하여 에러가 검출되지 않는 레벨들만으로 상기 다이렉토리 저장장치 및 데이터 저장장치의 동작을 제한하도록 상기 캐쉬장치를 부분적으로 강등된 모우드로 스위치하게끔 동작하는 모우드 제어수단(20-880)을 구비하는 것을 특징으로 하는 캐쉬장치.
  2. 제 1 항에 있어서, 상기 요구들의 상기 제 2 번지들을 수신하도록 결합된 번지화 가능 대체회로수단을 추가로 구비하는데, 이 회로수단은 상기 각각의 제 2 번지에 대해 하나씩 복수개의 다중비트 저장위치를 갖고, 상기 각 다중비트 저장위치는 상기 각각의 제 2 번지에 대해 대체데이터가 기입될 상기 레벨들중 다음의 레벨을 지정하는 코드화된 정보를 저장하며 ; 상기 모우드제어수단은 상기 강등 모우드로 될때 상기 번지화 가능 대체회로수단으로부터 독출된 상기 코드화된 정보를 변형하여 상기 다이렉토리 및 캐쉬저장장치의 상기 조건을 결정하고, 이에 의해 에러가 없는 것으로써 검출되는 다이렉토리 및 저장 레벨들 내의 상기 데이터 대체를 제한하도록 하는 것을 특징으로 하는 캐쉬장치.
  3. 제 2 항에 있어서, 상기 다이렉토리 저장장치의 상기 레벨들내의 상기 위치들 각각은 거기에 저장된 상기 제 1 번지들로부터 발생된 복수의 패리티 검증비트들을 포함하는데, 상기 에러검출수단은, 상기 수효의 패리티 검증비트들을 발생시키게끔 동작하고 상기 요구들의 상기 제 1 번지들을 수신하도록 결합된 패리티 발생회로수단 : 그리고 상기 다이렉토리 저장장치로 기입되는 제 1 번지에 관련된 다이렉토리 패리티 에러를 나타내는 상기 다이렉토리 에러신호들을 발생시키도록 동작하고, 상기 다이렉토리 저장장치, 상기 패리티 발생회로수단 그리고 상기 모우드 제어수단에 결합된 비교 게이팅 수단을 포함하는 것을 특징으로 하는 캐쉬장치.
  4. 제 2 항에 있어서, 캐쉬장치는 상기 요구들중의 하나의 제 1 번지에 응답하여 상기 다이렉토리 저장 레벨들로부터 독출된 제 1 번지들을 상기 하나의 요구의 제 1 번지와 비교하고, 상기 하나의 요구에 의해 액세스되는 데이터가 상기 캐쉬저장 레벨들중 상기 하나의 레벨에 저장되는지 여부를 나타내는 히트신호들을 발생시키도록 동작하고, 상기 요구들의 상기 제 1 번지들을 수신하도록 결합되고 또 상기 다이렉토리 저장장치에 결합된 비교수단을 추가로 포함하는 것을 특징으로 하는 캐쉬장치.
  5. 제 4 항에 있어서, 상기 모우드 제어수단은, 상기 다이렉토리 에러 신호들중 상기 제 1 신호의 발생을 일으키는 상기 캐쉬 레벨들중 상기 하나의 레벨로부터 상기 데이터가 액세스될 때를 확인하는 무효 히트 신호들을 발생시키도록 상기 에러신호들을 상기 히트 신호들에 결합시키고, 상기 비교수단과 상기 에러 검출수단에 결합된 논리회로수단 ; 그리고 상기 캐쉬장치를 동작의 상기 강등 모우드로 위치시키기 위해 소정 상태로 스위치하도록 상기 무효 히트 신호들중 상기 제 1 신호에 의해 조건화되고, 상기 소정상태에 있을 때 무효 히트 신호들중 상기 제 1 신호에 의해 에러가 없는 것으로써 신호된 그런 캐쉬저장 레벨들에서만 정보를 대체하기 위해 상기 제 2 번지들에 응답하여 상기 번지화 가능대체 회로수단으로부터 독출된 상기 코드화된 정보를 변경시키는 쌍안정(bistable)수단을 포함하는 것을 특징으로 하는 캐쉬장치.
  6. 제 5 항에 있어서, 상기 쌍안정 수단이 상기 소정상태에 있을 때 상기 비교수단이 상기 무효 히트신호들 중 제 1 신호를 발생시키는 캐쉬 레벨에 피요구 데이터가 저장되어 있다는 것을 나타내는 후속 히트신호들을 발생시키는 것을 금지시키게끔 상기 쌍안정 수단을 상기 비교 수단에 결합하는 것을 특징으로 하는 캐쉬장치.
  7. 제 5 항에 있어서, 상기 쌍안정 수단은 다른 소정의 상태로 전환하도록 상기 무효 히트신호들중에 제 2 신호에 의해 조건화되고, 상기 다른 소정의 상태에 있을 때 상기 비교수단이 상기 캐쉬장치를 동작의 오프-라인 모우드로 위치시키는 더이상의 후속 히트신호들을 발생시키는 것을 금지시키도록한 것을 특징으로 하는 캐쉬장치.
  8. 제 5 항에 있어서, 상기 캐쉬 저장장치의 상기 수효의 레벨들과 상기 캐쉬 다이렉토리 저장장치는 소정 수효의 레벨들의 그룹들을 포함하고 상기 코드화된 정보는 상기 소정 수효에 해당하는 다수의 비트들을 포함하는데, 상기 모우드 제어수단의 상기 쌍안정 수단은 상기 복수의 쌍안정 소자들 각각은 상기 소정 수효의 상기 무효 히트신호들을 수신하도록 상기 논리회로수단에 결합되고, 상기 무효 히트신호들중 상기 제 1 신호는 상기 복수의 쌍안정 소자들 중 해당 소자를 상기 소정 상태로 절환시키고, 상기 쌍안정 소자들 중 상기하나의 소자는 상기 소정상태에 있을 때 상기 비교수단을 조건화시키고 후속 요구들에 응답하여 액세스를 위해 상기 캐쉬 저장장치내에서 관련된 레벨들의 그룹의 선택을 금지시키도록 상기 번지화 가능 대체 회로수단으로부터 독출된 상기 소정 수효의 코드화된 정보비트들 중 상기 소정의 제 1 비트의 상태를 변경시키게끔 상기 레벨들의 그룹들의 소정 수효에 해당하는 다수의 쌍안정 소자들을 포함하는 것을 특징으로 하는 캐쉬장치.
  9. n개의 레벨의 워어드 위치로 구성되는데 상기 레벨들 내에서의 각 워어드 위치는 상기 제 1 번지들중 상이한 번지에 의해 정의되는 캐쉬저장장치 ; 제 2 번지를 저장하기 위한 각 워어드 위치는 상기 워어드들중 하나의 해당 워어드가 저장되는 상기 캐쉬저장장치의 상기 레벨들중 어느 레벨을 지정하고, 상기 레벨들내에서의 각 상이한 워어드 위치는 상기 제 1 번지들중 다른 하나의 번지에 의해 정의되도록, 워어드 위치들의 상기 n개 레벨들로 구성된 다이렉토리 저장장치 ; 각 요구의 제 1 번지에 응답하여 상기 다이렉토리 저장레벨들로부터 독출된 제 2 번지들을 각 요구의 제 2 번지와 비교하고, 상기 요구에 의해 액세스되는 하나의 워어드가 상기 캐쉬 저장레벨들 중 하나의 레벨에 저장되어 있는지 여부를 나타내는 다수의 히트신호들을 발생시키도록 동작하고, 상기 요구들의 각각의 상기 제 2 번지들과 상기 다이렉토리 저장장치에 결합된 비교수단 ; 대체정보가 기입되는 상기 제 1 번지에 대해 상기 레벨들중 그다음 레벨을 지정하는 각각의 상기 제1번지들에 대해 2개의 레벨들의 각 n차 거듭제곱에 대한 n레벨배정비트들을 저장하기 위한 복수의 다중비트위치들을 가지는 번지화 가능 랜덤 액세스 메모리 대체 회로수단 ; 상기 다이렉토리 저장장치로부터 액세스되는 다이렉토리 저장장치의 제 1 번지들에서의 에러들을 지시하는 다이렉토리 에러신호들을 발생시키도록 동작하고, 상기 다이렉토리 저장레벨들에 결합된 에러검출수단 : 그리고 하나의 메모리 요구가 결과적으로 오데이터를 제공할 때를 나타내는 무효 히트검출신호들을 발생시키기 위해 상기 다이렉토리 에러신호들을 상기 히트 신호들과 결합시키기 위한 논리회로수단을 포함하고, 동작의 상기 모우드에 있을 때 상기 비교수단을 조건화시키고, k가 상기 캐쉬의 저장용량이 감소된 레벨들의 수에 해당되는 전체 정수일 때 동작을 n-k수효의 캐쉬 레벨들로 제한시키게 하기 위해서 상기 번지화 가능 대체회로수단으로부터 독출된 상기 n레벨 배정비트들을 변경시키고, 상기 에러검출수단, 상기 비교수단 그리고 상기 대체회로수단에 결합된 모우드 제어수단으로 구성된 캐쉬장치.
  10. 제 9 항에 있어서, k는 n/2 이하의 수치를 갖는 것을 특징으로 하는 캐쉬장치.
KR1019830001301A 1982-03-31 1983-03-30 다중 레벨 캐쉬 시스템 KR910004309B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019830001301A KR910004309B1 (ko) 1982-03-31 1983-03-30 다중 레벨 캐쉬 시스템

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US364052 1982-03-31
US364,052 1982-03-31
US06/364,052 US4464717A (en) 1982-03-31 1982-03-31 Multilevel cache system with graceful degradation capability
KR1019830001301A KR910004309B1 (ko) 1982-03-31 1983-03-30 다중 레벨 캐쉬 시스템

Publications (2)

Publication Number Publication Date
KR840004275A KR840004275A (ko) 1984-10-10
KR910004309B1 true KR910004309B1 (ko) 1991-06-25

Family

ID=26627248

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019830001301A KR910004309B1 (ko) 1982-03-31 1983-03-30 다중 레벨 캐쉬 시스템

Country Status (1)

Country Link
KR (1) KR910004309B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100490388B1 (ko) * 1998-02-24 2005-08-04 삼성전자주식회사 가상캐쉬메모리의엑세스속도향상방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100490388B1 (ko) * 1998-02-24 2005-08-04 삼성전자주식회사 가상캐쉬메모리의엑세스속도향상방법

Also Published As

Publication number Publication date
KR840004275A (ko) 1984-10-10

Similar Documents

Publication Publication Date Title
US4464717A (en) Multilevel cache system with graceful degradation capability
US4357656A (en) Method and apparatus for disabling and diagnosing cache memory storage locations
US4168541A (en) Paired least recently used block replacement system
US4667288A (en) Enable/disable control checking apparatus
EP0095033B1 (en) Set associative sector cache
US4833601A (en) Cache resiliency in processing a variety of address faults
US6480975B1 (en) ECC mechanism for set associative cache array
KR100190351B1 (ko) 2-레벨 캐시 메모리의 방해 감소장치 및 방법
US5651135A (en) Multi-way set associative cache system in which the number of lines per set differs and loading depends on access frequency
US5125085A (en) Least recently used replacement level generating apparatus and method
EP0259967B1 (en) Directory memory
KR100273907B1 (ko) 컴퓨터에 의해 사용되는 캐쉬내의 결함을 제거하기 위한 방법
US6987684B1 (en) Content addressable memory (CAM) devices having multi-block error detection logic and entry selective error correction logic therein
US4562536A (en) Directory test error mode control apparatus
US6223253B1 (en) Word selection logic to implement an 80 or 96-bit cache SRAM
US4831622A (en) Apparatus for forcing a reload from main memory upon cache memory error
JPH0524540B2 (ko)
US5825682A (en) Cache memory capable of using faulty tag memory
US5867511A (en) Method for high-speed recoverable directory access
EP0279396B1 (en) Cache memory having self-error checking and sequential verification circuits
KR19980079609A (ko) 스누핑 장치를 위한 다중 캐쉬 디렉토리
US6212616B1 (en) Even/odd cache directory mechanism
KR910004309B1 (ko) 다중 레벨 캐쉬 시스템
US5894487A (en) Error detection of directory arrays in dynamic circuits
US6567952B1 (en) Method and apparatus for set associative cache tag error detection

Legal Events

Date Code Title Description
A201 Request for examination
G160 Decision to publish patent application
E701 Decision to grant or registration of patent right
NORF Unpaid initial registration fee