Snooper circuit of a multi-processor system
First Claim
1. A snooper circuit for maintaining cache coherency between the main memory and the cache memory in a multi-processor system including a plurality of processor boards each having a CPU, cache memory and cache controller for controlling the cache memory, which are connected to each other with a local bus, at least one main memory, and a system bus connecting the processor board and the main memory, the snooper circuit comprising:
- an address tag memory for storing the address of the cache memory of the processor board to which the address tag memory belongs, receiving the address operated on the system bus by an other requester, and outputting an address match signal if the received address matches the stored address;
a state tag memory for storing the data state of the matched address;
a multiplexer for providing tag addresses to both said address tag memory and said state tag memory;
a first comparator for comparing the address driven by the other requester and the address driven by a snooper controller and generating an output indicative of the results of the comparison;
a second comparator for latching the address driven by the CPU at the starting time of the CPU'"'"'s bus operation, and comparing the monitored address on the system bus with the latched address at a predetermined interval and generating an output indicative of the results of the comparison; and
the snooper controller for receiving the output of the first comparator, determining, before finish of the bus operation requested by a specific requester, whether the other requester requests the bus operation for the same address according to the output of the second comparator, outputting a predetermined cache coherency signal on the system bus according to the determined results and the address match signal, outputting on-the local bus a first control signal for write-back, a second control signal for updating state, a third control signal for controlling a data buffer and fourth control signal for retrying of the CPU, and referring or updating the state tag memory.
2 Assignments
0 Petitions
Accused Products
Abstract
A snooper circuit of a multi-processor system includes a plurality of processor boards each having a central processing unit, a cache memory, a cache controller to control the cache memory and a snooper controller, a main memory, and a system bus for interconnecting these. The snooper circuit comprises an address tag memory, a state tag memory, a first comparator, a second comparator and the snooper controller for judging the address match between the other requester and the snooper controller by receiving the output of the first comparator, judging whether bus operation for the same address is doubly requested before the bus operation is finished by receiving the output of the second comparator, offering output predetermined cache coherency signal on the system bus according to the judged result and the address match signal between the other requester and the cache memory, and offering output first control signal for write-back, second control signal for updating state, third control signal for controlling a data buffer and fourth control signal for retrying of the CPU and referring or updating the data of the state tag memory, and maintains the cache coherency between the main memory and the cache memories.
79 Citations
4 Claims
-
1. A snooper circuit for maintaining cache coherency between the main memory and the cache memory in a multi-processor system including a plurality of processor boards each having a CPU, cache memory and cache controller for controlling the cache memory, which are connected to each other with a local bus, at least one main memory, and a system bus connecting the processor board and the main memory, the snooper circuit comprising:
-
an address tag memory for storing the address of the cache memory of the processor board to which the address tag memory belongs, receiving the address operated on the system bus by an other requester, and outputting an address match signal if the received address matches the stored address; a state tag memory for storing the data state of the matched address; a multiplexer for providing tag addresses to both said address tag memory and said state tag memory; a first comparator for comparing the address driven by the other requester and the address driven by a snooper controller and generating an output indicative of the results of the comparison; a second comparator for latching the address driven by the CPU at the starting time of the CPU'"'"'s bus operation, and comparing the monitored address on the system bus with the latched address at a predetermined interval and generating an output indicative of the results of the comparison; and the snooper controller for receiving the output of the first comparator, determining, before finish of the bus operation requested by a specific requester, whether the other requester requests the bus operation for the same address according to the output of the second comparator, outputting a predetermined cache coherency signal on the system bus according to the determined results and the address match signal, outputting on-the local bus a first control signal for write-back, a second control signal for updating state, a third control signal for controlling a data buffer and fourth control signal for retrying of the CPU, and referring or updating the state tag memory. - View Dependent Claims (2, 3)
-
-
4. A multi-processor system comprising:
- a plurality of processor boards each having a CPU, cache memory and cache controller for controlling the cache memory, which are connected to each other with a local bus;
at least one main memory; a system bus connecting the processor board and the main memory; and a snooper circuit located on the processor board, the snooper circuit including; address tag memory means for storing an address of the cache memory of the processor board to which the address tag memory belongs, receiving the address operated on the system bus by an other requester, and outputting an address match signal if the received address matches the stored address; a state tag memory for storing data state of the matched address; a multiplexer for providing tag addresses to both said address tag memory and said state tag memory; a first comparator means for comparing the address driven by the other requester and the address driven by snooper controller and generating a signal indicative of the results of the comparison; a second comparator means for latching the address driven by the CPU at the starting time of the CPU'"'"'s bus operation, and comparing the monitored address on the system bus with the latched address at a predetermined interval and generating a signal indicative of the results of the comparison; and a snooper controller means for determining whether the address driven by the other requester matches the address of the snooper controller according to the signal of the first comparator, determining, before finish of the bus operation requested by a specific requester, whether the other requester requests the bus operation for the same address according to the signal of the second comparator, outputting a predetermined cache coherency signal on the system bus according to the determined results and the address match signal, outputting on the local bus a first control signal for write-back, a second control signal for updating state, a third control signal for controlling a data buffer and fourth control signal for retrying of the CPU, and
- a plurality of processor boards each having a CPU, cache memory and cache controller for controlling the cache memory, which are connected to each other with a local bus;
Specification