KR970029072A - 이중 디렉토리 가상 캐쉬 및 그 제어 방법 - Google Patents

이중 디렉토리 가상 캐쉬 및 그 제어 방법 Download PDF

Info

Publication number
KR970029072A
KR970029072A KR1019950041977A KR19950041977A KR970029072A KR 970029072 A KR970029072 A KR 970029072A KR 1019950041977 A KR1019950041977 A KR 1019950041977A KR 19950041977 A KR19950041977 A KR 19950041977A KR 970029072 A KR970029072 A KR 970029072A
Authority
KR
South Korea
Prior art keywords
memory
tack
data
cache
state
Prior art date
Application number
KR1019950041977A
Other languages
English (en)
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 KR1019950041977A priority Critical patent/KR970029072A/ko
Priority to GB9623913A priority patent/GB2307319B/en
Priority to JP08342315A priority patent/JP3116215B2/ja
Priority to TW085114360A priority patent/TW324800B/zh
Publication of KR970029072A publication Critical patent/KR970029072A/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
    • 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/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

Landscapes

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

Abstract

본 발명은 외부의 프로세서(CPU)에 의한 가상 주소를 사용하여 데이타를 억세스하는 V-택 메모리(42); 외부 버스 상에 올려진 물리적 주소를 사용하여 데이터를 억세스하는 P-택 메모리(41); 및 실제 데이터를 저장하고 있으며, 외부의 프로세서에 의한 상기 가상 주소를 사용하여 상기 V-택 메모리와 병렬적으로 데이터 억세스가 이루어지는 데이터 메모리(43)를 구비하여, 상기 P-택 메모리(41)는 아기 데이터 메모리에 있는 각 캐쉬 라인에 대한 택을 구비하고, 상기 P-택 메모리(41)의 상기 택은 상기 데이터 메모리(43)에 있는 데이타와 대응이 가능하도록 하는 정보를 가지는 것을 특징으로 하는 것을 특징으로 하는 이중 디렉토리 가상 캐쉬에 관한 것으로, 캐쉬 억세스에 대한 사이클을 절감시켜 마이크로프로세서의 성능을 향상시킬 수 있으며, 또한 물리적 캐쉬(physical cache)를 사용한 시스템에 비해 성능상의 우위를 점할 수 있도록 한 것이다.

Description

이중 디렉토리 가상 캐쉬 및 그 제어 방법
본 내용은 요부공개 건이므로 전문내용을 수록하지 않았음
제4도는 본 발명의 일실시예에 따른 이중 디렉토리 가상 캐쉬의 구성도,
제5도는 프로세서(CPU)의 요청에 대한 본 캐쉬 시스템의 동작을 나타내는 일실시예 흐름도,
제6도는 버스 모니터링 로직의 요청에 따른 본 캐쉬 시스템의 동작을 나타내는 일실시예 흐름도.

