The embodiment of the present invention proposes a micro instruction scheduling method, which is executed by a qualified inspector, including at least the following steps: detecting the loading write back signal carrying the execution unit broadcast; judging whether the load detection counting logic is started on the basis of the contents of the loaded write back signal; when the starting load detection count logic arrives at the preset value. At the time, it is judged whether the execution state of the micro instruction is a data cache hit, and the release circuit is driven to remove the micro instruction in the reserved queue column when the execution state of the carrier instruction is hit by the data cache and the micro instruction that relies on the micro instruction has been dispatched to the arithmetic logic unit.
【技术实现步骤摘要】
微指令调度方法及使用此方法的装置
本专利技术涉及一种微处理器技术,特别是一种微指令调度方法及使用此方法的装置。
技术介绍
在现在的超标量微处理器(superscalarmicroprocessor),保留站(reservationstation)负责调度所有的微指令。除了载入微指令以外,大部分微指令执行的延迟是固定的。微处理器中的存储器系统通常采用阶层架构,包含:第一级数据高速缓存器(Level-1datacache);第二级数据高速缓存器(Level-2datacache);及主存储器(mainmemory)。由于载入微指令于执行时可能发生第一级数据高速缓存器未命中(L1cachemiss),导致延迟是变动的。有的算术逻辑微指令依赖(depend)于载入微指令,即,算术逻辑微指令需要载入微指令的执行结果作为其来源操作数(sourceoperand)。为简化设计,传统的保留站通常也将载入微指令执行的延迟视为固定。也就是说,保留站假设载入微指令派遣至载入流水线后的第n个时脉周期(clockcycles)就能顺利取得结果。所以,保留站于载入微指令派遣至载入流水线后的第n-2个时脉周期便将后续依赖于该载入微指令的算术逻辑微指令派遣至算术逻辑单元(ALU,ArithmeticLogicUnit),并清除相应队列中的算术逻辑微指令。当载入微指令被派遣后的n个时脉周期,高速缓存并没有命中(cachemiss),已经派遣至算术逻辑单元的算术逻辑微指令会因为数据还未准备好而执行失败,使得保留站需要重新执行(replay)算术逻辑微指令。然而,重新执行算术逻辑微指令会耗费大 ...
【技术保护点】
1.一种微指令调度方法,由第一合格检查器执行,其中,所述第一合格检查器关联于第一微指令,以及所述第一微指令依赖于由载入执行单元执行的载入微指令,所述方法包含:检测所述载入执行单元广播的载入写回信号;依据所述载入写回信号的内容判断是否启动载入检测计数逻辑;当被启动的所述载入检测计数逻辑到达一预设值时,判断所述载入微指令的执行状态是否为数据高速缓存命中;以及当所述载入微指令的所述执行状态为数据高速缓存命中且所述第一微指令已经被派遣至算术逻辑单元执行时,驱动释放电路以移除保留站队列中的所述第一微指令。
【技术特征摘要】
1.一种微指令调度方法,由第一合格检查器执行,其中,所述第一合格检查器关联于第一微指令,以及所述第一微指令依赖于由载入执行单元执行的载入微指令,所述方法包含:检测所述载入执行单元广播的载入写回信号;依据所述载入写回信号的内容判断是否启动载入检测计数逻辑;当被启动的所述载入检测计数逻辑到达一预设值时,判断所述载入微指令的执行状态是否为数据高速缓存命中;以及当所述载入微指令的所述执行状态为数据高速缓存命中且所述第一微指令已经被派遣至算术逻辑单元执行时,驱动释放电路以移除保留站队列中的所述第一微指令。2.根据权利要求1所述的微指令调度方法,还包含:当所述载入微指令中的任一个的所述执行状态为数据高速缓存未命中时,驱动所述算术逻辑单元杀掉所述第一微指令的执行。3.根据权利要求1所述的微指令调度方法,其中,当所述载入微指令的所述执行状态为数据高速缓存未命中时,保留所述保留站队列中的所述第一微指令不被移除。4.根据权利要求1所述的微指令调度方法,其中,当判定要启动所述载入检测计数逻辑时,设定所述第一微指令的操作数的就绪信号,当所述第一微指令的所有操作数的就绪信号都被设定之后,所述第一微指令被派遣至所述算术逻辑单元执行。5.根据权利要求4所述的微指令调度方法,其中,当所述载入微指令中的所述执行状态为数据高速缓存未命中时,清除所述第一微指令的所述就绪信号,待所述载入微指令执行完成后,再设定所述就绪信号。6.根据权利要求1所述的微指令调度方法,还包含:当所述载入写回信号所包含的所述载入微指令的唯一标识符与所述第一微指令所依赖的唯一标识符相等时,判定要启动所述载入检测计数逻辑。7.根据权利要求1所述的微指令调度方法,还包含:在所述第一微指令被派遣至所述算术逻辑单元执行后,所述算术逻辑单元广播写回信号给其他合格检查器,用以让第二合格检查器同步所述载入检测计数逻辑的值,其中,所述第二合格检查器关联于依赖于所述第一微指令的第二微指令。8.根据权利要求7所述的微指令调度方法,其中当所述第二合格检查器同步所述载入检测计数逻辑的值时,设定所述第二微指令的就绪信号,当所同步的所述载入检测计数逻辑的值到达所述预设值时,判断所述载入微指令的所述执行状态是否为数据高速缓存命中。9.一种微指令调度装置,包含:保留站队列;释放电路,耦接所述调度器;以及第一合格检查器,耦接所述释放电路,检测第一载入执行单元广播的第一载入写回信号,依据所述第一载入写回信号的内容判断是否启动载入检测计数逻辑;当被启动的所述载入检测计数逻辑到达第一预设值时,判断第一载入微指令的执行状态是否为数据高速缓存命中,以及当所述第一载入微指令的所述执行状态为数据高速缓存命中且所述第一微指令已经被派遣至算术逻辑单元执行时,驱动所述释放电路以移除所述保留站队列中的所述第一微指令,其中,所述第一合格检查器关联于所述第一微指令,以及所述第一微指令依赖于由所述第一载入执行单元执行的所述第一载入微指令。10.根据权利要求9所述的微指令调度装置,其中,当判定要启动所述载入检测计数逻辑时,设定所述第一微指令的操作数的就绪信号,当所述第一微指令的所有操作数的就绪信号都被设定之后,指令派遣单元从所述保留站队列挑选所述第一微指令,并且派遣至所述算术逻辑单元执行。11.根据权利要求9所述的微指令调度装置,其中,所述第一合格检查器包含:多个操作数合格检查器,其中,每一所述操作数合格检查器关联于所述第一微指令的多个操作数中的一个,每一所述合格检查器包含一个上述载入检测计数逻辑,当相应的所述载入检测计数逻辑被启动并到达所述第一预设值时,相应的所述操作数合格检查器依据所述第一载入执行单元广播的第一数据高速缓存存取状态信号判断所述相应操作数直接依赖的所述第一载入微指令的所述执行状态为数据高速缓存命中或数据高速缓存未命中;当所述第一载入微指令的所述执行状态为数据高速缓存命中时,输出载入确认信号;以及与门,耦接于所述操作数合格检查器,当所有所述操作数合格检查器皆输出所述载入确认信号时,输出总载入确认信号,以驱动所述释放电路以移除所述保留站队列中所述条目的所述第一微指令。12.根据权利要求11所述的微指令调度装置,其中,每一所述操作数合格检查器包含:所述载入检测计数逻辑,初始锁存第一值,并且在每个时脉周期改变所述锁存的值;第一比较器,耦接于所述载入检测计数逻辑,反复比较所述第一微指令直接依赖的唯一标识符与所述第一载入写回信号乘载的唯一标识符;以及当所述第一微指令直接依赖的唯一标识符与所述第一载入写回信号乘载的唯一标识符相等时,重设所述第一值;第二比较器,耦接于所述载入检测计数逻辑,持续比较所述载入检测计数逻辑中所述锁存的值及所述第一预设值;当所述锁存的值相同于所述第一预设值,输出致能信号给第三比较器;以及所述第三比较器,耦接于所述第二比较器,判断所述第一数据高速缓存存取状态信号为命...
【专利技术属性】
技术研发人员:费晓龙,
申请(专利权)人:上海兆芯集成电路有限公司,
类型:发明
国别省市:上海,31
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。