KR100277902B1 - 마이크로 프로세서 - Google Patents

마이크로 프로세서 Download PDF

Info

Publication number
KR100277902B1
KR100277902B1 KR1019980033513A KR19980033513A KR100277902B1 KR 100277902 B1 KR100277902 B1 KR 100277902B1 KR 1019980033513 A KR1019980033513 A KR 1019980033513A KR 19980033513 A KR19980033513 A KR 19980033513A KR 100277902 B1 KR100277902 B1 KR 100277902B1
Authority
KR
South Korea
Prior art keywords
tlb
index
data
tag
ram
Prior art date
Application number
KR1019980033513A
Other languages
English (en)
Other versions
KR20000014225A (ko
Inventor
박성수
Original Assignee
김영환
현대반도체주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 김영환, 현대반도체주식회사 filed Critical 김영환
Priority to KR1019980033513A priority Critical patent/KR100277902B1/ko
Priority to US09/280,066 priority patent/US6286091B1/en
Publication of KR20000014225A publication Critical patent/KR20000014225A/ko
Application granted granted Critical
Publication of KR100277902B1 publication Critical patent/KR100277902B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • 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/10Address translation
    • G06F12/1027Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
    • G06F12/1045Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB] associated with a data cache
    • G06F12/1054Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB] associated with a data cache the data cache being concurrently physically addressed

Landscapes

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

Abstract

본 발명은 TLB(Translation Lookaside Buffer)를 5비트인 TLB 인덱스(TLB Index)를 포함하여 구성하고 태그 램(Tag RAM)도 TLB 인덱스와 비교할 5비트의 태그 램 인덱스를 포함하여 구성하기 때문에 4개의 태그 램 조사시 5×4번의 비교만으로도 히트/미스를 판별하므로 소자의 경제적 효율을 향상시키기 위한 마이크로 프로세서(Micro-processor)에 관한 것이다.
본 발명의 마이크로 프로세서는 하위비트는 실번지와 같고 상위비트는 실번지와 다른 가상 번지, 상기 가상 번지를 보존하는 제 1 래치, 상기 상위비트보다 적은 비트의 TLB 인덱스를 포함하여 구성되어 상기 제 1 래치로부터 상기 가상 번지의 상위비트를 입력받아 상기 가상 번지의 히트/미스를 판별하는 TLB, 상기 TLB와 상호 입/출력하여 상기 TLB에 새로운 데이터를 생성 및 저장시키는 TLB 미스 핸들러, 상기 TLB 또는 TLB 미스 핸들러의 출력을 입력받는 먹스, 상기 TLB 인덱스의 비교대상 데이터인 태그 램 인덱스를 포함하여 구성되어 상기 가상 번지의 하위 12비트를 입력받아 그에 해당하는 상기 태그 램 인덱스들을 선택하는 다수개의 태그 램, 상기 선택된 태그 램 인덱스와 상기 TLB 인덱스를 비교하는 제 1 비교기, 상기 먹스와 제 1 비교기의 출력을 입력받아 상기 태그 램에 새로운 데이터를 저장시키는 캐쉬 미스 핸들러, 상기 TLB 인덱스와 동일한 태그 램 인덱스에 해당하는 데이터를 출력시키며 상기 태그 램과 동일한 개수를 갖는 데이터 램와, 상기 데이터 램의 출력을 저장 및 외부에 출력하는 데이터 래치를 포함하여 구성됨을 특징으로 한다.

Description

