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

用于执行指令的处理器、归一化加法运算的方法、通信设备、机器可读介质、用于处理指令的设备和设备技术

技术编号:11832195 阅读:71 留言:0更新日期:2015-08-05 17:55
在一个实施例中,处理器包括至少一个浮点单元。该至少一个浮点单元可包括加法器、引导变化预测器(LCA)逻辑以及移位器。加法器可以将第一操作数X与第二操作数Y相加,以获得具有位长度n的输出操作数。LCA逻辑可以:对于从n‑1到1的每一个位位置i,基于第一操作数X和第二操作数Y,获得一组传播值以及一组位值;以及,基于该组传播值以及该组位值,生成LCA掩码。移位器可以基于LCA掩码,归一化输出操作数。描述并要求保护其他实施例。

【技术实现步骤摘要】
【国外来华专利技术】
技术介绍
各实施例一般涉及浮点运算。现代的处理器包括用于对数据执行运算的各种电路。此电路可包括浮点单元(FPU),该浮点单元可包括对浮点数字执行运算的功能。例如,浮点运算可包括加法、减法、乘法、除法以及平方根。这样的浮点运算可以大量地用于某些应用中,诸如图形、游戏、科学,以及工程应用中。附图简述图1A-1B是根据一个或多个实施例的系统的框图。图2是根据一个或多个实施例的框图。图3是根据一个或多个实施例的序列。图4是根据一个或多个实施例的处理器的框图。图5是根据一个或多个实施例的多域处理器的框图。图6是包括多个核的处理器的实施例的框图。图7是根据本专利技术的一个或多个实施例的系统的框图。图8是根据本专利技术的一个或多个实施例的系统的框图。具体实施方式一般而言,浮点单元(FPU)可以表示使用三个元素(即二进制符号位、二进制编码的指数以及二进制编码的尾数)的浮点数。在类加法运算中,尾数可以被移位,以校准指数。如此处所使用的,除加法运算之外,术语“类加法”运算还包括减法运算、最小函数、最大函数,及其他,诸如整数到浮点,以及浮点到整数转换,以及双精度到单精度以及单精度到双精度转换,以及浮点比较指令。在某些情况下,由类加法运算所产生的尾数可包括引导零(在正结果的情况下)或引导1(在负结果的情况下)。通常,引导零预测器(LZA)可以与加法器并行地使用,以预测加法器的输出尾数中的引导零的数量。可以将引导零的此数量提供到移位器,然后,该移位器可以移位输出尾数,以删除任何引导零。类似地,引导1预测器(LOA)可以预测引导1的数量,如此,可以和移位器一起使用,以从输出尾数中删除任何引导1。引导1或零的这样的删除可以被称为“归一化”输出尾数。由于这样的LZA和LOA通常被实现为单独的电路,因此,检测引导1和引导零可能需要大量的可用的处理器资源(例如,处理器管芯上的面积)。进一步,可能需要选择器以对于每一个运算,确定要使用LZA或LOA中的哪一个。此外,LZA、LOA,和/或选择器可能会对完成浮点运算产生时间延迟,由此,降低处理器性能。根据一些实施例,可以提供引导预测器变化(LCA)。在一个或多个实施例中,LCA可以是预测类加法浮点运算的输出中的引导1和0两者的单一电路,并可以被用来归一化这样的输出。在某些实施例中,LCA可以比其他技术(例如,LZA、LOA以及选择器)消耗较少的处理器资源。进一步,LCA可以提供引导零/1预测,而不会对浮点运算产生时间延迟,由此提高处理器性能。参考图1A,所示是根据一个或多个实施例的系统100的框图。在某些实施例中,系统100可以是电子设备或组件的全部或一部分。例如,系统100可以被包括在蜂窝电话、计算机、服务器、网络设备、处理器、片上系统(SoC)、控制器、无线收发器、电源单元等等中。如图1A所示,系统100可以包括耦合到存储器140的处理器110。处理器110可包括浮点单元(FPU)120。在某些实施例中,FPU 120可包括执行浮点运算(例如,加法、减法、乘法、除法等等)的功能。尽管本专利技术的范围在这方面不受限制,但是,在许多实现中,FPU 120可以适应给定格式或标准(例如,给定的电气与电子工程师学会(IEEE)标准)的操作数。进一步,给定实现可以被用来处理各种类型的传入的数据,包括可以是单精度以及双精度浮点格式的操作数。如图所示,FPU 120可包括加法单元125。在某些实施例中,加法单元125可以表示包括执行类加法的浮点运算的功能的任何单元。例如,加法单元125可以是加法器。在另一个示例中,加法单元125可以是熔合乘法-加法(FMA)单元,包括乘法器、加法器,以及舍入器。下面参考图1B讨论了加法单元125的示例实施例。在其中加法单元125是FMA单元的各实施例中,此FMA单元可以执行浮点乘法累积运算,并适应给定格式(例如,给定的电气与电子工程师学会(IEEE)标准,诸如用于浮点(FP)算术的IEEE标准754-2008(2008年发布)的)的操作数。此外,给定实现可以被用来处理各种类型的传入的数据,包括可以是单精度以及双精度浮点格式的操作数。在某些实施例中,可以使用三个源操作数来定义FMA指令语法,其中,基于数据元素的算术运算的结果,来更新第一源操作数。如此,第一源操作数也可以是目的地操作数。例如,可以存在下列指令格式:操作码,x1,x2,x3,其中,操作码对应于执行给定算术运算的多个用户级别的FMA或其他指令中的一个,而x1-x3对应于要在运算中被处理的操作数。在FMA指令中执行的算术FMA运算可以呈现多种形式之一,例如:r=(x*y)+z;r=(x*y)-z;r=-(x*y)+z;或r=-(x*y)-z。在一个实施例中,紧缩的FMA指令可以利用256位向量,执行八个单精度FMA运算或四个双精度FMA运算。当使用向量寄存器来实现时,标量FMA指令可以对低阶数据元素只执行一个算术运算。目的地操作数的较低的128位中的数据元素的其余部分的内容被保留,而目的地操作数的较高的128位可以用零填充。在一个实施例中,形式为r=(x*y)+z的算术FMA运算,取两个IEEE-754-2008单(双)精度值,并将它们相乘,以形成中间值。将此中间值与第三单(双)精度值相加,并舍入,以产生单(双)精度结果。在不同的实施例中,可以实现不同的舍入模式和精度。在一个实施例中,可以对各种紧缩的数据类型表示执行向量指令。这些数据类型可包括,对于128位宽的操作数,紧缩的字节、紧缩的字以及紧缩的双字(dword)和紧缩的四倍长字。作为示例,紧缩的字节格式可以是128位长,并包含十六个紧缩的字节数据元素。字节在此被定义为8位数据。每一个字节数据元素的信息被存储为:对于字节0存储在位7到位0,对于字节1存储在位15到位8,对于字节2存储在位23到位16,最后对于字节15存储在位120到位127。然而,应理解,各实施例同样适用于标量(单个或非紧缩的)表示。通常,数据元素是单独的数据片,与具有相同长度的其他数据元素一起存储在单个寄存器或存储器位置中。在某些紧缩数据序列中,存储在寄存器中的数据元素的数目是128位除以单独的数据元素的位长。虽然数据类型可以是128位长,但是,本专利技术的各实施例也可以利用64位宽或其他大小的操作数来操作。将会理解,可进一步将此类紧缩数据格式扩展至其本文档来自技高网...
<a href="http://www.xjishu.com/zhuanli/55/CN104823153.html" title="用于执行指令的处理器、归一化加法运算的方法、通信设备、机器可读介质、用于处理指令的设备和设备原文来自X技术">用于执行指令的处理器、归一化加法运算的方法、通信设备、机器可读介质、用于处理指令的设备和设备</a>

