KR100196522B1 - 고속 및 고집적 마이크로프로세서를 위한 캐쉬 메모리 장치 - Google Patents

고속 및 고집적 마이크로프로세서를 위한 캐쉬 메모리 장치 Download PDF

Info

Publication number
KR100196522B1
KR100196522B1 KR1019950031715A KR19950031715A KR100196522B1 KR 100196522 B1 KR100196522 B1 KR 100196522B1 KR 1019950031715 A KR1019950031715 A KR 1019950031715A KR 19950031715 A KR19950031715 A KR 19950031715A KR 100196522 B1 KR100196522 B1 KR 100196522B1
Authority
KR
South Korea
Prior art keywords
cache
data
sram
dram
tag
Prior art date
Application number
KR1019950031715A
Other languages
English (en)
Other versions
KR970016968A (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 KR1019950031715A priority Critical patent/KR100196522B1/ko
Publication of KR970016968A publication Critical patent/KR970016968A/ko
Application granted granted Critical
Publication of KR100196522B1 publication Critical patent/KR100196522B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • 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/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0815Cache consistency protocols
    • G06F12/0831Cache consistency protocols using a bus scheme, e.g. with bus monitoring or watching means
    • 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
    • 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/1072Decentralised address translation, e.g. in distributed shared memory systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1694Configuration of memory controller to different memory types

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)
  • Microcomputers (AREA)

Abstract

본 발명은 고속의 데이타 처리속도를 갖으면서도 원-칩으로 집적할 수 있는 개선된 마이크로 프로세서용 캐쉬 메모리 장치에 관한 것으로, 이를 위하여 본 발명은, 주 기억장치와 기타 연산장치간의 데이타 처리속도 차에 기인하는 시스템의 성능저하를 방지하는 데 사용되는 프로세서용 캐쉬 메모리를, 고속동작이 가능한 캐쉬 SRAM 메모리와 셀소자의 고집적화가 가능한 캐쉬 DRAM 메모리로 구성하며, 가상 기억매체로부터의 물리 어드레스 신호의 발생시에 캐쉬 SRAM 메모리와 캐쉬 DRAM 메모리의 태그 적중을 순차적으로 체크하여 적중하면 해당 데이타를 데이타 버스에 싣고, 또한 적중하지 않으면 데이타 버스를 통해 물리 어드레스를 외부 메모리로 전달하도록 구성한 것이다.

Description

