- ask about what values i need from DynInst/StaticInst
- Schedule events after some ticks? Have them done instantly?
- how does sending DynInst work (ask c++ questions about .hh files → linked imports?, which file needs include?)
- Stalling cpu → while loop ok?
-
- how to do timing? Scheduling? Custom components?
ask about squashing instructions
When to call this? During commitHead()? That seems better than during commitInst
does some OOO chip checks before deciding to commit
maybe after checks, before commit we can send to checker chip?
- some sort of cycles/time to ticks conversion (ie for time taken to clear buffer) - need to parameterise this
- Sim obj
- what data info needed
Sep 10th
return false for stall CPU in commitInst
write docs as make changes (readme on github)
push commit should take headInst
own type for CheckerInst
it should have (from dynInst.hh): (include dynInst.hh)
staticInst
- macro op
- sequence number (InstSeqNum seq_num)
- thread state
make getNumCredits into returning an unsigned int
- cc_buffer->pushTrap(tid, inst_fault); //TAG: This needs to be implemented
- c
hecker entry class (include fault field)
add a field “when”
when decodable
when executable
only then remove from buffer and add credit
- 2 inst per cycle bandwith checker (always correct)
checker chip should have own clock domain (research gem5 clocks)
sim/clocked_object.hh has ClockedObject.
extend clocked object and put checkerchip in that clocked object.
- take max (bandwithLimit) out when executable clock ≤ current clock