Claims (7)

  1. 외부의 프로세서에 의한 가상 주소를 사용하여 데이타를 억세스하는 V-택 메모리; 외부 버스 상에 올려진 물리적 주소를 사용하여 데이터를 억세스하는 P-택 메모리; 및 실제 데이터를 저장하고 있으며, 외부의 프로세서에 의한 상기 가상 주소를 사용하여 상기 V-택 메모리와 병렬적으로 데이터 억세스가 이루어지는 데이터 메모리를 구비하여, 상기 P-택 메모리는 상기 데이터 메모리에 있는 각 캐쉬 라인에 대한 택을 구비하고, 상기 P-택 메모리의 상기 택은 상기 데이터 메모리에 있는 데이타와 대응이 가능하도록 하는 정보를 가지는 것을 특징으로 하는 이중 디렉토리 가상 캐쉬.
  2. 제1항에 있어서, 상기 P-택 메모리는 상기 데이터 메모리에 대한 포인터 테이블을 구비하여, 상기 V-택 메모리 및 상기 데이터 메모리와 같은 연관성을 가질 필요가 없는 것을 특징으로 하는 이중 디렉토리 가상 캐쉬.
  3. 제2항에 있어서, 상기 P-택 메모리는 상기 캐쉬 라인 각각에 대한 데이터의 트루 스테이트를 유지하는 것을 특징으로 하는 이중 디렉토리 가상 캐쉬.
  4. 제3항에 있어서, 상기 V-택 및 P-택 메모리 각각은 상기 가상 및 물리적 주소 쌍을 연결시켜주는 포인터 정보를 가지는 것을 특징으로 하는 이중 디렉토리 가상 캐쉬.
  5. 이중 디렉토리 가상 캐쉬의 제어 방법에 있어서, 외부의 프로세서가 요청한 경우에는, 가상 주소를 이용하여 V-택 메모리의 히트/미스 여부를 검사하는 제1단계; 상기 제1단계에서, 히트가 발생하는 경우, 해당 캐쉬 라인의 유효 여부에 따라 해당 오퍼레이션을 취하고 종료하거나, P-택 메모리의 상태 정보를 상기 V-택 메모리에 복사한 후, 해당 오퍼레이선을 취하고 종료하는 제2단계; 상기 제1단계에서, V-택 메모리에서 미스가 발생하는 경우, 상기 V-택 메모리에서 리플래이스할 엔트리를 선택하고, 그 엔트리가 P-택 메모리에 있는지의 여부를 검사하는 제3단계; 상기 제3단계에서, 상기 P-택 메모리에 엔트리가 있는 경우, 해당 라인이 유효한지의 여부 및 해당 라인 변화 여부에 따라 라이트-백 수행 후, 리플래이스를 수행하거나, 바로 리플래이스를 수행하는 제4단계; 상기 제3단계에서, 상기 엔트리가 P-택 메모리에 없는 경우, 상기 P-택 메모리 중에서 다른 리플래이스할 대상을 선택한 후, 상기 V-택 메모리 상태, 해당 라인의 유효 여부 및 해당 라인의 변화 여부에 따라 라이트-백 수행 후, 리플래이스를 수행하거나, 바로 리플래이스를 수행하는 제5단계; 및 상기 제4 및 제5단계의 리플래이스 수행 후, 해당 오퍼레이션을 취하고 종료하는 제6단계를 포함하며, 외부의 버스 모니터링 로직이 요청한 경우에는, 물리적 주소를 받아들여, 상기 물리적 주소에 부합되는 것이 P-택 메모리에 존재하는 지의 여부에 따라 바로 종료하거나, 해당 버스에서 일어나고 있는 동작이 '읽기'인지 '쓰기'인지의 여부를 검사하는 제7단계; 상기 제7단계에서, 상기 오퍼레이션이 '읽기'이면, 해당 캐쉬 라인의 상태에 따라, 그에 맞게 내부 캐쉬 데이터를 외부 버스로 공급하고, 캐쉬 라인의 상태를 변화시키거나, 캐쉬 라인의 상태만 변화시켜 공유를 알린 후 종료하는 제8단계; 및 상기 제7단계에서, 상기 오퍼레이션이 '쓰기'이면, 그에 맞게 캐쉬 라인의 상태를 '무효'상태로 전환하고, P-택 포인터를 이용하여 V-택 메모리에 해당 엔트리의 상태를 '무효'상태로 전환하는 제9단계를 포함하는 것을 특징으로 하는 이중 디렉토리 가상 캐쉬의 제어 방법.
  6. 제5항에 있어서, 상기 제2단계는 상기 제1단계에서, 히트가 발생하는 경우, 해당 캐쉬 라인의 유효하면, 해당 오퍼레이션을 취하는 제10단계; 상기 제1단계에서, 히트가 발생하는 경우, 해당 캐쉬 라인이 무효하면, 상기 가상 주소를 물리적 주소로 변환한 후, P-택 메모리에서 부합되는 것이 있을 때, P-택 메모리의 상태 정보를 상기 V-택 메모리에 복사하는 제11단계; 상기 제11단계 수행 후, 해당 오퍼레이션을 취하는 제12단계를 포함하는 것을 특징으로 하는 이중 디렉토리 가상 캐쉬의 제어 방법.
  7. 제6항에 있어서, 상기 제2 및 제6단계에서 해당 오퍼레이션을 취하는 과정은 동작할 오퍼레이션을 확인하는 제13단계; 상기 제13단계에서, 해당 오퍼레이션이 '읽기'인 경우, 해당 데이터를 읽어 들인 후 종료하는 제14단계; 상기 제13단계에서, 해당 오퍼레이션이 '쓰기'인 경우, 해당 라인의 변화 여부에 따라, 데이터 쓰기를 수행하고 종료하거나, 상태 정보를 변화시킨 후, 데이터 쓰기를 수행하고 종료하는 제15단계를 포함하는 것을 특징으로 하는 이중 디렉토리 가상 캐쉬의 제어 방법.
    ※ 참고사항 : 최초출원 내용에 의하여 공개하는 것임.
