具有条件指令的微处理器及其处理方法技术

技术编号:17541380 阅读:44 留言:0更新日期:2018-03-24 18:08
一种具有一指令集架构的微处理器。该指令集架构是定义有一指令,其包含一立即字段,其具有一第一部分指定一第一数值与一第二部分指定一第二数值,该指令指示该微处理器执行操作将一固定数值作为其中之一的来源操作数,该固定数值是将第一数值基于第二数值转动/移动一定数量的位而获得。该微处理器包含:指令转译器,将指令转译为至少一立即ALU微指令,其中立即ALU微指令是以不同于指令集架构所定义的指令编码方式进行编码;以及执行管线,执行由指令转译器所产生的微指令,以产生由指令集架构定义的结果。其中指令转译器而非该执行管线,依据第一数值与第二数值产生固定数值作为给立即ALU微指令的一来源操作数,供该执行管线执行。

A microprocessor with conditional instruction and its processing method

A microprocessor with an instruction set architecture. The instruction set architecture is defined with an instruction, comprising an immediate field, its first with the specified value and a second part specifies a second value the first part, the instruction of the microprocessor executes a fixed number of numerical operations will be as one of the sources of the operation, the fixed value is the first value of second numerical / rotation move a number of bits based on the obtained. The microprocessor includes: instruction translator, the instruction translation for at least one immediately ALU micro instruction, which is immediately ALU micro instruction in the instruction set instruction encoding defined architecture for encoding; and the execution pipeline, microinstruction execution generated by instruction translator, to generate an instruction set architecture the definition of the results. The instruction translator, instead of executing the pipeline, generates a fixed number based on the first and second values as a source operand for the immediate ALU microinstruction, and executes the execution pipeline.

