----- Original Message -----
Sent: Friday, January 12, 2007 2:30
AM
Subject: Re: [Gems-users] Invalidate
directory entry
Sorry, I should have explained more.
Buffers connected not only
depending on their virtual_network No. but also on their direction. Moreover,
the machine that a buffer belongs to is also a reference.
For example: We know that L1 cache can only connected with L2 cache but not
directory. Therefore, the following two buffers are connected. because they
are a pair -- "From" and "To".
And the messages they transfered are the
same.
L1Cache.sm file
>>>>>>>>>>>
MessageBuffer requestToL1Cache, network="From", virtual_network="2",
ordered="true";
========= This buffer is an inport buffer because its
network is "From", which meanse that it is a buffer used to store request or
response from others to this machine.
L2Cache.sm
file
>>>>>>>>> MessageBuffer
L1RequestFromL2Cache, network="To", virtual_network="2", ordered="true";
// this L2 bank -> a local L1
========= This buffer is an outport buffer
because its network is "To", which meanse that it is a buffer used to store
request or response from this machine to other machines.
This two
buffers are connected, because
While the following buffer should not connected to the above buffers
because messages it transferred are different. In fact, For L2 cache, it
should has double buffers than L1 cache and directory because it is a hinge
connected both L1 cache and directory.
The fowllowing buffer should
connected
L2Cache.sm file
>>>>>>>>>
MessageBuffer forwardedRequestToL2Cache, network="From", virtual_network="2",
ordered="true"; // mod-directory -> this L2bank
========= This
buffer is an inport buffer because its network is "From", which meanse that it
is a buffer used to store request or response from others to this
machine.
For this protocol -- MSI_MOSI_CMP_directory,
forwardedRequestToL2Cache including both directory requests and other L2 bank
requests to this L2 bank.
with
dir.sm
file
>>>>>>>>> MessageBuffer
forwardedRequestFromDir, network="To", virtual_network="2", ordered="true";
========= Because MSI_MOSI_CMP_directory protocol allow datablk
transferring among L2 banks, directory will resend a L2 bank request to a L2
bank who has the data.
Hope I have explained clearly this time:_)