Snoop filter for use in multiprocessor computer systems
AssigneeSun Microsystems, Inc.
InventorAndrew E. Phelps
Life of this patent
Estimating the term…
Abstract
An improved method and apparatus for distributing transactions among a plurality of groups of processors in a multiprocessor computer system are disclosed. An embodiment of the invention includes the following operations. First, receiving an address request at a first group of processors. The address request is associated with a memory address corresponding to a requested memory page. Next, identifying those of the groups of processors that are interested in the address request and identifying those of the groups of processors that are uninterested in the address request. Thereafter, substantially simultaneously broadcasting the address request to the interested groups of processors and not to the uninterested groups of processors.
Claims20
A method for distributing address requests among a plurality of groups of processors in a multiprocessor computer system, said method comprising:
- receiving an address request at a first group of processors, the address request being associated with a memory address corresponding to a requested memory page;
- identifying those of the groups of processors that are interested in the address request and identifying those of the groups of processors that are uninterested in the address request;
- substantially simultaneously broadcasting the address request to the interested groups of processors and not to the uninterested groups of processors;
- identifying at least one non-conflicting address request requiring distribution to only at least one of the uninterested groups of processors;
- and
- distributing the at least one non-conflicting address request to the at least one of the uninterested groups of processors substantially simultaneously with said broadcasting.
A multiprocessor computer system, comprising:
- a plurality of groups of processors, the plurality of groups of processors including at least,
- a first group of processors which receives an address request, the address request being associated with a memory address corresponding to a requested memory page,
- an interested group of processors, the interested group of processors including those of the groups of processors that are interested in the address request, and
- an uninterested group of processors, the uninterested group of processors including those of the groups of processors that are not interested in the address request;
- a plurality of address repeaters, each of the address repeaters being associated with one of the groups of processors, each of the address repeaters being capable of receiving and broadcasting an address request;
- a plurality of snoop filters, each of the snoop filters being associated with one of the group of processors, each of the snoop filters being capable of identifying the interested groups of processors and the uninterested groups of processors;
- and
- an address interconnect, the address interconnect being electrically connected to each of the snoop filter associated with each of the group of processors, the address interconnect being capable of substantially simultaneously broadcasting the address request to the interested groups of processors and not to the uninterested groups of processors, wherein the address interconnect further comprises a conflict arbiter that resolves conflicts between address requests, and wherein the address interconnect operates to identify at least one non-conflicting address request requiring distribution to only at least one of the uninterested groups of processors, the at least one non-conflicting address request is distributed to the at least one of the uninterested groups of processors substantially simultaneously with the broadcast of the address request to the interested groups of processors.
Dependencies are inferred from the claim text.