← Back to Patent Explorer
US5335335A Expired / Lapsed US ⏱️ 0.0 years remaining

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

Assignee: Hewlett Packard Development Co LP
•
Filing: 1991-08-30
•
Granted: 1994-08-02
•
Expires: 2011-08-30
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

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.

Inventors

  • 👤 Mike T. Jackson
  • 👤 Jeffrey C. Stevens
  • 👤 Roger E. Tipley

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-27 06:40
CPC Classifications
G; G06; G06F; G06F12/00; G06F12/02; G06F12/08; G06F12/0802; G06F12/0806; G06F12/0815; G06F12/0831

Claims Analysis

Total Claims: 14
Claim 1
Independent Claim 165 words
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.
Claim 2
Dependent Claim 165 words
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.
Claim 3
Dependent Claim 50 words
The computer system of claim 1, wherein said snooping means snoops said latched host bus state after said host bus cycle has completed if said host bus cycle is a write cycle and said snooping means has not snooped said latched host bus state before said host bus cycle completes.
Claim 4
Dependent Claim 45 words
The computer system of claim 2, said cache controller further comprising: means coupled to said host bus and said snooping means for delaying completion of a subsequent cycle after a write cycle if said snooping means has not yet snooped said latched host bus state.
Claim 5
Dependent Claim 28 words
The computer system of claim 3, wherein said delaying means delays completion of said subsequent host bus cycle until said snooping means snoops said latched host bus state.
Claim 6
Dependent Claim 82 words
The computer system of claim 4, wherein the computer system further includes a memory controller coupled to said host bus and said random access memory for controlling accesses of said random access memory, and wherein the computer system includes a means coupled to the host bus which generates a ready signal to complete host bus cycles; and wherein said delaying means provides a signal to said ready signal generating means which prevents said ready signal generating means from generating said ready signal.
Claim 7
Dependent Claim 21 words
The computer system of claim 4, wherein said latched host bus state comprises data, control, and address signals having particular values.
Claim 8
Dependent Claim 71 words
The computer system of claim 1, wherein said host bus cycles are pipelined, wherein an address portion is provided prior to a data portion, and said host bus has a first state at the beginning of a host bus cycle and has a second state at the end of a host bus cycle; wherein said latching means latches said first host bus state at the beginning of said host bus cycle.
Claim 9
Dependent Claim 45 words
The computer system of claim 7, further comprising: means coupled to said host bus and said snooping means for delaying completion of said host bus cycle until said snooping means snoops said latched host bus state if said host bus cycle is a read cycle.
Claim 10
Dependent Claim 69 words
The computer system of claim 8, wherein the computer system includes a memory controller coupled to said host bus and said random access memory for controlling accesses of said random access memory, and wherein said memory controller generates a ready signal to complete each host bus cycle; and wherein said delaying means provided a signal to said memory controller which prevents said memory controller from generating said ready signal.
Claim 11
Dependent Claim 27 words
The computer system of claim 8, wherein said latched host bus state comprises only address and control signals if said host bus cycle is a read cycle.
Claim 12
Dependent Claim 211 words
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.
Claim 13
Dependent Claim 211 words
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.
Claim 14
Dependent Claim 70 words
The computer system of claim 11, wherein the computer system further includes a memory controller coupled to said host bus and said random access memory for controlling accesses of said random access memory, and wherein said memory controller generates a ready signal to complete each host bus cycle; and wherein said delaying means provides a signal to said memory controller which prevents said memory controller from generating said ready signal.

References Cited (Backward Citations)

US4843542A Cited
US5056002A Cited
US4959777A Cited
US5146603A Cited
US5097409A Cited
US4928225A Cited
US5131081A Cited
US5155824A Cited
US5113514A Cited
US5170476A Cited
US5193163A Cited
US5195089A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 1997-08-01 1998-01-31 1998-08-02 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2001-08-01 2002-01-31 2002-08-02 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2005-08-01 2006-01-31 2006-08-02 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag