微指令调度方法及使用此方法的装置制造方法及图纸

技术编号:18444574 阅读:39 留言:0更新日期:2018-07-14 10:14
本发明专利技术的实施例提出一种微指令调度方法,由合格检查器执行,至少包含以下步骤:检测载入执行单元广播的载入写回信号;依据载入写回信号的内容判断是否启动载入检测计数逻辑;当被启动的载入检测计数逻辑到达预设值时,判断载入微指令的执行状态是否为数据高速缓存命中;以及当载入微指令的执行状态为数据高速缓存命中且依赖载入微指令的微指令已经被派遣至算术逻辑单元执行时,驱动释放电路以移除保留站队列中的微指令。

Microinstruction scheduling method and device using this method

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)算术逻辑微指令。然而,重新执行算术逻辑微指令会耗费大量的时间,降低微处理器的效能。因此,需要一种算术逻辑微指令调度方法及使用此方法的装置,用以避免因高速缓存器未命中而重新执行算术逻辑微指令。
技术实现思路
本专利技术的实施例提出一种微指令调度方法,由合格检查器执行,至少包含以下步骤:检测载入执行单元广播的载入写回信号;依据载入写回信号的内容判断是否启动载入检测计数逻辑;当被启动的载入检测计数逻辑到达预设值时,判断载入微指令的执行状态是否为数据高速缓存命中;以及当载入微指令的执行状态为数据高速缓存命中且微指令已经被派遣至算术逻辑单元执行时,驱动释放电路以移除保留站队列中的微指令。本专利技术的实施例提出一种微指令调度装置,至少包含保留站队列、释放电路及合格检查器。合格检查器检测载入执行单元广播的载入写回信号;依据载入写回信号的内容判断是否启动载入检测计数逻辑;当被启动的载入检测计数逻辑到达判断计数值时,判断载入微指令的执行状态是否为数据高速缓存命中;以及当载入微指令的执行状态为数据高速缓存命中且微指令已经被派遣至算术逻辑单元执行时,驱动释放电路以移除保留站队列中关联于此合格检查器的微指令。其中,合格检查器关联于微指令,以及微指令依赖于由载入执行单元执行的载入微指令。藉由以上所述的微指令调度方法及装置,保留站队列中的微指令得以保留以避免重新执行(replay)操作。此外,值得注意的是,由于载入执行单元广播的执行状态并不携带唯一标识符,本专利技术的上述微指令调度方法及装置通过载入检测计数逻辑来保证载入检测计数逻辑达到预设值的合格检查器所关联的微指令一定直接或间接依赖于载入执行单元广播的执行状态对应的载入微指令。附图说明图1是依据本专利技术实施例的超标量微处理器的方块图。图2是依据本专利技术实施例的超标量微处理器的方块图。图3是依据本专利技术实施例的合格检查器的方块图。图4是依据本专利技术实施例的操作数合格检查器的方块图。图5是依据本专利技术实施例的包含二个载入执行单元的超标量微处理器的方块图。图6是依据本专利技术实施例的合格检查器的方块图。图7是依据本专利技术实施例的适应二个载入执行单元的操作数合格检查器的方块图。图8是依据本专利技术实施例的微指令调度方法流程图。图9是依据本专利技术实施例的微指令调度方法流程图。具体实施方式以下说明为完成专利技术的较佳实现方式,其目的在于描述本专利技术的基本精神,但并不用以限定本专利技术。实际的
技术实现思路
必须参考之后的权利要求范围。必须了解的是,使用于本说明书中的“包含”、“包括”等词,用以表示存在特定的技术特征、数值、方法步骤、作业处理、组件以及/或组件,但并不排除可加上更多的技术特征、数值、方法步骤、作业处理、组件、组件,或以上的任意组合。于权利要求中使用如“第一”、“第二”、“第三”等词用来修饰权利要求中的元件,并非用来表示之间具有优先权顺序、先行关系,或者是一个元件先于另一个元件,或者是执行方法步骤时的时间先后顺序,仅用来区别具有相同名字的组件。图1是依据本专利技术实施例的超标量微处理器(superscalarmicroprocessor)的方块图。微处理器100包含指令高速缓存器(instructioncache)110,用以缓存一种指令集架构(instructionsetarchitecture)的宏指令(macro-instructions),例如x86指令集架构等。指令解码器(instructiondecoder)120从指令高速缓存器110接收宏指令,并且将宏指令转译成微指令(micro-instructions)。寄存器重命名表(registeraliastable)130依据微指令依赖关系以程序顺序传送微指令至调度器(scheduler)140中的保留站队列(reservationstationqueue)141至147,以及重排序缓存器(ROB,ReorderBuffer)160。在一些实施例,保留站队列141至147可实施为独立的队列。在另一些实施例,保留站队列141至147可实施在一个联合队列(unifiedqueue),但使用不同的端口。执行单元150可包含整数执行单元151、浮点数执行单元153、载入执行单元155及存储执行单元157。须注意的是,除了以上所示种类的执行单元外,执行单元150可还包含其它执行单元,例如,分支单元(branchunit)、单指令多数据(single-instruction-multiple-data,SIMD)执行单元、特别函数单元(SpecialFunctionUnit,SFU)等。在概念上,整数执行单元151、浮点数执行单元153、单指令多数据执行单元及特别函数单元均可看做包含在算术逻辑单元(ArithmeticandLogicUnit,ALU)中,其功能有别于载入执行单元155及存储执行单元157。运算队列141及143、载入队列145及存储队列147分别连接至整数执行单元151、浮点数执行单元153、载入执行单元155及存储执行单元157。运算队列141及143、载入队列145及存储队列147中的微指令可分别被派遣至整数执行单元151、浮点数执行单元153、载入执行单元155及存储执行单元157执行。在此须注意的是,整数执行单元151、浮点数执行单元153、载入执行单元155及存储执行单元157的执行结果是乱序的,所以,每一个微指令包含唯一标识符,例如,重排序缓冲区索引(ROB,ReorderBufferindexes)、物理寄存器文档索引(PRF,PhysicalRegisterFileindexes)等等,用以让执行结果可以安排成原始执行顺序。载入执行单元155本文档来自技高网
...

