[go: up one dir, main page]

KR970029072A - Dual Directory Virtual Cache and Its Control Method - Google Patents

Dual Directory Virtual Cache and Its Control Method 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
Legal status (The legal status 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 status listed.)
Abandoned
Application number
KR1019950041977A
Other languages
Korean (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 KR1019950041977A priority Critical patent/KR970029072A/en
Priority to GB9623913A priority patent/GB2307319B/en
Priority to JP08342315A priority patent/JP3116215B2/en
Priority to TW085114360A priority patent/TW324800B/en
Publication of KR970029072A publication Critical patent/KR970029072A/en
Abandoned legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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 OR CALCULATING; 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 OR CALCULATING; 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)를 사용한 시스템에 비해 성능상의 우위를 점할 수 있도록 한 것이다.The present invention provides a V-tack memory 42 for accessing data using a virtual address by an external processor (CPU); A P-tack memory 41 for accessing data using a physical address loaded on an external bus; And a data memory 43 for storing actual data, wherein the data memory 43 is configured to access data in parallel with the V-tack memory using the virtual address by an external processor. And a tag for each cache line in the baby data memory, wherein the tag of the P-tack memory 41 has information to enable correspondence with data in the data memory 43. It is a dual directory virtual cache that is characterized by reducing the cycles of cache access to improve the performance of microprocessors, and to give a performance advantage over systems using a physical cache. .

Description

이중 디렉토리 가상 캐쉬 및 그 제어 방법Dual Directory Virtual Cache and Its Control Method

본 내용은 요부공개 건이므로 전문내용을 수록하지 않았음As this is a public information case, the full text was not included.

제4도는 본 발명의 일실시예에 따른 이중 디렉토리 가상 캐쉬의 구성도,4 is a configuration diagram of a dual directory virtual cache according to an embodiment of the present invention;

제5도는 프로세서(CPU)의 요청에 대한 본 캐쉬 시스템의 동작을 나타내는 일실시예 흐름도,5 is a flowchart illustrating an operation of the cache system in response to a request of a processor (CPU);

제6도는 버스 모니터링 로직의 요청에 따른 본 캐쉬 시스템의 동작을 나타내는 일실시예 흐름도.6 is an embodiment flow diagram illustrating the operation of the present cache system in response to a request of bus monitoring logic.

Claims (7)

