summaryrefslogtreecommitdiff
path: root/cpu/base_cpu.hh
diff options
context:
space:
mode:
authorErik Hallnor <ehallnor@umich.edu>2003-10-16 17:04:25 -0400
committerErik Hallnor <ehallnor@umich.edu>2003-10-16 17:04:25 -0400
commitaeaf133d271a75d649451290d2b3ea12b2b744ec (patch)
treee8c9103896aa63a77350f6b12849ba45e347f5fc /cpu/base_cpu.hh
parenta6788d64dd683c0e7d82f10049d39253c0ea03bb (diff)
parent4134477369028e04dd265a43753868c01912c465 (diff)
downloadgem5-aeaf133d271a75d649451290d2b3ea12b2b744ec.tar.xz
Merge ehallnor@zizzer:/bk/m5
into zizzer.eecs.umich.edu:/y/ehallnor/work/m5 --HG-- extra : convert_revision : 2979dcbf516446b45c7fb94454e4c4f013f480e4
Diffstat (limited to 'cpu/base_cpu.hh')
-rw-r--r--cpu/base_cpu.hh31
1 files changed, 24 insertions, 7 deletions
diff --git a/cpu/base_cpu.hh b/cpu/base_cpu.hh
index d5c3b68d8..5946ced2f 100644
--- a/cpu/base_cpu.hh
+++ b/cpu/base_cpu.hh
@@ -81,27 +81,41 @@ class BaseCPU : public SimObject
#ifdef FULL_SYSTEM
BaseCPU(const std::string &_name, int _number_of_threads,
Counter max_insts_any_thread, Counter max_insts_all_threads,
+ Counter max_loads_any_thread, Counter max_loads_all_threads,
System *_system,
int num, Tick freq);
#else
BaseCPU(const std::string &_name, int _number_of_threads,
Counter max_insts_any_thread = 0,
- Counter max_insts_all_threads = 0);
+ Counter max_insts_all_threads = 0,
+ Counter max_loads_any_thread = 0,
+ Counter max_loads_all_threads = 0);
#endif
virtual ~BaseCPU() {}
virtual void regStats();
- /// Number of threads we're actually simulating (<= SMT_MAX_THREADS).
- /// This is a constant for the duration of the simulation.
+ /**
+ * Number of threads we're actually simulating (<= SMT_MAX_THREADS).
+ * This is a constant for the duration of the simulation.
+ */
int number_of_threads;
- /// Vector of per-thread instruction-based event queues. Used for
- /// scheduling events based on number of instructions committed by
- /// a particular thread.
+ /**
+ * Vector of per-thread instruction-based event queues. Used for
+ * scheduling events based on number of instructions committed by
+ * a particular thread.
+ */
EventQueue **comInsnEventQueue;
+ /**
+ * Vector of per-thread load-based event queues. Used for
+ * scheduling events based on number of loads committed by
+ *a particular thread.
+ */
+ EventQueue **comLoadEventQueue;
+
#ifdef FULL_SYSTEM
System *system;
#endif
@@ -109,7 +123,10 @@ class BaseCPU : public SimObject
virtual bool filterThisInstructionPrefetch(int thread_number,
short asid, Addr prefetchTarget) const { return true; }
- /// Return pointer to CPU's branch predictor (NULL if none).
+ /**
+ * Return pointer to CPU's branch predictor (NULL if none).
+ * @return Branch predictor pointer.
+ */
virtual BranchPred *getBranchPred() { return NULL; };
private: