Claims
- 1. In a computer system including a plurality of caching agents and a bus coupling one or more of the plurality of caching agents to one another, a method of maintaining cache coherence, the method comprising the steps of:
- (a) monitoring the bus for a snoopable request, the snoopable request having an address associated with it, and responsive to finding the snoopable request;
- (i) allocating an entry in a snoop queue, the snoop queue having one or more entries,
- (ii) comparing the address of the snoopable request with one or more pending addresses stored in the snoop queue corresponding to one or more pending bus operations,
- (iii) setting a first block condition if there is a match between the address of the snoopable request and the one or more pending addresses stored in the snoop queue, and
- (iv) setting one or more history bits indicating a chronological ordering of the entry in the snoop queue; and
- (b) preventing one or more subsequent snoop operations from starting until the first block condition set in the step (a)(iii) is cleared.
- 2. The method of claim 1 further comprising the step of:
- (a)(v) setting a second block condition if the first block condition of another entry is set in the snoop queue, the step (a)(v) being performed after the step (a)(iv) and before the step (b).
- 3. The method of claim 1 wherein the first block condition prevents the one or more subsequent snoop operations from starting until a blocking snoop operation has been completed.
- 4. The method of claim 1 further comprising a step of
- (a)(v) setting a second block condition if the first block condition of an allocated entry is set in the snoop queue, wherein the second block condition prevents one or more subsequent snoop operations from starting until a blocking snoop operation has been initiated, the step (a)(v) being performed after the step (a)(iv) and before the step (b).
- 5. The method of claim 1 wherein the step (a)(iii) further includes setting the first block condition if a previously-allocated entry does not have an associated address.
Parent Case Info
This is a divisional of application Ser. No. 08/568,248, filed Dec. 6, 1995.
US Referenced Citations (6)
Number |
Name |
Date |
Kind |
5325503 |
Stevens et al. |
Jun 1994 |
|
5335335 |
Jackson et al. |
Aug 1994 |
|
5355467 |
MacWilliams et al. |
Oct 1994 |
|
5463753 |
Fry et al. |
Oct 1995 |
|
5572703 |
MacWilliams et al. |
Nov 1996 |
|
5623628 |
Brayton et al. |
Apr 1997 |
|
Divisions (1)
|
Number |
Date |
Country |
Parent |
568248 |
Dec 1995 |
|