Shared intervention protocol for SMP bus using caches, snooping, tags and prioritizing
First Claim
1. A method of reducing memory latency associated with a read-type operation issued by a requesting processing unit in a multiprocessor computer system, the computer system including a plurality of processing units each having an associated cache, comprising the steps of:
- loading a value from an address of a memory device into a plurality of caches;
identifying a specific cache of the plurality of caches which contains an unmodified copy of the value that was most recently read;
marking the specific cache as containing a most recently read, unmodified copy of the value;
marking the plurality of caches, except the specific cache, as containing shared, unmodified copies of the value;
issuing a message from a requesting processing unit indicating that the requesting processing unit desires to read the value from the address of the memory device; and
transmitting a response from the specific cache indicating that the specific cache can source the value.
3 Assignments
0 Petitions
Accused Products
Abstract
A method of improving memory latency associated with a read-type operation in a multiprocessor computer system is disclosed. After a value (data or instruction) is loaded from system memory into a plurality of caches, one cache is identified as a specific cache which contains an unmodified copy of the value that was most recently read, and that cache is marked as containing the most recently read copy, while the remaining caches are marked as containing shared, unmodified copies of the value. When a requesting processing unit issues a message indicating that it desires to read the value, the specific cache transmits a response indicating that it cache can source the value. The response is transmitted in response to the cache snooping the message from an interconnect which is connected to the requesting processing unit. The response is detected by system logic and forwarded from the system logic to the requesting processing unit. The specific cache then sources the value to an interconnect which is connected to the requesting processing unit. The system memory detects the message and would normally source the value, but the response informs the memory device that the value is to be sourced by the cache instead. Since the cache latency can be much less than the memory latency, the read performance can be substantially improved with this new protocol.
46 Citations
16 Claims
-
1. A method of reducing memory latency associated with a read-type operation issued by a requesting processing unit in a multiprocessor computer system, the computer system including a plurality of processing units each having an associated cache, comprising the steps of:
-
loading a value from an address of a memory device into a plurality of caches; identifying a specific cache of the plurality of caches which contains an unmodified copy of the value that was most recently read; marking the specific cache as containing a most recently read, unmodified copy of the value; marking the plurality of caches, except the specific cache, as containing shared, unmodified copies of the value; issuing a message from a requesting processing unit indicating that the requesting processing unit desires to read the value from the address of the memory device; and transmitting a response from the specific cache indicating that the specific cache can source the value. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A computer system comprising:
-
a memory device; an interconnect connected to said memory device; a plurality of processing units connected to said interconnect, each processing unit having a cache for storing values from said memory device, a given one of said caches further having means for indicating when said given cache contains a most recently read, unmodified copy of a value loaded from said memory device which value has also been contained as a shared, unmodified copy in at least one other of said caches; and means for transmitting a response from said given cache indicating that said given cache can source the value loaded from said memory device to a processing unit requesting to read the value. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16)
-
Specification