Page 118 just tells us the FUNCTION tick() does necessary operation for an
instruction. Especially, it calculates the instruction latency (or delay).
Please note that the last few lines in this function (see
src/cpu/simple/atomic.cc, line 596~600).
===============================
if (latency < ticks(1))
Latency = ticks(1);
if (_status != Idle)
Schedule(tickEvent, curTick() + latency);
===============================
The related function ticks() is defined in src/cpu/base.hh, which simply do
the latency calculation based on the cycle number of the instruction
(parameter) and the clock;
-Tao
-----Original Message-----
From: [email protected] [mailto:[email protected]] On
Behalf Of Mahmood Naderan
Sent: Monday, September 19, 2011 12:51 PM
To: gem5 users mailing list
Subject: Re: [gem5-users] is tick == cycle ?
If that is the case, then can you justify slide 118 with your comment?
On 9/19/11, Tao Zhang <[email protected]> wrote:
> Hi Mahmood,
>
> From my point of view, tick is the time unit that can be treated as
> 1ps. For example, if one sets the clock frequency as "1GHz". The tick
> increases by every thousand. Of course, GEM5 may not execute one
> instruction in every clock cycle (CPI not equal to 1). So one
> instruction can stall and consumes thousands of ticks...
>
> -Tao
>
> -----Original Message-----
> From: [email protected] [mailto:[email protected]]
> On Behalf Of Mahmood Naderan
> Sent: Monday, September 19, 2011 11:02 AM
> To: gem5 users mailing list
> Subject: Re: [gem5-users] is tick == cycle ?
>
> But from page 29, we can conclude
> 1 cycle = n picoseconds = n tick
>
> Is that true?
>
> On 9/19/11, Steve Reinhardt <[email protected]> wrote:
>> Page 118 of the tutorial is talking about the "tick()" method of the
>> CPU, which is called every CPU cycle. As described on page 29 of the
>> tutorial, and in the email you reference, the "tick" unit that
>> measures global time is not related to the clock cycle. These are
>> not directly related, i.e., the
>> tick() method is not called on every tick. In retrospect I suppose
>> the naming is suboptimal.
>>
>> Steve
>>
>> On Mon, Sep 19, 2011 at 5:01 AM, Mahmood Naderan
>> <[email protected]>wrote:
>>
>>> Hi,
>>> From page 118 of the tutorial, it seems that tick() is equal to cycle.
>>> In another word, every tick(0) is considered as a cycle 0. However
>>> from what is stated at
>>> http://www.mail-archive.com/[email protected]/msg05247.html, they
>>> differ in concept. Any exaplain about that is appreciated.
>>>
>>> --
>>> // Naderan *Mahmood;
>>> _______________________________________________
>>> gem5-users mailing list
>>> [email protected]
>>> http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users
>>>
>>
>
>
> --
> --
> // Naderan *Mahmood;
> _______________________________________________
> gem5-users mailing list
> [email protected]
> http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users
>
> _______________________________________________
> gem5-users mailing list
> [email protected]
> http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users
>
--
--
// Naderan *Mahmood;
_______________________________________________
gem5-users mailing list
[email protected]
http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users
_______________________________________________
gem5-users mailing list
[email protected]
http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users