고속 및 고집적 마이크로프로세서를 위한 캐쉬 메모리 장치
제1도는 내부 메모리 블록을 포함하는 전형적인 마이크로프로세서에 대한 개략적인 블록 구성도.
제2도는 상기 제1도에 도시된 내부 메모리 블록에 해당하는 본 발명의 바람직한 일실시예에 따른 캐쉬 메모리 장치의 블록 구성도.
제3도는 상기 제2도에 도시된 제1 및 제2제어로직의 개략적인 논리 회로도.
제4도는 상기 제2도에 도시된 제3 및 제4제어로직의 개략적인 논리 회로도.
* 도면의 주요부분에 대한 부호의 설명
10 : 마이크로프로세서 210,230,250,260 : 제어로직
220 : 캐시 SRAM 221 : 태그 SRAM
223 ; 데이터 SRAM 240 : 캐쉬 DRAM
241 : 태크 DRAM 243 : 데이터 DRAM
270 : 데이터 버스
본 발명은 마이크로프로세서(microprocessor)에 관한 것으로, 특히 마이크로프로세서와 주기억장치(main memory) 간의 데이터 처리속도차에 기인하는 성능 저하를 방지하기 위해 마이크로프로세서 내에 원칩화된 캐쉬 메모리(cache memory) 장치에 관한 것이다.
통상적으로, 마이크로프로세서는 사무기기, 민생용 기기, 가전제품, 정보처리시스템 및 전자 교환기 등 각종 장치의 데이터를 처리하고 제어하는 데 주로 사용되고 있으며, 최근 들어서는 전자기술의 급속한 발전에 따라 그 응용범위가 보다 광범위하게 확장되는 추세에 있는 마이크로 컴퓨터를 이루는 가장 기본적인 구성요소중의 하나이다. 여기에서, 마이크로 컴퓨터를 이루는 기본적인 다른 구성요소로서는 ROM(Read Only Memory)과 RAM(Random Access Memory)으로 구성된 메모리, 입출력 인터페이스 회로(I/O interface unit), 입출력 장치(I/O device) 및 보조장치(peripheral device) 등을 들 수 있다.
한편, 본 발명에 관련되는 마이크로프로세서는, 해당 기술분야에 이미 잘 알려진 바와 같이, 연산로직(Arithmetic Logic Unit : 이하 ALU라 약칭함), 다수의 레지스터 및 제어로직 등을 구비하며, 또한 전체 시스템의 성능에 직접적으로 관련되는 마이크로프로세서의 처리속도와 주기억장치의 처리속도 사이의 속도 차를 극복하기 위하여 그 용량은 주기억장치 보다 작지만 그 데이터 처리속도는 마이크로프로세서와 거의 유사한 버퍼 형태의 고속 기억장치인 캐쉬 메모리를 구비하여 원칩으로 집적되어 있다.
상기한 바와 같이, 주기억장치 및 마이크로프로세서에 채용되는 연산장치 간의 데이터 처리 속도 차를 극복하는 데 이용되는 캐쉬 메모리의 효율성은 처리수행시 필요한 데이터, 즉 명령어 또는 자료를 캐쉬에서 바로 읽어 들이는 비율(캐쉬 히트율 : cache hit ratio)에 의해 좌우, 다시 말해 그 처리속도에 의해 좌우된다. 이를 위해, 주기억장치에 있는 프로그램 등은 그 실행 전에 미리 고속의 캐쉬 메모리로 옮겨지므로서 보다 빠른 데이터의 처리가 가능하게 될 것이다.
한편, 통상적인 각종 기억장치(메모리)로는 SRAM(Static Random Access Memory) 또는 DRAM(Dynamic Random access Memory)이 주로 사용되고 있으며, 특히 SRAM은 그 집적도 측면에서 볼 때 DRAM에 비해 대략 1/4정도이고 비트당 가격이 높다는 단점을 갖는 반면에 리플레시(refresh) 동작을 필요로 하지 않고 메모리로서의 동작 타이밍이 용이할 뿐만 아니라 바이폴라(bipolar) RAM과 같이 고속동작이 가능하다는 이점 때문에 슈퍼 컴퓨터의 주기억장치, 제어 메모리 등에 광범위하게 사용되고 있으며, 또한 저소비전력을 필요로 하는 사용분야에서는 CMOS SRAM 등이 주로 사용되고 있는 추세이다.
따라서, 종래의 전형적인 마이크로프로세서는 캐쉬 메모리로서 고속동작의 구현을 충족시킬 수 있는 SRAM을 주로 사용하고 있다.
그러나, 상기한 바와 같이 SRAM은 고속동작의 조건은 충족되나 DRAM에 비해 그 메모리 셀이 차지하는 면적이 커, 즉 집적도가 떨어져 대량의 SRAM을 마이크로프로세서 내부에 원칩화 할 수가 없었다. 이것으로 인하여, 내부 캐쉬 SRAM 메모리에서 캐쉬 미스(Miss)가 발생하는 경우 외부 캐쉬 메모리나 주기억장치(메인 메모리)에서 데이터를 가져와야만 함으로써, 결과적으로 데이터의 고속처리에 대한 저해요인으로 작용하게 되어 전체 마이크로프로세서의 성능이 저하되는 문제점이 발생된다.
본 발명은 상기 종래기술의 문제점을 해결하기 위한 것으로, 고속 및 고집적 마이크로프로세서를 위한 캐쉬 메모리 장치를 제공하는데 그 목적이 있다.
상기 목적을 달성하기 위한 본 발명은, 주기억장치와 마이크로프로세서 간의 데이터 처리 속도 차에 기인하는 시스템의 성능 저하를 방지하기 위해 상기 마이크로프로세서 내에 원칩화된 고속 및 고집적 마이크로프로세서를 위한 캐쉬 메모리 장치에 있어서, 태그 SRAM 및 데이터 SRAM을 구비하여, 해당 프로그램의 수행 전 또는 수행중에 데이터 버스를 통해 상기 주기억장치로부터 특정 데이터를 입력받아 저장하는 캐쉬 SRAM; 및 태그 DRAM 및 데이터 DRAM을 구비하여, 해당 프로그램의 수행 전 또는 수행중에 상기 데이터 버스를 통해 상기 주기억장치로부터 특정 데이터를 입력받아 저장하는 캐쉬 DRAM을 포함하되, 상기 마이크로프로세서의 어드레스 번역 수단(address translation unit)으로부터 출력되는 물리 어드레스 신호에 응답하여 태그 히트된 해당 데이터를 데이터 버스로 출력하는 것을 특징으로 하는 고속 및 고집적 마이크로프로세서를 위한 캐쉬 메모리 장치를 포함하여 이루어진다.
또한, 상기 목적을 달성하기 위한 본 발명은, 주기억장치와 마이크로프로세서간의 데이터 처리 속도차에 기인하는 시스템의 성능 저하를 방지하기 위해 상기 마이크로프로세서 내에 원칩화된 고속 및 고집적 마이크로프로세서를 위한 캐쉬 메모리 장치에 있어서, 태그 SRAM 및 데이터 SRAM을 구비하여, 해당 프로그램의 수행 전 또는 수행중에 데이터 버스를 통해 상기 주기억장치로부터 특정 데이터를 입력받아 저장하는 캐쉬 SRAM; 태그 DRAM 및 데이터 DRAM을 구비하여, 해당 프로그램의 수행 전 또는 수행 중에 상기 데이터 버스를 통해 상기 주기억장치로부터 특정 데이터를 입력받아 저장하는 캐쉬 DRAM; 어드레스 번역 수단으로부터 출력되는 물리 어드레스를 입력받아 상기 태그 SRAM에 저장되어 있는 태그와 비교하여, 태그 히트시 상기 데이터 SRAM에 저장되어 있는 해당 데이터를 상기 데이터 버스로 출력하고, 태그 미스시 캐쉬 SRAM 미스 신호를 출력하는 제1 제어수단; 상기 제1 제어로직으로부터의 상기 캐쉬 SRAM 미스 신호에 응답하여 상기 물리 어드레스를 입력받고, 상기 물리 어드레스와 상기 태그 DRAM에 저장되어 있는 태그와 비교하여 태그 히트시 상기 데이터 DRAM에 저장되어 있는 해당 데이터를 상기 데이터 버스로 출력하고, 태그 미스시 캐쉬 DRAM 미스 신호를 출력하는 제2 제어수단; 및 상기 제1 및 제2 제어수단으로부터 출력되는 상기 캐쉬 SRAM 미스 신호 및 상기 캐쉬 DRAM 미스 신호에 응답하여 상기 물리 어드레스를 상기 데이터 버스로 출력하는 제3 제어수단을 포함하여 이루어진다.
이하 첨부된 도면을 참조하여 본 발명의 바람직한 일실시예에 대하여 상세하게 설명한다.
제1도는 내부 메모리(캐쉬 메모리)를 포함하는 전형적인 마이크로프로세서에 대한 개략적인 블록 구성도이다.
제1도를 참조하면, 마이크로프로세서(10)는 데이터 버스와 어드레스 버스를 통해 외부 메모리 블록(주기억장치, 700)에 연결되는 버스 인터페이스부(100), 내부 메모리(200), 프리페치부(prefetch unit, 300), 명령 해독부(Instruction Decode Unit, 400), 실행부(Execution Unit, 500) 및 어드레스 번역부(Address Translation Unit, 600)를 포함한다.
버스 인터페이스부(100)는 마이크로프로세서(10) 내의 내부 메모리(200) 및 프리페치부(300)와 외부 메모리(700) 사이에서 명령 또는 자료에 대한 데이터의 인터페이스 동작을 수행하며, 내부 메모리(200)는 그 데이터 처리의 실행 전 또는 실행 중에 상기 버스 인터페이스부(100)를 통해 외부 메모리(700)로부터 제공되는 소정의 데이터(명령, 자료) 또는 프로그램을 옮겨와 저장한다.
한편, 프리페치부(300)는, 프리페치기(310)와 버퍼(320)로 이루어져, 현재 진행중인 데이터의 처리와 병행하여 필요하다고 판단되는 다른 명령 또는 자료 등을 내부 메모리(200)로부터 미리 읽어와 필요에 따라 명령을 순차적으로 명령 해독부(400)로 제공하거나, 또는 상기 버스 인터페이스부(100)를 경유하여 외부 메모리(700)로부터 제공되는 명령을 순차적으로 명령 해독 블록(400)으로 제공한다. 보다 상세하게, 프리페치기(310)는 내부 메모리(200) 또는 버스 인터페이스부(100)로부터 데이터를 읽어오며, 버퍼(320)는 상기 프리페치기(310)가 읽어 온 데이터를 한쪽 끝에서부터 차례로 삽입하고 다른 쪽 끝에서부터 차례로 제거하는 것으로, 이러한 리스트의 운영방법은 예를 들어 선입선출(First In First Out) 방법에 의해 구현할 수 있다.
다른 한편, 명령 해독부(400)는 해독기(410)와 버퍼(420)로 이루어져, 상기 프리페치부(300) 내의 버퍼(320)로부터 제공되는 코드화된 형태의 각 명령들을 다른 형태의 코드로 변환, 즉 각 명령들을 해독하는 것으로, 이와 같이 해독된 명령들은 다음단의 실행부(500)로 제공된다. 즉, 상기 프리페치부(300)와 거의 유사하게, 해독기(410)는 코드화된 형태의 각 명령들을 해독한 다른 형태의 명령들을 버퍼(420)에 순차적으로 입력하고, 버퍼(420)는 해독된 명령들을 순차적으로 실행부(500)에 제공한다.
이때, 버퍼(420)는 한쪽 끝에서부터 차례로 해독된 명령을 삽입하고 다른 쪽 끝에서부터 차례로 제거하는 것으로, 이러한 리스트의 운영방법은, 상기 프리페치 블록(300)내의 버퍼(320)와 마찬가지로 예를 들면 선입선출방법에 의해 구현할 수 있다.
또한, 실행부(500)는 ALU(510)과 레지스터 파일(register file, 520)로 이루어져, 상기 명령 해독부(400)로부터 출력되는 명령들의 연산을 수행한다.
보다 상세하게, 실행부(500) 내의 ALU(510)는 실질적인 데이터 처리를 수행하는 것으로, 예를들면 연산자 부분에 상응하여 논리적 연산 및 수치적 연산 등을 수행하여 가상 어드레스(virtual address)를 생성하며, 이와 같이 생성된 가상 어드레스는 레지스터 파일(520)에 저장된 다음 다음 단의 어드레스 번역부(600)로 제공된다.
한편, 어드레스 번역부(600)는 소정의 프로그램을 세그먼트 단위로 분할하는 세그먼테이션부(segmentation unit, 610)와, 정보를 페이지 단위로 전송하거나 프로그램에 페이지 단위로 할당하는 페이징부(paging unit, 630)로 이루어진 가상 기억장치를 포함하며, 상기 세크먼테이션부(610) 및 페이징부(630)를 통해 실행부(500) 내의 레지스터 파일(520)로부터 제공되는 가상 어드레스를 물리 어드레스로 번역하여 내부 메모리(200)로 제공한다. 또한, 어드레스 번역부(600)는 버스를 통해 상기 프리페치기(310)에 연결되며, 세그먼트 정보(세그먼트의 개시번지, 크기 및 상태 등)에 관한 코드를 일시 저장하는 디스크립터 레지스터(descriptor register, 620) 및 번역 룩어싸이드 버퍼(translation lookaside buffer, 640)를 포함한다.
다음으로, 상술한 구성을 갖는 전형적인 마이크로프로세서 내에 채용되어 마이크뢰프로세서의 처리속도와 주기억장치의 처리속도 사이의 속도차를 극복하는데 사용되는 본 발명의 바람직한 일실시예에 따른 캐쉬 메모리(제1도의 내부 메모리(200)에 해당) 장치에 대하여 설명한다.
제2도는 상기 제1도에 도시된 내부 메모리에 해당하는 본 발명의 바람직한 일실시예에 따른 캐쉬 메모리 장치의 블록 구성도이다.
제2도를 참조하면, 본 발명에 따른 개선된 캐쉬 메모리 장치는, SRAM을 이용하여 통상의 마이크로프로세서에 채용되던 종래의 캐쉬 메모리 장치와는 달리 SRAM 및 DRAM을 함께 채용하여, SRAM의 고속동작 특성과 DRAM의 고집적화 특성을 모두 수용할 수 있도록 함으로써, 본 발명이 얻고자 하는 고속의 데이터 처리속도 구현 및 원칩으로의 집적화를 실현하고자 하는데 가장 주된 기술적인 특징을 갖는다.
제2도에 있어서, 제1캐쉬 제어로직(210)은, 제3도의 (a)에 도시된 바와 같이, n개의 어드레스 라인에 상응하는 n개의 전계 효과 트랜지스터(FET1 ... FETn)로 구성되며, 제1도에 도시된 어드레스 번역부(600)로부터 발생된 물리 어드레스를 이용하여 캐쉬 SRAM(220) 내의 태그 SRAM(221)의 태그와 비교한다. 즉, 제1캐쉬 제어로직(210)은 물리 어드레스와 태그 SRAM(221)과의 비교를 통해 해당 명령어 또는 자료가 데이터 SRAM(223)에 있는지의 여부를 체크한다. 이때, 원하는 명령어나 자료가 데이터 SRAM(223)에 저장되어 있어서 캐쉬 SRAM(220)가 히트(hit, 적중) 되면, 즉 태그 비트가 세트되면 해당 기억장소에 대한 접근이 허여될 것이다. 따라서, 이와 같이 캐쉬 SRAM(220)가 히트되면 해당 데이터가 데이터 버스(270)에 실리게 된다.
한편, 제1도에 도시된 어드레스 번역 블록(600)으로부터 발생된 물리 어드레스와 캐쉬 SRAM(220) 내의 태그 SRAM(221)와 비교하여 적중하지 않으면(미스이면), 즉 해당 명령어나 또는 자료가 데이터 SRAM(223)에 없어 기억장소로의 접근이 허여되지 않으면, 태그 SRAM(221)에서는 캐쉬 SRAM 미스 신호를 발생하게 되며, 이와 같이 발생된 캐쉬 SRAM 미스 신호는 제2캐쉬 제어로직(230)과 제4캐쉬 제어로직(260)에 동시에 제공된다.
따라서, 제3도(b)에 도시된 바와 같이, n개의 어드레스 라인에 상응하는 n개의 전계 효과 트랜지스터(FET1 ... FETn)로 구성된 제2캐쉬 제어로직(230)에서는 제1캐쉬 제어로직(210)으로부터의 물리 어드레스를 입력받아 캐쉬 DRAM(240) 내의 태그 DRAM(241)와 비교한다. 여기에서의 비교결과, 원하는 명령이나 자료가 데이터 DRAM(243)에 있어 캐쉬 DRAM(240)가 히트(적중)하면, 즉 태그 비트가 세트되면 해당 기억장소에 대한 접근이 허여될 것이다. 따라서, 이와 같이 캐쉬 DRAM(240)가 히트되면 해당 데이터가 제3캐쉬 제어로직(250)을 경유하여 데이터 버스(270)에 실리게 된다.
한편, 제1캐쉬 제어로직(210)으로부터 제공되는 물리 어드레스와 데이터 DRAM(243) 내의 태그 DRAM(241)의 태그와 비교하여 적중하지 않으며(miss), 즉 해당 명령어나 또는 자료가 데이터 DRAM(243)에 없어 기억장소로의 접근이 허여되지 않으면, 태그 DRAM(241)에서는 캐쉬 DRAM 미스 신호를 발생하게 되며, 이와같이 발생된 캐쉬 DRAM 미스 신호는 제3 제어로직(250) 및 제4 제어로직(260)에 동시에 제공된다.
이때, 상기 데이터 DRAM(243)로부터의 데이터를 데이터 버스(270)에 싣는 제3캐쉬 제어로직(250)은, 제4도(a)에 도시한 바와 같이, 캐쉬 DRAM 미스 신호가 인가되는 인버터(INT)의 출력에 다단접속된 n개의 데이터 라인에 상응하는 n개의 전계 효과 트랜지스터(FET1 - FETn)로 구성된다.
그리고, 제4도(b)에 도시된 바와 같이, 캐쉬 DRAM 미스 신호와 캐쉬 SRAM 미스 신호를 각 입력으로 하는 논리곱 게이트(AND)와 상기 논리곱 게이트(AND)의 출력에 다단 접속된 n개의 어드레스 라인에 상응하는 n개의 트랜지스터(FET1 ... FETn)로 구성된 제4캐쉬 제어로직(260)에서는 데이터 SRAM(223)와 데이터 DRAM(243) 모두에서 캐쉬 메모리 미스가 나는 경우, 즉 캐쉬 SRAM 미스 신호와 캐쉬 DRAM 미스 신호가 발생하는 경우에 전술한 제1캐쉬 제어로직(210)으로부터 제공되는 물리 어드레스를 데이터 버스(270)에 실어 제1도에 도시된 외부 메모리(700)에서 해당 데이터를 읽어오도록 한다.
즉, 본 발명에 따라 캐쉬 메모리 장치에 채용되는 제4캐쉬 제어로직(260)은 캐쉬 SRAM(220)과 캐쉬 DRAM(240) 모두에서 캐쉬 미스가 나는 경우에만 외부 메모리에서 해당 데이터를 읽어오게 된다.
본 발명의 기술 사상은 상기 바람직한 실시예에 따라 구체적으로 기술되었으나, 상기한 실시예는 그 설명을 위한 것이며, 그 제한을 위한 것이 아님을 주의하여야 한다. 또한, 본 발명의 기술 분야의 통상의 전문가라면 본 발명의 기술 사상의 범위내에서 다양한 실시예가 가능함을 이해할 수 있을 것이다.
따라서, 상기와 같은 본 발명은, 마이크로프로세서 내 캐쉬 메모리로서 SRAM 및 DRAM을 함께 채용함으로써, 캐쉬 메모리의 주요한 기능수행에 필요한 고속동작을 충족시키면서도 그 집적 사이즈를 대폭적으로 줄여 원칩으로 집적화가 가능한 탁월한 효과가 있다.