마이크로 프로세서
본 발명은 마이크로 프로세서(Micro-processor)에 관한 것으로, 특히 소자의 경제적 효율을 향상시키는 마이크로 프로세서에 관한 것이다.
일반적인 4KB의 페이지(Page)크기를 가지는 MMU(Memory Management Unit)에서 공통으로 쓰이는 가상 번지(버츄얼 어드레스:Virtual Address) 즉 하위 12비트는 실번지(피지컬 어드레스:Physical Address)와 같고 상위 20비트는 실번지와 다른 32비트의 가상 번지를 마이크로 프로세서에서 입력받아 사이클(Cycle)마다 캐쉬 태그(Cache Tag)를 조사하여 캐쉬의 히트/미스(Hit/Miss)를 판별하므로 마이크로 프로세서는 많은 파워(Power)와 시간을 소모한다.
실지로 에스램(SRAM:Static Random Access Memory)이 전체 파워소모의 약 60%를 차지한다.
종래 기술에 따른 MMU 및 캐쉬는 도 1에서와 같이 구성된다.
먼저, MMU는 하위 12비트는 실번지와 같고 상위 20비트는 실번지와 다른 32비트의 가상 번지, 상기 가상 번지를 보존하는 제 1 래치(Latch)(11), 상기 제 1 래치(11)로 부터 상기 가상 번지의 상위 20비트를 입력받는 변환 색인 버퍼(TLB:Translation Lookaside Buffer)(12), 상기 TLB(12)와 상호 입/출력하는 TLB 미스 핸들러(TLB Miss Handler)(13)와, 상기 TLB(12) 또는 TLB 미스 핸들러(13)의 출력을 입력받는 먹스(Mux:Multiplexer)(14)로 구성된다.
그리고, 캐쉬는 상기 가상 번지의 하위 12비트를 입력받는 4개의 태그 램(Tag RAM)(15), 상기 가상 번지의 하위 12비트에 의해 선택된 태그 램(15)의 20비트와 상기 먹스(14)의 20비트를 비교하는 제 1 비교기(16), 상기 먹스(14)와 제 1 비교기(16)의 출력을 입력받는 캐쉬 미스 핸들러(17), 상기 태그 램(15)의 출력을 입력받는 4개의 데이터 램(Data RAM)(18)과, 상기 먹스(14)의 20비트와 동일한 태그 램(15)의 출력에 해당하는 데이터를 상기 데이터 램(18)으로 부터 입력받아 그 데이터를 저장 및 외부에 출력하는 데이터 래치(19)로 구성된다.
상기 TLB(12)는 도 2에서와 같이, 3비트인 8개의 LRU(Least Recently Used)(20), 상기 LRU(20)와 동일한 개수로 형성되며 20비트인 태그(21), 상기 태그(21)와 동일한 개수로 형성되어 상기 각 태그(21)의 특성 즉 상기 각 태그(21)가 밸리드(Valid)인지 변형된 것인지 그리고 업-그레이드(Up-grade)인지 등의 특성을 나타낸 애트리뷰트(Attribute)(22), 상기 태그(21)와 동일한 개수로 형성되며 20비트인 실페이지부(23), 상기 태그(21)들의 20비트와 상기 가상 번지의 상위 20비트를 비교하는 제 2 비교기(24)와, 애트리뷰트 체크부(25)로 구성된다.
여기서, 상기 LRU(20)는 상기 모든 태그(21)에 가상 번지의 데이터가 입력된 상태에서 새로운 가상 번지의 데이터를 상기 태그(21)에 입력할 때 기존에 주입된 가상 번지의 데이터들 중에 선택 소거하는 기준이 된다.
상기와 같이 구성된 종래 기술에 따른 MMU 및 캐쉬의 동작 설명은 다음과 같다.
먼저, 하위 12비트는 실번지와 같고 상위 20비트는 실번지와 다른 32비트의 가상 번지가 상기 제 1 래치(11)에 입력된다.
그리고, 상기 제 1 래치(11)에 보존된 상기 가상 번지의 하위 12비트는 상기 태그 램(15)에 출력되며, 상기 가상 번지의 상위 20비트는 상기 TLB(12)에 출력된다.
이때, 상기 4개의 태그 램(15)은 저장된 데이터들 중 그 하위 12비트가 입력받은 상기 가상 번지의 하위 12비트와 동일한 4개의 데이터들을 선택한다.
이어, 상기 TLB(12)는 저장된 각 태그(21)의 20비트와 입력받은 상기 가상 번지의 상위 20비트를 비교하여 상기 가상 번지의 상위 20비트와 동일한 태그(21)가 있으면 히트로 판별하고 없으면 미스로 판별한다.
먼저, 상기 TLB(12)에서 히트로 판별될 경우에는 즉 상기 가상 번지의 상위 20비트와 동일한 태그(21)가 있을 경우에는 그 태그(21)에 해당하는 실페이지부(23)의 20비트의 데이터를 상기 먹스(14)에 출력한다.
이때, 상기 먹스(14)는 상기 TLB(12)의 출력인 실페이지부(23)의 20비트의 데이터를 상기 제 1 비교기(16)에 출력하고, 상기 제 1 비교기(16)는 상기 TLB(12)의 출력인 실페이지부(23)의 20비트의 데이터와 상기 4개의 태그 램(15)에서 선택된 각 데이터를 비교한다.
그 비교결과 상기 TLB(12)의 출력인 실페이지부(23)의 데이터와 동일한 데이터가 상기 태그 램(15)에 있는 경우에는 상기 데이터 램(18)은 상기 태그 램(15)의 출력을 입력받아 그에 해당하는 하나의 데이터를 검출한 후, 상기 데이터 래치(19)를 거쳐 외부에 그 데이터를 출력한다.
그 반대로 비교결과가 상기 TLB(12)의 출력인 실페이지부(23)의 데이터와 동일한 데이터가 상기 태그 램(15)에 없는 경우에는 상기 캐쉬 미스 핸들러(17)에 미스의 결과를 출력한다.
상기 캐쉬 미스 핸들러(17)는 상기 태그 램(15)에서 미스된 상기 TLB(12)의 출력인 실페이지부(23)에 해당하는 데이터를 마이크로 프로세서의 메모리부(도시하지않음)로 부터 외부에 출력시키면서 상기 태그 램(15)과 데이터 램(18)에 저장시킨다.
그리고, 상기 TLB(12)에서 미스로 판별될 경우에는 즉 상기 가상 번지의 상위 20비트와 동일한 태그(21)가 없을 경우에는 상기 TLB 미스 핸들러(13)에 미스의 결과를 출력한다.
상기 TLB 미스 핸들러(13)에서 상기 TLB(12)에서 미스된 상기 가상 번지의 상위 20비트에 해당하는 태그(21) 및 실페이지부(23)를 생성하고, 상기 새로운 데이터의 태그(21)에 해당하는 실페이지부(23)의 20비트의 데이터를 상기 먹스(14)에 출력함과 동시에 상기 생성된 태그(21) 및 실페이지부(23)를 상기 TLB(12)에 저장시키고 이 후 동작은 히트가 된 경우와 같은 동작을 한다.
그러므로 상기 TLB(12)의 출력인 실페이지부(23) 데이터의 20비트를 모두 사용하여 상기 제 1 비교기(16)에서 상기 4개의 태그 램(15)을 조사하기 때문에 모두 20비트×4〔4개의 태그 램(15)〕즉 80번을 비교한다.
그러나 종래의 마이크로 프로세서는 TLB의 출력인 실페이지부 데이터의 20비트를 모두 사용하여 4개의 태그 램을 조사하기 때문에 모두 20비트×4번을 비교해야 히트/미스를 판별하므로, 비교 속도가 빠른 회로가 필요하고 파워의 소모가 많다는 것과 같이 경제적 효율이 저하되는 문제점이 있었다.
본 발명은 상기의 문제점을 해결하기 위해 안출한 것으로 TLB를 5비트인 TLB 인덱스를 포함하여 구성하고 태그 램도 TLB 인덱스와 비교할 5비트의 태그 램 인덱스를 포함하여 구성하기 때문에 4개의 태그 램 조사시 5×4번의 비교만으로도 히트/미스를 판별하므로 소자의 경제적 효율을 향상시키는 마이크로 프로세서를 제공하는데 그 목적이 있다.
도 1은 종래 기술에 따른 MMU 및 캐쉬를 나타낸 블록도
도 2는 종래 기술에 따른 TLB를 나타낸 블록도
도 3은 본 발명의 실시예에 따른 MMU 및 캐쉬를 나타낸 블록도
도 4는 본 발명의 실시예에 따른 TLB를 나타낸 블록도
도 5는 본 발명의 실시예에 따른 태그 램을 나타낸 회로도
도 6은 본 발명의 실시예에 따른 데이터의 무효화 처리를 위한 펄스도
도면의 주요부분에 대한 부호의 설명
31: 제 1 래치 32: TLB
33: TLB 미스 핸들러 34: 먹스
35: 태그 램 36: 제 1 비교기
37: 캐쉬 미스 핸들러 38: 데이터 램
39: 데이터 래치 40: LRU
41: 태그 42: 애트리뷰트
43: 실페이지부 44: 제 2 비교기
45: 애트리뷰트 체크부 46: TLB 인덱스
51: SRAM 셀 52: CAM 셀
53: 무효선택부 54: 무효 셀
본 발명의 마이크로 프로세서는 하위비트는 실번지와 같고 상위비트는 실번지와 다른 가상 번지, 상기 가상 번지를 보존하는 제 1 래치, 상기 상위비트보다 적은 비트의 TLB 인덱스를 포함하여 구성되어 상기 제 1 래치로부터 상기 가상 번지의 상위비트를 입력받아 상기 가상 번지의 히트/미스를 판별하는 TLB, 상기 TLB와 상호 입/출력하여 상기 TLB에 새로운 데이터를 생성 및 저장시키는 TLB 미스 핸들러, 상기 TLB 또는 TLB 미스 핸들러의 출력을 입력받는 먹스, 상기 TLB 인덱스의 비교대상 데이터인 태그 램 인덱스를 포함하여 구성되어 상기 가상 번지의 하위 12비트를 입력받아 그에 해당하는 상기 태그 램 인덱스들을 선택하는 다수개의 태그 램, 상기 선택된 태그 램 인덱스와 상기 TLB 인덱스를 비교하는 제 1 비교기, 상기 먹스와 제 1 비교기의 출력을 입력받아 상기 태그 램에 새로운 데이터를 저장시키는 캐쉬 미스 핸들러, 상기 TLB 인덱스와 동일한 태그 램 인덱스에 해당하는 데이터를 출력시키며 상기 태그 램과 동일한 개수를 갖는 데이터 램와, 상기 데이터 램의 출력을 저장 및 외부에 출력하는 데이터 래치를 포함하여 구성됨을 특징으로 한다.
상기와 같은 본 발명에 따른 마이크로 프로세서의 바람직한 실시예를 첨부된 도면을 참조하여 상세히 설명하면 다음과 같다.
본 발명의 실시예에 따른 MMU 및 캐쉬는 도 3에서와 같이 구성된다.
먼저, MMU는 하위 12비트는 실번지와 같고 상위 20비트는 실번지와 다른 32비트의 가상 번지, 상기 가상 번지를 보존하는 제 1 래치(31), 상기 제 1 래치(31)로 부터 상기 가상 번지의 상위 20비트를 입력받으며 TLB 인덱스(TLB Index)(46)를 포함하여 구성된 TLB(32), 상기 TLB(32)와 상호 입/출력하는 TLB 미스 핸들러(33)와, 상기 TLB(32) 또는 TLB 미스 핸들러(33)의 출력을 입력받는 먹스(34)로 구성된다.
그리고, 캐쉬는 상기 가상 번지의 하위 12비트를 입력받으며 CAM(Content Addressable Memory) 셀(52)들을 포함하여 구성된 4개의 태그 램(35), 상기 가상 번지의 하위 12비트에 의해 선택된 태그 램(35)의 CAM 셀(52)들에 저장된 5비트의 태그 램 인덱스와 상기 TLB 인덱스(46)의 5비트를 비교하는 제 1 비교기(36), 상기 먹스(34)와 제 1 비교기(36)의 출력을 입력받는 캐쉬 미스 핸들러(37), 상기 태그 램(35)의 출력을 입력받는 4개의 데이터 램(38)과, 상기 데이터 램(38)의 출력을 저장 및 외부에 출력하는 데이터 래치(39)로 구성된다.
여기서, 상기 TLB(32)는 도 4에서와 같이, 3비트인 8개의 LRU(40), 상기 LRU(20)와 동일한 개수로 형성되며 20비트인 태그(41), 상기 태그(41)와 동일한 개수로 형성되어 상기 각 태그(41)의 특성 즉 상기 각 태그(41)가 밸리드인지 변형된 것인지 그리고 업-그레이드인지 등의 특성을 나타낸 애트리뷰트(42), 상기 태그(41)와 동일한 개수로 형성되며 20비트인 실페이지부(43), 상기 태그(41)들의 20비트와 상기 가상 번지의 상위 20비트를 비교하는 제 2 비교기(44)와, 애트리뷰트 체크부(45) 그리고 상기 각 실페이지부(43) 일측에 5비트로 구성된 TLB 인덱스(46)로 구성된다.
상기 LRU(40)는 상기 모든 태그(41)에 가상 번지의 데이터가 입력된 상태에서 새로운 가상 번지의 데이터를 상기 태그(41)에 입력할 때 기존에 주입된 가상 번지의 데이터들 중에 선택 소거하는 기준이 된다.
이어, 상기 태그 램(35)은 도 5에서와 같이, 워드라인, 비트라인, 센스 앰프(Sense Amp.)(57), BLP(Bit Line Precharge)(58), 상기 하위 12비트의 가상 번지를 입력받는 디코더(47)와 상기 디코더(47)의 출력을 상기 다수개의 워드라인으로 부터 입력받으며 그 출력데이터를 상기 다수개의 비트라인을 통해 상기 센스 앰프(57)에 출력하는 SRAM 셀(Cell)(51)들과 CAM 셀(52)들 그리고 무효선택부(53)와 무효 셀(54)들로 구성된다.
여기서, 상기 TLB 인덱스(46)와 상기 제 1 비교기(36)에서 비교할 상기 5비트의 태그 램 인덱스는 상기 CAM 셀(52)들에 저장된다.
그리고 그 외에, 상기 태그 램(35)은 상기 센스 앰프(57)의 출력데이터 즉 상기 5비트의 태그 램 인덱스와 5비트의 TLB 인덱스(46)를 비교하는 제 1 비교기(36) 그리고 변형 제어기(55), 무효 제어기(56)와, 매치 라인(Match Line)이 있다.
여기서, 상기 각 SRAM 셀(51)은 게이트가 상기 워드라인에 연결되고 하나의 불순물영역은 상기 비트라인에 연결되며 다른 하나의 불순물영역은 서로 다른 방향의 두 개의 제 1 인버터(i1)에 공통으로 연결된 두 개의 제 1, 제 2 NMOS(N1,N2)로 구성된다.
상기 각 CAM 셀(52)은 게이트가 상기 워드라인에 연결되고 제 1 불순물영역은 상기 비트라인에 연결되며 제 2 불순물영역은 서로 다른 방향의 두 개의 제 2 인버터(i2)에 공통으로 연결된 두 개의 제 3, 제 4 NMOS(N3,N4), 상기 제 4 NMOS의 제 2 불순물영역의 출력에 게이트가 연결되고 하나의 불순물영역은 상기 비트라인에 연결된 제 5 NMOS(N5), 상기 제 3 NMOS(N3)의 제 2 불순물영역의 출력에 게이트가 연결되고 하나의 불순물영역은 상기 비트라인에 연결된 제 6 NMOS(N6)와, 상기 제 5, 제 6 NMOS(N5,N6)의 다른 하나의 불순물영역에 공통으로 게이트가 연결되고 VSS에 하나의 불순물 영역이 연결되며 상기 매치 라인에 다른 하나의 불순물 영역이 연결된 제 7 NMOS(N7)로 구성된다.
상기 무효선택부(53)은 플러쉬프리차아지(Flush-precharge)신호, 플러쉬신호, 플러쉬인에이블(Flush-enable)신호, 상기 반전된 플러쉬프리차아지신호에 게이트가 연결되고 하나의 불순물영역은 구동전압(VDD)에 연결되며 다른 하나의 불순물영역은 상기 매치 라인에 연결된 두 개의 제 1 PMOS(P1), 상기 반전된 플러쉬신호에 게이트가 연결되고 하나의 불순물영역은 상기 매치 라인에 연결된 두 개의 제 8 NMOS(N8)와, 상기 반전된 플러쉬인에이블신호에 게이트가 연결되고 하나의 불순물영역은 VSS에 연결되며 다른 하나의 불순물영역은 상기 매치 라인에 연결되지 않은 각 제 8 NMOS(N8)의 불순물영역에 연결된 두 개의 제 9 NMOS(N9)로 구성된다.
상기 각 무효 셀(54)은 상기 워드라인과 상기 제 8, 제 9 NMOS(N8,N9)의 공통 불순물영역의 출력을 입력받아 상기 비트라인에 출력하며 그 사이에 서로 다른 방향의 두 개의 제 3 인버터(i3)에 공통으로 연결된 제 1, 제 2 트랜스퍼게이트(T1,T2)로 구성된다.
상기와 같이 구성된 본 발명의 실시예에 따른 MMU 및 캐쉬의 동작 설명은 다음과 같다.
먼저, 하위 12비트는 실번지와 같고 상위 20비트는 실번지와 다른 32비트의 가상 번지가 상기 제 1 래치(31)에 입력된다.
그리고, 상기 제 1 래치(31)에 보존된 상기 가상 번지의 하위 12비트는 상기 태그 램(35)에 출력되며, 상기 가상 번지의 상위 20비트는 상기 TLB(32)에 출력된다.
이때, 상기 4개의 태그 램(35)은 저장된 데이터들 중 그 하위 12비트가 입력받은 상기 가상 번지의 하위 12비트와 동일한 4개의 데이터들을 선택한다.
이어, 상기 TLB(32)는 저장된 각 태그(41)의 20비트와 입력받은 상기 가상 번지의 상위 20비트를 비교하여 상기 가상 번지의 상위 20비트와 동일한 태그(41)가 있으면 히트로 판별하고 없으면 미스로 판별한다.
상기 TLB(32)에서 히트로 판별될 경우에는 즉 상기 가상 번지의 상위 20비트와 동일한 태그(41)가 있을 경우에는 그 태그(41)에 해당하는 5비트의 TLB 인덱스(46)를 상기 제 1 비교기(36)에 출력하고, 그 태그(41)에 해당하는 실페이지부(43)의 20비트의 데이터를 상기 먹스(34)에 출력한다.
상기 제 1 비교기(36)는 상기 TLB 인덱스(46)의 5비트 데이터와 상기 4개의 태그 램(35)에서 선택된 각 데이터의 태그 램 인덱스를 비교한다.
그 비교결과 상기 TLB(32)의 출력인 TLB 인덱스(46)의 5비트 데이터와 동일한 데이터가 상기 태그 램(35)에 있는 경우 상기 데이터 램(38)은 상기 태그 램(35)의 출력을 입력받아 그에 해당하는 하나의 데이터를 검출한 후, 상기 데이터 래치(39)를 거쳐 외부에 그 데이터를 출력한다.
그 반대로 비교결과가 상기 TLB(32)의 출력인 TLB 인덱스(46)의 5비트 데이터와 동일한 데이터가 상기 태그 램(35)에 없는 경우에는 상기 캐쉬 미스 핸들러(37)에 미스의 결과를 출력한다.
상기 캐쉬 미스 핸들러(37)는 상기 태그 램(35)에서 미스된 상기 TLB(32)의 출력인 TLB 인덱스(46)의 5비트에 해당하는 데이터를 마이크로 프로세서의 메모리부(도시하지않음)로 부터 외부에 출력시키면서 상기 태그 램(35)과 데이터 램(38)에 저장시킨다.
그러므로 상기 TLB(32)의 출력인 TLB 인덱스(46)의 5비트 데이터를 사용하여 상기 제 1 비교기(36)에서 상기 4개의 태그 램(35)을 조사하기 때문에 5비트×4〔4개의 태그 램(35)〕즉 20번만 비교한다.
만약 상기 TLB(32)에서 미스로 판별될 경우에는, 마이크로프로세서에서 실번지 출력을 멈춘 후, 상기 TLB 미스 핸들러(33)에서 상기 미스로 판별된 가상 번지를 계산하고 그 결과를 상기 TLB(32)와 먹스(34)에 출력한다.
이 후 동작은 히트가 된 경우와 같은 동작을 한다.
이어, 상기 TLB(32)에서 상기 미스로 판별된 가상 번지의 내용을 갱신(업데이트:Update)한다.
이때, 상기 TLB 인덱스(46)들중에 갱신 대상인 갱신 이전의 TLB 인덱스(46)를 가지는 캐쉬의 데이터는 실번지와 다르므로 무효화 시켜야 한다.
즉, 만약에 미스가 발생해 “01011”에 해당하는 태그(41)가 갱신되었다면 상기“01011”을 인덱스로 가지는 캐쉬의 태그 램(35)의 데이터를 무효화 처리 되어야 한다.
데이터의 무효화 처리 방법은 도 6에서와 같이, 상기 TLB(32)에서 미스로 판별되지 않을 때는 상기 플러쉬인에이블이 로우이므로 상기 제 1 PMOS(P1)와 제 8 NMOS(N8)가 턴-오프(Turn-off)되고 상기 제 9 NMOS(N9)가 턴-온(Turn-on)된다.
상기 TLB(32)에서의 미스 판별로 상기 플러쉬인에이블이 하이가 되면 상기 제 1 PMOS(P1)가 턴-온되어 상기 무효선택부(53)가 VDD로 프리차아지(Precharge)된다.
이때, 상기 무효화 셀(54)들의 비트라인은 ‘1’로 셋트(Set)된 상태이다.
상기 무효선택부(53)가 VDD로 프리차아지된 상태에서 상기“01011”를 상기 비트라인에 입력시키면 매치되는 상기 SRAM 셀(51)의 태그 매치 라인만 하이로 유지되고 미스 매치되는 매치 라인은 로우가 된다.
이때, 플러쉬가 하이되어 제 8 NMOS(N8)가 턴-온되면 상기 무효화 셀(54)의 제 1, 제 2 트랜스퍼게이트(T1,T2)가 턴-온된다.
본 발명의 마이크로 프로세서는 MMU의 TLB를 5비트인 TLB 인덱스를 포함하여 구성하고 캐쉬의 태그 램도 TLB 인덱스와 비교할 5비트 데이터의 태그 램 인덱스를 포함하여 구성하므로, 5비트인 TLB 인덱스를 사용하여 4개의 태그 램을 조사하기 때문에 5비트×4번만의 비교로 히트/미스를 판별하여 비교 속도가 약75%향상되므로 비교 속도가 빠른 회로가 별도로 필요하지 않고, 파워의 소모가 종래 기술보다 약75%가 감소되는 등의 소자의 경제적 효율을 향상시키며 또한 선택 플러쉬가 가능한 캐쉬 태그 램을 구성하므로, 데이터의 무효화시 TLB를 사용하지 않고 데이터의 무효화를 선택적으로 하는 인텔러젼트(Intelligent) 캐쉬 디자인이 가능하다는 효과가 있다.

Claims (4)

  1. 하위비트는 실번지와 같고 상위비트는 실번지와 다른 가상 번지를 보존하는 제 1 래치;
    상기 상위비트보다 적은 비트의 TLB 인덱스를 포함하여 구성되어 상기 제 1 래치로부터 상기 가상 번지의 상위비트를 입력받아 상기 가상 번지의 히트/미스를 판별하는 TLB;
    상기 TLB와 상호 입/출력하여 상기 TLB에 새로운 데이터를 생성 및 저장시키는 TLB 미스 핸들러;
    상기 TLB 또는 TLB 미스 핸들러의 출력을 입력받는 먹스;
    상기 TLB 인덱스의 비교대상인 태그 램 인덱스가 저장된 CAM 셀들을 포함하여 구성되어 상기 가상 번지의 하위 12비트를 입력받아 그에 해당하는 상기 태그 램 인덱스들을 선택하는 다수개의 태그 램;
    상기 선택된 태그 램 인덱스와 상기 TLB 인덱스를 비교하는 제 1 비교기;
    상기 먹스와 제 1 비교기의 출력을 입력받아 상기 태그 램에 새로운 데이터를 저장시키는 캐쉬 미스 핸들러;
    상기 TLB 인덱스와 동일한 태그 램 인덱스에 해당하는 데이터를 출력시키며 상기 태그 램과 동일한 개수를 갖는 데이터 램;
    상기 데이터 램의 출력을 저장 및 외부에 출력하는 데이터 래치를 포함하여 구성됨을 특징으로 하는 마이크로 프로세서.
  2. 상기 제 1 항에 있어서,
    상기 태그 램은 워드라인, 비트라인, 센스 앰프, BLP, 상기 하위 12비트의 가상 번지를 입력받는 디코더와, 상기 디코더의 출력을 다수개의 워드라인으로 부터 입력받으며 그 출력데이터를 다수개의 비트라인을 통해 상기 센스 앰프에 출력하는 SRAM 셀들과 CAM 셀들 그리고 무효선택부, 무효 셀들, 상기 태그 램 인덱스와 상기 5비트의 TLB 인덱스를 비교하는 제 1 비교기, 변형 제어기, 무효 제어기와, 매치 라인으로 구성됨을 특징으로 하는 마이크로 프로세서.
  3. 상기 제 2 항에 있어서,
    상기 무효선택부은 플러쉬프리차아지신호, 플러쉬신호, 플러쉬인에이블신호, 상기 반전된 플러쉬프리차아지신호에 게이트가 연결되고 하나의 불순물영역은 구동전압에 연결되며 다른 하나의 불순물영역은 상기 매치 라인에 연결된 두 개의 제 1 PMOS, 상기 반전된 플러쉬신호에 게이트가 연결되고 하나의 불순물영역은 상기 매치 라인에 연결된 두 개의 제 8 NMOS와, 상기 반전된 플러쉬인에이블신호에 게이트가 연결되고 하나의 불순물영역은 VSS에 연결되며 다른 하나의 불순물영역은 상기 매치 라인에 연결되지 않은 각 제 8 NMOS의 불순물영역에 연결된 두 개의 제 9 NMOS로 구성됨을 특징으로 하는 마이크로 프로세서.
  4. 상기 제 2 항 또는 제 3 항에 있어서,
    상기 각 무효 셀은 상기 워드라인과 상기 제 8, 제 9 NMOS의 공통 불순물영역의 출력을 입력받아 상기 비트라인에 출력하며 그 사이에 서로 다른 방향의 두 개의 제 3 인버터에 공통으로 연결된 제 1, 제 2 트랜스퍼게이트로 구성됨을 특징으로 하는 마이크로 프로세서.
KR1019980033513A 1998-08-18 1998-08-18 마이크로 프로세서 KR100277902B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1019980033513A KR100277902B1 (ko) 1998-08-18 1998-08-18 마이크로 프로세서
US09/280,066 US6286091B1 (en) 1998-08-18 1999-03-29 Microprocessor using TLB with tag indexes to access tag RAMs

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019980033513A KR100277902B1 (ko) 1998-08-18 1998-08-18 마이크로 프로세서

Publications (2)

Publication Number Publication Date
KR20000014225A KR20000014225A (ko) 2000-03-06
KR100277902B1 true KR100277902B1 (ko) 2001-01-15

Family

ID=19547574

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019980033513A KR100277902B1 (ko) 1998-08-18 1998-08-18 마이크로 프로세서

Country Status (2)

Country Link
US (1) US6286091B1 (ko)
KR (1) KR100277902B1 (ko)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2395588B (en) * 1999-12-17 2004-09-22 Hewlett Packard Co Apparatus and method for supporting multiple page sizes with address aliasing
US6970996B1 (en) * 2000-01-04 2005-11-29 National Semiconductor Corporation Operand queue for use in a floating point unit to reduce read-after-write latency and method of operation
US6807611B2 (en) * 2002-04-05 2004-10-19 International Business Machine Corporation High speed selective mirroring of cached data
DE10261919A1 (de) * 2002-11-26 2004-06-17 Infineon Technologies Ag CAM (Content Adressable Memory) - Vorrichtung
US6912644B1 (en) 2003-03-06 2005-06-28 Intel Corporation Method and apparatus to steer memory access operations in a virtual memory system
KR100582357B1 (ko) * 2003-12-29 2006-05-22 주식회사 하이닉스반도체 로우디코딩을 효율적으로 할 수 있는 태그블럭을 구비하는반도체 메모리 장치
CN100414518C (zh) * 2004-11-24 2008-08-27 中国科学院计算技术研究所 改进的虚拟地址变换方法及其装置
CN100414519C (zh) * 2004-11-24 2008-08-27 中国科学院计算技术研究所 一种从虚拟地址向物理地址变换的方法及其装置
US8166239B2 (en) * 2007-06-21 2012-04-24 International Business Machines Corporation Translation lookaside buffer and related method and program product utilized for virtual addresses
US8904083B2 (en) * 2008-07-30 2014-12-02 Infineon Technologies Ag Method and apparatus for storing data in solid state memory
US8099580B2 (en) * 2009-06-09 2012-01-17 Freescale Semiconductor, Inc Translation look-aside buffer with a tag memory and method therefor
US10083135B2 (en) * 2015-08-28 2018-09-25 Macronix International Co., Ltd. Cooperative overlay

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5307477A (en) 1989-12-01 1994-04-26 Mips Computer Systems, Inc. Two-level cache memory system
US5412787A (en) 1990-11-21 1995-05-02 Hewlett-Packard Company Two-level TLB having the second level TLB implemented in cache tag RAMs
US5630088A (en) * 1995-03-09 1997-05-13 Hewlett-Packard Company Virtual to physical address translation
US5646878A (en) * 1995-06-02 1997-07-08 Motorola, Inc. Content addressable memory system
US5893146A (en) * 1995-08-31 1999-04-06 Advanced Micro Design, Inc. Cache structure having a reduced tag comparison to enable data transfer from said cache
US6014732A (en) * 1997-10-22 2000-01-11 Hewlett-Packard Company Cache memory with reduced access time

