Hello,
I hope this is the right place for asking my question :)
We want to implement dynamic frequency scaling in m5. In the end the
frequency should be decreased when the processor is idle and increased
if instructions are executed.
At the moment we are using the Alpha ISA and the O3CPU in SE-mode
Our first intention was to use the cpu.cc in src/cpu/o3. In the
routine FullO3CPU<Impl>::tick() we wanted to implement the frequency
changing (by changing the clock variable). So far this is working but
we discovered one problem. If we change the frequency only once in the
first cycle before the first "tick" is executed (meaning before
fetch.tick() is executed for the first time), the simulator needs a
different amount of cycles for program execution compared to a run in
which we just change the frequency in the simulator script (without
dynamic frequency scaling). If we change the frequency in the
initialization phase of the simulator the amount of cycles is correct,
but in that case no dynamic scaling is possible.
I hope that you understand our problem, and that you can give some
advices how to solve this problem.
Thanks in advance
Fabian
_______________________________________________
m5-users mailing list
m5-users@m5sim.org
http://m5sim.org/cgi-bin/mailman/listinfo/m5-users