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

Reply via email to