GB2307319A - Dual-directory virtual cache - Google Patents

Dual-directory virtual cache Download PDF

Info

Publication number
GB2307319A
GB2307319A GB9623913A GB9623913A GB2307319A GB 2307319 A GB2307319 A GB 2307319A GB 9623913 A GB9623913 A GB 9623913A GB 9623913 A GB9623913 A GB 9623913A GB 2307319 A GB2307319 A GB 2307319A
Authority
GB
United Kingdom
Prior art keywords
memory
tag
virtual
physical
address
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.)
Granted
Application number
GB9623913A
Other versions
GB9623913D0 (en
GB2307319B (en
Inventor
Han Heung Kim
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
SK Hynix Inc
Original Assignee
Hyundai Electronics Industries Co Ltd
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 Hyundai Electronics Industries Co Ltd filed Critical Hyundai Electronics Industries Co Ltd
Publication of GB9623913D0 publication Critical patent/GB9623913D0/en
Publication of GB2307319A publication Critical patent/GB2307319A/en
Application granted granted Critical
Publication of GB2307319B publication Critical patent/GB2307319B/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

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/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
    • 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

Abstract

This dual-directory virtual cache can be accessed directly using a virtual address without performing an address conversion operation. A virtual tag memory 42 is accessed by a request from a microprocessor in parallel with the data memory 43. A physical tag memory 41 is coupled to a translation look-aside buffer 40, which translates the virtual address into a physical address corresponding to the physical address tag, and a bus monitoring logic circuit. If an "invalid miss" as opposed to a "no-match miss" occurs in the virtual tag memory then the physical tag memory is examined and state information can be copied to the virtual tag memory.

Description

DUAL-DIRECTORY VIRTUAL CACHE MEMORY AND METHOD FOR CONTROL THEREOF The present invention relates to a dual-directory virtual cache memory which can be accessed directly using a virtual address without performing an address conversion operation, and to a method for controlling the same.
A cache system has an important effect on the improvement in performance of a microprocessor. In particular, the use of a virtual cache is growing more important day by day to reduce the time required for converting a virtual address into a physical address, and accessing the cache using the converted physical address.
Such a virtual cache can be used as an internal storage unit in high-performance systems, more particularly a high-performance microprocessor.
Generally, caches are used to improve the performance of microprocessors. In particular, a virtual cache is used to increase the efficiency of a data storage unit. As a result, a virtual address is used internally, whereas it is converted into a physical address for accessing an external memory.
Also, an internal or an external cache is usually accessed using the converted physical address.
It is natural that the external cache should be accessed using the physical address. However, in the case where the internal cache is to be accessed using the physical address, an address conversion operation must be performed, resulting in an increase in access time.
In order to solve the above-mentioned problem, the internal cache has been used as a virtual cache which can be accessed directly using a virtual address. In such a virtual cache, internal data consistency must be secured.
Also, the internal cache must be externally "snooped", according to a variation in the external cache or memory.
Fig. 1 of the accompanying drawings is a block diagram illustrating the construction of a previously proposed microprocessor system. As shown in this drawing, the previously proposed microprocessor system utilizes a two-level cache system with internal and external caches 1 and 2, for the improvement in the performance thereof. As the external cache 1, a memory is used which is relatively low in cost and large in capacity, but which has a longer access time than the internal cache 1. As the internal cache 1, a memory is used which is high in cost per unit, but which performs a high-speed operation to act up to the high operational speed of a processor (CPU).
Fig. 2 of the accompanying drawings is a block diagram illustrating one example of a multi-processor system using the processor in Fig. 1. As shown in this drawing, the multi-processor system has to consider even the operation of other processors or bus masters. To this end, the multi-processor system requires an external bus to be monitored. Such an operation is typically called "bus snooping' or simply "snooping". The snooping is an important part of the data consistency in a multiprocessor system.
Fig. 3 of the accompanying drawings is a view illustrating a previously proposed conception of accessing a virtual cache using a virtual address VA and a physical address PA, in a processor employing the virtual cache as an internal cache. As shown in this drawing, a system employing a virtual memory uses the virtual address VA. The access time in the case of accessing the internal cache directly using the virtual address VA is considerably reduced as compared with that in the case of converting the virtual address VA into the physical address PA and accessing the internal cache using the converted physical address PA. However, in the case of accessing the internal cache directly using the virtual address VA, an operation is performed on an external bus according to the physical address PA. As a result, bus snooping becomes an issue.
Features of a dual-directory virtual cache to be described below, by way of example, in illustration of the invention are that it is capable of reducing access time to enhance the performance of a microprocessor, of allowing the associated system to employ a physical cache, and of providing a method for the control thereof.
In a particular embodiment to be described below, by way of example, in illustration of the present invention, there is a cache memory accessed by a virtual address from a microprocessor, the cache memory including a data memory storing data in cache lines, a virtual tag memory storing a virtual address tag, wherein the virtual tag memory is accessed by a request from a microprocessor in parallel with the data memory, a physical tag memory storing a physical address tag, wherein the physical tag memory is coupled to an address translation means and a bus monitoring logic circuit, and wherein the address translation means translates the virtual address into a physical address corresponding to the physical address tag, and a pointer associating the virtual address tag with the physical address tag.
In another aspect to be described below by way of example, in illustration of the present invention, there is provided a method for accessing a cache memory using a virtual address in response to a request from a microprocessor including a bus monitoring logic circuit, including the steps of determining whether the virtual tag corresponding to the virtual address is stored in a first memory, so that either a hit signal or a miss signal is generated, determining whether a state of a cache line in a first memory storing data is valid in the case where the hit signal is generated, performing a read or a write operation in the case where the state of the cache line is valid, translating the virtual address into a physical address in the case where the state of the cache line is invalid, determining whether a physical tag corresponding to the physical address is stored in a second memory, copying the state bits of the physical tag into the first memory, if the corresponding physical tag exists in the second memory, and performing a read or a write operation, selecting entries to be replaced in the first memory in the case where there is not a corresponding physical address in the second memory, or the miss signal is generated, determining whether there are entries in the second memory, which correspond to the entries to be replaced in the first memory, and, if there are not, the entries to be replaced in the second memory, re-selecting other entries to be replaced in the second memory and selecting the corresponding entries to be replaced in the first memory according to the re-selected entries, and reading a new cache line from the external memory and performing a read or a write operation.
Arrangements for use in illustrating the invention will now be described, by way of example, with reference to Figs. 4 to 6 of the accompanying drawings, in which: Fig. 4 is a block diagram illustrating the construction of a dual-directory virtual cache, Fig. 5 is a flowchart illustrating the operation of the dual-directory virtual cache shown in Fig. 4 which is performed in response to a request from a processor, and Fig. 6 is a flowchart illustrating the operation of the dual-directory virtual cache shown in Fig. 4 which is performed in response to a request from a bus monitoring logic circuit.
First, Fig. 4 is a schematic diagram showing an internal cache. As shown in Fig. 4, the internal cache may be classified into three parts. That is, the internal cache memory is a dual-directory virtual cache system including a P-tag memory 41, a V-tag memory 42 and a data memory 43.
A CPU normally accesses the V-tag memory 42 using virtual addresses, and a bus monitoring logic in the CPU accesses the P-tag memory 41 using physical addresses in order to perform a bus snooping operation. The data memory having actual data is accessed by the CPU through the virtual address in parallel with the V-tag memory 42.
The P-tag memory 41, which takes charge of the bus snooping operation, may compare the address in the internal cache with addresses on the bus as quickly as possible, and then access the data. The V-tag memory 42 is accessed by the CPU, together with the data memory 43, so as to respond quickly to its request.
The P-tag memory 41 has a tag for each cache line in the data memory 43 (the cache line is the size of the data which is transmitted between the cache and a main memory at one time, and the tag is data information to identify whether the cache data corresponds to the address, and typically the tag consists of high level addresses) . Each tag has unique information which corresponds to the data in the data memory 43. Since Ptag memory 41 includes a table of the pointer for the data memory 43, it has the advantage in that there is no need for it to have association with the V-tag memory 42 and the data memory 43.
The true state of the data for each line of the cache is maintained in the P-tag memory 41. Also, the Vtag memory 42 maintains a little information for each line. However, valid data can be considered as a invalid data in the V-tag memory 42, because the item in the Vtag memory 42 is made invalid in the case where a specific event, such as a task switch, or a change of page table, takes place. This means that the address mapping from the virtual address to the physical address is invalid. After accessing the data, the CPU must perform a verification process.
Therefore, two types of misses may be created in the V-tag memory. One of them is a "no-match miss" as a result of the absence of data. The other is an "invalid miss" necessary to map the virtual address to a new physical address, although the data is valid. Also, each tag memory 41 and 42 has pointer information to connect the virtual address to the physical address.
In the arrangement described, the CPU requests access to the V-tag memory 42 and to the data memory 43.
If an invalid miss occurs, an address translation is carried out from a virtual address to a physical address.
The translated physical address goes to the P-tag memory 41. If it is proved that there is corresponding data in the data memory 43, the information state in the P-tag memory 41 is copied into the specific location in the Vtag memory 42. By doing so, the "invalid miss" is processed like a "hit".
When a "no-match miss" occurs, the physical address is obtained through the address translation, and after selecting a replacement target, the corresponding external memory operation takes place.
The snooping (monitoring) logic circuit compares all address on the bus with the P-tag memory 41. At this time, in the case where there is an address corresponding to the P-tag memory 41, different events can occur in the snooping logic circuit as follows: 1) It makes the data invalid and makes the item in the P-tag memory 41 and V-tag memory 42 invalid.
2) In the case where it should drive the data into the exterior, it drives the data into the exterior using the pointer in the P-tag memory 41, and, if necessary, it changes the state of the cache line to be associated with the drive.
3) It reads data on the bus so that it updates the data memory, changing the state of the cache line.
The dual-directory virtual cache will now be illustrated with reference to Figs. 5 and 6.
First, Fig. 5 is a flowchart illustrating the operation of the dual-directory virtual cache in Fig. 4 which is carried out in response to a request from a processor.
First, the CPU determines whether the virtual address, in response to the request, is stored in the Vtag memory. That is, "hit/miss" is inspected using the virtual address, at step 51. If the virtual address corresponding to the request from the CPU is stored in the V-tag memory, a hit signal is generated so that the state of the corresponding cache line is inspected at step 52. In the case where the state of the cache line is valid, the conventional operation (write or read), according to the request, is performed at steps 56 to 60.
In the case where the state of the cache line is invalid, the virtual address is, at step 53, translated into a physical address by a translation look-aside buffer (TLB) so that the translated physical address is inspected in the P-tag memory at step 54.
If a corresponding physical tag exists in the P-tag memory, the state information, which the corresponding Ptag indicates, is copied into the V-tag entry at step 55, and the write or read operation is performed at steps 56, as described above.
In the case where there is not a corresponding physical tag in the P-tag memory at step 54, or the miss signal is generated at step 51, the PU selects, at step 61, entries to be replaced in the V-tag memory, and determines whether there are corresponding (associated by a pointer) entries in the P-tag memory, or not, at step 62. If there are corresponding entries in the P-tag memory, the CPU, at step 65, examines whether the cache line is valid and the cache line has been modified. In the case where the cache line is valid and has been modified, the CPU writes the corresponding cache line in an external memory at step 66.
At step 62, if there are not corresponding entries in the P-tag memory, the CPU re-selects other entries to be replaced in the P-tag memory at step 63 and, at step 64, selects, in the V-tag memory, the V-tag entries corresponding to the selected P-tag entries, and performs steps 65 and 66 with respect to the selected V-tag entries. By doing so, the CPU updates the V-tag and Ptag memories, and carries out the read or write operation using the external data at steps 56 to 60.
Fig. 6 is a flowchart illustrating the operation of the dual-directory virtual cache shown in Fig. 4 which is performed in response to a request from a bus monitoring logic circuit.
The bus monitoring logic circuit examines whether there is a tag corresponding to the input physical address signals in the P-tag memory at step 81. If there is a corresponding tag in the P-tag memory, the bus monitoring logic circuit examines the bus operation at step 82.
In the case of a read operation, according to the state of the cache line, such as "invalid (I)", "modification (M)" and "share (S)", the data stored in the cache memory may be provided to the external bus and the state of the provided cache line, which is varied as a cache memory read operation, is typically performed by the conventional monitoring logic circuit. That is to say, if the state of the requested cache line is "modification (M)" the data is written in the external memory and the state of the requested cache line is changed into the "share (S)" state at steps 85 and 86.
In the case of a write operation, the data stored in the cache memory should be made invalid. However, the write-back operation may be performed according to the state of the cache line at step 83. In particular, in the case where the state of the cache line is the "modification" state, the corresponding data should be write back in external memory and then the state is changed into the "invalid" state because the cache line having the "modification" state has the updated information.
Furthermore, when the entries in the P-tag memory are in the "invalid" state, the corresponding entries in the V-tag memory must also be brought into the "invalid" state, using a P-tag pointer.
As is apparent from the above description, the arrangements described provide a virtual address tag memory, together with the physical address tag memory, to the internal cache memory, thereby minimizing the time required in the address translation and thus improving the performance of the microprocessor.
Although preferred embodiments illustrative of the invention have been disclosed by way of example, those skilled in the art will appreciate that various modifications, additions and substitutions are possible, without departing from the scope of the protection sought by the accompanying claims.

