summaryrefslogtreecommitdiff
path: root/src/cpu/inorder/comm.hh
diff options
context:
space:
mode:
authorKorey Sewell <ksewell@umich.edu>2011-02-04 00:08:18 -0500
committerKorey Sewell <ksewell@umich.edu>2011-02-04 00:08:18 -0500
commit0c6a679359fa84060b5bc745a737073890d2fb90 (patch)
tree26590e8ce2b1e63d8f7696b3137cfbbec24158b4 /src/cpu/inorder/comm.hh
parent8ac717ef4c22580516d54046f9c0c1048eb4da62 (diff)
downloadgem5-0c6a679359fa84060b5bc745a737073890d2fb90.tar.xz
inorder: stage width as a python parameter
allow the user to specify how many instructions a pipeline stage can process on any given cycle (stageWidth...i.e.bandwidth) by setting the parameter through the python interface rather than compile the code after changing the *.cc file. (we always had the parameter there, but still used the static 'ThePipeline::StageWidth' instead) - Since StageWidth is now dynamically defined, change the interstage communication structure to use a vector and get rid of array and array handling index (toNextStageIndex) since we can just make calls to the list for the same information
Diffstat (limited to 'src/cpu/inorder/comm.hh')
-rw-r--r--src/cpu/inorder/comm.hh11
1 files changed, 5 insertions, 6 deletions
diff --git a/src/cpu/inorder/comm.hh b/src/cpu/inorder/comm.hh
index 386046d1c..ba9322079 100644
--- a/src/cpu/inorder/comm.hh
+++ b/src/cpu/inorder/comm.hh
@@ -44,8 +44,7 @@
/** Struct that defines the information passed from in between stages */
/** This information mainly goes forward through the pipeline. */
struct InterStageStruct {
- int size;
- ThePipeline::DynInstPtr insts[ThePipeline::StageWidth];
+ std::vector<ThePipeline::DynInstPtr> insts;
bool squash;
bool branchMispredict;
bool branchTaken;
@@ -55,10 +54,10 @@ struct InterStageStruct {
bool includeSquashInst;
InterStageStruct()
- :size(0), squash(false),
- branchMispredict(false), branchTaken(false),
- mispredPC(0), nextPC(0),
- squashedSeqNum(0), includeSquashInst(false)
+ : squash(false),
+ branchMispredict(false), branchTaken(false),
+ mispredPC(0), nextPC(0),
+ squashedSeqNum(0), includeSquashInst(false)
{ }
};