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.
This commit is contained in:
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user