Claims (14)

1. A cache memory accessed by a virtual address from a microprocessor, the cache memory including a data memory for storing data in cache lines thereof, a virtual tag memory for storing a virtual address tag, wherein the virtual tag memory is accessed by a request from a microprocessor in parallel with the data memory, a physical tag memory for storing a physical address tag, wherein the physical tag memory is coupled to an address translation means and a bus monitoring logic circuit, and wherein the address translation means translates the virtual address into a physical address corresponding to the physical address tag, and a pointer associating the virtual address tag with the physical address tag.
2. A cache memory as claimed in claim 1, wherein the microprocessor includes a plurality of multiplexing means for copying state information in the physical tag memory into the virtual tag memory and updating the virtual tag memory and the physical tag memory.
3. A cache memory as claimed in claim 1, wherein the bus monitoring logic circuit makes the data invalid, and makes the corresponding items invalid in the virtual tag memory and the physical tag memory.
4. A method for accessing a c ache memory using a virtual address in response to a request from a microprocessor, including the steps of storing data in the cache lines of a data memory, storing a virtual address tag in a virtual tag memory wherein the virtual tag memory is accessed by a request from a microprocessor in parallel with the data memory, storing a physical address tag in a physical tag memory wherein the physical tag memory is coupled to an address translation means and a bus monitoring logic circuit and wherein the address translation means translates the virtual address into a physical address corresponding to the physical address tag, and associating the virtual address tag with the physical address tag by means of a pointer.
5. A method for accessing a cache memory using a virtual address in response to a request from a microprocessor having a bus monitoring logic circuit, including the steps of determining whether the virtual tag corresponding to the virtual address is stored in a first memory, so that either a hit signal or a miss signal is generated, determining whether the state of a cache line in a first memory storing data is valid in the case where a hit signal is generated, performing a read or a write operation in the case where the state of the cache line is valid, translating the virtual address into a physical address in the case where the state of the cache line is invalid, determining whether a physical tag corresponding to the physical address is stored in a second memory, copying state bits of the physical tag into the first memory if there exists a corresponding physical tag in the second memory and performing a read or a write operation, selecting entries to be replaced in the first memory in the case where there is not a corresponding physical address in the second memory or a miss signal is generated, determining whether there are entries in the second memory, which correspond to the entries to be replaced in the first memory, and, if there are not, determining the entries to be replaced in the second memory, re-selecting other entries to be replaced in the second memory and selecting the corresponding entries to be replaced in the first memory according to the re-selected entries, reading a new cache line from the external memory and performing a read or a write operation.
6. A method as claimed in claim 5, wherein the second memory is accessed by the bus monitoring logic circuit, using a physical address on a bus master.
7. A method as claimed in claim 6, wherein the bus monitoring logic circuit changes the state information of the physical tag and wherein the state information of the virtual tag is changed by the changed state information of the physical tag.
8. A method as claimed in claim 5, wherein the step of reading the new cache line from the external memory includes the step of writing a modified cache line in an external memory.
9. A method as claimed in claim 8, wherein the external memory is an external cache memory.
10. A method as claimed in claim 8, wherein the external memory is a main memory.
11. A method as claimed in claim 5, wherein the first memory has pointer information which associates the virtual tag with the physical tag.
12. A method as claimed in claim 11, wherein the second memory has pointer information which associates the physical tag with the virtual tag.
13. A cache memory as claimed in claim 1 substantially as described herein with reference to any one of Figs. 4 to 6 of the accompanying drawings.
14. A method as claimed in either claim 4 or claim 5 substantially as described herein with reference to any one of Figs. 4 to 6 of the accompanying drawings.
GB9623913A 1995-11-17 1996-11-18 Dual-directory virtual cache memory and method for control thereof Expired - Fee Related GB2307319B (en)

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 (3)

