KR970029072A - 이중 디렉토리 가상 캐쉬 및 그 제어 방법 - Google Patents
이중 디렉토리 가상 캐쉬 및 그 제어 방법 Download PDFInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
- G06F12/1027—Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
- G06F12/1045—Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB] associated with a data cache
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/0815—Cache consistency protocols
- G06F12/0831—Cache 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)
- 외부의 프로세서에 의한 가상 주소를 사용하여 데이타를 억세스하는 V-택 메모리; 외부 버스 상에 올려진 물리적 주소를 사용하여 데이터를 억세스하는 P-택 메모리; 및 실제 데이터를 저장하고 있으며, 외부의 프로세서에 의한 상기 가상 주소를 사용하여 상기 V-택 메모리와 병렬적으로 데이터 억세스가 이루어지는 데이터 메모리를 구비하여, 상기 P-택 메모리는 상기 데이터 메모리에 있는 각 캐쉬 라인에 대한 택을 구비하고, 상기 P-택 메모리의 상기 택은 상기 데이터 메모리에 있는 데이타와 대응이 가능하도록 하는 정보를 가지는 것을 특징으로 하는 이중 디렉토리 가상 캐쉬.
- 제1항에 있어서, 상기 P-택 메모리는 상기 데이터 메모리에 대한 포인터 테이블을 구비하여, 상기 V-택 메모리 및 상기 데이터 메모리와 같은 연관성을 가질 필요가 없는 것을 특징으로 하는 이중 디렉토리 가상 캐쉬.
- 제2항에 있어서, 상기 P-택 메모리는 상기 캐쉬 라인 각각에 대한 데이터의 트루 스테이트를 유지하는 것을 특징으로 하는 이중 디렉토리 가상 캐쉬.
- 제3항에 있어서, 상기 V-택 및 P-택 메모리 각각은 상기 가상 및 물리적 주소 쌍을 연결시켜주는 포인터 정보를 가지는 것을 특징으로 하는 이중 디렉토리 가상 캐쉬.
- 이중 디렉토리 가상 캐쉬의 제어 방법에 있어서, 외부의 프로세서가 요청한 경우에는, 가상 주소를 이용하여 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단계를 포함하는 것을 특징으로 하는 이중 디렉토리 가상 캐쉬의 제어 방법.
- 제5항에 있어서, 상기 제2단계는 상기 제1단계에서, 히트가 발생하는 경우, 해당 캐쉬 라인의 유효하면, 해당 오퍼레이션을 취하는 제10단계; 상기 제1단계에서, 히트가 발생하는 경우, 해당 캐쉬 라인이 무효하면, 상기 가상 주소를 물리적 주소로 변환한 후, P-택 메모리에서 부합되는 것이 있을 때, P-택 메모리의 상태 정보를 상기 V-택 메모리에 복사하는 제11단계; 상기 제11단계 수행 후, 해당 오퍼레이션을 취하는 제12단계를 포함하는 것을 특징으로 하는 이중 디렉토리 가상 캐쉬의 제어 방법.
- 제6항에 있어서, 상기 제2 및 제6단계에서 해당 오퍼레이션을 취하는 과정은 동작할 오퍼레이션을 확인하는 제13단계; 상기 제13단계에서, 해당 오퍼레이션이 '읽기'인 경우, 해당 데이터를 읽어 들인 후 종료하는 제14단계; 상기 제13단계에서, 해당 오퍼레이션이 '쓰기'인 경우, 해당 라인의 변화 여부에 따라, 데이터 쓰기를 수행하고 종료하거나, 상태 정보를 변화시킨 후, 데이터 쓰기를 수행하고 종료하는 제15단계를 포함하는 것을 특징으로 하는 이중 디렉토리 가상 캐쉬의 제어 방법.※ 참고사항 : 최초출원 내용에 의하여 공개하는 것임.
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)
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)
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 |
-
1995
- 1995-11-17 KR KR1019950041977A patent/KR970029072A/ko not_active IP Right Cessation
-
1996
- 1996-11-18 GB GB9623913A patent/GB2307319B/en not_active Expired - Fee Related
- 1996-11-18 JP JP08342315A patent/JP3116215B2/ja not_active Expired - Fee Related
- 1996-11-21 TW TW085114360A patent/TW324800B/zh active
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 |