Method and apparatus for skipping a snoop phase in sequential accesses by a processor in a shared multiprocessor memory system
First Claim
1. A computer system comprising:
- a system bus;
a plurality of microprocessors coupled to said system bus, said plurality of microprocessors including a first microprocessor that generates successive transaction requests including a first transaction request having a first device ID and a first address followed by a second transaction request having a second device ID and a second address;
a first storage element which contains said first device ID and said first address;
a first comparator circuit coupled to said first storage element, said first comparator circuit provides a positive result when said second device ID equals said first device ID and said second address equals said first address; and
a driver circuit coupled to said first comparator circuit, said driver circuit provides a signal indicating to said plurality of microprocessors that said second transaction request may proceed without waiting for a snoop to be performed if said first comparator circuit provides said positive result.
1 Assignment
0 Petitions
Accused Products
Abstract
A method and apparatus that allows a snoop phase of a memory transaction to be shortened or skipped is described. During processing of a present memory transaction, the ownership of a system bus during previous memory transactions, as well as the data addresses requested for those transactions, are tracked. If the ownership and requested address of the present transaction match those from the previous transaction, a Next Address signal is provided that allows another transaction to proceed before the snoop phase of the present transaction is completed. In alternate embodiments, the ownership and addresses for multiple transactions are tracked and compared with the ownership and addresses of the present transaction. If a match occurs, the Next Address signal is asserted.
20 Citations
20 Claims
-
1. A computer system comprising:
-
a system bus; a plurality of microprocessors coupled to said system bus, said plurality of microprocessors including a first microprocessor that generates successive transaction requests including a first transaction request having a first device ID and a first address followed by a second transaction request having a second device ID and a second address; a first storage element which contains said first device ID and said first address; a first comparator circuit coupled to said first storage element, said first comparator circuit provides a positive result when said second device ID equals said first device ID and said second address equals said first address; and a driver circuit coupled to said first comparator circuit, said driver circuit provides a signal indicating to said plurality of microprocessors that said second transaction request may proceed without waiting for a snoop to be performed if said first comparator circuit provides said positive result. - View Dependent Claims (2, 3, 4)
-
-
5. A method for maintaining data coherency in a multiprocessor computer system comprising the steps of:
-
a) requesting on a system bus a first transaction having a first device ID and a first address; b) storing said first device ID and said first address; c) requesting on said system bus a second transaction having a second device ID and a second address; d) generating a positive result when said second device ID equals said first device ID and said second address equals said first address; e) indicating that said second transaction may proceed without waiting for a snoop to be performed if step d) provides a positive result. - View Dependent Claims (6, 7, 8)
-
-
9. A computer system comprising:
-
means for generating on a system bus successive transaction requests including a first transaction request having a first device ID and a first address followed by a second transaction request having a second device ID and a second address; means for storing said first device ID and said first address; first means for providing a positive result when said second device ID equals said first device ID and said second address equals said first address; and means for indicating that said second transaction request may proceed without waiting for a snoop to be performed if said first means for providing provides said positive result. - View Dependent Claims (10, 11, 12)
-
-
13. A controller controlling a plurality of microprocessors, the controller comprising:
-
an interface circuit which receives successive transaction requests and performs a snoop after each transaction request, said transaction requests include a first transaction request having a first device ID and a first address followed by a second transaction request having a second device ID and a second address; a first storage element coupled to said interface circuit, said first storage element receives and temporarily contains said first device ID and said first address; a first comparator circuit coupled to said first storage element, said first comparator circuit provides a positive result when said second device ID equals said first device ID and said second address equals said first address; and a driver circuit coupled to said first comparator circuit, said driver circuit provides a signal which indicates to the plurality of microprocessors that said second transaction request may proceed without waiting for said snoop to be performed if said first comparator circuit provides said positive result. - View Dependent Claims (14, 15, 16)
-
-
17. A controller controlling a plurality of microprocessors, the controller comprising:
-
means for receiving successive transaction requests and for performing a snoop after each of said transaction requests, said transaction requests include at least a first transaction request having a first device ID and a first address followed by a second transaction request having a second device ID and a second address; first means for receiving and temporarily containing said first device ID and said first address; first comparison means for providing a positive result when said second device ID equals said first device ID and said second address equals said first address; and means for outputting a signal to the plurality of microprocessors to indicate that said second transaction request may proceed without waiting for said snoop to be performed if said first comparison means provides said positive result. - View Dependent Claims (18, 19, 20)
-
Specification