A method and apparatus for supporting cache coherency in a multiprocessor
computing environment having multiple processing units, each processing
unit having a local cache memory associated therewith. A snoop filter
device is associated with each processing unit and includes at least one
snoop filter primitive implementing filtering method based on usage of
stream registers sets and associated stream register comparison logic.
From the plurality of stream registers sets, at least one stream register
set is active, and at least one stream register set is labeled historic
at any point in time. In addition, the snoop filter block is operatively
coupled with cache wrap detection logic whereby the content of the active
stream register set is switched into a historic stream register set upon
the cache wrap condition detection, and the content of at least one
active stream register set is reset. Each filter primitive implements
stream register comparison logic that determines whether a received snoop
request is to be forwarded to the processor or discarded.