Patent US5752264A successfully refreshed from Google Patents.
← Back to Patent Explorer
US5752264A Expired / Lapsed US ⏱️ 0.0 years remaining

Computer architecture incorporating processor clusters and hierarchical cache memories

Assignee: International Business Machines Corp
•
Filing: 1996-08-15
•
Granted: 1998-05-12
•
Expires: 2016-08-15
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A hierarchical cache architecture that reduces traffic on a main memory bus while overcoming the disadvantages of prior systems. The architecture includes a plurality of level one caches that are of the store through type, each level one cache is associated with a processor and may be incorporated into the processor. Subsets (or "clusters") of processors, along with their associated level one caches, are formed and a level two cache is provided for each cluster. Each processor-level one cache pair within a cluster is coupled to the cluster's level two cache through a dedicated bus. By configuring the processors and caches in this manner, not only is the speed advantage normally associated with the use of cache memory realized, but the number of memory bus accesses is reduced without the disadvantages associated with the use of store in type caches at level one and without the disadvantages associated with the use of a shared cache bus.

Inventors

  • 👤 Michael Andrew Blake
  • 👤 Carl Benjamin Ford, III
  • 👤 Pak-Kin Mak

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-30 04:03
CPC Classifications
G; G06; G06F; G06F12/00; G06F12/02; G06F12/08; G06F12/0802; G06F12/0806; G06F12/0811; G06F12/084

Claims Analysis

Total Claims: 29
Claim 1
Independent Claim 339 words
A cache architecture for a computer system having multiple processors comprising: a plurality of level one caches, each said level one cache being operatively coupled to one of the multiple processors of the computer system to form a plurality of processor-level oNE cache pairs and each said level one cache being a store-through cache; a plurality of level two caches, each of said level two caches being operatively coupled to two or more of said processor-level one cache pairs to form a cluster, and each of said level two caches having a plurality of level two directory states for the purpose of maintaining coherency among all of said caches; wherein for each said level two cache said level two directory states describe the status of the data stored in said level two cache as being invalid, exclusive to said level two cache, or read only to said level two cache; and wherein for each said level two cache said level two directory states describe the status of the data stored in said level one caches that are operatively coupled to said level two cache as being invalid, exclusive to one of said level once caches that are operatively coupled to said level two cache, or read only to one or more of said level one caches that are operatively coupled to said level two cache; wherein when a level one cache within a cluster updates the data, the status of the level two directory states is examined and castouts sent only to the level one caches that have exclusive or read only ownership of the data; a plurality of point to point buses, each said point to point bus coupling one of said processor-level one cache pairs to one of said level two caches; a shared bus, said shared bus coupling together said level two caches; and wherein each of said level two caches further comprise a shared bus castout buffer for temporary storage of data in response to one of either a snoop command or a store command.
Claim 2
Dependent Claim 339 words
A cache architecture for a computer system having multiple processors comprising: a plurality of level one caches, each said level one cache being operatively coupled to one of the multiple processors of the computer system to form a plurality of processor-level oNE cache pairs and each said level one cache being a store-through cache; a plurality of level two caches, each of said level two caches being operatively coupled to two or more of said processor-level one cache pairs to form a cluster, and each of said level two caches having a plurality of level two directory states for the purpose of maintaining coherency among all of said caches; wherein for each said level two cache said level two directory states describe the status of the data stored in said level two cache as being invalid, exclusive to said level two cache, or read only to said level two cache; and wherein for each said level two cache said level two directory states describe the status of the data stored in said level one caches that are operatively coupled to said level two cache as being invalid, exclusive to one of said level once caches that are operatively coupled to said level two cache, or read only to one or more of said level one caches that are operatively coupled to said level two cache; wherein when a level one cache within a cluster updates the data, the status of the level two directory states is examined and castouts sent only to the level one caches that have exclusive or read only ownership of the data; a plurality of point to point buses, each said point to point bus coupling one of said processor-level one cache pairs to one of said level two caches; a shared bus, said shared bus coupling together said level two caches; and wherein each of said level two caches further comprise a shared bus castout buffer for temporary storage of data in response to one of either a snoop command or a store command.
Claim 3
Dependent Claim 18 words
A cache architecture according to claim 1, wherein a parity check is performed on the level one caches.
Claim 4
Dependent Claim 20 words
A cache architecture according to claim 1, wherein each said processor-level one cache pair is housed within a single microchip.
Claim 5
Dependent Claim 57 words
A cache architecture according to claim 1, wherein each of said level two caches comprise a plurality of cache interleaves for storing data received over said point to point buses and over said shared bus, each of said interleaves being separately accessible so that any two or more interleaves can be accessed during a single machine cycle.
Claim 6
Dependent Claim 25 words
A cache architecture according to claim 4, wherein each of said level two caches further comprises a cache controller for coordinating accesses to said interleaves.
Claim 7
Dependent Claim 36 words
A cache architecture according to claim 1, wherein each of said level two caches comprise a directory for storing one or more directory states describing the state of the data residing in said level two cache.
Claim 8
Dependent Claim 58 words
A cache architecture according to claim 6, wherein each of said level two caches further comprise: one or more central processor controllers, each said central processor controller being used to manage requests from one of said plurality of level one caches; and a shared bus controller for managing communications between said level two cache and said shared bus.
Claim 9
Dependent Claim 36 words
A cache architecture according to claim 7, wherein each of said level two caches further comprises a pipeline processor for performing operations in response to requests from said central processor controllers and said shared bus controller.
Claim 10
Dependent Claim 26 words
A cache architecture according to claim 8, wherein each of said level two caches further comprises: a shared bus line buffer for receiving said shared bus.
Claim 11
Dependent Claim 66 words
A cache architecture according to claim 9, wherein each of said level two caches further comprises: a line fetch address register for processing fetch requests by the processors for data that is not stored within said level two cache; and a line store address register for determining which data to remove from said level two cache when it is necessary to make room for new data.
Claim 12
Dependent Claim 42 words
A cache architecture according to claim 9, wherein each of said level two caches further comprises one or more store stacks, each said store stack being used to hold data accompanying store requests from one of said plurality of level one caches.
Claim 13
Dependent Claim 345 words
An architecture for a computer system having multiple processors, comprising: a plurality of level one caches, each said level one cache being operatively coupled at one of the processors of the computer system to form a plurality of processor-level one cache pairs and each said level one cache being a store-through cache; a plurality of level two caches, each of said level two caches being operatively coupled to two or more of said processor-level one cache pairs to form a cluster, and each of said level two caches having a plurality of level two directory states for the purpose of maintaining coherency among all of said caches; wherein for each said level two cache said level two directory states describe the status of the data stored in said level two cache as being invalid, exclusive to said level two cache, or read only to said level two cache; and wherein for each said level two cache said level two directory states describe the status of the data stored in said level one caches that are operatively coupled to said level two cache as being invalid, exclusive to one of said level one caches that are operatively coupled to said level two cache, or read only to one or more of said level one caches that are operatively coupled to said level two cache; wherein when a level one cache within a cluster updates the data, the status of the level two directory states is examined and castouts sent only to the level one caches that have exclusive or read only ownership of the data; a plurality of point to point buses, each said point to point bus coupling one of said processor-level one cache pairs to one of said level two caches; a shared bus, said shared bus coupling together said level two caches, a system memory coupled to said shared bus, and wherein each of said level two caches further comprise a shared bus castout buffer for temporary storage of data in response to one of either a snoop command or a store command.
Claim 14
Dependent Claim 345 words
An architecture for a computer system having multiple processors, comprising: a plurality of level one caches, each said level one cache being operatively coupled at one of the processors of the computer system to form a plurality of processor-level one cache pairs and each said level one cache being a store-through cache; a plurality of level two caches, each of said level two caches being operatively coupled to two or more of said processor-level one cache pairs to form a cluster, and each of said level two caches having a plurality of level two directory states for the purpose of maintaining coherency among all of said caches; wherein for each said level two cache said level two directory states describe the status of the data stored in said level two cache as being invalid, exclusive to said level two cache, or read only to said level two cache; and wherein for each said level two cache said level two directory states describe the status of the data stored in said level one caches that are operatively coupled to said level two cache as being invalid, exclusive to one of said level one caches that are operatively coupled to said level two cache, or read only to one or more of said level one caches that are operatively coupled to said level two cache; wherein when a level one cache within a cluster updates the data, the status of the level two directory states is examined and castouts sent only to the level one caches that have exclusive or read only ownership of the data; a plurality of point to point buses, each said point to point bus coupling one of said processor-level one cache pairs to one of said level two caches; a shared bus, said shared bus coupling together said level two caches, a system memory coupled to said shared bus, and wherein each of said level two caches further comprise a shared bus castout buffer for temporary storage of data in response to one of either a snoop command or a store command.
Claim 15
Dependent Claim 29 words
An architecture according to claim 12, further comprising an input/output device for communicating with said processors, and for transmitting data to and from the processors and said system memory.
Claim 16
Dependent Claim 17 words
An architecture according to claim 12, wherein a parity check is performed on the level one caches.
Claim 17
Dependent Claim 19 words
An architecture according to claim 12, wherein each said processor-level one cache pair is housed within a single microchip.
Claim 18
Dependent Claim 51 words
An architecture according to claim 12, wherein each of said level two caches comprise a plurality of cache interleaves for storing data received over said point to point buses, each of said interleaves being separately accessible so that any two or more interleaves can be accessed during a single machine cycle.
Claim 19
Dependent Claim 24 words
An architecture according to claim 16, wherein each of said level two caches further comprises a cache controller for coordinating accesses to said interleaves.
Claim 20
Dependent Claim 35 words
A architecture according to claim 12, wherein each of said level two caches comprise a directory for storing one or more directory states describing the state of the data residing in said level two cache.
Claim 21
Dependent Claim 57 words
An architecture according to claim 18, wherein each of said level two caches further comprise: one or more central processor controllers, each said central processor controller being used to manage requests from one of said plurality of level one caches; and a shared bus controller for managing communications between said level two cache and said shared bus.
Claim 22
Dependent Claim 35 words
An architecture according to claim 19, wherein each of said level two caches further comprises a pipeline processor for performing operations in response to requests from said central processor controllers and said shared bus controller.
Claim 23
Dependent Claim 27 words
An architecture according to claim 20, wherein each of said level two caches further comprises: a shared bus line buffer for receiving data over said shared bus.
Claim 24
Dependent Claim 65 words
An architecture according to claim 21, wherein each of said level two caches further comprises: a line fetch address register for processing fetch requests by the processors for data that is not stored within said level two cache; and a line store address register for determining which data to remove from said level two cache when it is necessary to make room for new data.
Claim 25
Dependent Claim 41 words
An architecture according to claim 22, wherein each of said level two caches further comprises one or more store stacks, each said store stack being used to hold data accompanying store requests from one of said plurality of level one caches.
Claim 26
Dependent Claim 283 words
A hierarchical cable architecture for a computer system having multiple processors, comprising: a shared bus; a plurality of level two caches, each said level two cache coupled to said shared bus; a plurality level one caches, each said level one cache being operatively coupled to one of the processors to form a plurality of processor-level one cache pairs and each said level one cache being a store-through cache; wherein each of said level two caches have a plurality of level two directory states for the purpose of maintaining coherency among all of said caches; wherein for each said level two cache said level two directory states describe the status of the data stored in said level two cache as being invalid, exclusive to said level two cache, or read only to said level two cache; wherein for each said level two cache said level two directory states describe the status of the data stored in said level one caches that are operatively coupled to said level two cache as being invalid, exclusive to one of said level one caches that are operatively coupled to said level two cache, or read only to one or more of said level one caches that are operatively coupled to said level two cache; wherein when a level one cache within a cluster updates the data, the status of the level two directory states is examined and castouts sent only to the level one caches that have exclusive or read only ownership of the data; and wherein each of said level two caches further comprise a shared bus castout buffer for temporary storage of data in response to one of either a snoop command or a store command.
Claim 27
Dependent Claim 283 words
A hierarchical cable architecture for a computer system having multiple processors, comprising: a shared bus; a plurality of level two caches, each said level two cache coupled to said shared bus; a plurality level one caches, each said level one cache being operatively coupled to one of the processors to form a plurality of processor-level one cache pairs and each said level one cache being a store-through cache; wherein each of said level two caches have a plurality of level two directory states for the purpose of maintaining coherency among all of said caches; wherein for each said level two cache said level two directory states describe the status of the data stored in said level two cache as being invalid, exclusive to said level two cache, or read only to said level two cache; wherein for each said level two cache said level two directory states describe the status of the data stored in said level one caches that are operatively coupled to said level two cache as being invalid, exclusive to one of said level one caches that are operatively coupled to said level two cache, or read only to one or more of said level one caches that are operatively coupled to said level two cache; wherein when a level one cache within a cluster updates the data, the status of the level two directory states is examined and castouts sent only to the level one caches that have exclusive or read only ownership of the data; and wherein each of said level two caches further comprise a shared bus castout buffer for temporary storage of data in response to one of either a snoop command or a store command.
Claim 28
Dependent Claim 19 words
A hierarchical cache architecture according to claim 24, wherein a parity check is performed on the level one caches.
Claim 29
Dependent Claim 21 words
A hierarchical cache architecture according to claim 24, wherein each said processor-level one cache pair is housed within a single microchip.

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2001-05-11 2001-11-10 2002-05-12 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2005-05-11 2005-11-10 2006-05-12 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2009-05-11 2009-11-10 2010-05-12 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag