cpu: Update DRAM traffic gen
[gem5.git] / src / cpu / inorder / resources / graduation_unit.hh
index 7f0db98d029e3ac59e3d20ce165608e4e6fb66a9..69d3322feec8d121ed16f75662d4191d156a1d1b 100644 (file)
 #ifndef __CPU_INORDER_GRAD_UNIT_HH__
 #define __CPU_INORDER_GRAD_UNIT_HH__
 
-#include <vector>
 #include <list>
 #include <string>
+#include <vector>
 
-#include "cpu/inorder/resource.hh"
+#include "cpu/inorder/cpu.hh"
 #include "cpu/inorder/inorder_dyn_inst.hh"
 #include "cpu/inorder/pipeline_traits.hh"
-#include "cpu/inorder/cpu.hh"
+#include "cpu/inorder/resource.hh"
 
 class GraduationUnit : public Resource {
   public:
     typedef ThePipeline::DynInstPtr DynInstPtr;
 
     enum Command {
+        CheckFault,
         GraduateInst
     };
 
   public:
     GraduationUnit(std::string res_name, int res_id, int res_width,
-              int res_latency, InOrderCPU *_cpu, ThePipeline::Params *params);
-    virtual ~GraduationUnit() {}
+                   Cycles res_latency, InOrderCPU *_cpu,
+                   ThePipeline::Params *params);
 
-    virtual void execute(int slot_num);
+    void execute(int slot_num);
 
   protected:
-    Tick lastCycleGrad;
-    int numCycleGrad;
-
+    Tick lastNonSpecTick[ThePipeline::MaxThreads];
+    Tick lastFaultTick[ThePipeline::MaxThreads];
     bool *nonSpecInstActive[ThePipeline::MaxThreads];
-
     InstSeqNum *nonSpecSeqNum[ThePipeline::MaxThreads];
 };