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

技术编号:13426475 阅读:87 留言:0更新日期:2016-07-29 14:49
一个执行条件非分支指令的微处理器。该微处理器包含:一预测器,用以提供关于一条件非分支指令的预测;一指令转译器,用以:在该预测预测该条件将不会被满足时,将该条件非分支指令转译为具有条件码的一不操作微指令,其中具有条件码的不操作微指令除了使执行单元启动来检查该预测外不会执行其它操作;以及在该预测预测该条件将会被满足时,将该条件非分支指令转译为单个具有条件码的可操作微指令以非条件地执行该操作;一执行管线,包括指令发布单元和多个执行单元,其中指令发布单元操作来发布该单个具有条件码的可操作微指令给多个执行单元的选择的一个,并且所选择的执行单元操作来执行该单个具有条件码的可操作微指令。

【技术实现步骤摘要】
具有条件指令的微处理器及其处理方法本申请为申请日为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))。这些协同处理器并不分享指令执行资源,只是集成于同一芯片上的不同处理核心。软件转译器(softwaretranslator)、或称软件仿真器(softwareemulator,soft本文档来自技高网...
具有条件指令的微处理器及其处理方法

【技术保护点】
一种微处理器,执行条件非分支指令,其中各该条件非分支指令是指定一条件,各该条件非分支指令在该条件满足时指示该微处理器执行一操作,而在该条件不满足该微处理器的条件旗标时不去执行该操作,该微处理器包含:一预测器,用以提供关于一条件非分支指令的预测;一指令转译器,用以:在该预测预测该条件将不会被满足时,将该条件非分支指令转译为具有条件码的一不操作微指令,其中具有条件码的不操作微指令除了使执行单元启动来检查该预测外不会执行其它操作;以及在该预测预测该条件将会被满足时,将该条件非分支指令转译为单个具有条件码的可操作微指令以非条件地执行该操作;其中该指令转译器将x86指令集架构(ISA)程序和进阶精简指令集机器(ARM)ISA程序的指令转译为由该微处理器的微指令集定义的微指令,其中该微指令按照与其中由x86ISA和ARM ISA的指令集定义的指令被编码的方式不同的方式来编码;以及一执行管线,包括指令发布单元和多个执行单元,其中指令发布单元操作来发布该单个具有条件码的可操作微指令给多个执行单元的选择的一个,并且所选择的执行单元操作来执行该单个具有条件码的可操作微指令。

【技术特征摘要】
2011.04.07 US 61/473,062;2011.04.07 US 61/473,067;1.一种微处理器,执行条件非分支指令,其中各该条件非分支指令是指定一条件,各该条件非分支指令在该条件满足时指示该微处理器执行一操作,而在该条件不满足该微处理器的条件旗标时不去执行该操作,该微处理器包含:一预测器,用以提供关于一条件非分支指令的预测;一指令转译器,用以:在该预测预测该条件将不会被满足时,将该条件非分支指令转译为具有条件码的一不操作微指令,其中具有条件码的不操作微指令除了使执行单元启动来检查该预测外不会执行其它操作;以及在该预测预测该条件将会被满足时,将该条件非分支指令转译为单个具有条件码的可操作微指令以非条件地执行该操作;其中该指令转译器将x86指令集架构程序和进阶精简指令集机器(ARM)指令集架构程序的指令转译为由该微处理器的微指令集定义的微指令,其中该微指令按照与其中由x86指令集架构和ARM指令集架构的指令集定义的指令被编码的方式不同的方式来编码;以及一执行管线,包括指令发布单元和多个执行单元,其中指令发布单元操作来发布该单个具有条件码的可操作微指令给多个执行单元的选择的一个,并且所选择的执行单元操作来执行该单个具有条件码的可操作微指令。2.根据权利要求1所述的微处理器,其中该预测器包含:一静态预测器,用以解译该条件非分支指令,并基于对该条件非分支指令的解译,提供该预测至该指令转译器。3.根据权利要求1所述的微处理器,其中该预测器包含:一动态预测器,用以维持该条件在该条件非分支指令之前的执行历程是否被满足的一历史数据,并基于该历史数据提供该预测至该指令转译器。4.根据权利要求3所述的微处理器,其中在该条件非分支指令是由位于该微处理器的一撷取地址的一指令快取撷取时,该动态预测器用以提供对应于该撷取地址的该预测,并且不去解译该条件非分支指令。5.根据权利要求1所述的微处理器,其中该预测器包含:一静态预测器,用以解译该条件非分支指令,并基于对该条件非分支指令的解译,提供一静态预测至该指令转译器;一动态预测器,用以维持该条件在该条件非分支指令之前的执行历程是否被满足的一历史数据,并基于该历史数据,提供一动态预测至该指令转译器;以及一选择器,用以维持该静态与该动态预测器在该条件非分支指令之前的执行历程的一准确度历史数据,并基于该准确度历史数据,提供一选择以选择该静态预测或是该动态预测作为该预测。6.根据权利要求5所述的微处理器,其中,在该条件非分支指令是由位于该微处理器的一撷取地址的一指令快取撷取时,该动态预测器提供对应于该撷取地址的该预测,并且不去解译该条件非分支指令;其中,在该条件非分支指令是由位于该撷取地址的该指令快取撷取时,该选择器提供对应于该撷取地址的该选择,并且不去解译该条件非分支指令。7.根据权利要求1所述的微处理器,其中该指令转译器还用以:在该预测不预测是否该条件将会被满足时,将该条件非分支指令转译为一具有条件码的第二可操作微指令以条件执行该操作。8.根据权利要求1所述的微处理器,其中,该不操作微指令或具有条件码的可操作微指令包含由该条件非分支指令指定的该条件;其中,该执行管线依据该条件与该条件旗标确认该预测是否是一误预测,以执行该不操作微指令或具有条件码的可操作微指令,并且在该预测为该误预测时,将该误预测指定给该指令转译器;其中,对应于该误预测的指定,该指令转译器还用以将该条件非分支指令再转译为具有条件码的第二可操作微指令以条件执行该操作。9.根据权利要求1所述的微处理器,其中,该预测器用以维持该条件在该条件非分支指令之前的执行历程是否被满足的一历史数据,并基于该历史数据,提供该预测至该指令转译器;其中,该不操作微指令或具有条件码的可操作微指令包含由该条件非分支指令指定的该条件;其中,该执行管线对于该条件旗标是否满足该条件作出一决定,以执行该不操作微指令或具有条件码的可操作微指令,并且提供该决定至该预测器;其中,该预测器依据来自该执行管线的该决定,更新该历史数据。10.根据权利要求9所述的微处理器,其...

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

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

1