Thanks Jason!

I see that this option called ports and it does work.
Is there any other impact of this option on the implementation or only on the 
transition_per_cycle ?

About the example, on my case it should be split to at least 2 different 
clocks, but I understand the cases that 2 transition might occur on same cycle, 
I'll look into the resource tracking example, this might be what I'm looking 
for.

Thanks,

   Hagai

From: gem5-users [mailto:[email protected]] On Behalf Of Jason 
Lowe-Power
Sent: Monday, July 24, 2017 5:21 PM
To: gem5 users mailing list <[email protected]>
Subject: Re: [gem5-users] coherence state machine - 1 event per clock

Hi Hagai,

You can limit the transitions per cycle with the option "transitions_per_cycle" 
on each controller.

Note that some of the transitions are "logical" and not what a real 
implementation would do. This is why the default transitions per cycle is 
higher. FOr instance, in your example, the 4 transitions are really just one 
"real" transition, but uses more logical transitions for simplicity of 
implementation.

There is some support in Ruby for tracking resources by tagging each 
transition. See MOESI_AMD_Base-CorePair.sm for an example of how to do this.

Jason

On Mon, Jul 24, 2017 at 2:39 AM Hagai David 
<[email protected]<mailto:[email protected]>> wrote:
Hello,

I'm a new gem5 user and simulating the coherent protocol of MESI with two level 
of caches.
I see on the ProtocolTrace log file that several transition of the same address 
can occur at the same cycle.
See below:

7263   0    L2Cache             Unblock                MT_SB>SS     [0x400, 
line 0x400]
7263   0    L2Cache             L1_GETS               SS>SS             [0x400, 
line 0x400]
7263   0    L2Cache             L1_GETS               SS>SS             [0x400, 
line 0x400]
7263   0    L2Cache             L1_GET_INSTR     SS>SS             [0x400, line 
0x400]

All these 4 messages are accepted and influence the state machine (even though 
it seems like the state kept the same (SS>SS) the requestor has added to the 
sharer list).
I was expecting to have only 1 event per cycle that will impact the state 
machine.

What/Where is the best way to define this restriction (1 message at a clock) on 
All cache level's ?

Thanks,

   Hagai
_______________________________________________
gem5-users mailing list
[email protected]<mailto:[email protected]>
http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users<https://emea01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fm5sim.org%2Fcgi-bin%2Fmailman%2Flistinfo%2Fgem5-users&data=02%7C01%7Chagai%40mellanox.com%7Cd6f28da5717f41320ac208d4d29f3e4f%7Ca652971c7d2e4d9ba6a4d149256f461b%7C0%7C0%7C636365028765300144&sdata=gM4ZIOZL9wYOMb85H7Q6Ce3D%2F%2BeqlIm0ZK9TwIbzLgQ%3D&reserved=0>
_______________________________________________
gem5-users mailing list
[email protected]
http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users

Reply via email to