• W
    mem,mdp: use robIdx instead of sqIdx (#1242) · 980c1bc3
    William Wang 提交于
    * mdp: implement SSIT with sram
    
    * mdp: use robIdx instead of sqIdx
    
    Dispatch refactor moves lsq enq to dispatch2, as a result, mdp can not
    get correct sqIdx in dispatch. Unlike robIdx, it is hard to maintain a
    "speculatively assigned" sqIdx, as it is hard to track store insts in
    dispatch queue. Yet we can still use "speculatively assigned" robIdx
    for memory dependency predictor.
    
    For now, memory dependency predictor uses "speculatively assigned"
    robIdx to track inflight store.
    
    However, sqIdx is still used to track those store which's addr is valid
    but data it not valid. When load insts try to get forward data from
    those store, load insts will get that store's sqIdx and wait in RS.
    They will not waken until store data with that sqIdx is issued.
    
    * mdp: add track robIdx recover logic
    980c1bc3
CtrlBlock.scala 18.2 KB