Each processor (101, 102, 103) in a multiple processor system (100) includes a contingent response unit (121, 122, 123). Each contingent response unit (121, 122, 123) includes a pending operation unit (200) for identifying each pending address bus operation from the respective processor which specifies an address matching a snoop address from another processor. A snoop pipeline is associated with the pending operation unit (200) and includes a plurality of pipeline stages (206). Each snoop pipeline stage (206) has a contingent response flag location (207) and an identifier location (208). When a pending operation from the processor specifies an address which is matched by a younger operation from another processor, a contingent response flag control arrangement uses information from the pending operation unit (200) to set a contingent response flag in a first snoop pipeline stage (206). The contingent response flag control also stores in the first snoop pipeline stage (206) an identifier for the matched pending operation. If the matched pending operation finishes the address bus pipeline unsuccessfully and is itself retried, the contingent response flag control arrangement clears the contingent response flag in the snoop pipeline stage (206) in which the flag then resides. Otherwise the contingent response flag is used to provide a snoop response to the younger operation which matched the pending operation.

 
Web www.patentalert.com

< (none)

< System using priority data of a host recall request to determine whether to release non-volatile storage with another host before processing further recall requests

> Cache coherency protocol having hovering (H), recent (R), and tagged (T) states

> (none)

~ 00010