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

Methods and apparatus for performing a write/load cache protocol

Assignee: Individual
•
Filing: 1993-10-13
•
Granted: 1997-03-11
•
Expires: 2013-10-13
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A Write/Load cache protocol is described which may be used for maintaining cache coherency and performing barrier synchronization in multiprocessor computer systems, and for cooperating with prefetch mechanisms to allow data to be loaded into a central processor unit's (CPU) cache (in both single and multiprocessor systems) in anticipation of future memory references. The new protocol is defined such that when a cache observes a Write/Load command (and associated data item) on a bus to which the cache is attached, the cache is accessed and (a) if the data item is in the cache, the new value of the data item from the bus is copied into and replaces the data item in cache; and (b) if the data item is not in the cache, a new data item is created therein (preferably using the normal cache replacement policy), and the value of the data item on the bus is loaded into the cache. Thus, a protocol is provided which allows cache to be loaded via an external entity, i.e., other than the processor being directly serviced by the cache.

Inventors

  • 👤 Philip Heidelberger
  • 👤 Harold S. Stone

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-06 09:42
CPC Classifications
G; G06; G06F; G06F12/00; G06F12/02; G06F12/08; G06F12/0802; G06F12/0806; G06F12/0815; G06F12/0831; G06F12/0833; G06F12/0862

Claims Analysis