Also Published As

Publication number Publication date
US6286091B1 (en) 2001-09-04
KR20000014225A (ko) 2000-03-06

Similar Documents

Publication Publication Date Title
US5696925A (en) Memory management unit with address translation function
US6678815B1 (en) Apparatus and method for reducing power consumption due to cache and TLB accesses in a processor front-end
US5428565A (en) Single stage sensing apparatus for a content addressable memory
US5809528A (en) Method and circuit for a least recently used replacement mechanism and invalidated address handling in a fully associative many-way cache memory
KR0148129B1 (ko) 논리기능을 가진 감지증폭기
US8607026B2 (en) Translation lookaside buffer
JP3936378B2 (ja) アドレス変換装置
US5155825A (en) Page address translation cache replacement algorithm with improved testability
KR100277902B1 (ko) 마이크로 프로세서
US6356990B1 (en) Set-associative cache memory having a built-in set prediction array
US20030070039A1 (en) Circuit and method for performing variable width searches in a content addressable memory
JPH08329687A (ja) 半導体集積回路
US6697277B2 (en) Content addressable memory (CAM) having a match line circuit with selectively adjustable pull-up impedances
US8154900B2 (en) Method and apparatus for reducing power consumption in a content addressable memory
EP0690386A1 (en) Address translator and method of operation
EP0905709A2 (en) Single ended match sense amplifier
US7242600B2 (en) Circuit and method for subdividing a CAMRAM bank by controlling a virtual ground
JP4445081B2 (ja) キャッシュ・メモリ
US6785152B2 (en) Content addressable memory with power reduction technique
US6058447A (en) Handshake circuit and operating method for self-resetting circuits
US6111794A (en) Memory interface circuit including bypass data forwarding with essentially no delay
US6385696B1 (en) Embedded cache with way size bigger than page size
JP2001265654A (ja) セルフタイム式tlbのメモリアクセス方法
US5729190A (en) Dynamic comparator circuit for cache memories
JPH06202954A (ja) タグ比較回路及びこれを用いたトランスレーション・ルック・アサイド・バッファ

Legal Events

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

Payment date: 20050923

Year of fee payment: 6

LAPS Lapse due to unpaid annual fee