changeset 40d1b3f5bee6 in /z/repo/gem5
details: http://repo.gem5.org/gem5?cmd=changeset;node=40d1b3f5bee6
description:
        inorder: cleanup intercomm. structs/squash info

diffstat:

 src/cpu/inorder/comm.hh |  49 +++++--------------------------------------------
 1 files changed, 5 insertions(+), 44 deletions(-)

diffs (71 lines):

diff -r b085f409d89c -r 40d1b3f5bee6 src/cpu/inorder/comm.hh
--- a/src/cpu/inorder/comm.hh   Sun Jun 19 21:43:35 2011 -0400
+++ b/src/cpu/inorder/comm.hh   Sun Jun 19 21:43:35 2011 -0400
@@ -44,62 +44,23 @@
 /** Struct that defines the information passed from in between stages */
 /** This information mainly goes forward through the pipeline. */
 struct InterStageStruct {
+    //@todo: probably should make this a list since the amount of
+    //       instructions that get passed forward per cycle is
+    //       really dependent on issue width, CPI, etc.
     std::vector<ThePipeline::DynInstPtr> insts;
-    bool squash;
-    bool branchMispredict;
-    bool branchTaken;
-    uint64_t mispredPC;
-    uint64_t nextPC;
-    InstSeqNum squashedSeqNum;
-    bool includeSquashInst;
 
-    InterStageStruct()
-        : squash(false),
-          branchMispredict(false), branchTaken(false),
-          mispredPC(0), nextPC(0),
-          squashedSeqNum(0), includeSquashInst(false)
-    { }
-
+    // Add any information that needs to be passed forward to stages
+    // below ...
 };
 
-/** Turn This into a Class */
 /** Struct that defines all backwards communication. */
 struct TimeStruct {
     struct stageComm {
         bool squash;
-        bool predIncorrect;
-        uint64_t branchAddr;
-
-        // @todo: Might want to package this kind of branch stuff into a single
-        // struct as it is used pretty frequently.
-        bool branchMispredict;
-        bool branchTaken;
-        Addr mispredPC;
-        TheISA::PCState nextPC;
-
-        unsigned branchCount;
-
-        // Represents the instruction that has either been retired or
-        // squashed.  Similar to having a single bus that broadcasts the
-        // retired or squashed sequence number.
         InstSeqNum doneSeqNum;
-        InstSeqNum bdelayDoneSeqNum;
-        bool squashDelaySlot;
-
-        //Just in case we want to do a commit/squash on a cycle
-        //(necessary for multiple ROBs?)
-        bool commitInsts;
-        InstSeqNum squashSeqNum;
-
-        // Communication specifically to the IQ to tell the IQ that it can
-        // schedule a non-speculative instruction.
-        InstSeqNum nonSpecSeqNum;
 
         bool uncached;
         ThePipeline::DynInstPtr uncachedLoad;
-
-        bool interruptPending;
-        bool clearInterrupt;
     };
 
     stageComm stageInfo[ThePipeline::NumStages][ThePipeline::MaxThreads];
_______________________________________________
gem5-dev mailing list
[email protected]
http://m5sim.org/mailman/listinfo/gem5-dev

Reply via email to