Claims (6)

  1. 주기억장치와 마이크로프로세서 간의 데이터 처리 속도 차에 기인하는 시스템의 성능 저하를 방지하기 위해 상기 마이크로프로세서 내에 원칩화된 고속 및 고집적 마이크로프로세서를 위한 캐쉬 메모리 장치에 있어서, 태그 SRAM 및 데이터 SRAM을 구비하여, 해당 프로그램의 수행 전 또는 수행 중에 데이터 버스를 통해 상기 주기억장치로부터 특정 데이터를 입력받아 저장하는 캐쉬 SRAM; 및 태그 DRAM 및 데이터 DRAM을 구비하여, 해당 프로그램의 수행 전 또는 수행 중에 상기 데이터 버스를 통해 상기 주기억장치로부터 특정 데이터를 입력받아 저장하는 캐쉬 DRAM을 포함하되, 상기 마이크로프로세서의 어드레스 번역 수단(address translation unit)으로부터 출력되는 물리 어드레스 신호에 응답하여 태그 히트된 해당 데이터를 데이터 버스로 출력하는 것을 특징으로 하는 고속 및 고집적 마이크로프로세서를 위한 캐쉬 메모리 장치.
  2. 제1항에 있어서, 상기 마이크로프로세서의 어드레스 번역 수단으로부터 출력되는 물리 어드레스에 응답하여 상기 캐쉬 SRAM 및 상기 캐쉬 DRAM에서 모두 캐쉬 미스가 발생하는 경우 상기 물리 어드레스를 상기 데이터 버스로 출력하여, 상기 주기억장치로부터 해당 데이터를 읽어오는 것을 특징으로 하는 고속 및 고집적 마이크로프로세서를 위한 캐쉬 메모리 장치.
  3. 주기억장치와 마이크로프로세서 간의 데이터 처리 속도차에 기인하는 시스템의 성능 저하를 방지하기 위해 상기 마이크로프로세서 내에 원칩화된 고속 및 고집적 마이크로프로세서를 위한 캐쉬 메모리 장치에 있어서, 태그 SRAM 및 데이터 SRAM을 구비하여, 해당 프로그램의 수행 전 또는 수행 중에 상기 데이터 버스를 통해 상기 주기억장치로부터 특정 데이터를 입력받아 저장하는 캐쉬 SRAM; 태그 DRAM 및 데이터 DRAM을 구비하여, 해당 프로그램의 수행 전 또는 수행 중에 상기 데이터 버스를 통해 상기 주기억장치로부터 특정 데이터를 입력받다 저장하는 캐쉬 DRAM; 어드레스 번역 수단으로부터 출력되는 물리 어드레스를 입력받아 상기 태그 SRAM에 저장되어 있는 태그와 비교하여, 태그 히트시 상기 데이터 SRAM에 저당되어 있는 해당 데이터를 상기 데이터 버스로 출력하고, 태그 미스시 캐쉬 SRAM 미스 신호를 출력하는 제1 제어수단; 상기 제1 제어로직으로부터의 상기 캐쉬 SRAM 미스 신호에 응답하여 상기 물리 어드레스를 입력받고, 상기 물리 어드레스와 상기 태그 DRAM에 저장되어 있는 태그와 비교하여 태그 히트시 상기 데이터 DRAM에 저장되어 있는 해당 데이터를 상기 데이터 버스로 출력하고, 태그 미스시 캐쉬 DRAM 미스 신호를 출력하는 제2제어수단; 및 상기 제1 및 제2 제어수단으로부터 출력되는 상기 캐쉬 SRAM 미스 신호 및 상기 캐쉬 DRAM 미스 신호에 응답하여 상기 물리 어드레스를 상기 데이터 버스로 출력하는 제3 제어수단을 포함하여 이루어지는 고속 및 고집적 마이크로프로세서를 위한 캐쉬 메모리 장치.
  4. 제3항에 있어서, 상기 제1 및 제2 제어수단은 각각, n개의 물리 어드레스 라인에 상응하는 다단 접속된 n개의 트랜지스터를 포함하는 것을 특징으로 하는 고속 및 고집적 마이크로프로세서를 위한 캐쉬 메모리 장치.
  5. 제3항에 있어서, 상기 제3 제어수단은, 상기 캐쉬 SRAM 미스 신호 및 상기 캐쉬 DRAM 미스 신호를 입력받아 논리곱 하기 위한 논리곱 수단; 및 상기 논리곱 수단의 출력단에 다단 접속되어 n개의 상기 물리 어드레스 라인에 상응하는 n개의 트랜지스터를 포함하되, 상기 캐쉬 SRAM 및 상기 캐쉬 DRAM에서 모두 캐쉬 미스가 발생한 경우 상기 물리 어드레스를 상기 데이터 버스로 출력하여, 상기 주기억장치로부터 해당 데이터를 읽어오는 것을 특징으로 하는 고속 및 고집적 마이크로프로세서를 위한 캐쉬 메모리 장치.
  6. 제4항 및 제5항에 있어서, 상기 각 트랜지스터는 전계 효과 트랜지스터인 것을 특징으로 하는 고속 및 고집적 마이크로프로세서를 위한 캐쉬 메모리 장치.
