Re: [gem5-users] simObject clocks and global simulation clock
Andreas, I think my question is still not clear. I'm working on GEM5 to provide my company design team a tool that would simulate their models. Our mainly working is interconnection model. I am trying to model a given architecture with some router models. By extrenal object I mean: When I give this tool with the modeled architecture to the design team, the goal is that they can just parametrize system objects without knowing how the gem5 kernel works. When they come with an object with a clock period less than the tick value I have prefixed, should they modify this tick value to suite their object clocks? Sorry for these questions, I am wondering if the concept of adapting it to the system exists in gem5 because the user of the simulator can not always be the developer of the simulated model. Best, Anny. ___ gem5-users mailing list gem5-users@gem5.org http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users
Re: [gem5-users] simObject clocks and global simulation clock
Do you mean that the tick value does not change over the simulation time? Once it is fixed, its value never changes. Am I right? So the tps_value is always set to true and never to false. Anny, Andreas Hansson via gem5-users gem5.org> writes: ___ gem5-users mailing list gem5-users@gem5.org http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users
Re: [gem5-users] simObject clocks and global simulation clock
Hi Anny, I still do not understand what you are referring to. I think you have to try and up-level your question a bit. As my original response stated, the global time is discretised into Ticks, and all objects will thus convert any cycles etc to a value on this discretised timescale, just like any other discrete-event simulation kernel out there. gem5 is not different in this aspect. If you want to set the Tick resolution to a very large value, go ahead, and if you feel 1 ps is too large already then set it to 1 fs. There is no magic here. Andreas On 22/12/2014 17:00, "Anny via gem5-users" wrote: > >I mean asynchronous object. >The main question is : >Is there a funtion that computes the suitable tick value for the objects >in >the system? > > >Anny, >Best, > > > > > >___ >gem5-users mailing list >gem5-users@gem5.org >http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users > -- 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. ARM Limited, Registered office 110 Fulbourn Road, Cambridge CB1 9NJ, Registered in England & Wales, Company No: 2557590 ARM Holdings plc, Registered office 110 Fulbourn Road, Cambridge CB1 9NJ, Registered in England & Wales, Company No: 2548782 ___ gem5-users mailing list gem5-users@gem5.org http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users
Re: [gem5-users] simObject clocks and global simulation clock
I mean asynchronous object. The main question is : Is there a funtion that computes the suitable tick value for the objects in the system? Anny, Best, ___ gem5-users mailing list gem5-users@gem5.org http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users
Re: [gem5-users] simObject clocks and global simulation clock
Hi Anny, I do not understand the case you are describing. What “external” object are you referring to? Andreas On 22/12/2014 16:43, "Anny via gem5-users" wrote: >Hi Andreas, > >I have one more question. > >In ticks.py, there is a variable tps_fixed initialized to false. This >value >is set to true in fixGlobalFrequency function. Is there a case where this >value is not changed to true? >Suppose that tick value is fixed to 10 ps, when an external object that >comes from another library has its clock period set to 1 ps, to not miss >events of this object, we should change the value tick to 1 ps, is this >done >by the user or there is a function which automatically compute the >suitable >tick value ? > > >Best, > >Anny, > > > > > >___ >gem5-users mailing list >gem5-users@gem5.org >http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users > -- 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. ARM Limited, Registered office 110 Fulbourn Road, Cambridge CB1 9NJ, Registered in England & Wales, Company No: 2557590 ARM Holdings plc, Registered office 110 Fulbourn Road, Cambridge CB1 9NJ, Registered in England & Wales, Company No: 2548782 ___ gem5-users mailing list gem5-users@gem5.org http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users
Re: [gem5-users] simObject clocks and global simulation clock
Hi Andreas, I have one more question. In ticks.py, there is a variable tps_fixed initialized to false. This value is set to true in fixGlobalFrequency function. Is there a case where this value is not changed to true? Suppose that tick value is fixed to 10 ps, when an external object that comes from another library has its clock period set to 1 ps, to not miss events of this object, we should change the value tick to 1 ps, is this done by the user or there is a function which automatically compute the suitable tick value ? Best, Anny, ___ gem5-users mailing list gem5-users@gem5.org http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users
Re: [gem5-users] simObject clocks and global simulation clock
Ok thank you Andreas for your reply, Best, Anny ___ gem5-users mailing list gem5-users@gem5.org http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users
Re: [gem5-users] simObject clocks and global simulation clock
No. There is a global time, and we discretise it into units of Ticks, by default ps. You can set if to any arbitrarily fine-grained quanta. Andreas On 19/12/2014 11:48, "Anny via gem5-users" wrote: >All objects must have a clock? > >Anny, > > >___ >gem5-users mailing list >gem5-users@gem5.org >http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users > -- 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. ARM Limited, Registered office 110 Fulbourn Road, Cambridge CB1 9NJ, Registered in England & Wales, Company No: 2557590 ARM Holdings plc, Registered office 110 Fulbourn Road, Cambridge CB1 9NJ, Registered in England & Wales, Company No: 2548782 ___ gem5-users mailing list gem5-users@gem5.org http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users
Re: [gem5-users] simObject clocks and global simulation clock
All objects must have a clock? Anny, ___ gem5-users mailing list gem5-users@gem5.org http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users
Re: [gem5-users] simObject clocks and global simulation clock
Hi Anny, As I said in my last e-mail response: "At run time, we turn relative time in cycles into absolute time when scheduling/executing events in the system.² Thus all events will be scheduled on an absolute time scale. and "There is a global absolute time in gem5, and it is measured in the abstract unit ³Ticks², defaulting to 1 ps.² That should hopefully answer your questions. Andreas On 18/12/2014 21:27, "Anny via gem5-users" wrote: > > >Hi, > >Thank you Andreas. The tick value may not be prefixed because it may be >equal to the pgcd of clock periods of all objects in the system, Am I >rignt? >Othewise, this is not accurate. > >I have another question about this: > >In gem5, objects can have clocks or not (no clocked objects exist). What >is >the unit time of a no clocked object ? I mean when we have two abjects A >with a clock clk and B without clock exchange data, how are A and B >synchronized? When B schedules an event, how the event stamp is computed? > > >I don't know if my question is clear. > >Best, > >Anny. > > > >___ >gem5-users mailing list >gem5-users@gem5.org >http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users > -- 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. ARM Limited, Registered office 110 Fulbourn Road, Cambridge CB1 9NJ, Registered in England & Wales, Company No: 2557590 ARM Holdings plc, Registered office 110 Fulbourn Road, Cambridge CB1 9NJ, Registered in England & Wales, Company No: 2548782 ___ gem5-users mailing list gem5-users@gem5.org http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users
Re: [gem5-users] simObject clocks and global simulation clock
Hi, Thank you Andreas. The tick value may not be prefixed because it may be equal to the pgcd of clock periods of all objects in the system, Am I rignt? Othewise, this is not accurate. I have another question about this: In gem5, objects can have clocks or not (no clocked objects exist). What is the unit time of a no clocked object ? I mean when we have two abjects A with a clock clk and B without clock exchange data, how are A and B synchronized? When B schedules an event, how the event stamp is computed? I don't know if my question is clear. Best, Anny. ___ gem5-users mailing list gem5-users@gem5.org http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users
Re: [gem5-users] simObject clocks and global simulation clock
Hi Anny, The short answer: there is no global “clock” in gem5 The long answer: There is a global absolute time in gem5, and it is measured in the abstract unit “Ticks”, defaulting to 1 ps. Do not think of Ticks as clock cycles. Instead, it is effectively the resolution of a digitised continuous time scale that everyone agrees on. 10 Ticks is the same to every object, just like 50 ns is the same. The clocks in the different objects are used to enable us to express time (throughput and latency) in cycles. For example, a module might have a delay of 3 Cycles, and that then gets translated to a absolute time (Ticks) by multiplying with the current clock of the clock domain. Thus, what a cycle means is different for different objects, and also possibly changing over time. At run time we turn relative time in cycles into absolute time when scheduling/executing events in the system. I hope that answers your question. Andreas From: Vanchinathan Venkataramani via gem5-users mailto:gem5-users@gem5.org>> Reply-To: Vanchinathan Venkataramani mailto:dcsv...@gmail.com>>, gem5 users mailing list mailto:gem5-users@gem5.org>> Date: Tuesday, December 16, 2014 at 4:04 PM To: Anny mailto:anya.k...@gmail.com>>, gem5 users mailing list mailto:gem5-users@gem5.org>> Subject: Re: [gem5-users] simObject clocks and global simulation clock Ticks is the basic unit of time in gem5. gem5 uses this for synchronization. Every system cycle is made up of n number of ticks ticks. For a system unit with frequency = 2 GHZ, one cycle = 500 ticks On Tue, Dec 16, 2014 at 7:04 PM, Anny via gem5-users mailto:gem5-users@gem5.org>> wrote: Hi all, I have a question about clocks on gem5. In gem5, it seems that there is a global simulation clock and every simObject has a clock domain. The eventq is sorted in time. When two objects with two different clocks schedule two events on eventq, how the order is determined since the two objects have different clocks? Are all objects synchronious? it seems that everything in the system is based of one clock (global simulation clock)? It is binding. Best, Anny. ___ gem5-users mailing list gem5-users@gem5.org<mailto:gem5-users@gem5.org> http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users -- 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. ARM Limited, Registered office 110 Fulbourn Road, Cambridge CB1 9NJ, Registered in England & Wales, Company No: 2557590 ARM Holdings plc, Registered office 110 Fulbourn Road, Cambridge CB1 9NJ, Registered in England & Wales, Company No: 2548782___ gem5-users mailing list gem5-users@gem5.org http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users
Re: [gem5-users] simObject clocks and global simulation clock
Ticks is the basic unit of time in gem5. gem5 uses this for synchronization. Every system cycle is made up of n number of ticks ticks. For a system unit with frequency = 2 GHZ, one cycle = 500 ticks On Tue, Dec 16, 2014 at 7:04 PM, Anny via gem5-users wrote: > > Hi all, > > I have a question about clocks on gem5. In gem5, it seems that there is a > global simulation clock and every simObject has a clock domain. The eventq > is sorted in time. When two objects with two different clocks schedule two > events on eventq, how the order is determined since the two objects have > different clocks? Are all objects synchronious? it seems that everything in > the system is based of one clock (global simulation clock)? It is binding. > > > Best, > Anny. > > ___ > gem5-users mailing list > gem5-users@gem5.org > http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users > ___ gem5-users mailing list gem5-users@gem5.org http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users
[gem5-users] simObject clocks and global simulation clock
Hi all, I have a question about clocks on gem5. In gem5, it seems that there is a global simulation clock and every simObject has a clock domain. The eventq is sorted in time. When two objects with two different clocks schedule two events on eventq, how the order is determined since the two objects have different clocks? Are all objects synchronious? it seems that everything in the system is based of one clock (global simulation clock)? It is binding. Best, Anny. ___ gem5-users mailing list gem5-users@gem5.org http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users