微处理器及其相关方法。该微处理器包括第一指令转译器,转译微处理器的指令集架构的指令。上述指令可指定第一形式或第二形式,第一形式指示微处理器将其结果写入至目的寄存器,第二形式指示微处理器将其结果写入至存储器。第一指令转译器相应于遇到上述指令时,产生上述指令为第一形式或第二形式的指示。微码存储器,相应于遇到上述指令时,存储一尾部指令,作为第一指令转译器调用的微码例程的一部分。第二指令转译器,从微码存储器中接收尾部指令及上述指示,并且若上述指示指出第一形式时,回应地产生第一微运算,若上述指示指出第二形式时,回应地产生第二微运算,第一微运算是将结果写入至目的寄存器,第二微运算是将结果写入至存储器。
【技术实现步骤摘要】
本专利技术涉及微处理器领域,特别涉及包含微码的微处理器。
技术介绍
许多当代的微处理器包含一个有别于其架构或宏架构(macroarchitecture)的 微架构(micro-architecture)。此类微处理器的特色在于其包含一个指令转译器,此指令 转译器可将微处理器中的宏指令(例如x86指令)的指令集架构转译为微架构指令集中 的一或多个微指令或微运算(micro-operation)。当指令转译器遇到一个必须转译为比 指令转译器每秒所能产生的微运算更多的微运算时,指令转译器将产生微运算的一个前端 (prolog)。接着,由一微码只读存储器(ROM)中提取用来执行前述宏指令的指令的剩余部 分。由微码只读存储器中提取出的指令序列被称为”微码尾部(microcode tail)”。由转 译器所产生的前端的微运算可以依指令的形式来客制化。最常见的客制化是对一宏指令的 一存储器形式与对此宏指令的一寄存器形式产生一不同前端。对一个以存储器为基础的形 式而言,转译器产生一载入指令,用来将来源运算元载入至微处理器的一个暂时寄存器中; 而,对一个以寄存器为基础的形式而言,转译器产生一移动指令,用来将来源运算元移动至 暂时寄存器中。问题出在于微码尾部。对存储器形式而言,其需要一个存储微运算来将结 果存储至存储器中;而对寄存器形式而言,则需将其结果移动至目的寄存器中。一般而言,微码尾部将包含一条件分支指令以跳至以存储器为基础的形式的一个 尾部或以寄存器为基础的形式的一个尾部执行。然而,条件分支指令将对效能产生极大影 响。
技术实现思路
有鉴于此,本专利技术实施例提供一种微处理器,包括一第一指令转译器,用以转译一 微处理器的一指令集架构的一指令。上述指令可指定一第一形式或一第二形式,上述第一 形式指示上述微处理器将其结果写入至一目的寄存器,上述第二形式指示上述微处理器将 其结果写入至一存储器。上述第一指令转译器相应于遇到上述指令时,产生上述指令为上 述第一形式或上述第二形式的一指示。一微码存储器,用以相应于遇到上述指令时,存储一 尾部指令(tail instruction),作为上述第一指令转译器所调用的一微码例程的一部分。 一第二指令转译器,用以从上述微码存储器中接收上述尾部指令以及上述指示,并且若上 述指示指出上述第一形式时,上述第二指令转译器回应地产生一第一微运算,而若上述指 示指出上述第二形式时,上述第二指令转译器回应地产生一第二微运算,其中上述第一微 运算是将上述结果写入至上述目的寄存器,上述第二微运算是将上述结果写入至上述存储器。本专利技术实施例还提供一种方法。方法包含存储一尾部指令于一微处理器的一微码 存储器中,作为一微码例程(microcode routine)的一部分。方法也包含遇到上述微处理 器的一指令集架构中的一指令。上述指令可指定一第一形式或一第二形式,上述第一形式指示上述微处理器将其结果写入至一目的寄存器,而上述第二形式指示上述微处理器将其 结果写入至一存储器。方法也包含,相应于上述遇到上述指令时,产生上述指令为上述第一 形式或上述第二形式的一指示并调用上述微码例程。方法也包含,相应于接收上述尾部指 令以及上述指示,如果上述指示指出上述第一形式时,产生将上述结果写入至上述目的寄 存器的一第一微运算以及若上述指示指出上述第二形式时,产生将上述结果写入至上述存 储器的一第二微运算。为使本专利技术的上述和其他目的、特征、和优点能更明显易懂,下文特举出优选实施例,并配合附图,作详细说明如下。附图说明图1是显示依据本专利技术施例的一微处理器的区块图。图2是显示依据本专利技术实施例的图1的微处理器的操作流程图。主要元件符号说明100 微处理器;102 指令快取;104 宏转译器;106 多工器(MUX);108 寄存器别名表(RAT);112 保留站;114 执行单元;116 寄存器集;118 重排序缓冲器(ROB);122 微转译器;124 微码只读存储器;126 指令间接寄存器;132 宏指令;134 陷阱地址;136 宏指令信息;138 微运算之前端;142 微码指令的尾部;144 微运算;202、204、206、208、212、214、216 执行步骤。 具体实施例方式为了解决前述的效能问题,本专利技术提供一个新的微码指令,称为TAIL指令。当一 个微转译器转译宏指令时,微转译器依据宏指令为一寄存器形式或一存储器形式的判断 (其指示于设置于具有必要信息的指令转译器中的一个寄存器中),将TAIL指令转译为适 当的存储微运算序列或移动微运算序列。如此一来,可免除于微码尾部中执行条件分支指 令的需求。参见图1,是显示依据本专利技术实施例的一微处理器100的区块图。微处理器100 包含一指令快取102,用以快取微处理器100的指令集架构中的指令,这些指令称为宏指令 132。举例来说,在一实施例中,此指令集架构大致上符合x86指令集架构。一宏转译器104从指令快取102中接收宏指令132并将其转译为多个微运算138。 宏转译器104可将一个宏指令132转译为最多N个微运算138。在一实施例中,N为3。因 此,如果宏指令132足够地复杂而使得宏指令132需要比N个微运算138更多的微运算来 实际操作时,宏转译器104将产生一个微运算的前端138并且也将产生一陷阱地址(trap address) 134至一微码只读存储器(ROM) 124。 宏转译器104也产生写入至一指令间接寄存器(instruction indirection register, IIR) 126的宏指令信息136。举例来说,存储于指令间接寄存器126中的宏指令 信息136包含用以识别宏指令132所指定的来源寄存器与目的寄存器以及宏指令132的形 式的信息,例如,宏指令132运算于微处理器100的存储器或一结构寄存器116中的一个运 算元(operand)上。如此将致能微码例程(routine)为一般的,亦即,每个来源和/或目的 结构寄存器116不用具有一个不同的微码例程。微码只读存储器124存储并输出微码例程的微码指令142。微码只读存储器124 为一个包含一个微定序器(microsequencer)(未绘示)的较大的微码单元(未绘示)的一 部分,其中此微定序器可提供一提取地址(未绘示)至微码只读存储器124,以指定用来输 出下一个微码指令142的地址。此初始提取地址为宏转译器104所提供的陷阱地址134。 微码指令142可被视为相对于共同用来实现宏指令132的前端138的微码指令142的一尾 部。特别来说,微码指令142可包含一个新的指令,称为TAIL指令,此TAIL指令将详细讨 论于下。在一实施例中,每个微码指令142的宽度为38位元。微转译器122从微码只读存储器124中接收微码指令142并将其转译为多个微运 算144。此外,微转译器122接收指令间接寄存器126的内容。特别地,如同以下将详细讨 论的,微转译器122将依据从指令间接寄存器126所接收到的信息,特别依据宏指令132的 形式,来将TAIL微码指令转译为不同序列的微运算144。在一实施例中,每个微运算144的 宽度近似于200位元。在一实施例中,微转译器122可从一微码指令142中产生本文档来自技高网...
【技术保护点】
一种微处理器,包括:一第一指令转译器,用以转译一微处理器的一指令集架构的一指令,其中上述指令可指定一第一形式或一第二形式,上述第一形式指示上述微处理器将其结果写入至一目的寄存器,上述第二形式指示上述微处理器将其结果写入至一存储器,其中上述第一指令转译器更用以相应于遇到上述指令时,产生上述指令为上述第一形式或上述第二形式的一指示;一微码存储器,用以相应于遇到上述指令时,存储一尾部指令,作为上述第一指令转译器所调用的一微码例程的一部分;以及一第二指令转译器,用以从上述微码存储器中接收上述尾部指令以及上述指示,其中若上述指示指出上述第一形式时,上述第二指令转译器回应地产生一第一微运算,其是将上述结果写入至上述目的寄存器,其中若上述指示指出上述第二形式时,上述第二指令转译器回应地产生一第二微运算,其是将上述结果写入至上述存储器。
【技术特征摘要】
...
【专利技术属性】
技术研发人员:泰瑞派克斯,
申请(专利权)人:威盛电子股份有限公司,
类型:发明
国别省市:71[中国|台湾]
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。