【技术保护点】
1.一种微指令调度方法,由第一合格检查器执行,其中,所述第一合格检查器关联于第一微指令,以及所述第一微指令依赖于由载入执行单元执行的载入微指令,所述方法包含:检测所述载入执行单元广播的载入写回信号;依据所述载入写回信号的内容判断是否启动载入检测计数逻辑;当被启动的所述载入检测计数逻辑到达一预设值时,判断所述载入微指令的执行状态是否为数据高速缓存命中;以及当所述载入微指令的所述执行状态为数据高速缓存命中且所述第一微指令已经被派遣至算术逻辑单元执行时,驱动释放电路以移除保留站队列中的所述第一微指令。

【技术特征摘要】
1.一种微指令调度方法,由第一合格检查器执行,其中,所述第一合格检查器关联于第一微指令,以及所述第一微指令依赖于由载入执行单元执行的载入微指令,所述方法包含:检测所述载入执行单元广播的载入写回信号;依据所述载入写回信号的内容判断是否启动载入检测计数逻辑;当被启动的所述载入检测计数逻辑到达一预设值时,判断所述载入微指令的执行状态是否为数据高速缓存命中;以及当所述载入微指令的所述执行状态为数据高速缓存命中且所述第一微指令已经被派遣至算术逻辑单元执行时,驱动释放电路以移除保留站队列中的所述第一微指令。2.根据权利要求1所述的微指令调度方法,还包含:当所述载入微指令中的任一个的所述执行状态为数据高速缓存未命中时,驱动所述算术逻辑单元杀掉所述第一微指令的执行。3.根据权利要求1所述的微指令调度方法,其中,当所述载入微指令的所述执行状态为数据高速缓存未命中时,保留所述保留站队列中的所述第一微指令不被移除。4.根据权利要求1所述的微指令调度方法,其中,当判定要启动所述载入检测计数逻辑时,设定所述第一微指令的操作数的就绪信号,当所述第一微指令的所有操作数的就绪信号都被设定之后,所述第一微指令被派遣至所述算术逻辑单元执行。5.根据权利要求4所述的微指令调度方法,其中,当所述载入微指令中的所述执行状态为数据高速缓存未命中时,清除所述第一微指令的所述就绪信号,待所述载入微指令执行完成后,再设定所述就绪信号。6.根据权利要求1所述的微指令调度方法,还包含:当所述载入写回信号所包含的所述载入微指令的唯一标识符与所述第一微指令所依赖的唯一标识符相等时,判定要启动所述载入检测计数逻辑。7.根据权利要求1所述的微指令调度方法,还包含:在所述第一微指令被派遣至所述算术逻辑单元执行后,所述算术逻辑单元广播写回信号给其他合格检查器,用以让第二合格检查器同步所述载入检测计数逻辑的值,其中,所述第二合格检查器关联于依赖于所述第一微指令的第二微指令。8.根据权利要求7所述的微指令调度方法,其中当所述第二合格检查器同步所述载入检测计数逻辑的值时,设定所述第二微指令的就绪信号,当所同步的所述载入检测计数逻辑的值到达所述预设值时,判断所述载入微指令的所述执行状态是否为数据高速缓存命中。9.一种微指令调度装置,包含:保留站队列;释放电路,耦接所述调度器;以及第一合格检查器,耦接所述释放电路,检测第一载入执行单元广播的第一载入写回信号,依据所述第一载入写回信号的内容判断是否启动载入检测计数逻辑;当被启动的所述载入检测计数逻辑到达第一预设值时,判断第一载入微指令的执行状态是否为数据高速缓存命中,以及当所述第一载入微指令的所述执行状态为数据高速缓存命中且所述第一微指令已经被派遣至算术逻辑单元执行时,驱动所述释放电路以移除所述保留站队列中的所述第一微指令,其中,所述第一合格检查器关联于所述第一微指令,以及所述第一微指令依赖于由所述第一载入执行单元执行的所述第一载入微指令。10.根据权利要求9所述的微指令调度装置,其中,当判定要启动所述载入检测计数逻辑时,设定所述第一微指令的操作数的就绪信号,当所述第一微指令的所有操作数的就绪信号都被设定之后,指令派遣单元从所述保留站队列挑选所述第一微指令,并且派遣至所述算术逻辑单元执行。11.根据权利要求9所述的微指令调度装置,其中,所述第一合格检查器包含:多个操作数合格检查器,其中,每一所述操作数合格检查器关联于所述第一微指令的多个操作数中的一个,每一所述合格检查器包含一个上述载入检测计数逻辑,当相应的所述载入检测计数逻辑被启动并到达所述第一预设值时,相应的所述操作数合格检查器依据所述第一载入执行单元广播的第一数据高速缓存存取状态信号判断所述相应操作数直接依赖的所述第一载入微指令的所述执行状态为数据高速缓存命中或数据高速缓存未命中;当所述第一载入微指令的所述执行状态为数据高速缓存命中时,输出载入确认信号;以及与门,耦接于所述操作数合格检查器,当所有所述操作数合格检查器皆输出所述载入确认信号时,输出总载入确认信号,以驱动所述释放电路以移除所述保留站队列中所述条目的所述第一微指令。12.根据权利要求11所述的微指令调度装置,其中,每一所述操作数合格检查器包含:所述载入检测计数逻辑,初始锁存第一值,并且在每个时脉周期改变所述锁存的值;第一比较器,耦接于所述载入检测计数逻辑,反复比较所述第一微指令直接依赖的唯一标识符与所述第一载入写回信号乘载的唯一标识符;以及当所述第一微指令直接依赖的唯一标识符与所述第一载入写回信号乘载的唯一标识符相等时,重设所述第一值;第二比较器,耦接于所述载入检测计数逻辑,持续比较所述载入检测计数逻辑中所述锁存的值及所述第一预设值;当所述锁存的值相同于所述第一预设值,输出致能信号给第三比较器;以及所述第三比较器,耦接于所述第二比较器,判断所述第一数据高速缓存存取状态信号为命...

【专利技术属性】
技术研发人员:费晓龙
申请(专利权)人:上海兆芯集成电路有限公司
类型:发明
国别省市:上海,31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1