【技术实现步骤摘要】
具有条件指令的微处理器及其处理方法本专利技术为申请日为2012年4月9日、申请号为201610126292.2的名称为“具有条件指令的微处理器及其处理方法”的申请案(其中该申请案的原申请的申请日为2012年4月9日以及申请号为201210102141.5)的分案申请。
本专利技术是关于微处理器的
,特别是关于在指令集中具有条件指令的微处理器。
技术介绍
由IntelCorporationofSantaClara,California开发出来的x86处理器架构以及由ARMLtd.ofCambridge,UK开发出来的进阶精简指令集机器(advancedriscmachines,ARM)架构是计算机领域中两种广为人知的处理器架构。许多使用ARM或x86处理器的计算机系统已经出现,并且,对于此计算机系统的需求正在快速成长。现今,ARM架构处理核心是主宰低功耗、低价位的计算机市场,例如手机、手持式电子产品、平板计算机、网络路由器与集线器、机上盒等。举例来说,苹果iPhone与iPad主要的处理能力即是由ARM架构的处理核心提供。另一方面,x86架构处理器则是主宰需要高效能的高价位市场,例如膝上计算机、桌上型计算机与服务器等。然而,随着ARM核心效能的提升,以及某些x86处理器在功耗与成本的改善,前述低价位与高价位市场的界线逐渐模糊。在移动运算市场,如智能型手机,这两种架构已经开始激烈竞争。在膝上计算机、桌上型计算机与服务器市场,可以预期这两种架构将会有更频繁的竞争。前述竞争态势使得计算机装置制造业者与消费者陷入两难,因无从判断哪一个架构将会主宰市场,更精确来说,无法判定哪一种架构的软件开发商将会开发更多软件。举例来说,一些每月或每年会定期购买大量计算机系统的消费个体,基于成本效率的考虑,例如大量采购的价格优惠与系统维修的简化等,会倾向于购买具有相同系统配置设定的计算机系统。然而,这些大型消费个体中的使用者群体,对于这些具有相同系统配置设定的计算机系统,往往有各种各样的运算需求。具体来说,部分使用者的需求是希望能够在ARM架构处理器上执行程序,其它部分使用者的需求是希望能够在x86架构处理器上执行程序,甚至有部分使用者希望能够同时在两种架构上执行程序。此外,新的、预期外的运算需求也可能出现而需要使用另一种架构。在这些情况下,这些大型个体所投入的部分资金就变成浪费。在另一个例子中,使用者具有一个重要的应用程序只能在x86架构上执行,因而他购买了x86架构的计算机系统(反之亦然)。不过,这个应用程序的后续版本改为针对ARM架构开发,并且优于原本的x86版本。使用者会希望转换架构来执行新版本的应用程序,但不幸地,他已经对于不倾向使用的架构投入相当成本。同样地,使用者原本投资于只能在ARM架构上执行的应用程序,但是后来也希望能够使用针对x86架构开发而未见于ARM架构的应用程序或是优于以ARM架构开发的应用程序,亦会遭遇这样的问题,反之亦然。值得注意的是,虽然小实体或是个人投入的金额较大实体为小,然而投资损失比例可能更高。其它类似的投资损失的例子可能出现在各种不同的运算市场中,例如由x86架构转换至ARM架构或是由ARM架构转换至x86架构的情况。最后,投资大量资源来开发新产品的运算装置制造业者,例如OEM厂商,也会陷入此架构选择的困境。若是制造业者基于x86或ARM架构研发制造大量产品,而使用者的需求突然改变,则会导致许多有价值的研发资源的浪费。对于运算装置的制造业者与消费者,能够保有其投资免于受到二种架构中何者胜出的影响是有帮助的,因而有必要提出一种解决方法让系统制造业者发展出可让使用者同时执行x86架构与ARM架构的程序的运算装置。使系统能够执行多个指令集程序的需求由来已久,这些需求主要是因为消费者会投入相当成本在旧硬件上执行的软件程序,而其指令集往往不兼容于新硬件。举例来说,IBM360系统Model30即具有兼容于IBM1401系统的特征来缓和使用者由1401系统转换至较高效能与改良特征的360系统的痛苦。Model30具有360系统与1401系统的只读储存控制(ReadOnlyStorage,ROS)),使其在辅助储存空间预先存入所需信息的情况下能够使用于1401系统。此外,在软件程序以高级语言开发的情况下,新的硬件开发商几乎没有办法控制为旧硬件所编译的软件程序,而软件开发商也欠缺动力为新硬件重新编译(re-compile)源码,此情形尤其发生在软件开发商与硬件开发商是不同个体的情况。Siberman与Ebcioglu于Computer,June1993,No.6提出的文章“AnArchitecturalFrameworkforSupportingHeterogeneousInstruction-SetArchitectures”中揭露一种利用执行于精简指令集(RISC)、超纯量架构(superscalar)与超长指令字(VLIW)架构(下称原生架构)的系统来改善既存复杂指令集(CISC)架构(例如IBMS/390)执行效率的技术,其所揭露的系统包含执行原生码的原生引擎(nativeengine)与执行目的码的迁移引擎(migrantengine),并可依据转译软件将目的码(objectbode)转译为原生码(nativecode)的转译效果,在这两种编码间视需要进行转换。请参照2006年5月16日公告的美国专利第7,047,394号专利案,VanDykeetal.揭露一处理器,具有用以执行原生精简指令集(Tapestry)的程序指令的执行管线,并利用硬件转译与软件转译的结合,将x86程序指令转译为原生精简指令集的指令。Nakadaetal.提出具有ARM架构的前端管线与FujitsuFR-V(超长指令字)架构的前端管线的异质多线程处理器(heterogeneousSMTprocessor),ARM架构前端管线用于非规则(irregular)软件程序(如操作系统),而FujitsuFR-V(超长指令字)架构的前端管线用于多媒体应用程序,其将一增加的超长指令字队列提供予FR-V超长指令字的后端管线以维持来自前端管线的指令。请参照Buchty与Weib,eds,UniversitatsverlagKarlsruhe于2008年11月在FirstInternationalWorkshoponNewFrontiersinHigh-performanceandHardware-awareComputing(HipHaC’08),LakeComo,Italy,(配合MICRO-41)发表的论文集(ISBN978-3-86644-298-6)的文章“OROCHI:AMultipleInstructionSetSMTProcessor”。文中提出的方法用以降低整个系统在异质系统单芯片(SOC)装置(如德州仪器OMAP应用处理器)内所占据的空间,此异质系统单芯片装置具有一个ARM处理器核心加上一个或多个协同处理器(co-processors)(例如TMS320、多种数字信号处理器、或是多种图形处理单元(GPUs))。这些协同处理器并不分享指令执行资源,只是集成于同一芯片上的不同处理核心。软件转译器(softw本文档来自技高网...
具有条件指令的微处理器及其处理方法

【技术保护点】
一种具有一指令集架构的微处理器,该指令集架构是定义有一指令,该指令包含一立即字段,该立即字段内具有一第一部分指定一第一数值与一第二部分指定一第二数值,该指令指示该微处理器执行一操作将一固定数值作为其中之一的来源操作数,该固定数值是将该第一数值基于该第二数值转动/移动一定数量的位而获得,该微处理器包含:一指令转译器,将该指令转译为至少一立即ALU微指令,其中该立即ALU微指令是以不同于该指令集架构所定义的指令编码方式进行编码;以及一执行管线,执行由该指令转译器所产生的微指令,以产生由该指令集架构定义的结果;其中该指令转译器,而非该执行管线,依据该第一数值与该第二数值产生该固定数值作为给立即ALU微指令的一来源操作数,供该执行管线执行。

【技术特征摘要】
2011.04.07 US 61/473,062;2011.04.07 US 61/473,067;1.一种具有一指令集架构的微处理器,该指令集架构是定义有一指令,该指令包含一立即字段,该立即字段内具有一第一部分指定一第一数值与一第二部分指定一第二数值,该指令指示该微处理器执行一操作将一固定数值作为其中之一的来源操作数,该固定数值是将该第一数值基于该第二数值转动/移动一定数量的位而获得,该微处理器包含:一指令转译器,将该指令转译为至少一立即ALU微指令,其中该立即ALU微指令是以不同于该指令集架构所定义的指令编码方式进行编码;以及一执行管线,执行由该指令转译器所产生的微指令,以产生由该指令集架构定义的结果;其中该指令转译器,而非该执行管线,依据该第一数值与该第二数值产生该固定数值作为给立即ALU微指令的一来源操作数,供该执行管线执行。2.根据权利要求1所述的微处理器,其中该指令转译器依据该立即字段的一数值是否落于一预定的数值子集内,以将该指令转译为不同的微指令。3.根据权利要求1所述的微处理器,其中该执行管线包含:多个执行单元,执行该微指令以产生该结果;以及一发布单元,将该指令转译器产生的该固定数值发布给至少一个该执行单元,该固定数值是作为由该至少一该执行单元执行的该立即ALU微指令的该来源操作数。4.根据权利要求1所述的微处理器,其中该执行管线包含:多个执行单元,执行该微指令以产生该结果;其中,该微处理器还包含:一个或多个第一总线,将来自该执行单元的该微指令的执行结果传送回该执行单元,作为其它微指令的来源操作数;以及一第二总线,提供由该指令转译器产生的该固定数值给该执行管线,其中该第二总线不同于该一个或多个第一总线。5.根据权利要求4所述的微处理器,还包含:多个寄存器,接收来自该执行单元的该微指令的执行结果,由该指令转译器产生的该固定数值不会被该微处理器写入该寄存器。6.根据权利要求1所述的微处理器,其中该固定数值是将该第一数值转动/移动两倍于该第二数值的数量的位而获得。7.根据权利要求1所述的该微处理器,其中该微处理器的指令集架构定义每个包括立即字段的多个指令,包含进阶精简指令集机器ARM指令集架构ISA的数据处理指令,该数据处理指令指定一修正后立即常数。8.根据权利要求7所述的微处理器,其中该ARM指令集架构的指定一修正后立即常数的该数据处理指令包含指定一修正后立即常数的条件ALU指令。9.一种方法,由一具有一指令集架构的微处理器执行,该指令集架构是定义一指令,该指令包含一立即字段,该立即字段内具有一第一部分指定一第一数值与一第二部分指定一第二数值,该指令指示该微处理器执行一操作将一固定数值作为其中之一的来源操作数,该固定数值是将该第一数值基于该第二数值转动/移动一定数量的位而获得,该方法包含:将该指令转译为至少一立即ALU微指令,其中该立即ALU微指令是以不同于该指令集架构所定义的指令编码方式进行编码,其中,该转译步骤是由该微处理器的一指令转译器执行;以及执行由该指令转译器所产生的微指令,以产生一由该指令集架构定义的结果,其中该执行步骤是由该微处理器的一执行管线执行;其中由该指令转译器,而非该执行管线,依据该第一数值与该第二数值产生该固定数值作为给立即ALU微指令的一来源操作数,供该执行管线执行。10.根据权利要求9所述的方法,其中该转译步骤包含依据该立即字段的一数值是否落于一预定的数值子集内,将该指令转译为不同的微指令。11.根据权...

【专利技术属性】
技术研发人员:G葛兰亨利泰瑞派克斯罗德尼E虎克
申请(专利权)人:威盛电子股份有限公司
类型:发明
国别省市:中国台湾,71

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

1