It looks like the timing simple CPU once relied on fetches as a way
to roughly approximate the CPU doing a certain amount of work per cycle.
With microops that breaks down a bit because no further fetching is
needed for a potentially large group of microops. As a result, assuming
they don't access memory themselves, those microops will all execute one
right after the other with no delay. Is there some system that I'm
missing that takes care of that?

    Also, it looks like the way the code is structured currently, the
point one microop ends will start the next one almost recursively,
building a deeper and deeper call stack. This wasn't originally the
case, but without having to send off a fetch there's no event to delay
the call until the call stack collapses. This seems like yet another
reason to try to reorganize the code to have a wide rather than deep
call tree.

Gabe
_______________________________________________
m5-dev mailing list
[email protected]
http://m5sim.org/mailman/listinfo/m5-dev

Reply via email to