Publication Number Publication Date
GB9623913D0 GB9623913D0 (en) 1997-01-08
GB2307319A true GB2307319A (en) 1997-05-21
GB2307319B GB2307319B (en) 2000-05-31

Family

ID=19434528

Family Applications (1)

Application Number Title Priority Date Filing Date
GB9623913A Expired - Fee Related GB2307319B (en) 1995-11-17 1996-11-18 Dual-directory virtual cache memory and method for control thereof

Country Status (4)

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

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1555616A2 (en) * 2004-01-16 2005-07-20 IP-First LLC Microprocessor and apparatus for performing speculative load operation from a stack memory cache
EP1555617A2 (en) * 2004-01-16 2005-07-20 IP-First LLC Microprocessor with variable latency stack cache
US7136990B2 (en) 2003-01-16 2006-11-14 Ip-First, Llc. Fast POP operation from RAM cache using cache row value stack
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
US20130185473A1 (en) * 2012-01-17 2013-07-18 Qualcomm Incorporated Method for Filtering Traffic to a Physically-Tagged Data Cache

Families Citing this family (4)

* 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
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
US10698836B2 (en) 2017-06-16 2020-06-30 International Business Machines Corporation Translation support for a virtual cache

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0365117A2 (en) * 1988-09-30 1990-04-25 International Computers Limited Data-processing apparatus including a cache memory
GB2260429A (en) * 1991-10-11 1993-04-14 Intel Corp Cache memory for multi-tasking environments
EP0651332A1 (en) * 1993-10-29 1995-05-03 Advanced Micro Devices, Inc. Linearly addressable microprocessor cache

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0365117A2 (en) * 1988-09-30 1990-04-25 International Computers Limited Data-processing apparatus including a cache memory
GB2260429A (en) * 1991-10-11 1993-04-14 Intel Corp Cache memory for multi-tasking environments
EP0651332A1 (en) * 1993-10-29 1995-05-03 Advanced Micro Devices, Inc. Linearly addressable microprocessor cache

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
US7139877B2 (en) 2003-01-16 2006-11-21 Ip-First, Llc Microprocessor and apparatus for performing speculative load operation from a stack memory cache
EP1555617A3 (en) * 2004-01-16 2006-06-07 IP-First LLC Microprocessor with variable latency stack cache
EP1555616A2 (en) * 2004-01-16 2005-07-20 IP-First LLC Microprocessor and apparatus for performing speculative load operation from a stack memory cache
EP1555616A3 (en) * 2004-01-16 2006-01-11 IP-First LLC Microprocessor and apparatus for performing speculative load operation from a stack memory cache
EP1555617A2 (en) * 2004-01-16 2005-07-20 IP-First LLC Microprocessor with variable latency stack cache
EP2101267A2 (en) 2004-01-16 2009-09-16 IP-First LLC Microprocessor with variable latency stack cache
EP2101267A3 (en) * 2004-01-16 2009-11-04 IP-First LLC Microprocessor with variable latency stack cache
US20130185473A1 (en) * 2012-01-17 2013-07-18 Qualcomm Incorporated Method for Filtering Traffic to a Physically-Tagged Data Cache
WO2013109679A1 (en) * 2012-01-17 2013-07-25 Qualcomm Incorporated Method for filtering traffic to a physically-tagged data cache
US8612690B2 (en) 2012-01-17 2013-12-17 Qualcomm Incorporated Method for filtering traffic to a physically-tagged data cache
JP2015506517A (en) * 2012-01-17 2015-03-02 クアルコム,インコーポレイテッド Method for filtering traffic to a physically tagged data cache

