diff options
author | Kevin Lim <ktlim@umich.edu> | 2006-05-04 11:36:20 -0400 |
---|---|---|
committer | Kevin Lim <ktlim@umich.edu> | 2006-05-04 11:36:20 -0400 |
commit | f3358e5f7b6452f14a6df5106129ef0cb2ed8b65 (patch) | |
tree | 284685f873ef56b9c9ae95131129c51193d3185f /cpu/o3/inst_queue.hh | |
parent | 4601230d35de7bbda5906d04a28e2387f0e5177b (diff) | |
download | gem5-f3358e5f7b6452f14a6df5106129ef0cb2ed8b65.tar.xz |
O3 CPU now handles being used with the sampler.
cpu/o3/2bit_local_pred.cc:
cpu/o3/2bit_local_pred.hh:
cpu/o3/bpred_unit.hh:
cpu/o3/bpred_unit_impl.hh:
cpu/o3/btb.cc:
cpu/o3/btb.hh:
cpu/o3/commit.hh:
cpu/o3/commit_impl.hh:
cpu/o3/cpu.cc:
cpu/o3/cpu.hh:
cpu/o3/decode.hh:
cpu/o3/decode_impl.hh:
cpu/o3/fetch.hh:
cpu/o3/fetch_impl.hh:
cpu/o3/fu_pool.cc:
cpu/o3/fu_pool.hh:
cpu/o3/iew.hh:
cpu/o3/iew_impl.hh:
cpu/o3/inst_queue.hh:
cpu/o3/inst_queue_impl.hh:
cpu/o3/lsq.hh:
cpu/o3/lsq_impl.hh:
cpu/o3/lsq_unit.hh:
cpu/o3/lsq_unit_impl.hh:
cpu/o3/mem_dep_unit.hh:
cpu/o3/mem_dep_unit_impl.hh:
cpu/o3/ras.cc:
cpu/o3/ras.hh:
cpu/o3/rename.hh:
cpu/o3/rename_impl.hh:
cpu/o3/rob.hh:
cpu/o3/rob_impl.hh:
cpu/o3/sat_counter.cc:
cpu/o3/sat_counter.hh:
cpu/o3/thread_state.hh:
Handle switching out and taking over. Needs to be able to reset all state.
cpu/o3/alpha_cpu_impl.hh:
Handle taking over from another XC.
--HG--
extra : convert_revision : b936e826f0f8a18319bfa940ff35097b4192b449
Diffstat (limited to 'cpu/o3/inst_queue.hh')
-rw-r--r-- | cpu/o3/inst_queue.hh | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/cpu/o3/inst_queue.hh b/cpu/o3/inst_queue.hh index 06d9937f2..982294b4f 100644 --- a/cpu/o3/inst_queue.hh +++ b/cpu/o3/inst_queue.hh @@ -112,6 +112,10 @@ class InstructionQueue /** Registers statistics. */ void regStats(); + void resetState(); + + void resetDependencyGraph(); + /** Sets CPU pointer. */ void setCPU(FullCPU *_cpu) { cpu = _cpu; } @@ -127,6 +131,12 @@ class InstructionQueue /** Sets the global time buffer. */ void setTimeBuffer(TimeBuffer<TimeStruct> *tb_ptr); + void switchOut(); + + void takeOverFrom(); + + bool isSwitchedOut() { return switchedOut; } + /** Number of entries needed for given amount of threads. */ int entryAmount(int num_threads); @@ -385,6 +395,8 @@ class InstructionQueue */ unsigned commitToIEWDelay; + bool switchedOut; + ////////////////////////////////// // Variables needed for squashing ////////////////////////////////// @@ -507,7 +519,7 @@ class InstructionQueue Stats::Scalar<> iqSquashedNonSpecRemoved; Stats::VectorDistribution<> queue_res_dist; - Stats::Vector<> n_issued_dist; + Stats::Distribution<> n_issued_dist; Stats::VectorDistribution<> issue_delay_dist; Stats::Vector<> stat_fu_busy; |