외부의 프로세서에 의한 가상 주소를 사용하여 데이타를 억세스하는 V-택 메모리; 외부 버스 상에 올려진 물리적 주소를 사용하여 데이터를 억세스하는 P-택 메모리; 및 실제 데이터를 저장하고 있으며, 외부의 프로세서에 의한 상기 가상 주소를 사용하여 상기 V-택 메모리와 병렬적으로 데이터 억세스가 이루어지는 데이터 메모리를 구비하여, 상기 P-택 메모리는 상기 데이터 메모리에 있는 각 캐쉬 라인에 대한 택을 구비하고, 상기 P-택 메모리의 상기 택은 상기 데이터 메모리에 있는 데이타와 대응이 가능하도록 하는 정보를 가지는 것을 특징으로 하는 이중 디렉토리 가상 캐쉬.A V-tack memory for accessing data using a virtual address by an external processor; A P-tack memory for accessing data using a physical address loaded on an external bus; And a data memory storing actual data, wherein data access is performed in parallel with the V-tack memory using the virtual address by an external processor, wherein each of the P-tack memories is located in the data memory. And a tag for a cache line, wherein said tag of said P-tag memory has information to enable correspondence with data in said data memory. 제1항에 있어서, 상기 P-택 메모리는 상기 데이터 메모리에 대한 포인터 테이블을 구비하여, 상기 V-택 메모리 및 상기 데이터 메모리와 같은 연관성을 가질 필요가 없는 것을 특징으로 하는 이중 디렉토리 가상 캐쉬.2. The dual directory virtual cache of claim 1 wherein the P-tack memory has a pointer table to the data memory, and does not need to have the same association as the V-tack memory and the data memory. 제2항에 있어서, 상기 P-택 메모리는 상기 캐쉬 라인 각각에 대한 데이터의 트루 스테이트를 유지하는 것을 특징으로 하는 이중 디렉토리 가상 캐쉬.3. The dual directory virtual cache of claim 2 wherein the P-tack memory maintains a true state of data for each of the cache lines. 제3항에 있어서, 상기 V-택 및 P-택 메모리 각각은 상기 가상 및 물리적 주소 쌍을 연결시켜주는 포인터 정보를 가지는 것을 특징으로 하는 이중 디렉토리 가상 캐쉬.4. The dual directory virtual cache of claim 3 wherein each of the V-tag and P-tag memories has pointer information linking the virtual and physical address pairs. 이중 디렉토리 가상 캐쉬의 제어 방법에 있어서, 외부의 프로세서가 요청한 경우에는, 가상 주소를 이용하여 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단계를 포함하는 것을 특징으로 하는 이중 디렉토리 가상 캐쉬의 제어 방법.A method for controlling a dual directory virtual cache, comprising: a first step of, when requested by an external processor, checking whether a V-tack memory is hit / missed using a virtual address; In the first step, when a hit occurs, the operation is terminated by taking the operation according to whether the corresponding cache line is valid or copying state information of the P-tack memory to the V-tack memory, and then operating the corresponding operation line. Taking a second step and ending; In the first step, when a miss occurs in the V-tack memory, selecting an entry to be reflected in the V-tack memory and checking whether the entry exists in the P-tack memory; In the third step, if there is an entry in the P-tack memory, a second method of performing a reply or immediately performing a reply after the write-back is performed according to whether the corresponding line is valid and whether the corresponding line is changed. Step 4; In the third step, if the entry is not in the P-tack memory, after selecting another target to be reflected among the P-tack memories, the state of the V-tack memory, whether the corresponding line is valid, and whether the corresponding line is changed According to the fifth step of performing a reply after performing the write-back or immediately performing a reply; And a sixth step of taking the operation and ending the operation after performing the fourth and fifth steps of the reflection. When the external bus monitoring logic requests, the physical address is accepted to match the physical address. A seventh step of terminating immediately according to whether the P-tack memory exists or checking whether the operation occurring in the corresponding bus is 'read' or 'write'; In the seventh step, if the operation is 'read', the internal cache data is supplied to the external bus according to the state of the corresponding cache line, and the state of the cache line is changed or only the state of the cache line is changed. An eighth step of notifying after sharing; And in the seventh step, if the operation is 'write', the state of the cache line is changed to 'invalid' accordingly, and the state of the corresponding entry is 'invalid' in the V-tack memory using the P-tack pointer. And a ninth step of switching to a state. 제5항에 있어서, 상기 제2단계는 상기 제1단계에서, 히트가 발생하는 경우, 해당 캐쉬 라인의 유효하면, 해당 오퍼레이션을 취하는 제10단계; 상기 제1단계에서, 히트가 발생하는 경우, 해당 캐쉬 라인이 무효하면, 상기 가상 주소를 물리적 주소로 변환한 후, P-택 메모리에서 부합되는 것이 있을 때, P-택 메모리의 상태 정보를 상기 V-택 메모리에 복사하는 제11단계; 상기 제11단계 수행 후, 해당 오퍼레이션을 취하는 제12단계를 포함하는 것을 특징으로 하는 이중 디렉토리 가상 캐쉬의 제어 방법.6. The method of claim 5, wherein the second step comprises: a tenth step of, if a hit occurs, taking a corresponding operation if the corresponding cache line is valid; In the first step, when a hit occurs, if the corresponding cache line is invalid, the virtual address is converted into a physical address, and when there is a match in the P-tack memory, the state information of the P-tack memory is read. Copying to the V-tack memory; And performing a corresponding operation after performing the eleventh step, and controlling the dual directory virtual cache. 제6항에 있어서, 상기 제2 및 제6단계에서 해당 오퍼레이션을 취하는 과정은 동작할 오퍼레이션을 확인하는 제13단계; 상기 제13단계에서, 해당 오퍼레이션이 '읽기'인 경우, 해당 데이터를 읽어 들인 후 종료하는 제14단계; 상기 제13단계에서, 해당 오퍼레이션이 '쓰기'인 경우, 해당 라인의 변화 여부에 따라, 데이터 쓰기를 수행하고 종료하거나, 상태 정보를 변화시킨 후, 데이터 쓰기를 수행하고 종료하는 제15단계를 포함하는 것을 특징으로 하는 이중 디렉토리 가상 캐쉬의 제어 방법.The method of claim 6, wherein the taking of the corresponding operations in the second and sixth steps comprises: a thirteenth step of identifying an operation to be operated; In the thirteenth step, when the operation is 'read', a fourteenth step of reading the corresponding data and ending; In the thirteenth step, when the corresponding operation is 'write', a fifteenth step of performing data writing and terminating or changing the state information according to whether the corresponding line is changed includes writing and ending data writing. The control method of the dual directory virtual cache, characterized in that. ※ 참고사항 : 최초출원 내용에 의하여 공개하는 것임.※ Note: The disclosure is based on the initial application.
KR1019950041977A 1995-11-17 1995-11-17 Dual Directory Virtual Cache and Its Control Method Abandoned KR970029072A (en)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1019950041977A KR970029072A (en) 1995-11-17 1995-11-17 Dual Directory Virtual Cache and Its Control Method
GB9623913A GB2307319B (en) 1995-11-17 1996-11-18 Dual-directory virtual cache memory and method for control thereof
JP08342315A JP3116215B2 (en) 1995-11-17 1996-11-18 How to control double directory virtual cache
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 (en) 1995-11-17 1995-11-17 Dual Directory Virtual Cache and Its Control Method