Also Published As

Publication number Publication date
JP3116215B2 (en) 2000-12-11
JPH1091521A (en) 1998-04-10
TW324800B (en) 1998-01-11
KR970029072A (en) 1997-06-26
GB9623913D0 (en) 1997-01-08
GB2307319B (en) 2000-05-31

Similar Documents

Publication Publication Date Title
KR930004430B1 (en) Apparatus for maintaining consistency in a multiprocessor computer system using caching
US7266647B2 (en) List based method and apparatus for selective and rapid cache flushes
US7949834B2 (en) Method and apparatus for setting cache policies in a processor
KR101057526B1 (en) Address translation method and device
US5379394A (en) Microprocessor with two groups of internal buses
US7496730B2 (en) System and method for reducing the number of translation buffer invalidates an operating system needs to issue
JPH04227552A (en) Store-through-cache control system
JPS6135584B2 (en)
US5479630A (en) Hybrid cache having physical-cache and virtual-cache characteristics and method for accessing same
JPH03142644A (en) Cache memory control system
EP0365117B1 (en) Data-processing apparatus including a cache memory
US7461212B2 (en) Non-inclusive cache system with simple control operation
GB2307319A (en) Dual-directory virtual cache
JPH0551937B2 (en)
US5619673A (en) Virtual access cache protection bits handling method and apparatus
JP3210637B2 (en) Method and system for accessing a cache memory in a data processing system
US20020002659A1 (en) System and method for improving directory lookup speed
JPH0336648A (en) Electronic computer, tlb device and microprocessor chip
JPH06250926A (en) Data processing system provided with cache memory of plural hierarchies
JPH0711790B2 (en) Data processing device
JPH02184944A (en) Virtual memory control system in parallel computer
JPH06195263A (en) Cache memory system
JPH11149409A (en) Memory controller and computer system
KR20010011260A (en) 2-Level Cache Memory System Reducing Data Transfer Time
JPH0546476A (en) Cache memory

Legal Events

Date Code Title Description
732E Amendments to the register in respect of changes of name or changes affecting rights (sect. 32/1977)
PCNP Patent ceased through non-payment of renewal fee

Effective date: 20061118