指令翻译电路、处理器电路及其执行方法技术

技术编号:19691094 阅读:56 留言:0更新日期:2018-12-08 10:59
本发明专利技术提出一种指令翻译电路、处理器电路及其执行方法。指令翻译电路适于设置在处理器电路中。指令翻译电路包括格式化指令队列、第一指令翻译器、指令侦测电路以及第二指令翻译器。格式化指令队列存储多个格式化宏指令。第一指令翻译器翻译所述多个格式化宏指令的第一格式化宏指令,并且输出第一微指令。当指令侦测电路判断在第一格式化宏指令当中的陷阱位经设置,且第一格式化宏指令的一部分可被提前翻译时,指令侦测电路输出第一陷阱信息。第二指令翻译器依据第一陷阱信息来提前翻译第一格式化宏指令的一部分,以输出第二微指令。

【技术实现步骤摘要】
指令翻译电路、处理器电路及其执行方法
本专利技术是有关于一种复杂指令翻译技术,且特别是有关于一种指令翻译电路、处理器电路及其执行方法。
技术介绍
一般而言,在传统的x86架构处理器中,当格式化指令队列(FormattedInstructionQueue,FIQ)提供一个格式化宏指令(formattedmacroinstruction)至指令翻译器(XLATE)时,若此格式化宏指令为复杂指令(complexinstruction),则陷阱位(trapbit)侦测器在指令翻译器完成指令翻译后,才能进一步提供陷阱位信息至微码(microcode/ucode)翻译器(有的甚至需要先提供陷阱位信息至寄存器别名表,由寄存器别名表再进一步提供该陷阱位信息给微码翻译器),以使微码翻译器依据陷阱位信息来进行进一步的指令翻译。也就是说,微码翻译器需要等待指令翻译器对格式化宏指令的一部分完成指令翻译后,才会接着对格式化宏指令的另一部分执行指令翻译。因此,在传统的x86架构处理器中,复杂指令翻译需花费较长的时间,而造成处理器的执行效率不佳。有鉴于此,以下将提出几个解决方案。
技术实现思路
本专利技术提供的一种指令翻译电路、处理器电路及其执行方法,可藉由提前翻译格式化宏指令的一部分,以有效地加快处理器的执行效率。本专利技术的一种指令翻译电路适于设置在处理器电路中。指令翻译电路包括格式化指令队列、第一指令翻译器、指令侦测电路以及第二指令翻译器。格式化指令队列用以存储多个格式化宏指令。第一指令翻译器耦接格式化指令队列。第一指令翻译器用以翻译多个格式化宏指令的第一格式化宏指令,并且输出第一微指令。指令侦测电路耦接格式化指令队列。当指令侦测电路判断在多个格式化宏指令的第一格式化宏指令当中的陷阱位经设置,且第一格式化宏指令的一部分可被提前翻译时,指令侦测电路输出第一陷阱信息。第二指令翻译器耦接指令侦测电路。第二指令翻译器用以依据第一陷阱信息来提前翻译第一格式化宏指令的一部分,以输出第二微指令。本专利技术的一种处理器电路包括指令翻译电路以及寄存器别名表。指令翻译电路包括格式化指令队列、第一指令翻译器、指令侦测电路以及第二指令翻译器。格式化指令队列用以存储多个格式化宏指令。第一指令翻译器耦接格式化指令队列。第一指令翻译器用以翻译多个格式化宏指令的第一格式化宏指令,并且输出第一微指令。指令侦测电路耦接格式化指令队列。当指令侦测电路判断在多个格式化宏指令的第一格式化宏指令当中的陷阱位经设置,且第一格式化宏指令的一部分可被提前翻译时,指令侦测电路输出第一陷阱信息。第二指令翻译器耦接指令侦测电路。第二指令翻译器用以依据第一陷阱信息来提前翻译第一格式化宏指令的一部分,以输出第二微指令。寄存器别名表耦接第一指令翻译器以及第二指令翻译器。寄存器别名表用以接收第一微指令以及第二微指令。本专利技术的一种执行方法适于指令翻译电路。执行方法包括以下步骤:藉由格式化指令队列存储多个格式化宏指令;当在多个格式化宏指令的第一格式化宏指令当中的陷阱位经设置,且第一格式化宏指令的一部分可被提前翻译时,藉由指令侦测电路输出第一陷阱信息;藉由第二指令翻译器依据第一陷阱信息来提前翻译第一格式化宏指令的一部分,以输出第二微指令;以及藉由第一指令翻译器翻译第一格式化宏指令的另一部分,并且输出第一微指令。基于上述,本专利技术的指令翻译电路、处理器电路及其执行方法可藉由指令侦测电路的设计,以预先判断存储在格式化指令队列当中的多个格式化宏指令的第一格式化宏指令的较复杂一部分是否可被提前翻译,以藉由第二指令翻译器提前针对第一格式化宏指令的较复杂的一部分进行翻译。因此,本专利技术的指令翻译电路、处理器电路及其执行方法可有效加快处理器电路执行指令的速度,以及减少处理器资源的闲置情况。为让本专利技术的上述特征和优点能更明显易懂,下文特举实施例,并配合附图作详细说明如下。附图说明图1是依照本专利技术的一实施例的一种指令翻译电路的示意图。图2是依照本专利技术的一实施例的一种处理器电路的示意图。图3是依照本专利技术的一实施例的一种适用于指令翻译电路的执行方法的流程图。符号说明:20:处理器电路100、200:指令翻译电路110、210:格式化指令队列120、220:第一指令翻译器130、230:指令侦测电路140、240:第二指令翻译器231:发现逻辑232:提前陷阱位侦测器233:提前指令内容信息产生器250:陷阱位侦测器260:多工器逻辑300:寄存器别名表310:暂存器Instr_1~Instr_n:格式化宏指令Trapbit1~Trapbitn:陷阱位Ti1、Ti2:陷阱信息iir:指令内容信息S410~S440:步骤具体实施方式为了使本公开的内容可以被更容易明了,以下特举实施例作为本公开确实能够据以实施的范例。另外,凡可能之处,在附图及实施方式中使用相同标号的组件/构件/步骤,代表相同或类似部件。图1是依照本专利技术的一实施例的一种指令翻译电路的示意图。参考图1,指令翻译电路100包括格式化指令队列(FormattedInstructionQueue,FIQ)110、第一指令翻译器120、指令侦测电路130以及第二指令翻译器140。格式化指令队列110耦接第一指令翻译器120以及指令侦测电路130。指令侦测电路130耦接第二指令翻译器140。在本实施例中,处理器电路100为具有指令管线化(instructionpipeline)的一种超标量(superscalar)管线(乱序执行)处理器(ambitiousCPU),但本专利技术并不限于此。在一实施例中,处理器电路100例如是任何类型的微处理器(microprocessor)、中央处理单元(CPU)或微控制器(MicrocontrollerUnit,MCU)等诸如此类的处理单元。或者是,处理器电路100包括任何类型的处理器配置,例如是集成在芯片上的处理单元或包括整合在系统芯片(SystemonChip,SOC)当中的集成电路(IntegratedCircuit,IC)。在本实施例中,指令翻译电路100适于配置在处理器电路中,并且用以提供指令翻译功能(又称为译码)。举例而言,在处理器执行指令的过程中,指令翻译电路100接收并存储由指令快取(instructioncache)(未绘示)提供的格式化宏指令(formattedmacroinstruction),并且输出翻译后的微指令(microinstruction)至寄存器别名表(RegisterAliasTable,RAT)(未绘示),寄存器别名表处理这些微指令后,再将其发射(issue)至处理器后端电路进行调度(schedule)、派遣(dispatch)及执行等操作,请注意微指令又被称为微操作(micro-operation/μop)。在本实施例中,格式化指令队列110用以存储由指令快取(未绘示)提供的多个格式化宏指令。格式化宏指令例如是x86指令集架构的宏指令,其中格式化宏指令例如包括操作码Opcode、ModRM、指令类型、陷阱位(trapbit)、陷阱信息(trapinformation)、指令内容(informationcontentinclusionrelation)信息、异常信息、立即数、分支预测相关(branchpre本文档来自技高网...

【技术保护点】
1.一种指令翻译电路,适于设置在处理器电路中,包括:格式化指令队列,用以存储多个格式化宏指令;第一指令翻译器,耦接所述格式化指令队列,用以翻译所述多个格式化宏指令的第一格式化宏指令,并且输出第一微指令;指令侦测电路,耦接所述格式化指令队列,其中当所述指令侦测电路判断在所述多个格式化宏指令的所述第一格式化宏指令当中的陷阱位经设置,且所述第一格式化宏指令的一部分可被提前翻译时,所述指令侦测电路输出第一陷阱信息;以及第二指令翻译器,耦接所述指令侦测电路,用以依据所述第一陷阱信息来提前翻译所述第一格式化宏指令的一部分,以输出第二微指令。

【技术特征摘要】
1.一种指令翻译电路,适于设置在处理器电路中,包括:格式化指令队列,用以存储多个格式化宏指令;第一指令翻译器,耦接所述格式化指令队列,用以翻译所述多个格式化宏指令的第一格式化宏指令,并且输出第一微指令;指令侦测电路,耦接所述格式化指令队列,其中当所述指令侦测电路判断在所述多个格式化宏指令的所述第一格式化宏指令当中的陷阱位经设置,且所述第一格式化宏指令的一部分可被提前翻译时,所述指令侦测电路输出第一陷阱信息;以及第二指令翻译器,耦接所述指令侦测电路,用以依据所述第一陷阱信息来提前翻译所述第一格式化宏指令的一部分,以输出第二微指令。2.根据权利要求1所述的指令翻译电路,其中所述第二指令翻译器输出所述第二微指令的机器周期早于所述第一指令翻译器输出所述第一微指令的机器周期,并且所述第一微指令以及所述第二微指令整合为完整微指令。3.根据权利要求1所述的指令翻译电路,其中当所述第一陷阱信息包括陷阱地址,或所述第一格式化宏指令属于特定的指令类型时,所述指令侦测电路判断所述第一格式化宏指令的一部分可被提前翻译。4.根据权利要求1所述的指令翻译电路,还包括:陷阱位侦测器,耦接所述格式化指令队列,其中当在所述多个格式化宏指令的第二格式化宏指令当中的陷阱位经设置时,所述陷阱位侦测器输出第二陷阱信息;以及多工器逻辑,耦接所述指令侦测电路以及所述陷阱位侦测器,用以接收所述指令侦测电路输出的所述第一陷阱信息以及所述陷阱位侦测器输出的所述第二陷阱信息。5.根据权利要求4所述的指令翻译电路,其中当所述格式化宏指令的一部分可被提前翻译时,所述多工器逻辑判断所述第二指令翻译器是否为闲置状态,以将所述第一陷阱信息输出至所述第二指令翻译器。6.根据权利要求4所述的指令翻译电路,其中所述第二指令翻译器将产生的所述第二微指令暂存至暂存器,当所述陷阱位侦测器依据所述第一格式化宏指令输出第三陷阱信息时,并且判断到所述第一格式化宏指令所对应的提前陷阱指示信号经设定时,所述陷阱位侦测器指示寄存器别名表从所述暂存器读取所述第二微指令。7.根据权利要求4所述的指令翻译电路,其中当所述多工器逻辑接收到所述第二陷阱信息时,所述多工器逻辑判断所述第二格式化宏指令所对应的提前陷阱指示信号是否经设定,其中当第二格式化宏指令所对应的所述提前陷阱指示信号未经设定时,所述多工器逻辑将所述第二陷阱信息输出至所述第二指令翻译器,以使所述第二指令翻译器依据所述第二陷阱信息来产生第三微指令,其中当第二格式化宏指令所对应的所述提前陷阱指示信号经设定时,所述多工器逻辑将所述第一陷阱信息输出至所述第二指令翻译器,以使所述第二指令翻译器依据所述第一陷阱信息来产生所述第二微指令。8.根据权利要求1所述的指令翻译电路,其中所述指令侦测电路包括:发现逻辑,耦接所述格式化指令队列,用以依序搜寻存储在所述格式化指令队列当中的所述多个格式化宏指令,以指向所述第一格式化宏指令,其中所述第一格式化宏指令是具有经设置的所述陷阱位的格式化宏指令中最早进入所述格式化指令队列的。9.根据权利要求8所述的指令翻译电路,其中所述指令侦测电路还包括:提前陷阱位侦测器,耦接所述格式化指令队列,用以侦测所述发现逻辑所指向的所述第一格式化宏指令,以判断所述第一格式化宏指令的一部分是否可被提前翻译;以及提前指令内容信息产生器,耦接所述格式化指令队列,其中当所述提前陷阱位侦测器判断所述第一格式化宏指令的一部分可被提前翻译时,所述提前陷阱位侦测器输出所述第一陷阱信息,并且所述提前指令内容信息产生器输出第一指令内容信息供所述第二指令翻译器据以产生所述第二微指令。10.根据权利要求9所述的指令翻译电路,其中当所述提前陷阱位侦测器判断所述第一格式化宏指令的一部分不可被提前翻译时,所述发现逻辑停止搜寻存储在所述格式化指令队列当中的所述多个格式化宏指令,以停留指向于所述第一格式化宏指令。11.一种处理器电路,包括:指令翻译电路,包括:格式化指令队列,用以存储多个格式化宏指令;第一指令翻译器,耦接所述格式化指令队列,用以翻译所述多个格式化宏指令的第一格式化宏指令,并且输出第一微指令;指令侦测电路,耦接所述格式化指令队列,其中当所述指令侦测电路...

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

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

1