diff options
author | Korey Sewell <ksewell@umich.edu> | 2011-06-19 21:43:40 -0400 |
---|---|---|
committer | Korey Sewell <ksewell@umich.edu> | 2011-06-19 21:43:40 -0400 |
commit | 0bfdf342da40842a05351d53a384db4a8ff88bf5 (patch) | |
tree | 7167c1198b863ddb2b2e058527eda405fd256b49 /src/cpu/inorder/cpu.cc | |
parent | 5f608dd2e9a760b4280fb03ce82a11a62c6f3af9 (diff) | |
download | gem5-0bfdf342da40842a05351d53a384db4a8ff88bf5.tar.xz |
inorder: explicit fault check
Before graduating an instruction, explicitly check fault
by making the fault check it's own separate command
that can be put on an instruction schedule.
Diffstat (limited to 'src/cpu/inorder/cpu.cc')
-rw-r--r-- | src/cpu/inorder/cpu.cc | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/cpu/inorder/cpu.cc b/src/cpu/inorder/cpu.cc index 834e591f8..232bf8279 100644 --- a/src/cpu/inorder/cpu.cc +++ b/src/cpu/inorder/cpu.cc @@ -517,7 +517,7 @@ InOrderCPU::createBackEndSked(DynInstPtr inst) } } - W.needs(Grad, GraduationUnit::GraduateInst); + W.needs(Grad, GraduationUnit::CheckFault); for (int idx=0; idx < inst->numDestRegs(); idx++) { W.needs(RegManager, UseDefUnit::WriteDestReg, idx); @@ -526,6 +526,8 @@ InOrderCPU::createBackEndSked(DynInstPtr inst) if (inst->isControl()) W.needs(BPred, BranchPredictor::UpdatePredictor); + W.needs(Grad, GraduationUnit::GraduateInst); + // Insert Back Schedule into our cache of // resource schedules addToSkedCache(inst, res_sked); |