当前位置: 首页 > 专利查询>英特尔公司专利>正文

能够执行缩放、圆整、取指数、圆整、取尾数、化简、范围和分类指令的乘加函数单元制造技术

技术编号:8737254 阅读:257 留言:0更新日期:2013-05-26 12:41
描述了一种方法,该方法涉及用函数单元执行第一指令。该第一指令是乘加指令。该方法还包括用函数单元执行第二指令。该第二指令是圆整指令。

【技术实现步骤摘要】
【国外来华专利技术】处理器、指令执行方法和计算系统
本专利技术的领域总地涉及电子计算,更具体地涉及能执行函数的近似的函数单元。背景图1示出一般的处理核100,该处理核100被认为描述许多不同类型的处理核架构,例如复杂指令集(CISC)、精简指令集(RISC)和超长指令字(VLIW)。图1的一般处理核100包括:1)(例如从高速缓存和/或存储器)拾取指令的拾取单元103;2)对指令进行解码的解码单元104;3)确定向多个执行单元106发布指令的时间和/或顺序的调度单元105(注意该调度单元是选用性的);4)具有多个执行单元的执行级106,这些执行单元执行指令(典型的指令执行单元包括分支执行单元、整数运算执行单元(例如ALU)、浮点运算执行单元(例如FPU)以及存储器访问执行单元);以及5)退隐单元107,它表示指令的成功完成。注意,处理核100可以采用或不采用微代码108。在微代码处理器的情形下,微操作码通常被存储在于其上构筑处理器的半导体芯片内的非易失性机器可读介质(例如只读存储器(ROM))中,并使处理器中的执行单元执行由指令调用的所需函数。附图在附图各图中通过示例而不是限制说明了本专利技术,其中相同标记指示相同元件,且其中:图1示出处理器的实施例;图2示出乘加函数单元的实施例;图3示出可在图2的函数单元上运行的GETEXP(取指数)指令的流程图;图4示出可在图2的函数单元上运行的SCALE(缩放)指令的流程图;图5示出可在图2的函数单元上运行的ROUND(圆整)指令的流程图;图6示出可在图2的函数单元上运行的GETMANT(取尾数)指令的流程图;图7示出可在图2的函数单元上运行的REDUCE(化简)指令的流程图;图8示出可在图2的函数单元上运行的RANGE(范围)指令的流程图。详细描述图2示出执行单元(也称函数单元),它能执行本文描述的许多不同指令。MADD指令图2架构能执行的基本指令是乘加(MADD)指令,该MADD指令将被乘数(A)和乘数(B)相乘并将积(AB)加至加数(C)。也就是说,MADD指令执行指令R=(AB)+C(在一实施例中,MADD指令可用来执行下列计算中的任何一个:AB+C,AB-C,-AB+C,-AB-C)。如本领域内技术人员已知的,在浮点形式中,一个值可用尾数项和指数项来表达。因此,例如被乘数A被表达为(A.mant,A.exp);乘数B被表达为(B.mant,B.exp);而加数C被表达为(C.mant;C.exp)。对于浮点运算来说,图2的架构包括指数计算逻辑201和尾数计算逻辑202。根据浮点MADD指令的基本运算,指数计算逻辑201确定浮点结果的指数项(R.exp)而尾数计算逻辑202确定浮点结果的尾数项(R.mant)。对于浮点MADD指令,指数计算逻辑201最初将R.exp项确定为以下各项的最大值:i)C.exp;ii)(A.exp+B.exp).尾数逻辑202包括指数差逻辑203,该指数差逻辑203包括左移位逻辑204和右移位逻辑205。尾数逻辑还包括乘法器206。乘法动作可被视为数个部分乘积之和。图2还示出一特定乘法器设计方法,其中选择器逻辑207产生A.mant项和B.mant项的乘法的部分乘积(注意B.mant项也是布斯(Booth)编码的)。华莱士(Wallace)树逻辑208有效地执行由选择器逻辑207产生的部分积的求和。值得注意地,加数尾数项(Cmant)被注入到华莱士树208以使华莱士树208也执行AB+C加法。然而,在注入前,调整Cmant项以使其在部分积求和内被正确地对准。这里,由于由乘法器执行的乘法自然地产生阶次A.exp+B.exp的尾数项,因此指数差逻辑203将Cmant项移位C.exp和(A.exp+B.exp)之间的差。具体地说,如果C.exp大于(A.exp+B.exp),则Cmant项可由左移位逻辑204向左移位C.exp-(A.exp+B.exp)个二进制小数点(也就是说,Cmant项的二进制点将向右移位,其效果是使其整数项增大)。同样,如果C.exp小于(A.exp+B.exp),则Cmant项可由右移位逻辑205向右移位(A.exp+B.exp)-C.exp个十进制小数点(也就是说,Cmant项的二进制小数点将向左移位,其效果是使其整数项减小)。在这种情形下,Cmant的低阶小数项通过逻辑213被合并入粘滞位,以供下文描述的指令中的圆整器(rounder)217使用。由华莱士树逻辑207执行的求和既产生求和项又产生进位项,它们由加法器209相加以产生AB+C计算的结果。这里,如果AB+C计算的结果包含前导0(或如果结果为负则包括前导1),前导改变预测器210将使结果(通过左移位器211)向左移位前导0/1的数目以去除这些前导0/1。相同的信息被提供给指数计算逻辑201以相应地调整R.exp。存在两个移位器,即用于去除前导0/1的左移位204(在这种情形下用shift_count更新R.exp)和右移位212(当C.exp大于A+B.exp时这是需要的,在这种情形下华莱士树结果被向右移位至与C.exp-(A+B.exp)相等的点)。Mux(多路复用器)213选择利用两移位器211、212中的任何一个以得到正确的结果。在一个实施例中,如果C.mant项被向左移位,则加法器209可产生进位项214。进位项214启用一增量器215,该增量器215有效地将进位项加至左移位的C.mant项(即如果加法器209产生一进位项,则增量器215的输出流过2:1乘法器216)。在一个实施例中,加法器209是108位而增量器215是53位的增量器。下面将更详细地描述可在图2的函数单元上执行的若干附加指令。对于这些指令中的任何一个连同前述FMADD指令,在一个实施例中,函数单元被设计成在标量或打包数据(SIMD)类型和以单精度和双精度形式的操作数的任何组合上进行操作。操作数类型和精度的规范组合在指令中被规定。此外,图2的函数单元可被实例化许多次以实现向量函数单元。这里,可使掩码层介于向量函数单元输出和向量函数单元内的每个实例化函数单元之间。向量操作可被视为不同于SIMD操作,因为输入操作数的维度对于向量机是可变的但对于SIMD机是固定的。前述掩码层提供改变向量机内的元素数目的能力。具体地说,来自各例示函数单元之一的每个输出元素可与其本身一起被写至相应的写逻辑电路。在一个实施例中,写逻辑电路可对向量函数单元的任何输出元素位置作写入。通过使写逻辑电路仅针对与有效向量操作数元素对应的那些元素,可处理各种长度的向量。这具有本质上仅允许与有效向量元素对应的例示函数单元的那些操作。此外,可设计掩码层以使由各实例化函数单元检测到的任何算法异常仅对被启用的实例化函数单元的有效输出被递交,同时抑制来自未被激活的函数单元的异常。SCALE指令SCALE指令的流程图示出于图3中。SCALE指令通过floor:Y(向下取整:Y)缩放第一浮点项X(floor:Y是浮点项Y的最小整数表达)。VSCALE(V缩放)指令实际上可被视为将X的二进制小数点移动一数量floor:Y的指令。在数学项中,这可被表示为R=(X.mantEX.exp)*2A(floor:Y.mant本文档来自技高网...
<a href="http://www.xjishu.com/zhuanli/55/201180045896.html" title="能够执行缩放、圆整、取指数、圆整、取尾数、化简、范围和分类指令的乘加函数单元原文来自X技术">能够执行缩放、圆整、取指数、圆整、取尾数、化简、范围和分类指令的乘加函数单元</a>

【技术保护点】

【技术特征摘要】
【国外来华专利技术】2010.09.24 US 12/890,5431.一种处理器,包括:指令拾取单元,用于拾取指令;指令解码单元,用于解码所述指令;函数单元,用于执行所述指令,所述函数单元具有:指数计算逻辑单元;和尾数计算逻辑单元,包括:指数差计算逻辑单元;乘法器和加法器,用于支持乘加指令,所述乘加指令用于将被乘数和乘数相乘以产生积并将所述积加至加数;和圆整器,用于支持圆整指令,所述圆整指令用于规定要将尾数值圆整至多少个二进制位置,所述指数差计算逻辑单元包括支持所述乘加指令和所述圆整指令的执行的移位器。2.如权利要求1所述的处理器,其特征在于,所述移位器还支持将由所述函数单元执行的缩放指令。3.如权利要求2所述的处理器,其特征在于,所述指数差计算逻辑单元包括支持所述乘加指令的执行的第二移位器,其中所述第二移位器还支持将由所述函数单元执行的取指数指令。4.如权利要求1所述的处理器,其特征在于,所述指数差计算逻辑单元包括支持所述乘加指令的执行的第二移位器,其中所述第二移位器还支持将由所述函数单元执行的取指数指令。5.如权利要求1所述的处理器,其特征在于,所述函数单元被设计为工作在压缩的数据操作数上,并且所述函数单元包括掩码层。6.如权利要求1所述的处理器,其特征在于,所述移位器和所述圆整器还支持将由所述函数单元执行的化简指令。7.一种指令执行方法,包括:用指令拾取单元拾取第一指令;用指令解码单元解码所述第一指令;用函数单元执行所述第一指令,所述第一指令是乘加指令,所述乘加指令用于将被乘数和乘数相乘以产生积并将所述积加至加数,所述函数单元具有指数计算逻辑单元和尾数计算逻辑单元;用所述指令拾取单元拾取第二指令;用所述指令解码单元解码所述第二指令;用所述函数单元执行所述第二指令,所述第二指令是圆整指令。8...

【专利技术属性】
技术研发人员:A·格雷德斯廷C·S·安德森Z·斯波伯S·卢巴诺维奇B·艾坦
申请(专利权)人:英特尔公司
类型:
国别省市:

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

1