【技术保护点】
一种处理器,包括:至少一个浮点单元,包括:加法器,所述加法器将第一操作数X与第二操作数Y相加,以获得具有位长度n的输出操作数;引导变化预测器(LCA)逻辑,耦合到所述加法器,用于:对于所述输出操作数的从n‑1到1的每一个位位置i,获得所述第一操作数X的一组位值,并基于所述第一操作数X和所述第二操作数Y,获得一组传播值;以及基于所述传播值组以及所述位值组,生成LCA掩码;以及移位器,其耦合到所述加法器以及所述LCA逻辑,基于所述LCA掩码,归一化所述输出操作数。

【技术特征摘要】
【国外来华专利技术】2012.12.28 US 13/729,4211.一种处理器,包括:
至少一个浮点单元,包括:
加法器,所述加法器将第一操作数X与第二操作数Y相加,以获得具有
位长度n的输出操作数;
引导变化预测器(LCA)逻辑,耦合到所述加法器,用于:
对于所述输出操作数的从n-1到1的每一个位位置i,获得所述第一操作
数X的一组位值,并基于所述第一操作数X和所述第二操作数Y,获得一组
传播值;以及
基于所述传播值组以及所述位值组,生成LCA掩码;以及
移位器,其耦合到所述加法器以及所述LCA逻辑,基于所述LCA掩码,
归一化所述输出操作数。
2.如权利要求1所述的处理器,其特征在于,所述LCA逻辑包括异或非
(XNOR)门、异-或(XOR)门、与门以及或门,其中所述XOR门耦合到所
述加法器和所述XNOR门的输出,其中所述AND门耦合到所述加法器和所述
XOR门的输出,其中所述OR门耦合到所述加法器和所述AND门的输出。
3.如权利要求2所述的处理器,其特征在于,所述位值组包括所
述第一操作数X的第一位值Xi和第二位值Xi-1,其中所述XNOR门将所述第
一位值Xi和所述第二位值Xi-1,作为输入。
4.如权利要求1所述的处理器,其特征在于,所述传播值组包括对应于
Xi XOR Yi的第一传播值Pi,对应于值Xi+1XOR Yi+1的第二传播值pi+1,以及
对应于值Xi-1XOR Yi-1的第三传播值Pi-1。
5.如权利要求4所述的处理器,其特征在于,所述XOR门从所述加法器
接收所述第二传播值pi+1作为输入,其中所述AND门从所述加法器接收所述
第三传播值Pi-1的逆作为输入,其中所述OR门从所述加法器接收所述第一传
播值Pi作为输入。
6.如权利要求1所述的处理器,其特征在于,所述LCA逻辑与所述加法
器并行地操作,其中所述移位器在第一时间点接收所述LCA掩码,其中所述

\t移位器在第二时间点接收所述输出操作数,其中所述第一时间点等于或早于所
述第二时间点。
7.如权利要求1所述的处理器,其特征在于,所述LCA掩码包括,对于
所述输出操作数中的每一个引导1或0,第一值位。
8.如权利要求7所述的处理器,其特征在于,所述LCA掩码进一步包括
对应于所述输出操作数的最高有效位(MSB)的位位置处的第二值位。
9.如权利要求8所述的处理器,其特征在于,所述移位器基于所述输出
操作数的所述MSB的所述位位置,确定移位长度,其中所述移位器通过将所
述输出操作数移位所述移位长度,获得归一化的输出操作数。
10.如权利要求9所述的处理器,其特征在于,所述至少一个浮点单元进
一步包括将由所述移位器获得的所述归一化的输出操作数舍入的舍入器。
11.一种系统,包括:
一个或多个硬件处理器,每一个都包括:
至少一个加法单元,包括:
加法器,所述加法器将第...

【专利技术属性】
技术研发人员:S·卢巴诺维奇T·庞斯A·格雷德斯廷Z·斯波伯
申请(专利权)人:英特尔公司
类型:发明
国别省市:美国;US

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

1