KR100258833B1 - 멀티모드 캐시 메모리 - Google Patents

멀티모드 캐시 메모리 Download PDF

Info

Publication number
KR100258833B1
KR100258833B1 KR1019970006174A KR19970006174A KR100258833B1 KR 100258833 B1 KR100258833 B1 KR 100258833B1 KR 1019970006174 A KR1019970006174 A KR 1019970006174A KR 19970006174 A KR19970006174 A KR 19970006174A KR 100258833 B1 KR100258833 B1 KR 100258833B1
Authority
KR
South Korea
Prior art keywords
mode
cache
memory block
predetermined memory
sram
Prior art date
Application number
KR1019970006174A
Other languages
English (en)
Other versions
KR970067364A (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 KR970067364A publication Critical patent/KR970067364A/ko
Application granted granted Critical
Publication of KR100258833B1 publication Critical patent/KR100258833B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/4063Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
    • G11C11/407Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
    • 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/0804Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with main memory updating
    • 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
    • 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/0891Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using clearing, invalidating or resetting means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/25Using a specific main memory architecture
    • G06F2212/251Local memory within processor subsystem
    • G06F2212/2515Local memory within processor subsystem being configurable for different purposes, e.g. as cache or non-cache memory

Landscapes

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

Abstract

멀티모드 캐시 구조는 소정 메모리블록 및 그 메모리 블록이 다수의 기능들을 샐행할 수 있게 하는 메모리 블록에 대한 제어부들을 포함한다. 선택가능한 다수의 기능들은 캐시 모드, SRAM 모드, 플러시 모드 및 무효 모드를 포함한다. 제어레지스터가 소정 메모리 블록과 결합되어, 다수의 상태 비트들을 포함한다. 각 상태 비트들을 다수의 기능들 중 하나에 대응하며, 특정 상태 비트가 세트될 때, 소정 메모리 블록이 세트된 상태 비트에 대응하는 기능을 실행한다.

Description

멀티모드 캐시 메모리
본 발명은 집적회로에 관한 것으로, 특히, 캐시 또는 RAM으로 사용가능한 온-칩 메모리블록을 포함하는 휴대용 장치들에 사용하기 위한 간략화된 명령어 집합 컴퓨터(RISC) 중앙 처리 장치(CPU)를 갖는 집적회로에 관한 것이다.
휴대용 장치는 개인 정보 관리자, 휴대용 전화, 디지털 카메라, 휴대용 게임기, 바코드 스캐너, 의료기기, 및 항행(航行) 시스템, 특히 전지구 위성 항행 시스템과 같은 전자 기기를 포함한다.
상업적으로 성공되기 위해, 휴대용 장치는 저렴하고, 소비전력이 적어 장기간동안 배터리를 사용하도록 하며, 출력이 정확하고 사용상 편리한 고성능의 집적회로를 필요로 한다. 또한, 다수의 휴대용 장치에 단일형태의 집적회로가 사용될 수 있도록 집적회로와 휴대용장치의 나머지 부분간의 인터페이스가 플러그-앤드-플레이(plug-and-play) 구조로 되어야 한다. 이와 같은 적응성을 위한 부품은, 휴대용 장치의 설계자가 다양한 응용에 사용될 수 있도록 내부 변경을 요하지 않는 오프-더-셀프(off-the-shelf) 구성으로 IC를 상기 장치내에 용이하게 채용되도록 해야 한다.
Intel 30*86 및 Pentium
Figure kpo00001
시리즈 칩 및 Motorola 68000시리즈 칩과 같은 집적회로 CPU에 있어서의 "연산능력"은 지난 수년 동안 매우 향상되었다. 동시에, 칩의 사이즈도 그의 소비 전력에 따라 매우 커졌다. 이와 같은 칩은 종래의 종래의 "복잡한 명령어 집합 컴퓨터(CISC)"로서 설계되며 조합된 랜덤 액세스 메모리(RAM)의 유효 블록들을 필요로 함과 동시에 이들 칩을 포함하는 컴퓨터의 동작을 위해 기입되는 애플리케이션도 한없이 커져, 방대한 하드 디스크 공간을 요한다. 이와 같은 CISC는 그의 소비전력 및 사이즈로 인해 휴대용 장치에 사용되기가 용이하지 않다.
"간략화된 명령어 집합 컴퓨터(RISC)"는 본래 CAE/CAD 작업 환경과 같은 고급 그래픽 애플리케이션용으로 사용되었다. 그러나, 이 RISC 아키텍쳐는, 보다 간단한 설계로서 보다 완전하게 하고 또한 오류수정을 위한 시간을 절감하기 위해, RISC 기술의 축소된 명령어 집합이 작업의 실시를 위한 트랜지스터를 보다 감소시키기 때문에, IC의 다이 크기를 매우 축소시킨다. 또한, 보다 짧은 신호경로를 갖는 작은 칩은 각 명령 주기가 더욱 짧은 존속기간을 갖도록 한다. 상기 RISC CPU는 CISC CPU에 비해 상당히 작다. 예컨대 인텔 386 SL 칩이 대략 170㎟인 반면, 이와 비슷한 연산능력을 갖는 RISC칩은 5㎟보다 약간 크다.
상기 RISC계 칩 CPU 사이즈는 작기 때문에 이 RISC 아키텍쳐는 "시스템-온-칩(system-on-chip;SOC) 구성에 이상적이며, 이 CPU 및 다수의 다른 구조는 단일칩상에 배치되어 있다. 이와 같은 SOC 아키텍쳐는 여전히 CISC CPU에 비해 작은 것으로 간주되는 칩이지만, 단일 집적회로상에 모든 연산 및 제어구조를 포함하고 있다. SOC 아키텍쳐는 RISC CPU 및 임의 형태의 국부 RAM 및/또는 데이터 캐시를 포함한다. 또한, 상기 칩은 내부 및 외부 버스 컨트롤러, 각종 형태의 통신 포트, 입터럽트 콘트롤러, 펄스폭 변조기, 각종 구성의 레지스터, 각종 타이머/카운터 부품, 및 LCD 콘트롤러와 같은 소정 형태의 출력 콘트롤러를 포함할 수 있다. 이와 같은 구조는, 조합된 주변장치가 칩에 집적된 32비트 아키텍쳐로 구성될 수 있으며, 상기 집적은 상기 칩을 채용한 휴대용 장치의 설계자가 개발주기를 단축하고 제품의 시판을 촉진할 수 있도록 한다. 이 칩 구조는, 집적회로로 기능하기 위한 부가적 버퍼를 필요로 하지 않는, 8 또는 16비트 SRAM, DRAM, EPROM 및/ 또는 메모리 장치를 지원할 수 있는 집적된 프로그래머블 버스 콘트롤러를 갖는 외부 데이터 16비트 데이터 버스를 구비할 수 있다. 상기 칩은 3.3V 또는 5V로 동작될 수 있으며 이는 각각 100㎽ 내지 350㎽의 출력을 요한다.
칩에 다수의 주변장치를 결합하고, CPU와 주변장치간에 내부버스를 제공함으로써, 칩에 대한 많은 동작을 행할 수 있으며, 동시에 메모리 저장 및 검색과 같은 오프-칩(off-chip) 동작을 제어한다.
상기 집적회로는, 사용자가 대기상태, 메모리폭, 8 또는 16 비트폭을 설정할 수 있도록, 인에이블되는 다수의 프로그램 가능한 메모리 칩을 제공하는 메모리 인터페이스를 포함한다. 상기 집적회로는 어드레스 디코딩 또는 DRAM 콘트롤 로직용으로 제공되며, 이는 외부 어드레스 디코딩 또는 외부 DRAM 콘트롤러 없이 외부 버스 마스터가 데이터 전송을 할 수 있도록 한다. 순서 액세스가 사용되는 경우, 집접회로는 상기 외부 버스 마스터에 의해 공급되는 초기 메모리 어드레스를 자동적으로 증가시켜 전송속도를 증대시킨다.
본 발명의 주요 구성부인 멀티 모드 캐시 구조는 소정 메모리블록 및 그 메모리블록이 다수의 기능들을 실행할 수 있도록 하는 메모리블록에 대한 제어부들을 포함한다. 선택가능한 다수의 기능들은 캐시 모드, SRAM 모드, 플러시 모드 및 무효 모드를 포함한다. 제어 레지스터가 소정 메모리블록과 결합되며, 다수의 상태 비트들을 포함한다. 각 상태 비트들은 다수의 기능들 중 하나에 대응하며, 특정 상태 비트가 세트될 때, 소정 메모리블록이 세트된 상태 비트에 대응하는 기능을 실행한다.
본 발명의 목적은 메모리 블록이 하나 이상의 기능을 실행할 수 있는 CPU를 갖는 집적회로를 제공하는 것이다.
본 발명의 다른 목적은 캐시 또는 SRAM으로서 동작하는 메모리블록을 제공하는 것이다.
본 발명의 또 다른 목적은 사용자에게 집적회로의 메모리블록의 기능들을 선택할 수 있도록 하는 CPU를 갖는 집적회로를 제공하는 것이다.
본 발명의 상기한 목적 및 장점들은 첨부도면들을 참조하여 이하 더 상세하게 설명될 것이다.
제1도는 본 발명의 시스템-온-칩 구조의 블록도.
제2도는 캐시 모드에서의 메모리 블록의 블록도.
제3도는 본 발명의 제어 레지스터를 나타낸 도면, 및
제4도는 본 발명이 세그먼트 디스크립터 레지스터를 나타낸 도면이다.
제1도를 참조하면, 본 발명의 시스템-온-칩(SOC) 구조가 참조부호(10)로 나타나 있다. IC(10)는, 32비트 내부 버스(14)에 접속되며 마이크로콘트롤러(12a)가 내장된 RISC CPU(12)를 포함한다. CPU(12)는 내부 버스 콘트롤러(16)에 직접 접속되며, 상기 콘트롤러는 버스(14) 및 버스맵(18)에 접속된다. 상기 IC(10)는 로칼 RAM(SRAM)(20), 본 명세서에서 소정 메모리 블록으로 정의되는 복합 명령어/데이터 캐시(22), 및 외부 액세스 포트(24)를 더 포함한다. 바람직한 실시예에서, IC(10)는 액정 디스플레이(LCD)에 접속되며, 이를 위해 LCD 패널 인터페이스(28)에 접속된 LCD콘트롤러(26)를 포함한다. 외부 버스 콘트롤러(30)는, 바람직한 실시예에서 상기 외부 버스 콘트롤러(30)의 부품들인 외부 칩 셀렉트(34) 및 외부 메모리 인터페이스(32)에 접속된 상태로 제공된다. 상기 메모리 인터페이스(28)와 외부 칩 셀렉트(34)는 여러개의 버스들에 의해 SRAM 및 DRAM 부분들(도시안됨)을 포함하는 외부 메모리 및 I/O 디바이스, 하드 드라이브등의 여러 가지의 주변 방치들에 접속된다.
다수의 구성 레지스터들(36)이 제공되어, 내부 버스 콘트롤러(16)에 배치된다. 다수의 온-칩 내부 "주변장치들"이 내부 버스(14)에 접속되며, 범용 비동기 송/수신기(UART)(38), 병렬 포트(40), 타이머/카운터(42), 인터럽트 콘트롤러(44), 및 펄스폭 변조기(PWM)(46)를 포함한다.
제2도를 참조하면, 복합 명령어/데이터 캐시가 더 상세하게 도시된다. 상기한 바와같이, 캐시(22)를 구성하는 메모리블록은 두 개의 부분들로 구분되는데, 제1부분은 Tag RAM 부분(48)이고, 제2부분은 데이터 RAM 부분(50)이다. 바람직한 실시예에서, 내부 버스 콘트롤러(16)에 배치되는 캐시 제어 레지스터(52)는 메모리 블록(22)과 결합된다.
바람직한 실시예에서, 캐시(22)는 2K-바이트 캐시이다. 그 캐시는 제2도에 세트들 0-127로 나타낸 바와같이 128세트들로 된 4-웨이 세트 결합이다. 바람직한 실시예에서, 각 세트는 캐시데이터의 1위드 라인을 4개 포함하며, 각 라인은 메모리블록(22)의 데이터 RAM부분(50)에 32비트를 기억할 수 있다. 또한, 각 세트는 메모리블록(22)의 Tag RAM 부분에 4개의 라인들의 3-상태 비트(48a) 및 23-비트 어드레스(48b)를 포함한다.
상기 상태 비트(48a)는 캐시라인의 데이터가 수정되었는지 또는 수정되지 않았는지를 나타내며, 데이터 및 조합 어드레스가 상기 라인으로 기입될 때 0으로 세트되며, 데이터가 수정되면 1로 세트되는 M-비트를 포함한다. 제2상태 비트는 데이터가 타당한지의 여부를 나타내는 V-비트이다. V-비트가 1로 세트되면, 그와 조합된 데이터가 정당함을 나타내는 것이고, V-비트가 0으로 세트되면, 데이터가 정당하지 않은 것으로 간주된다. 제3비트는 최근 최소 사용(LRU)비트이고, 캐시의 세트들의 히스토리를 추적하도록 이용된다.
어드레스 레지스터(52)는 32-비트 레지스터이다. 비트들(0, 1)은 사용되지 않는다. 비트들(2-8)은 세트 넘버(0-127)를 식별하도록 사용되며 비트들(9-31)은 Tag RAM(48a)에 어드레스를 제공한다.
정상 동작시에, 어드레스는 RISC CPU(12)에서 어드레스 레지스터(52)로 전송된다. Tag RAM(48)의 4개의 라인들은 병렬로 문의된다. 상기 4개의 라인들 중 어느것이 어드레스 레지스터(52)의 어드레스 태그와 부합될 때, 데이터 RAM(50)에서 상응하는 데이터가 출력된다. 메모리블록(22)은, 캐시로서 동작될 때, 재기록 프로토콜을 이용한다. 캐시기입이 발생될 때, 적절한 상태비트에 비해 엔트리가 수정되어 표시된다. 그 엔트리가 후에 대체될 때, 주메모리(오프 칩)가 업데이트 된다. 재기록 프로토콜은 내부버스(14)상에서의 외부버스 콘트롤러(30)를 통한 통신량을 감소 시키지만, 주 메모리는 캐시에 의해 업데이트될 때까지 그대로 남겨진다.
제3도를 참조하면, 바람직한 실시에에서 내부버스 콘트롤러(16)에 배치되는 캐시 제어 레지스터(CCR)(54)는 메모리블록(22)의 동작을 제어하는 8-비트 레지스터이다. 그 레지스터의 4개의 비트들만이 사용되며, 그 4개의 비트들을 E, S, F, I로 표시한다. E-비트가 논리 1로 세트될 때, 메모리블록(22)의 캐시모드가 허용된다. 레지스터(54)의 S-비트가 논리 1로 세트될 때, SRAM 모드가 허용된다. 레지스터(54)의 F-비트가 논리 1로 세트될 때, 플러시 모드가 허용되나. 레지스터(54)의 I-비트가 논리1로 세트될 때, 캐시가 무효로 되도록 디클레어 된다. 레지스터(54)의 비트들 E, F, S은 상호 배타적이다. 즉 언제나 그들중 어느 하나만 논리 1로 설정될 수 있다. 메모리 블록(22)은 리세트동작에 이어 캐시모드로 배치된다.
다시 제2도를 참조하면, 세그먼트 디스크립터 레지스터(SDR)(56)가 도시되어 있다. SDR(56)은 CCR(54)의 S비트가 논리 1로 세트되고, 메모리블록(22)이 그의 SRAM 모드, 단일 기억 영역에 있을 때 사용된다. 또한, SDR(54)의 비트들(0, 1)은 사용되지 않는다. 비트들(2-8)은 어드레스될 세트를 결정하도록 사용되며, 비트들(9-10)은 어드레스될 라인을 결정한다. 비트들(11-31)은 어드레스될 메모리 블록(22)내의 어드레스 위치들을 제공한다. 메모리블록(22)이 SRAM 모드에 위치할 때, Tag RAM(48) 및 데이터 RAM(50) 이 1K-워드 SRAM으로서 액세스된다. 이러한 특징에 의해 시스템 설계자가 엑스트라 온-칩 SRAM으로서 메모리블록(22)을 사용할 수 있으며, 또한 그 설계자가 캐시 데이터, 어그레스 태그 및 상태 비트들을 검사할 수 있게된다. 메모리블록(22)이 SRAM 모드에 있을 때, 바람직한 실시예에서 512 워드 길이의 데이터 RAM은 초기 어드레스 위치로 맵되며, 역시 512 워드 길이의 Tag RAM도 순차적인 어드레스 위치들로 맵된다. Tag RAM의 각 라인이 26비트 폭으로 되어 있지만, 그 Tag RAM 라인들은 32비트워드와 마찬가지로 액세스되며, 6개의 제로들이 3-상태 비트 및 23-비트 어드레스 태그의 좌측(우측 정렬)에 부가된다. SRAM모드의 메모리블록(22)으로의 모든 액세스들은, 바람직한 실시예에서 바이트 액세스들이 허용되지 않는, 워드 길이로 되어야한다.
다른 모드, 즉 플러시 모드 및 무효 모드가 메모리블록(22)을 관리하도록 이용된다. 메모리블록(22)이 플러시 모드일 때, 4개의 라인들 중 어느것이 수정되어 있는 캐시 세트로의 액세스에 의해 상기 수정된 라인이 주메모리에 재기입된다. 따라서, 캐시의 모드 128개의 세트들을 순차로 액세스함에 의해 캐시의 내용들이 주메모리로 강제로 기입될 것이다. 이 특징은 캐시가능한 메모리 세그먼트상의 직접 기억 장소 접근(DMA) 프로토콜에 대해 특히 적합하다.
캐시가 무효 모드에 위치하면, 캐시의 모든 라인들이 무효로 된다. CPU(12)에 의한 어떠한 메모리 액세스도 주메모리로 강제 진입될 것이다(오프-칩).
상기한 바와 같이, RISC CPU로 사용되기 위한 메모리블록이 개시되며, 그 메모리블록은 캐시 또는 SRAM으로 사용될 수 있다. 상기 메모리블록이 캐시로서 사용되는 경우에, 캐시 히트가 발생될 때마다 칩상에 제로 대기 상태를 제공하며, 캐시 미싱에 대한 지연을 최소화한다. 메모리 업데이트는 외부버스의 통신량을 감소시키도록 재기입 프로토콜에서 실행된다. 캐시는 임의의 대체 프로토콜용 LRU 알고리즘을 이용한다. 메모리블록이 SRAM 모드에 있을 때, 적절한 응용 프로그램에 사용되는 엑스트라 온-칩 RAM을 제공한다. 상기 응용 프로그램은 실행중인 상기 프로그램이 캐시 데이터로의 신속한 액세스를 필요로 하지 않을 때 RAM 동작용으로 메모리블록(22)을 이용할 수 있다. 이러한 응용 프로그램은 온-칩 SRAM이 프로그래밍 명령어의 캐싱보다 더 중요한 디지털 카메라 및 주변 제어기 등의 휴대용 장치들에 사용될 수 있다.
멀티모드 캐시 구조의 바람직한 실시예가 개시되었지만, 첨부된 특허청구범위에서 정의되는 바와같이, 본 발명의 범위를 벗어나지 않고 여러 가지 변경 및 개조가 가능할 것이다.

Claims (18)

  1. CPU를 구비하고, 또한 주 메모리 유닛에 대한 접속부를 갖는 집적 회로에 있어서, 멀티모드 캐시구조가, 다수의 기능들 사이에서 시프트가능한 소정 메모리블록; 및 다수의 상태 비트들을 갖는 상기 소정 메모리블록과 결합되며, 상기 상태 비트들이 각각 상기 다수의 기능들 중 하나에 대응하며, 상기 소정 메모리블록은, 상태 비트가 세트된 상태에서, 그 세트된 상태 비트에 대응하는 기능을 실행하는 제어 레지스터를 포함하는 멀티모드 캐시.
  2. 제1항에 있어서, 상기 다수의 기능들은 각각 다수의 캐시 라인들을 갖는 다수의 캐시 세트들이 상기 소정 메모리블록에 기억되는 캐시 모드, SRAM 모드, 플러시 모드, 및 무효 모드를 포함하며, 상기 제어 레지스터는 상기 캐시 모드, SRAM 모드, 플러시 모드 및 무효 모드에 대해 설계된 상태 비트들을 포함하며, 상기 캐시모드, SRAM 모드 및 플러시 모드는 상호 배타적 기능들을 갖는 멀티모드 캐시.
  3. 제2항에 있어서, 상기 캐시 모드에서, 상기 소정 메모리블록은 Tag RAM부분 및 데이터 RAM부분을 포함하며, 상기 SRAM 모드에서, 상기 소정 메모리블록은 단일의 기억 영역을 포함하는 멀티모드 캐시.
  4. 제3항에 있어서, 상기 소정 메모리블록이 SRAM 모드일 때, 상기 제어 레지스터가 세그먼트 디스크립터 레지스터인 멀티모드 캐시.
  5. 제2항에 있어서, 상기 소정 메모리블록이 리세트동작후에 캐시모드에 위치되는 멀티모드 캐시.
  6. 제2항에 있어서, 상기 소정모리블록이 SRAM 모드일때 액세스들이 워드-길이 유닛들에 위치하는 멀티모드 캐시.
  7. 제2항에 있어서, 상기 소정 메모리블록이 플러시 모드일 때, 이전의 액세스 후에 수정된 캐시 세트로의 액세스에 의해 상기 수정된 캐시세트가 주 메모리에 기입되는 멀키모드 캐시.
  8. 제2항에 있어서, 상기 소정 메모리블록이 무효 모드일 때, 모든 캐시 라인들이 무효로 되고 모든 메모리 액세스가 주 메모리로 직접 접근되는 멀티모드 캐시.
  9. 다수의 기능들 사이에서 시프트가능한 소정 메모리블록으로서; 상기 다수의 기능들은, 각각 다수의 캐시 라인들을 갖는 다수의 캐시 세트들이 상기 수정 메모리블록에 기억되는 캐시모드, SRAM 모드, 플러시 모드 및 무효 모드를 포함하며, 상기 제어 레지스터는 상기 캐시 모드, SRAM 모드, 플러시 모드 및 무효 모드에 대해 설계된 상태 비트들을 포함하며, 상기 캐시 모드, SRAM 모드 및 플러시 모드는 상호 배타적 기능들을 갖는 소정 메모리블록; 및 다수의 상태 비트들을 갖는 상기 소정 메모리블록과 결합되며, 상기 상태 비트들이 각각 상기 다수의 기능들 중 하나에 대응하며, 상기 소정 메모리블록은, 상태 비트가 세트된 상태에서, 그 세트된 상태 비트에 대응하는 기능을 실행하는 제어 레지스터를 포함하는, CPU 및 주 메모리 유닛으로의 접속부를 갖는 집적 회로의 멀티모드 캐시.
  10. 제9항에 있어서, 상기 캐시 모드에서, 상기 메모리블록은 Tag RAM부분 및 데이터 RAM 부분을 포함하며, 상기 SRAM 모드에서, 상기 소정 메모리블록은 단일의 기억 영역을 가지며, 상기 소정 메모리블록이 SRAM 모드일 때, 상기 제어 레지스터가 세그먼트 디스크립터 레지스터인 멀티모드 캐시.
  11. 제9항에 있어서, 상기 소정 메모리블록이 리세트 동작후에 캐시모드에 위치되는 멀티모드 캐시.
  12. 제9항에 있어서, 상기 소정모리블록이 SRAM 모드일 때 액세스들이 워드-길이 유닛들에 위치하는 멀티모드 캐시.
  13. 다수의 기능들 사이에서 시프트가능한 소정 메모리블록으로서; 상기 다수의 기능들은, 각각 다수의 캐시라인들을 갖는 다수의 캐시 세트들이 상기 소정 메모리블록에 기억되는 캐시 모드, SRAM 모드, 플러시 모드 및 무효 모드를 포함하며, 상기 제어 레지스터는 상기 캐시 모드, SRAM 모드, 플러시 모드 및 무효 모드에 대해 설계된 상태 비트들을 포함하며, 상기 캐시 모드, SRAM 모드 및 플러시 모드는 상호 배타적 기능들을 가지며, 상기 캐시 모드에서, 상기 소정 메모리블록이 Tag RAM 부분 및 데이터 RAM 부분을 포함하며, 상기 SRAM 모드에서, 상기 소정 메모리 블록은 단일의 기억 영역을 가지는 소정 메모리블록; 및 다수의 상태 비트들을 갖는 상기 소정 메모리블록과 결합되며, 상기 상태 비트들이 각각 상기 다수의 기능들 중 하나에 대응하며, 상기 소정 메모리블록은, 상태 비트가 세트된 상태에서, 그 세트된 상태 비트에 대응하는 기능을 실행하는 제어 레지스터를 포함하는, CPU 및 주 메모리 유닛으로의 접속부를 갖는 집접 회로의 멀티모드 캐시.
  14. 제13항에 있어서, 상기 소정 메모리블록이 SRAM 모드일 때, 상기 제어 레지스터가 세그먼트 디스크립터 레지스터인 멀티모드 캐시.
  15. 제13항에 있어서, 상기 소정 메모리블록이 리세트동작후에 상기 캐시모드에 위치되는 멀티모드 캐시.
  16. 제13항에 있어서, 상기 소정모리블록이 SRAM 모드일 때 액세스들이 워드-길이 유닛들에 위치하는 멀티모드 캐시.
  17. 제13항에 있어서, 상기 소정 메모리블록이 플러시 모드일 때, 이전의 액세스후에 수정된 캐시 세로의 액세스에 의해 상기 수정된 캐시세트가 주 메모리에 기입되는 멀티모드 캐시.
  18. 제13항에 있어서, 상기 소정 메모리블록이 무효 모드일 때, 모든 캐시 라인들이 무효로 되고 모든 메모리 액세스가 주 메모리로 직접 접근되는 멀티모드 캐시.
KR1019970006174A 1996-03-22 1997-02-20 멀티모드 캐시 메모리 KR100258833B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US08/621,010 1996-03-22
US8/621,010 1996-03-22
US08/621,010 US5687131A (en) 1996-03-22 1996-03-22 Multi-mode cache structure

Publications (2)

Publication Number Publication Date
KR970067364A KR970067364A (ko) 1997-10-13
KR100258833B1 true KR100258833B1 (ko) 2000-06-15

Family

ID=24488362

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019970006174A KR100258833B1 (ko) 1996-03-22 1997-02-20 멀티모드 캐시 메모리

Country Status (6)

Country Link
US (1) US5687131A (ko)
EP (1) EP0797148B1 (ko)
JP (1) JPH09259038A (ko)
KR (1) KR100258833B1 (ko)
DE (1) DE69715491T2 (ko)
TW (1) TW409208B (ko)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6321318B1 (en) * 1997-12-31 2001-11-20 Texas Instruments Incorporated User-configurable on-chip program memory system
US6449690B1 (en) * 1999-06-25 2002-09-10 Hewlett-Packard Company Caching method using cache data stored in dynamic RAM embedded in logic chip and cache tag stored in static RAM external to logic chip
US6606686B1 (en) * 1999-07-15 2003-08-12 Texas Instruments Incorporated Unified memory system architecture including cache and directly addressable static random access memory
JP4434534B2 (ja) * 2001-09-27 2010-03-17 株式会社東芝 プロセッサ・システム
US7117200B2 (en) * 2002-01-11 2006-10-03 International Business Machines Corporation Synthesizing information-bearing content from multiple channels
US6993617B2 (en) * 2002-05-01 2006-01-31 Sun Microsystems, Inc. System-on-a-chip having an on-chip processor and an on-chip dynamic random access memory (DRAM)
US6961807B1 (en) 2002-08-27 2005-11-01 Cypress Semiconductor Corporation Device, system and method for an integrated circuit adaptable for use in computing systems of differing memory requirements
EP1489490A3 (en) * 2003-06-19 2005-09-14 Texas Instruments Incorporated Method for converting a cache to a scratch-pad memory
JP4765249B2 (ja) * 2003-11-18 2011-09-07 セイコーエプソン株式会社 情報処理装置およびキャッシュメモリ制御方法
US9424198B2 (en) * 2012-11-30 2016-08-23 Intel Corporation Method, system and apparatus including logic to manage multiple memories as a unified exclusive memory
US20160224252A1 (en) * 2015-01-30 2016-08-04 Intel Corporation Hybrid memory architecture
EP3694202A1 (en) * 2019-02-11 2020-08-12 Prophesee Method of processing a series of events received asynchronously from an array of pixels of an event-based light sensor

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR960000560A (ko) * 1994-06-09 1996-01-25 김진환 승용차의 문짝 자동개폐장치

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5363330A (en) * 1991-01-28 1994-11-08 Mitsubishi Denki Kabushiki Kaisha Non-volatile semiconductor memory device incorporating data latch and address counter for page mode programming
GB9118312D0 (en) * 1991-08-24 1991-10-09 Motorola Inc Real time cache implemented by dual purpose on-chip memory
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

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR960000560A (ko) * 1994-06-09 1996-01-25 김진환 승용차의 문짝 자동개폐장치

Also Published As

Publication number Publication date
JPH09259038A (ja) 1997-10-03
US5687131A (en) 1997-11-11
EP0797148A1 (en) 1997-09-24
DE69715491D1 (de) 2002-10-24
KR970067364A (ko) 1997-10-13
EP0797148B1 (en) 2002-09-18
DE69715491T2 (de) 2003-06-05
TW409208B (en) 2000-10-21

Similar Documents

Publication Publication Date Title
US6622208B2 (en) System and methods using a system-on-a-chip with soft cache
US5642489A (en) Bridge between two buses of a computer system with a direct memory access controller with accessible registers to support power management
US8669992B2 (en) Shared virtual memory between a host and discrete graphics device in a computing system
JP3136257B2 (ja) コンピュータメモリインタフェース装置
US7171526B2 (en) Memory controller useable in a data processing system
US6018620A (en) Double buffering operations between the memory bus and the expansion bus of a computer system
KR100403405B1 (ko) 분산형버스액세스및제어조정에따라다수개의내부신호버스를공유하는다수개의회로기능요소를갖는집적회로
US5809524A (en) Method and apparatus for cache memory replacement line identification
US5515514A (en) Peripheral processor card for upgrading a computer
US5561783A (en) Dynamic cache coherency method and apparatus using both write-back and write-through operations
JP2011181098A (ja) 1つのインターフェースを有するハイブリッド・メモリ・デバイス
KR100258833B1 (ko) 멀티모드 캐시 메모리
WO2021061466A1 (en) Memory management unit, address translation method, and processor
US5553244A (en) Reflexively sizing memory bus interface
JPH09179780A (ja) バースト可でキャッシュ不可のメモリアクセスを支援するマイクロプロセッサ装置
US5603007A (en) Methods and apparatus for controlling back-to-back burst reads in a cache system
US5928338A (en) Method for providing temporary registers in a local bus device by reusing configuration bits otherwise unused after system reset
KR100322223B1 (ko) 대기행렬및스누프테이블을갖는메모리제어기
KR100261787B1 (ko) 테스트 및 자기진단 메카니즘
JPH01298457A (ja) コンピュータシステム
US5749092A (en) Method and apparatus for using a direct memory access unit and a data cache unit in a microprocessor
WO1995025309A1 (en) Methods and apparatus for translating incompatible bus transactions
KR20150062646A (ko) 전자 시스템 및 이의 동작 방법
US8219736B2 (en) Method and apparatus for a data bridge in a computer system
KR100220204B1 (ko) 메모리 보호 메카니즘

Legal Events

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

Payment date: 20120312

Year of fee payment: 13

FPAY Annual fee payment

Payment date: 20130307

Year of fee payment: 14

LAPS Lapse due to unpaid annual fee