微处理器及其执行指令的方法技术

技术编号:4060065 阅读:206 留言:0更新日期:2012-04-11 18:40
一种微处理器,用以执行一指令,此指令指定具有预设尺寸的浮点输入操作数且指示微处理器使用舍入模式来将浮点输入操作数舍入至整数数值且将整数数值返回为具有预设尺寸的一浮点结果。微处理器包括一指令转译器,用以将指令转译为第一微指令与第二微指令。微处理器也包括执行单元,用以执行第一微指令与第二微指令。第一微指令接收浮点输入操作数以作为输入操作数且自浮点输入操作数来产生中间结果。第二微指令接收第一微指令的中间结果来作为输入操作数且自中间结果来产生指令的浮点结果。中间结果具有与浮点输入操作数相同的预设尺寸。本发明专利技术还公开了一种执行指令的方法。

【技术实现步骤摘要】

本专利技术涉及一种在微处理器中的浮点运算,特别是关于浮点舍入(round)指令。
技术介绍
Intel将一组新的相关SSE指令加入至其指令组R0UNDPD、ROUNDPS、R0UNDSD、以 及R0UNDSS,在此统一称为ROUND指令。ROUND指令舍入一浮点输入数值以成为一整数数值, 接着将此整数数值恢复至一浮点数值。在由浮点数值转换至整数数值期间的舍入操作是根 据舍入控制或舍入模式(rounding mode)而操作。由浮点至整数的这些转换以及由整数至浮点的转换实际上已众所周知。首要操 作需要确定整数最小有效位(least significant bit, LSB)的位置以及确定原始数据数 值(藉由一向右移位器而具有关键延迟)内的二进制舍入点的位置,接着需要有条件的非 分数数值(non-fractional value)增量。次要操作可能需要前导零列举(leading zero enumeration),接着需要正规化左移位以及适当的指数计算。必须要决定将如何在目标浮 点硬件设计上提供此两操作。习知的多周期或高延迟设计在连续电路连接(sequential circuit connection) 上提供了必要的能力,首先,执行向右调正移位,接着是有条件的舍入增量,然后是前导零 列举,最后是有条件的正规化左移位。值得注意的是,假使此方式被提供作为有效利用的硬 件而不是特殊目的的硬件时,此方式不利于任何其不需某部分本身具有固有延迟的连续连 接的计算。假使此方式提供作为特殊目的的硬件,此方式会消耗掉有用的晶粒空间。在强 调最大电路组件利用的高效能微处理器中这些方式是不被接受的。其它的低延迟浮点设计试图使组成电路组件分隔成多个计算种类(例如,近程对 远程计算(near versus far calculation))所需要的最小群组。每一种类的特定特性藉由 消除非必要电路组件而使得每一计算的整体延迟减少。例如,近程减法计算可能具有非重 要的向右调正需求。这些设计类型可能以暂时地连续方式来提供新ROUND所必要的能力, 那就是,藉由调度使用一群组而变为整数的转换以及调度使用一不同群组而变为浮点的其 次转换。
技术实现思路
在一方面中,本专利技术提供一种微处理器,用以执行一指令,此指令指定具有一预设 尺寸的一浮点输入操作数,此指令指示微处理器使用一舍入模式来将浮点输入操作数舍入 至一整数数值且将整数数值返回为具有与浮点输入操作数相同之预设尺寸的一浮点结果。 此微处理器包括一指令转译器,用以将指令转译为一第一微指令与一第二微指令。微处理 器也包括一执行单元,用以执行第一微指令与第二微指令。第一微指令接收浮点输入操作 数以作为输入操作数,且自浮点输入操作数来产生一中间结果。第二微指令接收第一微指 令的中间结果来作为输入操作数,且自中间结果来产生指令的浮点结果。中间结果具有与 浮点输入操作数相同的预设尺寸。 根据另一方面,本专利技术提供一种执行指令的方法,由一微处理器所执行,此指令指 定具有一预设尺寸的一浮点输入操作数,此指令指示微处理器使用一舍入模式来将浮点输 入操作数舍入至整数数值且将整数数值返回为具有与浮点输入操作数相同的预设尺寸的 一浮点结果。此方法包括将指令转译为一第一微指令与一第二微指令,其中,转译步骤由微 处理器的一指令转译器所执行。此方法也包括执行第一微指令与第二微指令,其中,执行步 骤由微处理器的一执行单元所执行。第一微指令接收浮点输入操作数以作为输入操作数, 且自浮点输入操作数来产生一中间结果。第二微指令接收第一微指令的中间结果来作为输 入操作数,且自中间结果来产生指令的浮点结果。中间结果具有与浮点输入操作数相同的 预设尺寸。附图说明 图1100 --微处理器; 102 〃指令高速缓存104 --浮点加法器单元 112--指令转译器;116 --缓存器命名表(RAT);118 --保留站; 122 〃执行单元;124 --引退单元;126 --缓存器档案与重排缓冲器 132 --微指令;134 --ROUND 指令;图2202 -- X 字段; 204 ‘ Y字段;206 --Z字段;第3A-3B图302 --增量器; 304 〃舍入逻辑单元306 舍入控制;312 RUTRO ='1322 与门(AND);308 异或门(XOR); 316 比较器; 324 比较器;384 移位器/延伸器;386 反向器(NOT);388、394、396、398 多任务器(MUX);392 增量器;图 4 402、404、406、408、412、414、416 步骤方块;图 5 502、504、506、508、512、514、516 步骤方块;图 6 624 比较器;626 舍入溢位;644 参考指数(SP =,24,;DP =,53,);646 前导零的数量的编码计数;648 减法器;652 正规化移位器;654 增量器;656 多任务器;686 反向器;694、696 多任务器;图 7 702、704、706、708 步骤方块。 具体实施例方式为使本专利技术的上述目的、特征和优点能更明显易懂,下文特举一较佳实施例,并配 合所附各图,作详细说明如下。此处叙述的低延迟浮点硬件设计的实施例不需要加入贫于利用且特殊功能电路 部件。组成电路组件被分离成多个计算种类所需的最小群组,藉此最小化每一计算的整体 电路延迟。为了提供ROUND指令所必要的操作而不需要增加特殊目的硬件,这些操作被调 度且连续地被分配至一适当的电路群组。其次必要的是,决定此两必要操作(在此实施例中是关于微指令,称为XR0UND1 与XR0UND2)是否将被调度且以锁定方式而紧接于另一者而立刻被分配,或者决定此两必 要操作是否被视为独立的微指令,其必须是连续的但在时间或时钟周期上可能具有不定 (indeterminate)的间隔。图1的微处理器100提供一种无序(out-of-order)微指令分配结构,其企图藉由 极致利用有效的计算电路来最小化每指令周期数的平均以及所引起的软件延迟。本专利技术已 判断出特定情况分配需求(例如对于一特定软件指令,在分配上将两微指令锁定在一起) 在分配电路上会需要非期望的复杂度并导致提供非期望的电路延迟。因此,ROUND指令所 需的微指令必须容忍不定的短暂分离。随着无序指令分配,特别期望必要操作(XR0UND1及XR0UND2)不需要额外结构状 态的保护。在储存至缓存器的计算结果位形式下的某些结构状态或者在MXCSR中先前提供的条件码位已经存在了。这些的伴随服务者是相依性侦测与调度逻辑或电路(例如图1 的缓存器命名表(register aliastable,RAT) 116以及保留站118,以及必要实体导线连接 以完成数据记录与递送。此外,缓存器档案(即图1的缓存器档案与重排缓冲器(reorder buffer,ROB) 126)提供来储存关于不定时间间隔的数据。由XR0UND1微指令至XR0UND2微 指令的联系而所需要的任何额外结构状态,会使得有意义的相依性检测、调度、与递送逻辑 及电路的增加成为必要的,然而,不期望在只有一个软件指令类型的特定情况基础上提供 这些能力。因此,此处所叙述的实施例是采取新的方本文档来自技高网
...

【技术保护点】
一种微处理器,用以执行一指令,该指令指定具有预设尺寸的一浮点输入操作数,该指令指示该微处理器使用一舍入模式来将该浮点输入操作数舍入至一整数数值且将该整数数值返回为具有与该浮点输入操作数相同的该预设尺寸的一浮点结果,该微处理器包括:一指令转译器,将该指令转译为一第一微指令与一第二微指令;以及一执行单元,执行该第一微指令与该第二微指令;其中,该第一微指令接收该浮点输入操作数以作为输入操作数,且自该浮点输入操作数来产生一中间结果;其中,该第二微指令接收该第一微指令的该中间结果来作为输入操作数,且自该中间结果来产生该指令的该浮点结果;以及其中,该中间结果具有与该浮点输入操作数相同的该预设尺寸。

【技术特征摘要】
...

【专利技术属性】
技术研发人员:汤姆艾尔摩泰瑞派克斯
申请(专利权)人:威盛电子股份有限公司
类型:发明
国别省市:71[中国|台湾]

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

1