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