Total Claims: 78
Claim 1
Independent Claim 160 words
Apparatus for implementing a Write/Load protocol in a data processing system, wherein said system includes a remote processor and remote cache memory means associated with said remote processor and coupled to a communications bus via cache controller means and a local means which is external to said remote processor and capable of sending a Write/Load instruction that includes a data item to said remote cache memory means on said communications bus, comprising: (a) means for updating said remote cache memory means in response to the appearance on said communications bus of a Write/Load instruction sent by said local means whenever the data item included with the Write/Load instruction is stored in said remote cache memory means; and (b) means for loading said data item included with said Write/Load instruction into said remote cache memory means without any involvement by said remote processor whenever said data item appearing on said communications bus is not stored in said remote cache memory means.
Claim 2
Dependent Claim 160 words
Apparatus for implementing a Write/Load protocol in a data processing system, wherein said system includes a remote processor and remote cache memory means associated with said remote processor and coupled to a communications bus via cache controller means and a local means which is external to said remote processor and capable of sending a Write/Load instruction that includes a data item to said remote cache memory means on said communications bus, comprising: (a) means for updating said remote cache memory means in response to the appearance on said communications bus of a Write/Load instruction sent by said local means whenever the data item included with the Write/Load instruction is stored in said remote cache memory means; and (b) means for loading said data item included with said Write/Load instruction into said remote cache memory means without any involvement by said remote processor whenever said data item appearing on said communications bus is not stored in said remote cache memory means.
Claim 3
Dependent Claim 44 words
Apparatus as set forth in claim 1 wherein said means for loading is operative to store said data item into said remote cache memory means whenever the data item appearing on said communications bus is not validly stored in said remote cache memory means.
Claim 4
Dependent Claim 43 words
Apparatus as set forth in claim 1 wherein said means for loading further comprises means for creating an entry in said remote cache memory means whenever the data item appearing on said communications bus is not stored in said remote cache memory means.
Claim 5
Dependent Claim 32 words
Apparatus as set forth in claim 3 wherein said means for loading further comprises Write Load Buffer means for temporarily storing data items to be loaded into said remote cache memory means.
Claim 6
Dependent Claim 27 words
Apparatus as set forth in claim 3 wherein said means for loading is responsive to all Write/Load instructions and associated data items broadcast over said communications bus.
Claim 7
Dependent Claim 44 words
Apparatus as set forth in claim 3 wherein said means for loading is operative to selectively respond to Write/Load instructions and associated data items appearing on said communications bus, to thereby facilitate the selective loading of data items into said remote cache memory means.
Claim 8
Dependent Claim 21 words
Apparatus as set forth in claim 3 wherein said means for updating is implemented as part of said cache controller means.
Claim 9
Dependent Claim 21 words
Apparatus as set forth in claim 3 wherein said means for loading is implemented as part of said cache controller means.
Claim 10
Dependent Claim 51 words
Apparatus as set forth in claim 3 wherein said remote cache memory means includes a plurality of cache memories, each of which is controlled by a cache controller included in said cache controller means, and further wherein each cache controller includes both said means for updating and said means for loading.
Claim 11
Dependent Claim 180 words
A computer system architecture that supports the updating and loading of a variable into cache memory of a remote processor in response to a write/Load command that includes said variable being placed on a communications bus by a local means external to said remote processor, comprising: (a) at least one remote processor; (b) cache memory owned by each of said at least one remote processor; (c) a cache controller coupling both a given cache memory and the remote processor owning said given cache memory to a communications bus; (d) a communications bus; (e) means for updating said given cache memory in response to the appearance on said communications bus of a Write/Load command that includes a variable, whenever said variable is stored as a data item in said given cache memory; and (f) means for loading said variable into said given cache memory without any involvement by said remote processor owning said given cache memory in response to the appearance on said communications bus of said Write/Load command, whenever said variable is not already stored in said given cache memory.
Claim 12
Dependent Claim 180 words
A computer system architecture that supports the updating and loading of a variable into cache memory of a remote processor in response to a write/Load command that includes said variable being placed on a communications bus by a local means external to said remote processor, comprising: (a) at least one remote processor; (b) cache memory owned by each of said at least one remote processor; (c) a cache controller coupling both a given cache memory and the remote processor owning said given cache memory to a communications bus; (d) a communications bus; (e) means for updating said given cache memory in response to the appearance on said communications bus of a Write/Load command that includes a variable, whenever said variable is stored as a data item in said given cache memory; and (f) means for loading said variable into said given cache memory without any involvement by said remote processor owning said given cache memory in response to the appearance on said communications bus of said Write/Load command, whenever said variable is not already stored in said given cache memory.
Claim 13
Dependent Claim 35 words
Apparatus as set forth in claim 10 wherein said means for loading further comprises means for creating an entry in said given cache memory whenever said variable is not stored in said given cache memory.
Claim 14
Dependent Claim 26 words
Apparatus as set forth in claim 11 wherein said means for loading is responsive to all Write/Load commands and included variables broadcast over said communications bus.
Claim 15
Dependent Claim 36 words
Apparatus as set forth in claim 11 wherein said means for loading is operative to selectively respond to Write/Load commands and included variables appearing on said communications bus, to thereby facilitate selective loading of cache memory.
Claim 16
Dependent Claim 18 words
Apparatus as set forth in claim 11 wherein said means for updating is implemented utilizing said cache controller.
Claim 17
Dependent Claim 18 words
Apparatus as set forth in claim 11 wherein said means for loading is implemented utilizing said cache controller.
Claim 18
Dependent Claim 23 words
Apparatus as set forth in claim 11 wherein said cache controller includes said both said means for updating and said means for loading.
Claim 19
Dependent Claim 142 words
A bus based computer system that facilitates the updating and loading of variables in a cache memory serving a processor and coupled to a communications bus in response to Write/Load commands and a variable associated with each such command being placed on said communications bus by a remote means not served by said cache memory, comprising: (a) means, responsive to a Write/Load command appearing on said communications bus and sent by said remote means, for updating a value in said cache memory of the variable associated with said command, whenever said variable is in said cache memory, and (b) means responsive to said Write/Load command, for creating an entry in said cache memory for said variable, and for loading said variable therein, without any involvement by said processor served by said cache memory, whenever said variable is not in said cache memory.
Claim 20
Dependent Claim 142 words
A bus based computer system that facilitates the updating and loading of variables in a cache memory serving a processor and coupled to a communications bus in response to Write/Load commands and a variable associated with each such command being placed on said communications bus by a remote means not served by said cache memory, comprising: (a) means, responsive to a Write/Load command appearing on said communications bus and sent by said remote means, for updating a value in said cache memory of the variable associated with said command, whenever said variable is in said cache memory, and (b) means responsive to said Write/Load command, for creating an entry in said cache memory for said variable, and for loading said variable therein, without any involvement by said processor served by said cache memory, whenever said variable is not in said cache memory.
Claim 21
Dependent Claim 38 words
Apparatus as set forth in claim 17 wherein said means for creating and loading is operative to selectively respond to Write/Load instructions and associated variables appearing on said communications bus, to thereby facilitate selective loading of cache memory.
Claim 22
Dependent Claim 88 words
A multiprocessor computer system including a plurality of processors, each of which has a cache memory and cache controller combination associated therewith, and a communications bus for interconnecting said plurality of processors via each of their respective associated cache controllers, comprising means for enabling at least one of said plurality of processors to load data, via said communications bus, into the cache memory associated with at least one other of said plurality of processors without any involvement by said at least one other of said plurality of processors.
Claim 23
Dependent Claim 88 words
A multiprocessor computer system including a plurality of processors, each of which has a cache memory and cache controller combination associated therewith, and a communications bus for interconnecting said plurality of processors via each of their respective associated cache controllers, comprising means for enabling at least one of said plurality of processors to load data, via said communications bus, into the cache memory associated with at least one other of said plurality of processors without any involvement by said at least one other of said plurality of processors.
Claim 24
Dependent Claim 29 words
Apparatus as set forth in claim 19 wherein said at least one of said plurality of processors issues a Write/Load instruction and places said instruction on said communications bus.
Claim 25
Dependent Claim 24 words
Apparatus as set forth in claim 20 wherein said at least one other of said plurality of processors is responsive to said Write/Load instruction.
Claim 26
Dependent Claim 93 words
A multiprocessor computer system including a plurality of processors, each of which has a cache memory and cache controller combination associated therewith, and a communications bus for interconnecting said plurality of processors via each of their respective associated cache controllers, comprising means responsive to a bus command issued by a first cache controller and appearing on said communications bus, and data associated with said bus command, to enable a second cache controller to load said data into its associated cache memory without any involvement by the processor associated with said second cache controller.
Claim 27
Dependent Claim 93 words
A multiprocessor computer system including a plurality of processors, each of which has a cache memory and cache controller combination associated therewith, and a communications bus for interconnecting said plurality of processors via each of their respective associated cache controllers, comprising means responsive to a bus command issued by a first cache controller and appearing on said communications bus, and data associated with said bus command, to enable a second cache controller to load said data into its associated cache memory without any involvement by the processor associated with said second cache controller.
Claim 28
Dependent Claim 65 words
A bus based computer architecture including at least one processor, cache memory owned by a given processor, and cache controller means for interconnecting said given processor and the cache memory owned by said processor to a communications bus, comprising means for enabling at least one external entity to load data into said cache memory via said communications bus without any involvement by said given processor.
Claim 29
Dependent Claim 65 words
A bus based computer architecture including at least one processor, cache memory owned by a given processor, and cache controller means for interconnecting said given processor and the cache memory owned by said processor to a communications bus, comprising means for enabling at least one external entity to load data into said cache memory via said communications bus without any involvement by said given processor.
Claim 30
Dependent Claim 21 words
Apparatus as set forth in claim 23 wherein said means for enabling further comprises apparatus for supporting a Write/Load cache protocol.
Claim 31
Dependent Claim 15 words
Apparatus as set forth in claim 23 wherein said external entity is a prefetch mechanism.
Claim 32
Dependent Claim 32 words
Apparatus as set forth in claim 19 wherein said means for enabling is used to perform barrier synchronization between at least two of said plurality of processors in said multiprocessor computer system.
Claim 33
Dependent Claim 33 words
Apparatus as set forth in claim 19 wherein said means for enabling is utilized to maintain the coherency of data stored in the set of cache memories associated with said plurality of processors.
Claim 34
Dependent Claim 26 words
Apparatus as set forth in claim 27 further comprising Write Load Buffer means to facilitate the temporary storage of data to be loaded into cache memory.
Claim 35
Dependent Claim 80 words
Apparatus for reducing the traffic on a communications bus interconnecting a plurality of processors in a multiprocessor computer system, comprising means for supporting a Write/Load cache coherency protocol in said computer system, whereby any one of said processors can load a shared variable into caches owned by other ones of said processors without any involvement by said other ones of said processors by broadcasting a single Write/Load command that includes a value for said shared variable on said communications bus.
Claim 36
Dependent Claim 80 words
Apparatus for reducing the traffic on a communications bus interconnecting a plurality of processors in a multiprocessor computer system, comprising means for supporting a Write/Load cache coherency protocol in said computer system, whereby any one of said processors can load a shared variable into caches owned by other ones of said processors without any involvement by said other ones of said processors by broadcasting a single Write/Load command that includes a value for said shared variable on said communications bus.
Claim 37
Dependent Claim 37 words
Apparatus as set forth in claim 29 further comprising Write Load Buffer means to facilitate the temporary storage of a value for said shared variable to be loaded into cache memory utilizing said Write/Load cache coherency protocol.
Claim 38
Dependent Claim 103 words
A processor chip, for use in a bus based computer system, wherein said processor chip includes a processor, cache memory and a cache controller for coupling said processor and cache memory to a system communications bus, comprising means responsive to a bus command and data associated with said command broadcast on said system communications bus by an entity external to said chip, for updating the contents of said cache memory with said data whenever a cache entry containing a previous value of said data is stored therein, and for otherwise loading said data into said cache memory without any involvement by said processor.
Claim 39
Dependent Claim 103 words
A processor chip, for use in a bus based computer system, wherein said processor chip includes a processor, cache memory and a cache controller for coupling said processor and cache memory to a system communications bus, comprising means responsive to a bus command and data associated with said command broadcast on said system communications bus by an entity external to said chip, for updating the contents of said cache memory with said data whenever a cache entry containing a previous value of said data is stored therein, and for otherwise loading said data into said cache memory without any involvement by said processor.
Claim 40
Dependent Claim 26 words
Apparatus as set forth in claim 31 wherein said processor chip is responsive to bus commands issued by an external entity to support a prefetch mechanism.
Claim 41
Dependent Claim 25 words
Apparatus as set forth in claim 31 wherein said processor chip is responsive to bus commands issued by another processor chip, to maintain cache coherency.
Claim 42
Dependent Claim 25 words
Apparatus as set forth in claim 31 wherein said processor chip is responsive to bus commands issued by another processor chip, to perform barrier synchronization.
Claim 43
Dependent Claim 23 words
Apparatus as set forth in claim 31 wherein said processor chip is capable of being selectively responsive to one of said bus commands.
Claim 44
Dependent Claim 23 words
Apparatus as set forth in claim 31 wherein said processor chip is capable of being selectively responsive to one of said bus commands.
Claim 45
Dependent Claim 101 words
A bus based computer system comprising: (a) a communications bus; (b) at least one central processor unit (CPU), including a processor and cache memory, coupled to said communications bus; and (c) means for implementing a bus command structure that is operative to issue and respond to bus commands, and which is further operative in response to observing a Write/Load command on said communications bus, to enable data to be loaded into cache memory located in a given CPU by an entity other than the processor located in said given CPU without any involvement by said processor located in said given CPU.
Claim 46
Dependent Claim 101 words
A bus based computer system comprising: (a) a communications bus; (b) at least one central processor unit (CPU), including a processor and cache memory, coupled to said communications bus; and (c) means for implementing a bus command structure that is operative to issue and respond to bus commands, and which is further operative in response to observing a Write/Load command on said communications bus, to enable data to be loaded into cache memory located in a given CPU by an entity other than the processor located in said given CPU without any involvement by said processor located in said given CPU.
Claim 47
Dependent Claim 15 words
Apparatus as set forth in claim 37 wherein said entity is an external prefetch mechanism.
Claim 48
Dependent Claim 26 words
Apparatus as set forth in claim 37 wherein said entity is a processor located in a second CPU whenever said system includes a plurality of CPUs.
Claim 49
Dependent Claim 27 words
Apparatus as set forth in claim 37 wherein said means for implementing is a cache controller interconnecting both said processor and said cache memory to said bus.
Claim 50
Independent Claim 113 words
A method for implementing a Write/Load cache protocol in a data processing system, wherein said system includes cache memory means associated with a processor and coupled to a communications bus via cache controller means, comprising the steps of: (a) updating said cache memory means in response to the appearance on said communications bus of a Write/Load instruction and a data item associated therewith broadcast by an external entity, whenever said data item is stored in said cache memory means; and (b) loading said data item into said cache memory means whenever the data item appearing on said communications bus is not stored in said cache memory means without any involvement by said processor.
Claim 51
Independent Claim 113 words
A method for implementing a Write/Load cache protocol in a data processing system, wherein said system includes cache memory means associated with a processor and coupled to a communications bus via cache controller means, comprising the steps of: (a) updating said cache memory means in response to the appearance on said communications bus of a Write/Load instruction and a data item associated therewith broadcast by an external entity, whenever said data item is stored in said cache memory means; and (b) loading said data item into said cache memory means whenever the data item appearing on said communications bus is not stored in said cache memory means without any involvement by said processor.
Claim 52
Dependent Claim 45 words
A method as set forth in claim 41 wherein said step of loading further comprises the step of storing said data item into said cache memory means whenever the data item appearing on said communications bus is not validly stored in said cache memory means.
Claim 53
Dependent Claim 43 words
A method as set forth in claim 41 wherein said step of loading further comprises the step of creating an entry in said cache memory means whenever the data item appearing on said communications bus is not stored in said cache memory means.
Claim 54
Dependent Claim 30 words
A method as set forth in claim 43 wherein said step of loading further comprises the step of temporarily storing data items to be loaded into said cache memory means.
Claim 55
Dependent Claim 30 words
A method as set forth in claim 43 wherein said step of loading is performed in response to all Write/Load instructions and associated data items broadcast over said communications bus.
Claim 56
Dependent Claim 30 words
A method as set forth in claim 43 wherein said step of loading is selectively performed in response to Write/Load instructions and associated data items appearing on said communications bus.
Claim 57
Dependent Claim 20 words
A method as set forth in claim 43 wherein said step of updating is implemented utilizing said cache controller means.
Claim 58
Dependent Claim 20 words
A method as set forth in claim 43 wherein said step of loading is implemented utilizing said cache controller means.
Claim 59
Independent Claim 128 words
A method for the updating and loading of variables in a cache memory associated with a processor and coupled to a communications bus, in a bus based computer system architecture, in response to Write/Load commands and a variable associated with each such command broadcast on said communications bus by any external entity, comprising the steps of: (a) updating, in response to a Write/Load command appearing on said communications bus, the value in said cache memory of the variable associated with said command, whenever said variable is in said cache memory, and (b) creating an entry in said cache memory for said variable, and loading said variable therein, without any involvement by said processor, in response to said Write/Load command, whenever said variable is not in said cache memory.
Claim 60
Independent Claim 128 words
A method for the updating and loading of variables in a cache memory associated with a processor and coupled to a communications bus, in a bus based computer system architecture, in response to Write/Load commands and a variable associated with each such command broadcast on said communications bus by any external entity, comprising the steps of: (a) updating, in response to a Write/Load command appearing on said communications bus, the value in said cache memory of the variable associated with said command, whenever said variable is in said cache memory, and (b) creating an entry in said cache memory for said variable, and loading said variable therein, without any involvement by said processor, in response to said Write/Load command, whenever said variable is not in said cache memory.
Claim 61
Dependent Claim 31 words
A method as set forth in claim 49 wherein said step of creating and loading is selectively performed in response to Write/Load instructions and associated variables appearing on said communications bus.
Claim 62
Independent Claim 186 words
A method, for use in a multiprocessor computer system including a plurality of processors, each of which has a cache memory and cache controller combination associated therewith, and a communications bus for interconnecting said plurality of processors via each of their respective associated cache controllers, for enabling at least one of said plurality of processors to load data, via said communications bus, into the cache memory associated with at least one other of said plurality of processors, comprising the steps of: (a) issuing, via said at least one of said plurality of processors, a Write/Load instruction; (b) placing said instruction, via the cache controller associated with said at least one of said plurality of processors, on said communications bus; and (c) responding, via the cache controller associated with said at least one other of said plurality of processors, to said Write/Load instruction by loading said data into the cache memory associated with said at least one other of said plurality of processors without any involvement by said a least one other of said plurality of processors, whenever said data is not stored in said cache memory.
Claim 63
Independent Claim 186 words
A method, for use in a multiprocessor computer system including a plurality of processors, each of which has a cache memory and cache controller combination associated therewith, and a communications bus for interconnecting said plurality of processors via each of their respective associated cache controllers, for enabling at least one of said plurality of processors to load data, via said communications bus, into the cache memory associated with at least one other of said plurality of processors, comprising the steps of: (a) issuing, via said at least one of said plurality of processors, a Write/Load instruction; (b) placing said instruction, via the cache controller associated with said at least one of said plurality of processors, on said communications bus; and (c) responding, via the cache controller associated with said at least one other of said plurality of processors, to said Write/Load instruction by loading said data into the cache memory associated with said at least one other of said plurality of processors without any involvement by said a least one other of said plurality of processors, whenever said data is not stored in said cache memory.
Claim 64
Independent Claim 126 words
A method, for use in a multiprocessor computer system including a plurality of processors, each of which has a cache memory and cache controller combination associated therewith, and a communications bus for interconnecting said plurality of processors via each of their respective associated cache controllers, for loading data from one of said cache controllers into the cache memory associated with another one of said cache controllers, comprising the steps of: (a) recognizing a bus command broadcast on said communications bus by one of said cache controllers, and data associated with said bus command; and (b) enabling another one of said cache controllers to load said data into its associated cache memory without any involvement by the processor associated with said another one of said cache controllers.
Claim 65
Independent Claim 126 words
A method, for use in a multiprocessor computer system including a plurality of processors, each of which has a cache memory and cache controller combination associated therewith, and a communications bus for interconnecting said plurality of processors via each of their respective associated cache controllers, for loading data from one of said cache controllers into the cache memory associated with another one of said cache controllers, comprising the steps of: (a) recognizing a bus command broadcast on said communications bus by one of said cache controllers, and data associated with said bus command; and (b) enabling another one of said cache controllers to load said data into its associated cache memory without any involvement by the processor associated with said another one of said cache controllers.
Claim 66
Independent Claim 115 words
A method, for use in a bus based computer architecture, wherein said architecture includes at least one processor, cache memory owned by a given processor, and cache controller means for interconnecting said given processor and the cache memory owned by said given processor to a communications bus, for enabling at least one external entity to load data into said cache memory via said communications bus without any involvement by said given processor, comprising the steps of: (a) supporting, via said architecture, a Write/Load cache protocol; and (b) recognizing, utilizing said cache controller means, Write/Load bus commands issued by said at least one external entity, to thereby invoke the Write/Load cache protocol supported by said architecture.
Claim 67
Independent Claim 115 words
A method, for use in a bus based computer architecture, wherein said architecture includes at least one processor, cache memory owned by a given processor, and cache controller means for interconnecting said given processor and the cache memory owned by said given processor to a communications bus, for enabling at least one external entity to load data into said cache memory via said communications bus without any involvement by said given processor, comprising the steps of: (a) supporting, via said architecture, a Write/Load cache protocol; and (b) recognizing, utilizing said cache controller means, Write/Load bus commands issued by said at least one external entity, to thereby invoke the Write/Load cache protocol supported by said architecture.
Claim 68
Dependent Claim 16 words
A method as set forth in claim 53 wherein said external entity is a prefetch mechanism.
Claim 69
Dependent Claim 33 words
A method as set forth in claim 51 wherein said step of issuing is used to perform barrier synchronization between at least two of said plurality of processors in said multiprocessor computer system.
Claim 70
Dependent Claim 34 words
A method as set forth in claim 51 wherein said step of issuing is utilized to maintain the coherency of data stored in the set of cache memories associated with said plurality of processors.
Claim 71
Independent Claim 110 words
A method for reducing the traffic on a communications bus interconnecting a plurality of processors in a multiprocessor computer system, comprising the steps of: (a) supporting a Write/Load cache coherency protocol in said computer system, whereby any one of said processors can load a shared variable into caches owned by other ones of said processors without any involvement by said other ones of said processors by broadcasting a single Write/Load command that includes a value for said shared variable on said communications bus; and (b) utilizing Write Load Buffer means to facilitate the temporary storage of data to be loaded into cache memory when utilizing said Write/Load cache coherency protocol.
Claim 72
Independent Claim 110 words
A method for reducing the traffic on a communications bus interconnecting a plurality of processors in a multiprocessor computer system, comprising the steps of: (a) supporting a Write/Load cache coherency protocol in said computer system, whereby any one of said processors can load a shared variable into caches owned by other ones of said processors without any involvement by said other ones of said processors by broadcasting a single Write/Load command that includes a value for said shared variable on said communications bus; and (b) utilizing Write Load Buffer means to facilitate the temporary storage of data to be loaded into cache memory when utilizing said Write/Load cache coherency protocol.
Claim 73
Independent Claim 110 words
A method for use by a processor chip incorporated into a bus based computer system, wherein said processor chip includes a processor, cache memory and a cache controller for coupling said processor and cache memory to a system communications bus, comprising the steps of: (a) recognizing a Write/Load bus command broadcast by an entity external to said chip, and data associated with said command, appearing on said communications bus; (b) updating the contents of said cache memory with said data whenever a cache entry containing a previous value of said data is stored therein; and (c) otherwise loading said data into said cache memory without any involvement by said processor.
Claim 74
Independent Claim 110 words
A method for use by a processor chip incorporated into a bus based computer system, wherein said processor chip includes a processor, cache memory and a cache controller for coupling said processor and cache memory to a system communications bus, comprising the steps of: (a) recognizing a Write/Load bus command broadcast by an entity external to said chip, and data associated with said command, appearing on said communications bus; (b) updating the contents of said cache memory with said data whenever a cache entry containing a previous value of said data is stored therein; and (c) otherwise loading said data into said cache memory without any involvement by said processor.
Claim 75
Dependent Claim 27 words
A method as set forth in claim 58 wherein said processor chip is responsive to bus commands issued by an external entity to support a prefetch mechanism.
Claim 76
Dependent Claim 31 words
A method as set forth in claim 58 wherein said processor chip is responsive to bus commands issued by another processor chip, to maintain cache coherency and to perform barrier synchronization.
Claim 77
Dependent Claim 286 words
Apparatus for implementing a Write/Load bus command in a multiprocessor system having a multiplicity of processor subsystems and a bus interconnecting said processor subsystems, each of said processor subsystems having a cache serving a processor, said apparatus comprising: means for any one of said processor subsystems to broadcast a Write/Load command on said bus, said Write/Load command including a data item; means for each one of said processor subsystems to detect a Write/Load command broadcasted on said bus by any other one of said processor subsystems; means in each one of said processor subsystems, upon detection of a Write/Load command on said bus, for determining whether said data item included with said detected Write/Load command is stored in said cache of said processor subsystem detecting said Write/Load command; means in each one of said processor subsystems, upon determination that a data item included with a detected Write/Load command is stored in said cache of said processor subsystem detecting said Write/Load command, for replacing said data item stored in said cache of said processor subsystem detecting said Write/Load command with said data item included with said detected Write/Load command; means in each one of said processor subsystems, upon determination that a data item included with a detected Write/Load command is not stored in said cache of said processor subsystem detecting said Write/Load command, for storing said data item included with said detected Write/Load command in said cache of said processor subsystem detecting said Write/Load command without any involvement by the processor served by said cache, whereby any one of said processor subsystems can cause a data item to be validly stored in all of said caches of said multiprocessor system through use of said Write/Load bus command.
Claim 78
Dependent Claim 286 words
Apparatus for implementing a Write/Load bus command in a multiprocessor system having a multiplicity of processor subsystems and a bus interconnecting said processor subsystems, each of said processor subsystems having a cache serving a processor, said apparatus comprising: means for any one of said processor subsystems to broadcast a Write/Load command on said bus, said Write/Load command including a data item; means for each one of said processor subsystems to detect a Write/Load command broadcasted on said bus by any other one of said processor subsystems; means in each one of said processor subsystems, upon detection of a Write/Load command on said bus, for determining whether said data item included with said detected Write/Load command is stored in said cache of said processor subsystem detecting said Write/Load command; means in each one of said processor subsystems, upon determination that a data item included with a detected Write/Load command is stored in said cache of said processor subsystem detecting said Write/Load command, for replacing said data item stored in said cache of said processor subsystem detecting said Write/Load command with said data item included with said detected Write/Load command; means in each one of said processor subsystems, upon determination that a data item included with a detected Write/Load command is not stored in said cache of said processor subsystem detecting said Write/Load command, for storing said data item included with said detected Write/Load command in said cache of said processor subsystem detecting said Write/Load command without any involvement by the processor served by said cache, whereby any one of said processor subsystems can cause a data item to be validly stored in all of said caches of said multiprocessor system through use of said Write/Load bus command.

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2000-03-10 2000-09-09 2001-03-11 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2004-03-10 2004-09-09 2005-03-11 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2008-03-10 2008-09-09 2009-03-11 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag