Rework how instructions are scheduled and executed.
authorKevin Lim <ktlim@umich.edu>
Tue, 23 May 2006 21:03:43 +0000 (17:03 -0400)
committerKevin Lim <ktlim@umich.edu>
Tue, 23 May 2006 21:03:43 +0000 (17:03 -0400)
commit358cf1b11765024309fe986262bb3a3d16c8a720
tree7b7216c0d55a2623201cca094d5cdeaf2ce83c0e
parentc9ad4a15d6b1460ea2b9c1515739f56f81ea9b57
Rework how instructions are scheduled and executed.
The "execute" portion of IEW is really just the last cycle of execution, at which point execute() gets called.  Execution begins inside the IQ, when it schedules FUs for specific instructions.  As a result, the Execute stage should just pull all completing instructions out of the IQ stage and execute them.
Limiting the number of writebacks outstanding must still be done.

cpu/o3/iew_impl.hh:
    Rework how instructions are scheduled and executed.  There shouldn't be a specific "width" from issue to execute because issue does the scheduling of the functional units (really the beginning of the execution).
cpu/o3/inst_queue.hh:
cpu/o3/inst_queue_impl.hh:
    Rework how instructions are scheduled and executed.

--HG--
extra : convert_revision : bbf1a8a4c0a2f2a938bdd78d74493048fd3b4b55
cpu/o3/iew_impl.hh
cpu/o3/inst_queue.hh
cpu/o3/inst_queue_impl.hh