Hi Xi,
My answers are inline...

On Sep 10, 2012, at 1:13 AM, Xi Chen wrote:

> Hi Tushar,
> 
> Can I ask you a problem of router in garnet network? I use fixed pipeline, 
> garnet network.
> 
> I want to capture the request that entering each router, then in 
> network/Garnet/Fixed-pipeline/Router_d.cc, I find that "route_req" method. In 
> this method, I can print out which router is using and which input unit is 
> using and the flit. 
> 
> Here comes the question that I think for each router there should be at most 
> 5 input unit (from east ,west, north, south and cpu), but when I print out 
> input unit id, they are from 0 to 6, total 7 input units. I wonder whether 
> there is difference between input unit and input port. 
> 
Each controller (L1, L2, Directory) creates a NetworkInterface, which adds an 
extra port to each router.

> Another question is flit is the smallest unit of request, I want to find out 
> which cpu sent out this request. So I tried to find the connection between 
> flit and request, when I looked at the flit class,  I cannot find any request 
> pointer, but message pointer which also does not tell the source of the flit. 
> Is there anyway to find out the source cpu id of the request which is 
> entering the current router in "route_req" method. 
> 
I think you should be able to typecast the message pointer to 
RequestMsg/ResponseMsg.
Take a look at build/ALPHA_MOESI_hammer/mem/protocol/RequestMsg.hh which 
inherits from 
mem/ruby/slicc_interface/NetworkMessage.hh which is used inside the network.

You will need to include RequestMsg.h and ResponseMsg.h,
and also typecast it correctly depending on the vnet (request or response etc) 
of the flit.


> Thanks,
> -- 
> Xi Chen

cheers,
Tushar

On Sep 10, 2012, at 1:13 AM, Xi Chen wrote:

> Hi Tushar,
> 
> Can I ask you a problem of router in garnet network? I use fixed pipeline, 
> garnet network.
> 
> I want to capture the request that entering each router, then in 
> network/Garnet/Fixed-pipeline/Router_d.cc, I find that "route_req" method. In 
> this method, I can print out which router is using and which input unit is 
> using and the flit. 
> 
> Here comes the question that I think for each router there should be at most 
> 5 input unit (from east ,west, north, south and cpu), but when I print out 
> input unit id, they are from 0 to 6, total 7 input units. I wonder whether 
> there is difference between input unit and input port. 
> 
> Another question is flit is the smallest unit of request, I want to find out 
> which cpu sent out this request. So I tried to find the connection between 
> flit and request, when I looked at the flit class,  I cannot find any request 
> pointer, but message pointer which also does not tell the source of the flit. 
> Is there anyway to find out the source cpu id of the request which is 
> entering the current router in "route_req" method. 
> 
> Thanks,
> -- 
> Xi Chen

_______________________________________________
gem5-users mailing list
[email protected]
http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users

Reply via email to