处理器以及处理器操作方法技术

技术编号:13959150 阅读:109 留言:0更新日期:2016-11-02 21:19
一种处理器,包括:微码收集器、微运算存储器以及执行单元。微码收集器侦测并收集多个微码指令。微运算存储器存储多个微运算,并将每一微码指令转换为第一数量的微运算,并且根据每一微运算对应的并列指示位的状态而并列发射并列数量的微运算。执行单元并列执行并列数量的微运算。

【技术实现步骤摘要】

本专利技术涉及一种处理器,特别涉及一种并列执行微码指令的处理器操作方法。
技术介绍
处理器执行的指令分为简单指令(simple instruction)和微码指令(microcode instruction)。简单指令可以被译码单元(decode unit)译码成单一的微运算(micro-operation,micro-op,uop)后由执行单元(execute unit)一次性执行。然而,一些处理器使用微码指令来执行特定的程序,一个微码指令可定义为一个复杂指令,可参考为不能简单译码为单一的微运算由执行单元执行的指令集结构的指令。微码指令可经由一或多的运算查找表,被转译成一连串储存于存储器(如,只读存储器)的微运算。上述「运算查找表」也可称为「微码(microcode)」,以微码指令为索引可查找出对应的多个微运算。尽管一个微码指令会转译为多个微运算执行,但有些旧有的微码(例如遗产微码legal microcode)是为了帮助处理器支持旧有的功能或指令,由于这些旧有的微码开发完成已经许多年,加上过去处理器的硬件的限制,例如为单发射(single issue)处理器,通常每个时钟周期只能发射一条微运算至后端执行,使得发射速率低落。因此,有必要在不改变旧有微码本身的情况下,提升旧有微码的发射率(issue rate)。
技术实现思路
有鉴于此,本专利技术提出一种处理器,包括:微码收集器、微运算存储器以及执行单元。上述微码收集器侦测并收集多个微码指令;上述微运算存储器存储多个微运算,并将每一上述微码指令转换为第一数量的上述微运算,并且根据每一上述微运算对应的并列指示位的状态而并列发射并列数量的上述微运算;上述执行单元并列执行上述并列数量的上述微运算。本专利技术还提出一种处理器操作方法,包括:侦测并收集多个微码指令;将上述微码指令转换为第一数量的微运算;根据每一上述微运算的并列指示位的状态,并列发射并列数量的上述微运算;以及并列执行上述并列数量的上述微运算。附图说明图1为显示根据本专利技术的一实施例所述的处理器的方块图;图2为显示根据本专利技术的一实施例所述的微运算对应的并列指示位的示意图;图3为显示根据本专利技术的另一实施例所述的处理器的方块图;以及图4为显示根据本专利技术的一实施例所述的处理器操作方法的流程图。具体实施方式以下说明为本专利技术的实施例。其目的是要举例说明本专利技术一般性的原则,不应视为本专利技术的限制,本专利技术的范围当以申请专利范围所界定者为准。值得注意的是,以下所揭露的内容可提供多个用以实践本专利技术的不同特点的实施例或范例。以下所述的特殊的组件范例与安排仅用以简单扼要地阐述本专利技术的精神,并非用以限定本专利技术的范围。此外,以下说明书可能在多个范例中重复使用相同的组件符号或文字。然而,重复使用的目的仅为了提供简化并清楚的说明,并非用以限定多个以下所讨论的实施例以及/或配置之间的关系。此外,以下说明书所述的一个特征连接至、耦接至以及/或形成于另一特征之上等的描述,实际可包含多个不同的实施例,包括该等特征直接接触,或者包含其它额外的特征形成于该等特征之间等等,使得该等特征并非直接接触。图1为显示根据本专利技术的一实施例所述的处理器的方块图。如图1所示,处理器100包括指令高速缓冲存储器110、微码收集器120、微运算存储器130、执行单元140以及指令译码单元150。要知道,整体的处理器100可再包括其他所需的组件,在此简化以利详细说明本专利技术的技术特征。指令高速缓冲存储器110,其高速缓冲存放诸如x86指令集架构等的指令集架构的指令,包括简单指令以及微码指令。根据本专利技术的一实施例,一条简单指令可由译码单元150直接转译成单一微运算后由后端的执行单元140直接执行,而微码指令无法由译码单元150直接转译后执行,必须先将微码指令经由微码转译为对应的一系列微运算才可由执行单元140进行执行。根据本专利技术的一实施例,简单指令经由第一路径P1由译码单元150直接转译后送到执行单元140;根据本专利技术的另一实施例,微码指令经由第二路径P2送至微码收集器120。微码收集器120用以侦测并收集取自指令高速缓冲存储器110的多个微码指令,微运算存储器130用以存储多个微运算,并将每一微码指令转换为一定数量的微运算,并且根据每一微运算对应的并列指示位的状态而并列发射并列数量的微运算至执行单元140。执行单元140接收到并列数量的微运算时,对并列数量的微运算进行并列执行。在一实施例中,微码收集器120和微运算存储器130也可包含在与译码单元150并列的另一译码单元中。值得注意的是,微运算存储器130并非将微运算直接发射至执行单元140执行,中间省略了现有技术的多个处理器流水线级,例如寄存器别名表(RAT)、重排序缓冲器(ROB)及保留站(Reservation Station)等,在此不再赘述。根据本专利技术的一实施例,本专利技术针对微运算存储器130内所存储的每一行微运算,对应存储并列指示位,其指示每一微运算是否能与其前面的微运算并列发射。举例而言,一行微运算的并列指示位如果为逻辑「1」,表示其能与其前面的微运算并列发射,如果为逻辑「0」,表示其不能与其前面的微运算并列发射,当然本专利技术不限于此。并列指示位可存储于微运算存储器130中与各自对应的微运算的存储位置对应的位置;由于旧有的微码不便于修改,在其它实施例中,这些并列指示位可存储于位存储器(图未绘示)中,该位存储器可独立于微运算存储器130之外,按照微码中微运算的原本的排列顺序,在该位存储器中对应存储各个并列指示位。图2会描述关于并列指示位的详细细节。根据本专利技术的一实施例,微运算存储器130还包括逻辑模块131,用以侦测微码指令所对应的每一微运算的并列指示位的状态。逻辑模块131可以由微码后或包括在微码末尾的一段代码来实现。图2为显示根据本专利技术的一实施例所述的微运算对应的并列指示位的示意图。如图2所示,第一微运算INST1具有第一并列指示位PI1,第二微运算INST2具有第二并列指示位PI2,第N微运算具有第N并列指示位PIN。当微运算存储器130将一微码指令转换成第一微运算INST1、第二微运算INST2、……第N微运算INSTN时,逻辑模块131侦测第一并列指示位PI1、第二并列指示位PI2、……第N并列指示位PIN,判断第一微运算INST1、第二微运算INST2、……第N微运算INSTN是否能够并列执行。举例而言,第二并列指示位PI2为逻辑「1」,表示第二微运算INST2能与第一微运算INST1并列发射;第三并列指示位PI3为逻辑「1」,表示第三微运算INST3能与第二微运算INST2并列发射;……依此类推,直到有某个微运算(例如INSTM)的并列指示位(例如PIM)为逻辑「0」,则表示INSTM不能与其前面的运算并列发射,则逻辑模块131判定微运算INST1~INST(M-1)能够并列发射。通常微码中的一般微运算,例如算术逻辑运算(ALU)、单指令流多数据流运算(SIMD)及访问存储器运算等都可以并行发射,而一些特殊的微运算,例如分支(branch)、中断(interrupt)及型号相关寄存器(Model Specific Register,MSR)读取和写入(RDMSR/WRMSR)等必须按顺序发本文档来自技高网...

