← Back to Patent Explorer
US5386547A Expired / Lapsed US ⏱️ 0.0 years remaining

System and method for exclusive two-level caching

Assignee: Hewlett Packard Development Co LP
•
Filing: 1992-01-21
•
Granted: 1995-01-31
•
Expires: 2012-01-21
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A simple mixed first level cache memory system (50) includes a level 1 cache (52) connected to a processor (54)by read data and write data lines (56) and (58). The level 1 cache (52) is connected to level 2 cache (60) by swap tag lines (62) and (64), swap data lines (66) and (68), multiplexer (70) and swap/read Line (72). The level 2 cache (60) is connected to the next lower level in the memorv hierarchy by write tag and write data lines (74) and (76). The next lower level in the memory hierarchy below the level 2 cache (60) is also connected by a read data line (78) through the multiplexer (70) and the swap/read line (72) to the level 1 cache (52). When processor (54) requires an instruction or data, it puts out an address on lines (80). If the instruction or data is present in the level 1 cache (52), it is supplied to the processor (54) on read data line (56). If the instruction or data is not present in the level 1 cache (52), the processor looks for it in the level 2 cache (60) by putting out the address of the instruction or data on lines (80). If the instruction or data is in the level 2 cache, it is supplied to the processor (54) through the level 1 cache (52) by means of a swap operation on tag swap lines (62) and (64), swap data lines (66) and (68), multiplexer (70) and swap/read data line (72). If the instruction or data is present in neither the level 1 cache (52) nor the level 2 cache (60), the address on lines (80) fetches the instruction or data from successively lower levels in the memory hierarchy as required via read data line (78), multiplexer (70) and swap/read data line (72). The instruction or data is then supplied from the level 1 cache to the processor (54).

Inventors

  • 👤 Norman P. Jouppi

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-29 20:14
CPC Classifications
G; G06; G06F; G06F12/00; G06F12/02; G06F12/08; G06F12/0802; G06F12/0893; G06F12/0897; G06F12/0864

Claims Analysis

