> > Is there a way in ruby to find which processor a request came from? I was trying
> > to do that but figured that even CacheMsg does not have that field.
>
> Some protocolts have a Requestor field in the Request message. This is of
> type "MachineID" which identifies both the component (L1Cache, L2Cache,
> Directory, etc) and the number.
Oops. Obviously _all_ protocols have the Requestor field in Request
messages! You just need to convert this to processor number.
But for the directory-based CMP protocols, an L2->Memory request message
will fill the Requestor field with the L2Cache component issuing the
request. Therefore if you want to the get originally requesting
L1Cache/Processor, an additional field will need to be added to the
L2->Memory request message because it isn't possible to convert an L2Cache
MachineID to processor number.
|