具功能单元的微处理器的执行队列的优先权调度方法技术

技术编号:31455875 阅读:50 留言:0更新日期:2021-12-18 11:22
一种具功能单元的微处理器的执行队列的优先权调度方法,包括位于指令解码单元与功能单元之间的优先权调度器及执行队列。优先权调度器判断由指令解码单元发送的解码后指令所指定的源操作数数据是否准备就绪。相对于来自执行队列的就绪指令,优先权调度器优先选择发送所有源操作数数据准备就绪的解码后指令到功能单元。具有数据依赖性的解码后指令被放置到执行队列中。到执行队列中。到执行队列中。

【技术实现步骤摘要】
具功能单元的微处理器的执行队列的优先权调度方法


[0001]本公开大体来说涉及一种具功能单元的微处理器的执行队列的优先权调度方法,且更具体来说,涉及配置数据处理系统处置在乱序(out-of-order)环境中的数据依赖性(data dependency)的能力。

技术介绍

[0002]在数据处理系统的指令流水线(instruction pipeline)中,指令被解码并以一定次序发送到功能单元,以执行由指令的操作码(opcode)指定的操作。在一些情形中,由指令指定的源操作数数据(source operand data)尚未准备就绪,其中源操作数数据可以是功能单元或其他功能单元的结果数据或者从高速缓存或存储器加载的数据。具有数据依赖性的指令将转到执行队列(execution queue)或保留站(reservation station),以便之后发送到功能单元执行。从队列或保留站发送指令的机制要么复杂、庞大且耗电,要么性能不佳且受队列大小限制。

技术实现思路

[0003]本专利技术的实施例提供一种微处理器,微处理器包括指令解码单本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种微处理器,包括:指令解码单元,至少解码出指令的一个源操作数,并发送解码后指令;功能单元,执行由核发指令指定的操作;执行队列,耦合在所述功能单元与所述指令解码单元之间,具有多个条目,每一条目存储源自所述指令解码单元中具有数据依赖性需要排队的指令;以及优先权调度器,耦合在所述功能单元、所述指令解码单元及所述执行队列之间,基于与所述解码后指令及所述排队指令对应的操作数数据是否准备就绪而对所述解码后指令及所述排队指令进行优先权排序,且基于被指派到所述解码后指令及所述排队指令的对应优先权而从所述解码后指令或所述排队指令中择一作为所述核发指令分派到所述功能单元,其中直接从所述指令解码单元发送的对应操作数数据准备就绪的解码后指令具有比来自所述执行队列,对应操作数数据准备就绪的排队指令更高的优先权。2.根据权利要求1所述的微处理器,其中所述核发指令被发送到所述功能单元,其中所述核发指令的操作数数据来自寄存器文件或转发自所述功能单元与所述核发指令的操作数对应的结果数据。3.根据权利要求1所述的微处理器,其中所述优先权调度器包括:第一操作数检查逻辑,耦合到所述指令解码单元,以用于接收所述解码后指令,并判断与所述解码后指令对应的操作数数据是否准备就绪;第二操作数检查逻辑,耦合到所述执行队列,以用于接收所述执行队列的第一条目中的排队指令,并判断与所述排队指令对应的操作数数据是否准备就绪;以及优先权选择逻辑,分别耦合到所述第一操作数检查逻辑及所述第二操作数检查逻辑,以自所述解码后指令及所述排队指令中选择对应操作数数据就绪的一条指令以发送到所述功能单元。4.根据权利要求3所述的微处理器,其中所述优先权调度器进一步包括:第三操作数检查逻辑,耦合到所述执行队列,以用于接收所述执行队列的第二条目中的排队指令,并判断与之对应的操作数数据是否准备就绪,其中位于所述第一条目中对应操作数数据准备就绪的排队指令比位于第二条目中对应操作数数据准备就绪的排队指令具有更高的优先权,其中第二条目中对应操作数数据准备就绪的排队指令比第一条目中对应操作数数据尚未准备就绪的排队指令具有更高的优先权。5.根据权利要求4所述的微处理器,其中所述执行队列包括旋转指标,而所述旋转指标包括:第一读取指标,指向所述执行队列中第一条目的排队指令;以及第二读取指标,指向所述执行队列中第二条目的排队指令,其中如果所述第一条目的排队指令被所述优先权调度器选择用于发送到所述功能单元,则所述第二读取指标被复制到所述第一读取指标,且所述第二读取指标递增1,其中如果在第二条目的排队指令被所述优先权调度器选择用于发送到所述功能单元,则第二读取指标递增1。6.根据权利要求1所述的微处理器,其中如果对应的操作数数据尚未准备就绪且所述执行队列已满,则暂停处理来自所述指令解码单元的解码后指令。
7.根据权利要求1所述的微处理器,其中所述优先权调度器先从所述解码后指令及所述排队指令中择一作为核发指令,再从寄存器文件或结果数据总线存取所需操作数数据。8.根据权利要求1所述的微处理器,其中来自所述指令解码单元的解码后指令及来自所述执行队列的排队指令独立地从寄存器文件及结果数据总线存取对应的操作数数据,且所述优先权调度器基于所述解码后指令及所述排队指令的优先权来选择操作数数据,以发送到所述功能单元。9.一种通过优先权调度将核发指令发送到功能单元以供执行的方法,包括:从指令解码单元接收解码后指令,且从执行队列接收排队指令;基于与所述解码后指令及所述排队指令对应的操作数数据是否准备就绪而从所述解码后指令及所述排队指令中根据优先权择一,其中操作数数据准备就绪的所述解码后指令具有比操作数数据准备就绪的所述排队指令更高的优先权,且所述解码后指令直接从所述指令解码单元发送,所述排队指令来自所述执行队列;以及基于被指派到所述解码后指令及所述排队指令的对应优先权而从所述解码后指令及所述排队指令中择一作为核发指令发送到所述功能单元。10.根据权利要求9所述的方法,其中所述核发指令与其操作数数据被发送到所述功能单元,而操作数数据来自寄存器文件或转发自所述功能单元对应于该指令的操作数数据的结果数据。11.根据权利要求9所述的方法,进一步包括:判断与所述解码后指令对应的操作数数据是否准备就绪;判断与所述排队指令对应的操作数数据是否准备...

【专利技术属性】
技术研发人员:陈丁明
申请(专利权)人:晶心科技股份有限公司
类型:发明
国别省市:

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

1