KR1019950041977A 1995-11-17 1995-11-17 이중 디렉토리 가상 캐쉬 및 그 제어 방법 KR970029072A (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1019950041977A KR970029072A (ko) 1995-11-17 1995-11-17 이중 디렉토리 가상 캐쉬 및 그 제어 방법
GB9623913A GB2307319B (en) 1995-11-17 1996-11-18 Dual-directory virtual cache memory and method for control thereof
JP08342315A JP3116215B2 (ja) 1995-11-17 1996-11-18 二重ディレクトリー仮想キャッシュの制御方法
TW085114360A TW324800B (en) 1995-11-17 1996-11-21 Dual-directory virtual cache and control method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019950041977A KR970029072A (ko) 1995-11-17 1995-11-17 이중 디렉토리 가상 캐쉬 및 그 제어 방법

Publications (1)

Publication Number Publication Date
KR970029072A true KR970029072A (ko) 1997-06-26

Family

ID=19434528

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019950041977A KR970029072A (ko) 1995-11-17 1995-11-17 이중 디렉토리 가상 캐쉬 및 그 제어 방법

Country Status (4)

Country Link
JP (1) JP3116215B2 (ko)
KR (1) KR970029072A (ko)
GB (1) GB2307319B (ko)
TW (1) TW324800B (ko)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6598128B1 (en) * 1999-10-01 2003-07-22 Hitachi, Ltd. Microprocessor having improved memory management unit and cache memory
US7191291B2 (en) 2003-01-16 2007-03-13 Ip-First, Llc Microprocessor with variable latency stack cache
US7139877B2 (en) 2003-01-16 2006-11-21 Ip-First, Llc Microprocessor and apparatus for performing speculative load operation from a stack memory cache
US7139876B2 (en) 2003-01-16 2006-11-21 Ip-First, Llc Microprocessor and apparatus for performing fast speculative pop operation from a stack memory cache
US7136990B2 (en) 2003-01-16 2006-11-14 Ip-First, Llc. Fast POP operation from RAM cache using cache row value stack
US8612690B2 (en) * 2012-01-17 2013-12-17 Qualcomm Incorporated Method for filtering traffic to a physically-tagged data cache
US10831664B2 (en) 2017-06-16 2020-11-10 International Business Machines Corporation Cache structure using a logical directory
US10698836B2 (en) 2017-06-16 2020-06-30 International Business Machines Corporation Translation support for a virtual cache
US10606762B2 (en) 2017-06-16 2020-03-31 International Business Machines Corporation Sharing virtual and real translations in a virtual cache

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB8823077D0 (en) * 1988-09-30 1988-11-09 Int Computers Ltd Data processing apparatus
GB2260429B (en) * 1991-10-11 1995-05-24 Intel Corp Versatile cache memory
DE69427734T2 (de) * 1993-10-29 2002-05-23 Advanced Micro Devices Inc Linearadressierter Mikroprozessorcachespeicher

Also Published As

Publication number Publication date
GB2307319B (en) 2000-05-31
GB2307319A (en) 1997-05-21
JP3116215B2 (ja) 2000-12-11
JPH1091521A (ja) 1998-04-10
TW324800B (en) 1998-01-11
GB9623913D0 (en) 1997-01-08

Similar Documents

Publication Publication Date Title
US6647466B2 (en) Method and apparatus for adaptively bypassing one or more levels of a cache hierarchy
KR930004430B1 (ko) 가상 캐쉬를 이용하는 다중 처리컴퓨터 시스템의 일치성 유지장치
US8417915B2 (en) Alias management within a virtually indexed and physically tagged cache memory
US5265236A (en) Method and apparatus for increasing the speed of memory access in a virtual memory system having fast page mode
US20040215901A1 (en) Method and mechanism to use a cache to translate from a virtual bus to a physical bus
US6782453B2 (en) Storing data in memory
US6711653B1 (en) Flexible mechanism for enforcing coherency among caching structures
CN109219804B (zh) 非易失内存访问方法、装置和***
JP2010170266A (ja) 半導体集積回路及びアドレス変換方法
US6332179B1 (en) Allocation for back-to-back misses in a directory based cache
JPH09167116A (ja) コンピュータキャッシュシステム
US5809526A (en) Data processing system and method for selective invalidation of outdated lines in a second level memory in response to a memory request initiated by a store operation
US5161219A (en) Computer system with input/output cache
US7577791B2 (en) Virtualized load buffers
US5367657A (en) Method and apparatus for efficient read prefetching of instruction code data in computer memory subsystems
EP0470739A1 (en) Method for managing a cache memory system
US10853256B2 (en) Cache operation in an apparatus supporting both physical and virtual address mapping
KR970029072A (ko) 이중 디렉토리 가상 캐쉬 및 그 제어 방법
US20060179173A1 (en) Method and system for cache utilization by prefetching for multiple DMA reads
KR100322223B1 (ko) 대기행렬및스누프테이블을갖는메모리제어기
US6976130B2 (en) Cache controller unit architecture and applied method
US7328310B2 (en) Method and system for cache utilization by limiting number of pending cache line requests
EP0474356A1 (en) Cache memory and operating method
EP0735479A1 (en) Cache memory to processor bus interface and method thereof
JPH0784879A (ja) キャッシュメモリ装置

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
SUBM Submission of document of abandonment before or after decision of registration