gem5/cpu/o3
Kevin Lim 358cf1b117 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
2006-05-23 17:03:43 -04:00
..
2bit_local_pred.cc O3 code update/cleanup. 2006-05-19 15:53:17 -04:00
2bit_local_pred.hh O3 code update/cleanup. 2006-05-19 15:53:17 -04:00
alpha_cpu.cc shuffle files around for new directory structure 2005-06-04 20:50:10 -04:00
alpha_cpu.hh Move kernel stats out of CPU and into XC. 2006-05-23 16:51:16 -04:00
alpha_cpu_builder.cc Move activity tracking code into its own class. Now the CPU no longer has to keep track of the activity tracking internals; it just calls advance() on the class and uses it to tell if it should deschedule itself. 2006-05-19 15:37:52 -04:00
alpha_cpu_impl.hh Move kernel stats out of CPU and into XC. 2006-05-23 16:51:16 -04:00
alpha_dyn_inst.cc shuffle files around for new directory structure 2005-06-04 20:50:10 -04:00
alpha_dyn_inst.hh Updates for sampler, checker, and general correctness. 2006-05-16 14:06:35 -04:00
alpha_dyn_inst_impl.hh Updates for sampler, checker, and general correctness. 2006-05-16 14:06:35 -04:00
alpha_impl.hh Updates for O3 model. 2006-04-22 18:26:48 -04:00
alpha_params.hh Move activity tracking code into its own class. Now the CPU no longer has to keep track of the activity tracking internals; it just calls advance() on the class and uses it to tell if it should deschedule itself. 2006-05-19 15:37:52 -04:00
bpred_unit.cc O3 code update/cleanup. 2006-05-19 15:53:17 -04:00
bpred_unit.hh O3 code update/cleanup. 2006-05-19 15:53:17 -04:00
bpred_unit_impl.hh O3 code update/cleanup. 2006-05-19 15:53:17 -04:00
btb.cc O3 CPU now handles being used with the sampler. 2006-05-04 11:36:20 -04:00
btb.hh O3 CPU now handles being used with the sampler. 2006-05-04 11:36:20 -04:00
comm.hh O3 code update/cleanup. 2006-05-19 15:53:17 -04:00
commit.cc Updates for O3 model. 2006-04-22 18:26:48 -04:00
commit.hh O3 code update/cleanup. 2006-05-19 15:53:17 -04:00
commit_impl.hh O3 code update/cleanup. 2006-05-19 15:53:17 -04:00
cpu.cc Move activity tracking code into its own class. Now the CPU no longer has to keep track of the activity tracking internals; it just calls advance() on the class and uses it to tell if it should deschedule itself. 2006-05-19 15:37:52 -04:00
cpu.hh Move activity tracking code into its own class. Now the CPU no longer has to keep track of the activity tracking internals; it just calls advance() on the class and uses it to tell if it should deschedule itself. 2006-05-19 15:37:52 -04:00
cpu_policy.hh Updates for O3 model. 2006-04-22 18:26:48 -04:00
decode.cc Updates for O3 model. 2006-04-22 18:26:48 -04:00
decode.hh O3 code update/cleanup. 2006-05-19 15:53:17 -04:00
decode_impl.hh O3 code update/cleanup. 2006-05-19 15:53:17 -04:00
dep_graph.hh IEW/IQ code cleanup and reorganization. 2006-05-19 15:44:03 -04:00
fetch.cc Updates for O3 model. 2006-04-22 18:26:48 -04:00
fetch.hh O3 code update/cleanup. 2006-05-19 15:53:17 -04:00
fetch_impl.hh O3 code update/cleanup. 2006-05-19 15:53:17 -04:00
free_list.cc Updates for O3 model. 2006-04-22 18:26:48 -04:00
free_list.hh Updates for O3 model. 2006-04-22 18:26:48 -04:00
fu_pool.cc Rename function to be more expressive. 2006-05-19 15:45:06 -04:00
fu_pool.hh Rename function to be more expressive. 2006-05-19 15:45:06 -04:00
iew.cc Updates for O3 model. 2006-04-22 18:26:48 -04:00
iew.hh IEW/IQ code cleanup and reorganization. 2006-05-19 15:44:03 -04:00
iew_impl.hh Rework how instructions are scheduled and executed. 2006-05-23 17:03:43 -04:00
inst_queue.cc IEW/IQ code cleanup and reorganization. 2006-05-19 15:44:03 -04:00
inst_queue.hh Rework how instructions are scheduled and executed. 2006-05-23 17:03:43 -04:00
inst_queue_impl.hh Rework how instructions are scheduled and executed. 2006-05-23 17:03:43 -04:00
lsq.cc Updates for O3 model. 2006-04-22 18:26:48 -04:00
lsq.hh O3 code update/cleanup. 2006-05-19 15:53:17 -04:00
lsq_impl.hh O3 code update/cleanup. 2006-05-19 15:53:17 -04:00
lsq_unit.cc Updates for O3 model. 2006-04-22 18:26:48 -04:00
lsq_unit.hh O3 code update/cleanup. 2006-05-19 15:53:17 -04:00
lsq_unit_impl.hh O3 code update/cleanup. 2006-05-19 15:53:17 -04:00
mem_dep_unit.cc Updates for O3 model. 2006-04-22 18:26:48 -04:00
mem_dep_unit.hh O3 code update/cleanup. 2006-05-19 15:53:17 -04:00
mem_dep_unit_impl.hh O3 code update/cleanup. 2006-05-19 15:53:17 -04:00
ras.cc O3 CPU now handles being used with the sampler. 2006-05-04 11:36:20 -04:00
ras.hh O3 CPU now handles being used with the sampler. 2006-05-04 11:36:20 -04:00
regfile.hh Updates for sampler, checker, and general correctness. 2006-05-16 14:06:35 -04:00
rename.cc Updates for O3 model. 2006-04-22 18:26:48 -04:00
rename.hh O3 code update/cleanup. 2006-05-19 15:53:17 -04:00
rename_impl.hh O3 code update/cleanup. 2006-05-19 15:53:17 -04:00
rename_map.cc O3 code update/cleanup. 2006-05-19 15:53:17 -04:00
rename_map.hh O3 code update/cleanup. 2006-05-19 15:53:17 -04:00
rob.cc Update #defines for the O3CPU. Also include the copyright. 2005-06-05 03:25:26 -04:00
rob.hh O3 code update/cleanup. 2006-05-19 15:53:17 -04:00
rob_impl.hh O3 code update/cleanup. 2006-05-19 15:53:17 -04:00
sat_counter.hh Remove sat_counter.cc and put its code into sat_counter.hh. 2006-05-19 15:47:55 -04:00
scoreboard.cc O3 code update/cleanup. 2006-05-19 15:53:17 -04:00
scoreboard.hh Updates for O3 model. 2006-04-22 18:26:48 -04:00
store_set.cc O3 code update/cleanup. 2006-05-19 15:53:17 -04:00
store_set.hh Updates for O3 model. 2006-04-22 18:26:48 -04:00
thread_state.hh O3 code update/cleanup. 2006-05-19 15:53:17 -04:00
tournament_pred.cc Updates for O3 model. 2006-04-22 18:26:48 -04:00
tournament_pred.hh Updates for O3 model. 2006-04-22 18:26:48 -04:00