Publications (1)

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

Family

ID=19434528

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019950041977A Abandoned KR970029072A (en) 1995-11-17 1995-11-17 Dual Directory Virtual Cache and Its Control Method

Country Status (4)

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

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
US7139877B2 (en) * 2003-01-16 2006-11-21 Ip-First, Llc Microprocessor and apparatus for performing speculative load 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
US7191291B2 (en) * 2003-01-16 2007-03-13 Ip-First, Llc Microprocessor with variable latency stack 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
US8612690B2 (en) * 2012-01-17 2013-12-17 Qualcomm Incorporated Method for filtering traffic to a physically-tagged data cache
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
US10831664B2 (en) 2017-06-16 2020-11-10 International Business Machines Corporation Cache structure using a logical directory

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
EP0651332B1 (en) * 1993-10-29 2001-07-18 Advanced Micro Devices, Inc. Linearly addressable microprocessor cache

Also Published As

Publication number Publication date
JPH1091521A (en) 1998-04-10
JP3116215B2 (en) 2000-12-11
GB2307319A (en) 1997-05-21
TW324800B (en) 1998-01-11
GB2307319B (en) 2000-05-31
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 (en) Apparatus for maintaining consistency in a multiprocessor computer system using caching
US7032074B2 (en) Method and mechanism to use a cache to translate from a virtual bus to a physical bus
US5265236A (en) Method and apparatus for increasing the speed of memory access in a virtual memory system having fast page mode
US8417915B2 (en) Alias management within a virtually indexed and physically tagged cache memory
US6782453B2 (en) Storing data in memory
US6711653B1 (en) Flexible mechanism for enforcing coherency among caching structures
CN109219804B (en) Nonvolatile memory access method apparatus and system
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
US6332179B1 (en) Allocation for back-to-back misses in a directory based cache
JP2010170266A (en) Semiconductor integrated circuit and address translation method
JPH09167116A (en) Computer cache system
US10853256B2 (en) Cache operation in an apparatus supporting both physical and virtual address mapping
US5161219A (en) Computer system with input/output cache
US5367657A (en) Method and apparatus for efficient read prefetching of instruction code data in computer memory subsystems
US7577791B2 (en) Virtualized load buffers
KR970029072A (en) Dual Directory Virtual Cache and Its Control Method
KR100322223B1 (en) Memory controller with oueue and snoop tables
US6976130B2 (en) Cache controller unit architecture and applied method
US20060179173A1 (en) Method and system for cache utilization by prefetching for multiple DMA reads
EP0474356A1 (en) Cache memory and operating method
EP0735479A1 (en) Cache memory to processor bus interface and method thereof
US7328310B2 (en) Method and system for cache utilization by limiting number of pending cache line requests
KR20040047398A (en) Method for data access using cache memory
JPH0784879A (en) Cache memory device

Legal Events

Date Code Title Description
A201 Request for examination
PA0109 Patent application

Patent event code: PA01091R01D

Comment text: Patent Application

Patent event date: 19951117

PA0201 Request for examination

Patent event code: PA02012R01D

Patent event date: 19951117

Comment text: Request for Examination of Application

PG1501 Laying open of application
E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

Comment text: Notification of reason for refusal

Patent event date: 19980630

Patent event code: PE09021S01D

PC1902 Submission of document of abandonment before decision of registration
SUBM Surrender of laid-open application requested