Total Claims: 34
Claim 1
Independent Claim 290 words
A cache memory system, which comprises: a first-level cache configured to store tags and data associated with the tags, a second-level cache configured to store tags and data associated with the tags, said second level cache having a memory capacity at least half as large as that of said first-level cache, a next lower-level memory configured to receive tags and store data associated with the tags, a multiplexer for receiving said data from said second-level cache and said next lower-level memory, said first-level cache and said second-level cache being connected by first swap tag line and first swap data line, said first swap tag line and said first swap data line for transferring discarded tags and data associated with discarded tags from said first-level cache to said second level cache, said first-level cache and said second-level cache connected by a second swap data line coupled via said multiplexor, said second swap data line connected to a first input of said multiplexor whose output is coupled to said first-level cache, said second swap data line for transferring data from said second-level cache to said first-level cache, said first level cache being connected to read data and write data lines for connection to a processor, said second-level cache being connected to write tag and write data lines for connection to said next lower-level memory, read data lines connected from the next lower level memory to a second input of said multiplexor for transferring data directly to said first-level cache, whereby upon a hit in said second-level cache or said next-lower level memory, said multiplexor transfers data directly into said first level cache while simultaneously said first-level cache writes said discarded tags and data associated with the discarded tags to said second-level cache.
Claim 2
Dependent Claim 290 words
A cache memory system, which comprises: a first-level cache configured to store tags and data associated with the tags, a second-level cache configured to store tags and data associated with the tags, said second level cache having a memory capacity at least half as large as that of said first-level cache, a next lower-level memory configured to receive tags and store data associated with the tags, a multiplexer for receiving said data from said second-level cache and said next lower-level memory, said first-level cache and said second-level cache being connected by first swap tag line and first swap data line, said first swap tag line and said first swap data line for transferring discarded tags and data associated with discarded tags from said first-level cache to said second level cache, said first-level cache and said second-level cache connected by a second swap data line coupled via said multiplexor, said second swap data line connected to a first input of said multiplexor whose output is coupled to said first-level cache, said second swap data line for transferring data from said second-level cache to said first-level cache, said first level cache being connected to read data and write data lines for connection to a processor, said second-level cache being connected to write tag and write data lines for connection to said next lower-level memory, read data lines connected from the next lower level memory to a second input of said multiplexor for transferring data directly to said first-level cache, whereby upon a hit in said second-level cache or said next-lower level memory, said multiplexor transfers data directly into said first level cache while simultaneously said first-level cache writes said discarded tags and data associated with the discarded tags to said second-level cache.
Claim 3
Dependent Claim 39 words
The cache memory system of claim 1 in which said second-level cache is configured to store mixed instructions and data, and wherein said second-level cache is a direct mapped cache having a memory capacity larger than said first-level cache.
Claim 4
Dependent Claim 20 words
The cache memory system of claim 2 in which said first-level cache is configured to store mixed instructions and data.
Claim 5
Dependent Claim 27 words
The cache memory system of claim 3 in which said first-level cache and said second-level cache are connected to data address lines for connection to the processor.
Claim 6
Dependent Claim 18 words
The cache memory system of claim 2 in which said first-level cache comprises separate instruction and data caches.
Claim 7
Dependent Claim 24 words
The cache memory system of claim 5 in which said separate data cache is connected to data address lines for connection to the processor.
Claim 8
Dependent Claim 24 words
The cache memory system of claim 6 in which said data address lines are further connected to said second-level cache through a second multiplexer.
Claim 9
Dependent Claim 33 words
The cache memory system of claim 7 in which instruction address lines for connection to the processor are connected to said separate instruction cache and to said second-level cache through said second multiplexer.
Claim 10
Dependent Claim 28 words
The cache memory system of claim 8 and a processor connected to said read data and write data lines, said data address lines and said instruction address lines.
Claim 11
Dependent Claim 18 words
The cache memory system of claim 5 in which said second-level cache comprises separate instruction and data caches.
Claim 12
Dependent Claim 32 words
The cache memory system of claim 10 in which said separate data caches of said first-level cache and said second-level cache are connected to data address lines for connection to the processor.
Claim 13
Dependent Claim 32 words
The cache memory system of claim 11 in which said separate instruction caches of said first-level cache and said second-level cache are connected to instruction address lines for connection to the processor.
Claim 14
Dependent Claim 28 words
The cache memory system of claim 12 and a processor connected to said read data and write data lines, said data address lines and said instruction address lines.
Claim 15
Dependent Claim 48 words
The cache memory system of claim 1 in which said first-level cache contains a first given number of lines and said second-level cache contains a second given number of lines, the second given number of lines being an integral multiple greater than the first given number of lines.
Claim 16
Dependent Claim 50 words
The cache memory system of claim 14 in which said memory system is configured to exclude those references to addresses that map to a same second-level cache line from said second-level cache and to include those references to addresses that map to different second-level cache lines in said second-level cache.
Claim 17
Dependent Claim 19 words
The cache memory system of claim 1 and a processor connected to said read data and write data lines.
Claim 18
Independent Claim 186 words
A method of operating a cache memory system, which comprises: storing tags, and data associated with the tags, in a first-level cache and in a second-level cache, said second-level cache having a memory capacity at least half as large as that of said first-level cache, supplying data addresses from a processor to the first-level cache to determine if desired data are present in the first-level cache, supplying data addresses from a processor to the second-level cache to determine if desired data are present in the second-level cache, simultaneously swapping said desired data from the second level cache with a discarded data from the first level cache while also transferring a tag associated with said discarded data to said second level cache when the data is not present in the first-level cache and is present in the second-level cache, and reading the data from a lower level in the memory hierarchy directly to the first-level cache when the data is present in neither the first-level cache nor the second-level cache while simultaneously transferring said discarded data and associated tag from said first-level cache to said second-level cache.
Claim 19
Independent Claim 186 words
A method of operating a cache memory system, which comprises: storing tags, and data associated with the tags, in a first-level cache and in a second-level cache, said second-level cache having a memory capacity at least half as large as that of said first-level cache, supplying data addresses from a processor to the first-level cache to determine if desired data are present in the first-level cache, supplying data addresses from a processor to the second-level cache to determine if desired data are present in the second-level cache, simultaneously swapping said desired data from the second level cache with a discarded data from the first level cache while also transferring a tag associated with said discarded data to said second level cache when the data is not present in the first-level cache and is present in the second-level cache, and reading the data from a lower level in the memory hierarchy directly to the first-level cache when the data is present in neither the first-level cache nor the second-level cache while simultaneously transferring said discarded data and associated tag from said first-level cache to said second-level cache.
Claim 20
Dependent Claim 45 words
The method of operating a cache memory system of claim 17 in which instructions and data are stored in the second-level cache as mixed instructions and data, and said second-level cache is a direct mapped cache having a memory capacity larger than said first-level cache.
Claim 21
Dependent Claim 27 words
The method of operating a cache memory system of claim 18 in which instructions and data are stored in the first-level cache as mixed instructions and data.
Claim 22
Dependent Claim 28 words
The method of operating a cache memory system of claim 18 in which instructions and data are stored in the first-level cache in separate instruction and data caches.
Claim 23
Dependent Claim 28 words
The method of operating a cache memory system of claim 20 in which instructions and data are stored in the second-level cache in separate instruction and data caches.
Claim 24
Dependent Claim 48 words
The method of operating a cache memory system of claim 17 in which references to addresses that map to a same second-level cache line are excluded from said second-level cache and those references to addresses that map to different second-level cache lines are included in said second-level cache.
Claim 25
Dependent Claim 292 words
A cache memory system, which comprises: a first-level cache configured to store tags and instructions associated with the tags, a second-level cache configured to store tags and instructions associated with the tags, said second-level cache having a memory capacity at least half as large as that of said first-level cache, a next lower-level memory configured to receive tags and store instructions associated with the tags, a multiplexor for receiving said instructions from said second-level cache and said next lower-level memory, said first-level cache and said second-level cache being connected by a first swap tag line and first swap instruction line, said first swap tag line and said first swap instruction line for transferring discarded tags and instructions associated with the discarded tags from said first-level cache to said second level cache, said first-level cache and said second-level cache being connected by a second swap instruction line coupled via said multiplexor, said second swap instruction line connected to a first input of said multiplexor whose output is coupled to said first-level cache, said second swap instruction line for transferring instructions from said second-level cache to said first-level cache, said first level cache being connected to read instruction and write instruction lines for connection to a processor, said second-level cache being connected to write tag and write instruction lines for connection to said next lower-level memory, read instruction lines connected from the next lower level memory to a second input of said multiplexor for transferring instructions directly to said first-level cache, whereby upon a hit in said second-level cache or said next-lower level memory, said multiplexor transfers instructions directly into said first level cache while simultaneously said first-level cache writes said discarded tags and instructions associated with the discarded tags to said second-level cache.
Claim 26
Dependent Claim 292 words
A cache memory system, which comprises: a first-level cache configured to store tags and instructions associated with the tags, a second-level cache configured to store tags and instructions associated with the tags, said second-level cache having a memory capacity at least half as large as that of said first-level cache, a next lower-level memory configured to receive tags and store instructions associated with the tags, a multiplexor for receiving said instructions from said second-level cache and said next lower-level memory, said first-level cache and said second-level cache being connected by a first swap tag line and first swap instruction line, said first swap tag line and said first swap instruction line for transferring discarded tags and instructions associated with the discarded tags from said first-level cache to said second level cache, said first-level cache and said second-level cache being connected by a second swap instruction line coupled via said multiplexor, said second swap instruction line connected to a first input of said multiplexor whose output is coupled to said first-level cache, said second swap instruction line for transferring instructions from said second-level cache to said first-level cache, said first level cache being connected to read instruction and write instruction lines for connection to a processor, said second-level cache being connected to write tag and write instruction lines for connection to said next lower-level memory, read instruction lines connected from the next lower level memory to a second input of said multiplexor for transferring instructions directly to said first-level cache, whereby upon a hit in said second-level cache or said next-lower level memory, said multiplexor transfers instructions directly into said first level cache while simultaneously said first-level cache writes said discarded tags and instructions associated with the discarded tags to said second-level cache.
Claim 27
Dependent Claim 25 words
The cache memory system of claim 23 wherein said second-level cache is a direct mapped cache having a memory capacity larger than said first-level cache.
Claim 28
Independent Claim 187 words
A method of operating a cache memory system, which comprises: storing tags, and instructions associated with the tags, in a first-level cache and in a second-level cache, said second-level cache having a memory capacity at least half as large as that of said first-level cache, supplying instruction addresses from a processor to the first-level cache to determine if desired instructions are present in the first-level cache, supplying instruction addresses from a processor to the second-level cache to determine if desired instructions are present in the second-level cache, simultaneously swapping said desired instructions from the second level cache with a discarded instruction from the first level cache while also transferring a tag associated with said discarded instruction to said second level cache when the desired instruction is not present in the first-level cache and is present in the second-level cache, and reading the instruction from a lower level in the memory hierarchy directly to the first-level cache when the instruction is present in neither the first-level cache nor the second-level cache while simultaneously transferring said discarded instruction and associated tag from said first-level cache to said second-level cache.
Claim 29
Independent Claim 187 words
A method of operating a cache memory system, which comprises: storing tags, and instructions associated with the tags, in a first-level cache and in a second-level cache, said second-level cache having a memory capacity at least half as large as that of said first-level cache, supplying instruction addresses from a processor to the first-level cache to determine if desired instructions are present in the first-level cache, supplying instruction addresses from a processor to the second-level cache to determine if desired instructions are present in the second-level cache, simultaneously swapping said desired instructions from the second level cache with a discarded instruction from the first level cache while also transferring a tag associated with said discarded instruction to said second level cache when the desired instruction is not present in the first-level cache and is present in the second-level cache, and reading the instruction from a lower level in the memory hierarchy directly to the first-level cache when the instruction is present in neither the first-level cache nor the second-level cache while simultaneously transferring said discarded instruction and associated tag from said first-level cache to said second-level cache.
Claim 30
Dependent Claim 29 words
The method of operating a cache memory system of claim 25 wherein said second-level cache is a direct mapped cache having a memory capacity larger than said first-level cache.
Claim 31
Dependent Claim 193 words
A cache memory system, which comprises: a first-level cache configured to store tags and data associated with the tags, a second-level cache configured to store tags and data associated with the tags, said second-level cache having a memory capacity at least half as large as that of said first-level cache, a next lower-level memory configured to receive tags and store data associated with the tags, connection logic including a first data path for transferring data and associated tags from said first-level cache to said second-level cache and a second data path for receiving said data from said second-level cache and said next lower-level memory and transferring said data to said first-level cache, said first level cache being connected to read data and write data lines for connection to a processor, said second-level cache being connected to write tag and write data lines for connection to said next lower-level memory, whereby upon a hit in said second-level cache or said next-lower level memory, said connection logic transfers data directly into said first level cache while simultaneously said first-level cache writes a discarded tag and data associated with the discarded tag to said second-level cache.
Claim 32
Dependent Claim 193 words
A cache memory system, which comprises: a first-level cache configured to store tags and data associated with the tags, a second-level cache configured to store tags and data associated with the tags, said second-level cache having a memory capacity at least half as large as that of said first-level cache, a next lower-level memory configured to receive tags and store data associated with the tags, connection logic including a first data path for transferring data and associated tags from said first-level cache to said second-level cache and a second data path for receiving said data from said second-level cache and said next lower-level memory and transferring said data to said first-level cache, said first level cache being connected to read data and write data lines for connection to a processor, said second-level cache being connected to write tag and write data lines for connection to said next lower-level memory, whereby upon a hit in said second-level cache or said next-lower level memory, said connection logic transfers data directly into said first level cache while simultaneously said first-level cache writes a discarded tag and data associated with the discarded tag to said second-level cache.
Claim 33
Dependent Claim 20 words
The cache memory system of claim 27, wherein said second-level cache has a memory capacity larger than said first-level cache.
Claim 34
Dependent Claim 25 words
The cache memory system of claim 27 wherein said second-level cache is a direct mapped cache having a memory capacity larger than said first-level cache.

References Cited (Backward Citations)

US4942518A Cited
US4928239A Cited
US4974156A Cited
US5201041A Cited
US5247639A Cited
US5261066A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 1998-01-30 1998-08-01 1999-01-31 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2002-01-30 2002-08-01 2003-01-31 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2006-01-30 2006-08-01 2007-01-31 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag