Multiprocessor cache snoop access protocol wherein snoop means performs snooping operations after host bus cycle completion and delays subsequent host bus cycles until snooping operations are completed
First Claim
1. A computer system having guaranteed cache controller snoop access, the computer system comprising:
- a host bus having a state when a cycle is executing;
random access memory coupled to said host bus;
one or more microprocessors coupled to said host bus; and
at least one other device coupled to said host bus for performing cycles on said host bus;
wherein, each of said microprocessors has an associated cache memory and cache controller coupled to said host bus for performing cycles on said host bus, each of said cache controllers snooping said host bus while other cache controllers and other devices are performing cycles on said host bus which require snooping, said cache controllers including;
means coupled to said host bus for latching the state of said host bus during a host bus cycle; and
means coupled to said latching means for snooping said host bus cycle from said latched host bus state after said host bus cycle is no longer present on said host bus.
3 Assignments
0 Petitions
Accused Products
Abstract
A method and apparatus for enabling a dual ported cache system in a multiprocessor system to guarantee snoop access to all host bus cycles which require snooping. The cache controller includes a set of latches coupled to the host bus which it uses to latch the state of the host bus during a snoop cycle if the cache controller is unable to immediately snoop that cycle. The cache controller latches that state of the host bus in the beginning of a cycle and preserves this state throughout the cycle due to the effects of pipelining on the host bus. In addition, the cache controller is able to delay host bus cycles to guarantee snoop access to host bus cycles which require snooping. The cache controller generally only delays a host bus cycle when it is already performing other tasks, such as servicing its local processor, and cannot snoop the host bus cycle immediately. When the cache controller latches the state of the bus during a write cycle, it only begins to delay the host bus after a subsequent cycle begins. In this manner, one write cycle can complete on the host bus before the cache controller delays any cycles, thereby reducing the impact of snooping on host bus bandwidth. Read cycles are always delayed until the cache controller can complete the snooping operation because the cache may be the owner of the data and a write back cycle may be necessary.
103 Citations
12 Claims
-
1. A computer system having guaranteed cache controller snoop access, the computer system comprising:
-
a host bus having a state when a cycle is executing; random access memory coupled to said host bus; one or more microprocessors coupled to said host bus; and at least one other device coupled to said host bus for performing cycles on said host bus; wherein, each of said microprocessors has an associated cache memory and cache controller coupled to said host bus for performing cycles on said host bus, each of said cache controllers snooping said host bus while other cache controllers and other devices are performing cycles on said host bus which require snooping, said cache controllers including; means coupled to said host bus for latching the state of said host bus during a host bus cycle; and means coupled to said latching means for snooping said host bus cycle from said latched host bus state after said host bus cycle is no longer present on said host bus. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A computer system having guaranteed cache controller snoop access, the computer system comprising:
-
a host bus having a state when a cycle is executing; random access memory coupled to said host bus; multiple microprocessors coupled to said host bus for performing cycles on said host bus, wherein, each of said microprocessors have an associated cache memory and cache controller coupled to said host bus for performing host bus cycles, said cache controllers including; a snooping mechanism coupled to said host bus which snoops said host bus while other cache controllers and devices are performing cycles on said host bus which require snooping; tag memory coupled to said snooping mechanism and said associated microprocessor which is accessed by either said associated microprocessor or said snooping mechanism at any one time; means coupled to said host bus and said tag memory for delaying a host bus cycle if said tag memory is being accessed by said cache controller'"'"'s associated microprocessor; means coupled to said snooping mechanism and said host bus for snooping said host bus cycle after said processor tag memory access is completed; and means coupled to said delaying means and said snooping means for allowing said host bus cycle to complete after said snooping means completes snooping said host bus cycle. - View Dependent Claims (12)
-
Specification