Method and apparatus for single-stepping coherence events in a multiprocessor system under software control
First Claim
1. An apparatus for monitoring processing of coherence event signals in a multiprocessor system, said multiprocessor system having a plurality of processors, each processor having a dedicated memory storage device, said processors generating coherence events broadcast to other processors, each said processor having an associated coherence protocol unit comprising:
- a plurality of multiple coherence ports for receiving said coherence event signals from each processor in said multiprocessor system;
a coherence traffic processing unit for processing said coherence event signals and forwarding said processed coherence event signals to said processor to which said coherence protocol unit is attached;
a coherence port unit for receiving and transmitting said forwarded coherence event signals from said coherence traffic processing unit to said processor;
one or more mode registers programmed to receive one or more bit values that, when set, initiate performing a single-step operation in said multiprocessor system; and
one or more single-step registers programmed to receive one or more bit values that, when set, initiate processing of a single coherence event signal in a single-step operation mode,wherein said coherence port unit further comprises;
a state machine coupled to said one or more mode registers and said one or more single-step registers for determining the status of said one or more mode registers and said one or more single-step registers; and
,a data path coupled to said coherence traffic processing unit and said processor, wherein said coherence event signals are processed by said data path under control of said state machine.
2 Assignments
0 Petitions
Accused Products
Abstract
An apparatus and method are disclosed for single-stepping coherence events in a multiprocessor system under software control in order to monitor the behavior of a memory coherence mechanism. Single-stepping coherence events in a multiprocessor system is made possible by adding one or more step registers. By accessing these step registers, one or more coherence requests are processed by the multiprocessor system. The step registers determine if the snoop unit will operate by proceeding in a normal execution mode, or operate in a single-step mode.
122 Citations
17 Claims
-
1. An apparatus for monitoring processing of coherence event signals in a multiprocessor system, said multiprocessor system having a plurality of processors, each processor having a dedicated memory storage device, said processors generating coherence events broadcast to other processors, each said processor having an associated coherence protocol unit comprising:
-
a plurality of multiple coherence ports for receiving said coherence event signals from each processor in said multiprocessor system; a coherence traffic processing unit for processing said coherence event signals and forwarding said processed coherence event signals to said processor to which said coherence protocol unit is attached; a coherence port unit for receiving and transmitting said forwarded coherence event signals from said coherence traffic processing unit to said processor; one or more mode registers programmed to receive one or more bit values that, when set, initiate performing a single-step operation in said multiprocessor system; and one or more single-step registers programmed to receive one or more bit values that, when set, initiate processing of a single coherence event signal in a single-step operation mode, wherein said coherence port unit further comprises; a state machine coupled to said one or more mode registers and said one or more single-step registers for determining the status of said one or more mode registers and said one or more single-step registers; and
,a data path coupled to said coherence traffic processing unit and said processor, wherein said coherence event signals are processed by said data path under control of said state machine. - View Dependent Claims (2, 3, 4, 5, 6, 7, 15)
-
-
8. A method for monitoring the processing of coherence event signals in a multiprocessor system, said multiprocessor system having a plurality of processors, each processor having a dedicated memory storage device, said processors generating coherence events broadcast to other processors, each said processor having an associated coherence protocol unit, said method comprising:
-
receiving said coherence event signals from each processor in said multiprocessor system at a plurality of multiple coherence ports; processing said received coherence event signals at a coherence traffic processing unit and forwarding said processed coherence event signals to said processor; receiving said forwarded coherence event signals at a coherence port unit and transmitting said coherence event signals to said processor; providing one or more programmed mode registers for receiving one or more bit values that, when set, initiate performing a single-step operation in said multiprocessor system; and
providing one or more programmed single-step registers for receiving one or more bit values that, when set, initiate processing of a single coherence event signal in a single-step operation mode, wherein receiving said forwarded coherence event signals at a coherence port to processor unit further comprises;determining the status of said one or more mode registers and said one or more single-step registers by providing a state machine coupled to said one or more mode registers and said one or more single-step registers, wherein a data path couples said coherence traffic processing unit and said processor, and wherein said data path provides flow control of said coherence event signals; and controlling said flow of coherence event signals by gating said data path under the control of said state machine. - View Dependent Claims (9, 10, 11, 12, 13, 16)
-
-
14. A computer program storage device, readable by machine, tangibly embodying a program of instructions executable by a machine for performing a method for monitoring processing of coherence event signals in a multiprocessor system, said multiprocessor system having a plurality of processors, each processor having a dedicated memory storage device, said processors generating coherence events broadcast to other processors, each said processor having an associated coherence protocol unit, said method comprising:
-
receiving said coherence event signals from each processor in said multiprocessor system at a plurality of multiple coherence ports; processing said received coherence event signals at a coherence traffic processing unit and forwarding said processed coherence event signals to said processor; receiving said forwarded coherence event signals at a coherence port unit and transmitting said coherence event signals to said processor; providing one or more programmed mode registers for receiving one or more bit values that, when set, initiate performing a single-step operation in said multiprocessor system; and providing one or more programmed single-step registers for receiving one or more bit values that, when set, initiate processing of a single coherence event signal in a single-step operation mode, wherein receiving said forwarded coherence event signals at a coherence port to processor unit further comprises; determining the status of said one or more mode registers and said one or more single-step registers by providing a state machine coupled to said one or more mode registers and said one or more single-step registers, wherein a data path couples said coherence traffic processing unit and said processor, and wherein said data path provides flow control of said coherence event signals; and controlling said flow of coherence event signals by gating said data path under the control of said state machine.
-
-
17. A multiprocessor system comprising:
-
a plurality of respective parallel communication paths, each communication path comprising; at least one respective processor; at least one respective cache unit, each respective cache unit being associated with the respective processor in the communication path; means for coupling to a main memory; and a plurality of respective coherence protocol units, each respective coherence protocol unit operating in parallel with an associated one of the respective parallel communication paths and being distinct from the respective cache unit associated with the processor in the respective communication path, each coherence protocol unit comprising; at least one respective coherence port for communicating coherence signals with other coherence protocol units; one or more mode registers programmed to receive one or more bit values that, when set, initiate performing a single-step operation in said multiprocessor system; one or more single-step registers programmed to receive one or more bit values that, when set, initiate processing of a single coherence event signal in a single-step operation mode; at least one respective coherence processor for processing coherence signals received at the respective coherence port to selectively discern coherence events, responsive to a selected one of normal and single step modes; and means for communicating coherence events to the respective processor in the respective communication path, responsive to the selected one of the normal and single step modes, wherein said coherence port unit further comprises; a state machine coupled to said one or more mode registers and said one or more single-step registers for determining a status of respective said one or more mode registers and said one or more single-step registers; and
,a data path coupled to said coherence processor and said processor, wherein said coherence event signals are processed by said data path under control of said state machine.
-
Specification