An apparatus for implementing snooping cache coherence that locally
reduces the number of snoop requests presented to each cache in a
multiprocessor system. A snoop filter device associated with a single
processor includes one or more "scoreboard" data structures that make
snoop determinations, i.e., for each snoop request from another
processor, to determine if a request is to be forwarded to the processor
or, discarded. At least one scoreboard is active, and at least one
scoreboard is determined to be historic at any point in time. A snoop
determination of the queue indicates that an entry may be in the cache,
but does not indicate its actual residence status. In addition, the snoop
filter block implementing scoreboard data structures is operatively
coupled with a cache wrap detection logic means whereby, upon detection
of a cache wrap condition, the content of the active scoreboard is copied
into a historic scoreboard and the content of at least one active
scoreboard is reset.