Hi Erfan,

Multi hops is supported by having the bridging agent (cache or bridge) storing 
the old dest in the packet sender state (which is a stack) and then restoring 
it on the way back. The main issue with having src/dest being (yet another) 
stack is that you have to undo the decision every time a packet is not 
immediately accepted. Another problem is that we give the same packet (pointer) 
to all snoopers and thus make one single packet diverge. If you don't use the 
sender state you would have to take great care to figure out where to route the 
packet.

Andreas

From: Erfan Azarkhish <[email protected]<mailto:[email protected]>>
Reply-To: gem5 users mailing list 
<[email protected]<mailto:[email protected]>>
Date: Thursday, 27 June 2013 16:59
To: gem5 users mailing list <[email protected]<mailto:[email protected]>>
Subject: Re: [gem5-users] A Quick Question

Dear Andreas,

Thank you for your hint,

I noticed that inside the Packet class, the field "dest" is only an integer, so 
packet can not keep a history of its whole routing path, and therefore 
multi-hop routing is not possible in current version of gem5. (Is this correct?)

Do you think if I add a data-structure such as stack to the Packet class, I 
would be able to route back the response over multiple hops?
It might be a starting point for supporting connection of multiple 
interconnects in gem5.

Best Regards,


On Wed, Jun 26, 2013 at 4:07 PM, Andreas Hansson 
<[email protected]<mailto:[email protected]>> wrote:
Hi Erfan,

Today you cannot connect two buses directly to each other. You will need to 
either insert a cache or bridge in between.

The error you see seems to suggest you have connected two ports on the buses to 
each other (which is causing the multiple-range issue).

Andreas

From: Erfan Azarkhish <[email protected]<mailto:[email protected]>>
Reply-To: gem5 users mailing list 
<[email protected]<mailto:[email protected]>>
Date: Wednesday, 26 June 2013 15:02
To: gem5 users <[email protected]<mailto:[email protected]>>
Subject: [gem5-users] A Quick Question

Dear All,

I wanted to know if it is possible to connect two buses to each other. When I 
create the following topology:

Processor ---> MemBus1 ---> MemBus2 ---> SimpleMemory

I get the following error:

fatal: system.membus
1
has two ports with same range:
    system.
membus2.slave[0]
    system.
membus2.slave[0]

I
want to make a complex topology and I need to connect the buses to each other


T
hanks


--
Erfan Azarkhish
Micrel Lab - Viale Carlo Pepoli 3/2 - 40123, Bologna
DEIS - University of Bologna, Italy

-- IMPORTANT NOTICE: The contents of this email and any attachments are 
confidential and may also be privileged. If you are not the intended recipient, 
please notify the sender immediately and do not disclose the contents to any 
other person, use it for any purpose, or store or copy the information in any 
medium. Thank you.

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



--
Erfan Azarkhish
Micrel Lab - Viale Carlo Pepoli 3/2 - 40123, Bologna
DEIS - University of Bologna, Italy

-- IMPORTANT NOTICE: The contents of this email and any attachments are 
confidential and may also be privileged. If you are not the intended recipient, 
please notify the sender immediately and do not disclose the contents to any 
other person, use it for any purpose, or store or copy the information in any 
medium. Thank you.
_______________________________________________
gem5-users mailing list
[email protected]
http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users

Reply via email to