【技术保护点】
一种处理器,其特征在于,包括:微码收集器,侦测并收集多个微码指令;微运算存储器,存储多个微运算,并将每一上述微码指令转换为第一数量的上述微运算,并且根据每一上述微运算对应的并列指示位的状态而并列发射并列数量的上述微运算;以及执行单元,并列执行上述并列数量的上述微运算。

【技术特征摘要】
1.一种处理器,其特征在于,包括:微码收集器,侦测并收集多个微码指令;微运算存储器,存储多个微运算,并将每一上述微码指令转换为第一数量的上述微运算,并且根据每一上述微运算对应的并列指示位的状态而并列发射并列数量的上述微运算;以及执行单元,并列执行上述并列数量的上述微运算。2.根据权利要求1所述的处理器,其特征在于,还包括:位存储器,对应每一上述多个微运算存储上述并列指示位。3.根据权利要求1所述的处理器,其特征在于,上述并列指示位指示每一上述微运算是否能与其前面的微运算并列发射。4.根据权利要求1所述的处理器,其特征在于,上述微运算存储器包括:逻辑模块,侦测每一上述第一数量的微运算对应的上述并列指示位的状态,其中当上述逻辑模块侦测到上述第一数量的微运算中第二数量的上述微运算对应的上述并列指示位为第一逻辑位准时,上述逻辑模块判定上述第二数量的上述微运算能够并列发射。5.根据权利要求4所述的处理器,其特征在于,当上述逻辑模块判断上述第二数量的上述微运算能并列发射时,上述微运算存储器自上述第二数量的上述微运算选出上述并列数量的上述微运算并列发射至上述执行单元进行并列执行。6.根据权利要求1所述的处理器,其特征在于,还包括:并列执行缓存器,存储容量为最多可存储第三数量的上述微运算,当侦测到上述第一数量的微运算中第二数量的微运算能够并列发射时,上述微运算存储器将...

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

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

1