KR1019950031715A 1995-09-25 1995-09-25 고속 및 고집적 마이크로프로세서를 위한 캐쉬 메모리 장치 KR100196522B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019950031715A KR100196522B1 (ko) 1995-09-25 1995-09-25 고속 및 고집적 마이크로프로세서를 위한 캐쉬 메모리 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019950031715A KR100196522B1 (ko) 1995-09-25 1995-09-25 고속 및 고집적 마이크로프로세서를 위한 캐쉬 메모리 장치

Publications (2)

Publication Number Publication Date
KR970016968A KR970016968A (ko) 1997-04-28
KR100196522B1 true KR100196522B1 (ko) 1999-06-15

Family

ID=19427787

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019950031715A KR100196522B1 (ko) 1995-09-25 1995-09-25 고속 및 고집적 마이크로프로세서를 위한 캐쉬 메모리 장치

Country Status (1)

Country Link
KR (1) KR100196522B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100488103B1 (ko) * 2000-12-08 2005-05-09 엘지전자 주식회사 중앙 처리 장치의 고성능 처리를 위한 메모리 주소 맵핑회로

Also Published As

Publication number Publication date
KR970016968A (ko) 1997-04-28

Similar Documents

Publication Publication Date Title
US5319763A (en) Data processor with concurrent static and dynamic masking of operand information and method therefor
US5204953A (en) One clock address pipelining in segmentation unit
US7185171B2 (en) Semiconductor integrated circuit
US5367494A (en) Randomly accessible memory having time overlapping memory accesses
US5239642A (en) Data processor with shared control and drive circuitry for both breakpoint and content addressable storage devices
US5341500A (en) Data processor with combined static and dynamic masking of operand for breakpoint operation
EP0803091B1 (en) Computer system
US5210842A (en) Data processor having instruction varied set associative cache boundary accessing
JPH11161547A (ja) データ処理装置用記憶装置、および記憶場所にアクセスする方法
US6986029B2 (en) Micro-controller for reading out compressed instruction code and program memory for compressing instruction code and storing therein
KR970006644B1 (ko) 버스의 데이터전송처리능력(Data throughput)을 향상시키는 버스제어장치
US6351788B1 (en) Data processor and data processing system
EP0026648B1 (en) Digital data transfer apparatus
KR910014816A (ko) 대규모의 직접 맵핑된 데이타 캐시를 통해 효율적으로 지원하는 i/o 장치의 액세스를 위한 시스템 및 방법
US5732405A (en) Method and apparatus for performing a cache operation in a data processing system
US5842012A (en) Efficient soft reset in a personal computer
US5532947A (en) Combined decoder/adder circuit which provides improved access speed to a cache
KR19990006756A (ko) 다방향 연상 기억 방식의 캐시 메모리
US5761718A (en) Conditional data pre-fetching in a device controller
US6049852A (en) Preserving cache consistency in a computer system having a plurality of memories with overlapping address ranges
KR100196522B1 (ko) 고속 및 고집적 마이크로프로세서를 위한 캐쉬 메모리 장치
KR920002573B1 (ko) 데이타 처리기
US7076635B1 (en) Method and apparatus for reducing instruction TLB accesses
JP4404373B2 (ja) 半導体集積回路
EP1318450A2 (en) Address range checking circuit and method of operation

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
FPAY Annual fee payment

Payment date: 20050124

Year of fee payment: 7

LAPS Lapse due to unpaid annual fee