可执行x86指令集及ARM指令集指令的微处理器及其运作方法技术

技术编号:7865342 阅读:359 留言:0更新日期:2012-10-15 00:32
可执行x86指令集及ARM指令集指令的微处理器及其运作方法。微处理器包含硬件指令转译器,将x86指令集架构及ARM指令集架构机器语言程序指令转译成微指令,其编码方式有别于x86指令集架构及ARM指令。执行管线执行微指令,产生由x86指令集架构/ARM定义的结果。微指令有别于执行管线执行微指令所产生的结果。转译器直接提供微指令至执行管线。微处理器每一次执行x86指令集架构及ARM指令集架构指令的其中之一时,转译器将它转译为微指令。指标指示x86或ARM何者为一启动指令集架构。重置后,微处理器初始化其架构状态,从重置地址读取其第一指令,依据启动指令集架构的定义,将第一指令全部转译。指令高速缓存存储器将x86及ARM指令存入高速缓存存储器,且提供给转译器。

【技术实现步骤摘要】

本专利技术涉及一种微处理器,特别是涉及一种关于多重指令集架构的支持。
技术介绍
由美国加州圣克拉拉的intel公司所独创地开发的x86处理器架构,以及由英国剑桥的ARM公司所独创地开发的进阶精简指令集机器(Advanced RISC Machines, ARM)架构,皆是计算机
所熟知。许多计算机系统中存在,包括ARM处理器或x86处理器,以及对他们的需求似乎迅速地增加。目前,ARM架构处理核心的需求在计算机市场中的低功率及低成本部分似乎占有主要的地位,例如手机、个人数字助理(PDA)、平板计算机(tabletPCs)、网络路由器及集线器以及机顶盒(例如苹果公司的iPhone以及iPad的主要处理电源是由ARM架构处理器核心所提供)。而x86架构处理器的需求在计算机市场中的讲求高效能及需要高成本的部分似乎占有主要的地位,例如笔记型计算机、桌上型计算机及伺服器。然而,随着ARM核心的效能增加以及x86处理器的某种模型的消耗功率及成本减少,不同市场的界线显然地消失,且两个架构即将互相对抗,举例来说,在行动计算机市场如智慧型手机,且两个架构很可能即将在笔记型计算机、桌上型计算机及伺服器的市场上更频繁地对抗。这种情况造成计算机元件制造商及消费者对于两个架构中何者占有优势而处于两难,特别是两个架构软件开发者为此将开发更多的软件。举例来说,一些企业用户每个月或每年购买非常大量的计算机系统。这些企业用户因为大量购买相同系统以及简化系统维持及维修的成本效益,将非常积极地购买相同组态的系统。然而,这些大企业用户的使用者对单一设置的计算机具有不同的计算需求。更具体地来说,一些有计算需求的使用者想要在一 ARM架构处理器上执行软件,而另一些有计算需求的使用者想要在x86架构处理器上执行软件,甚至还有一些想要在两者架构处理器上执行软件。更进一步地来说,新的先前未预料到对一个架构或另一个架构的计算需求可能出现。在这些情况下,这些大企业用户所做的庞大的投资的一部份可能已经浪废掉。举另一个例子来说,一特定的使用者可能有一重要的应用程序,该运用只能在x86架构上执行,因此,该使用者购买x86架构系统,但是应用程序的版本是为ARM架构而开发,其优于x86的版本(反之亦然),因此使用者想要切换版本。不幸地,使用者已经对他不偏好的架构投入金钱。更进一步地来说,一个特定的使用者已经对应用软件投资,该应用软件仅能在ARM架构上执行,然而使用者欲将应用软件使用于其他已经为x86开发的领域,该领域并未对ARM架构所存在,或是优于为ARM架构所开发的相当的软件(反之亦然)。值得注意的是,尽管小企业用户或个人使用者对应用软件的投资可能没有大企业用户在数量级上来得多,然而,浪费的投资相对地可能要来得多。许多投资的浪费的其他类似的例子,在多变的计算机元件市场中切换占有优势时可能存在或出现,例如从x86架构切换到ARM架构,反之亦然。最后,计算机元件制造商,例如原始设备制造商(Original Equipment Manufacture, OEM)在新产品上投入大量的资源。制造商亦将陷入两难,且如果他们开发并制造了大量的围绕x86或ARM架构的系统,将可能浪费掉一些他们宝贵的开发资源,然后使用者的需求突然地相对地改变。对计算机元件的制造商及消费者来说,可以不在乎两个架构中的哪一个盛行而保有他们的投资资源是有益的。因此,一种解决方案是有必要的,其允许系统制造商开发一种计算机元件,该计算机元件是可以让使用者执行x86架构及ARM架构的程序。一种可执行一种以上指令集的程序的系统的需求已长久存在,主要是因为顾客可能作出重要的投资在一种软件上,该软件只能在旧的硬件上执行,其指令集不同于新的硬件的指令集。举例来说,IBM System/360 Model 30包含一个IBM System 1401相容性特征可减缓转换至高效能及功能增强的system/360的痛苦。Model 30包含System/360 以及 System/1401 只读存储器(Read Only Storage, R0S)控制器,如果辅助存储器(Auxiliary Storage)预先载入需要的信息,其可用于1401模式。此外,开发出高阶语言的软件时,硬件开发者对该软件在旧硬件上编译可能有很少或是无法控制,且软 件开发者可能没有动机为了新的硬件去重新编译原始码,特别是如果软件开发者与硬件开发者不是属于同一个企业用户时。Silberman以及Ebcioglu提出一种增进现行的(基底(base))复杂指令集计算机(Complex Instruction Set Computer, CISC)架构(例如IBMS/390)的软件的技术,其藉由将该软件于一个精简指令集计算机(ReducedInstruction Set Computer, RISC)上执行来实现,超纯量,以及超长指令字(Very LongInstruction Word, VLIff)架构(原生(native))系统,其藉由包含一个原生引擎来执行原生码(native code)以及一个迁移引擎(migrant engine)来执行基底目标码(object code),可视需要切换于多种编码之间,其取决于将目标码译为原始码的译码软件的有效性。可参考「 An Architectural Framework for Support HeterogeneousInstruction-Set Architecture, Siberman and Ebcioglu Computer, June 1993,No. 6. Van Dyke et al.」揭示一种具有执行管线(execution pipeline)的处理器,其执行原生RISC程序指令且亦通过硬件转译及软件转译的结合将x86程序指令译为原生RISC指令。参考于2006/5/16核准的U. S. patent No. 7,047,394,Nakada等人提出一种异质同步多执行绪处理器(Simultaneous Multi-threading Processor, SMT),其具有针对不规则程序(例如 OS)的进阶 RISC 机器(Advanced RISC Machine, ARM)架构前端管线(front-endpipeline),以及针对多媒体应用程序的Fujitsu FR-V VLIW架构前端管线,其提供具有附加VLIW队列(queue)的FR-V VLIW后端管线(back-end pipeline),以保持来自前端管线的指令。参考「 0R0CHI :A Multiple Instruction Set SMT Processor, Proceedingof the First International Workshop on New Frontiers in High-performanceand Hardware-aware Computing(HipHaC ' 08), Lake Como, Italy, November 2008 (Inconjunction with MICRO-41), Buchty and ffeib, eds, Universi本文档来自技高网...

【技术保护点】

【技术特征摘要】
2011.04.07 US 61/473,067;2011.04.07 US 61/473,069;1.ー种微处理器,包含 一硬件指令转译器,用以将多个指令转译为多个微指令,这些指令包含多个X86指令集架构机器语言程序以及多个ARM指令集架构机器语言程序,这些微指令由该微处理器的ー微指令集定义,其中这些微指令的编码方式有别于这些指令的编码方式,这些指令由这些x86指令集架构及ARM指令集架构的指令集所定义;以及 ー执行管线,耦接该硬件指令转译器,其中该执行管线执行这些微指令,以产生由这些x86指令集架构及ARM指令集架构指令所定义的结果; 其中,该硬件指令转译器直接提供这些微指令至该执行管线以供执行,来产生由这些x86指令集架构及ARM指令集架构指令所定义的该結果。2.如权利要求I所述的微处理器,其中由该硬件指令转译器提供给该执行管线的这些微指令有别于该执行管线执行这些微指令所产生的結果。3.如权利要求I所述的微处理器,其中这些微指令是由该硬件指令转译器提供给该执行管线来执行,而不是该执行管线的結果。4.如权利要求I所述的微处理器,其中该微处理器每一次执行这些x86指令集架构及ARM指令集架构指令的其中之ー时,该硬件指令转译器将该指令集架构指令转译为这些微指令,以供该执行管线执行。5.如权利要求I所述的微处理器,其中该硬件指令转译器还包含 ー微指令高速缓存存储器,用以储存这些微指令至高速缓存存储器; 其中当这些微指令存在于该微指令高速缓存存储器时,该执行管线从该微指令高速缓存存储器接收这些微指令,而非从该硬件指令转译器接收。6.如权利要求I所述的微处理器,其中该执行管线不能直接执行这些x86指令集架构及ARM指令集架构指令。7.如权利要求I所述的微处理器,还包含 一指令模式指标,用以指示该微处理是否正在读取及转译这些x86指令集架构或ARM指令集架构指令并执行从该微处理转译来的这些微指令。8.如权利要求I所述的微处理器,其中该硬件指令转译器包含 一布林门的第一合成逻辑区块,用以将这些x86指令集架构指令转译为这些微指令;及 一布林门的第二合成逻辑区块,用以将这些ARM指令集架构指令转译为这些微指令。9.如权利要求I所述的微处理器,其中该硬件指令转译器接收一指令模式输入,藉由该指令模式输入确认这些指令集架构指令为x86指令集架构或ARM指令集架构指令。10.如权利要求9所述的微处理器,其中该硬件指令转译器包含 多个布林逻辑门,包含多个晶体管,这些布林逻辑门用以依据该指令模式输入,将作为这些x86指令集架构指令或ARM指令集架构指令的这些指令集架构指令转译成这些微指令。11.如权利要求10所述的微处理器,其中这些布林逻辑门提供因应这些x86指令集架构或ARM指令集架构指令中的一第一子集这些微指令,其中该硬件指令转译器包含 一只读存储器,制造于一半导体芯片中,该半导体芯片包含该微处理器,其中该只读存储器用以提供多个只读存储器指令,这些只读存储器指令用以产生因应这些x86指令集架构或ARM指令集架构指令中的一第二子集的这些微指令。12.如权利要求I所述的微处理器,其中该微处理器包含 至少第一及第ニ处理核心,每ー个处理核心包含该硬件指令转换器及该执行管线的ー个。13.—种运作微处理器的方法,该微处理器包含一指标,该指标指示x86指令集架构或ARM指令集架构,该方法包含 确定该指标是指示该x86指令集架构或是ARM指令集架构的何者; 当该指标指示为该x86指令集架构时,依据该x86指令集架构将多个机器语言指令转译为多个微指令,当该指标指示为该ARM指令集架构时,依据该ARM指令集架构将多个机器语言指令转译为多个微指令,其中这些微指令是由该微处理器的ー微指令集所定义,且这些微指令的编码方式有别于该x86指令集架构或是ARM指令集架构的这些指令集所定义的这些指令的编码方式,其中该转译步骤是由该微处理器的一硬件指令转译器实行;以及 当该指标指示为该x86指令集架构时,执行这些微指令,以产生由该x86指令集架构所定义的结果,当该指标指示为该ARM指令集架构时,执行这些微指令,以产生由该ARM指令集架构所定义的结果,其中该执行步骤是由该微处理器的ー执行管线实行,该执行管线耦接于该硬件指令转译器。14.如权利要求13所述的运作微处理器的方法,还包括 直接从该硬件指令转译器提供这些微指令至该执行管线以供执行。15.如权利要求13所述的运作微处理器的方法,其中由该硬件指令转译器所转译的这些微指令有别于该执行管线执行这些微指令所产生的結果。16.如权利要求13所述的运作微处理器的方法,其中该执行步骤所产生的这些結果,并非该硬件指令转译器所转译的这些微指令。17.如权利要求13所述的运作微处理器的方法,其中该微处理器每一次实行这些x86指令集架构及ARM指令集架构指令的其中之一个时,该硬件指令转译器实行该转译步骤,而该执行管线实行该执行步骤。18.ー种微处理器,包含 多个寄存器,用以维持该处理器的一架构状态; 一指标,用以指示该微处理器的ー启动指令集架构为该x86指令集架构或该ARM指令集架构; 一硬件指令转译器,用以将多个x86指令集架构指令及多个ARM指令集架构指令转译为多...

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

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

1