Hi All, Mithuna Thottethodi recently pointed out that our current methodology for setting clock defaults is inconsistent and some of the values are unreasonable. For instance, CPUs set their default clock value (gem5/src/cpu/BaseCPU.py) to be the same as the global simulation clock, which is 1 THz (gem5/src/python/m5/ticks.py). Meanwhile, Ruby sets it's default value to be 1 GHz (src/mem/ruby/system/RubySystem.py). Therefore, unless your config file overrides these defaults, the CPUs will unrealistically run at a THz will Ruby drags along running three orders of magnitude slower (due to instruction fetches, I understand in practice it isn't quite that bad). It seems unreasonable and confusing for any CPU to be setting its frequency at 1 THz. However, I'm not sure if setting any clock defaults in the SimObject .py files is the best idea since it is prone to user ignorance.
The idea we are proposing is to not set any clock defaults in the SimObject .py files and force the configuration scripts to set these values appropriately. We think this would also be amendable to later on adding a clock domain feature in gem5 where collections of sim objects can be assigned to separate domains and support features like DVFS. Would anyone be opposed to such a change? If not, we can submit a patch for review that accomplishes the first step (removes Sim Object .py clock defaults) and start working on the second part. Thanks and please let us know what you think, Brad _______________________________________________ gem5-dev mailing list [email protected] http://m5sim.org/mailman/listinfo/gem5-dev
