用于多精度算术右移的方法、装置及系统制造方法及图纸

技术编号:38124797 阅读:12 留言:0更新日期:2023-07-08 09:28
本申请案的实施例涉及用于多倍精度算术右移的方法、装置及系统。一种方法(1500)包含由高位移位电路及低位移位电路中的每一者接收算术右移运算的操作数(1502)。所述高位移位电路经配置以提供高位输出,所述低位移位电路经配置以提供低位输出,且与所述低位输出级联的所述高位输出是所述算术右移运算的结果。所述方法还包含:接收所述算术右移运算的移位值(1504);响应于所述移位值,检测其中所述操作数的一部分而非全部可移位到对应于所述低位输出的位中的移位条件(1506);及响应于检测到所述移位条件,由中间移位电路将所述操作数的至少一部分提供到所述低位移位电路作为可选输入(1508)。输入(1508)。输入(1508)。

【技术实现步骤摘要】
用于多精度算术右移的方法、装置及系统


[0001]本申请案的实施例涉及电通信,且特定来说,涉及多精度算术右移。

技术介绍

[0002]处理器可经配置以对浮点数执行算术运算。在浮点表示法中,数字由尾数1.F、指数E及符号位S表示。尾数1.F表示浮点数的有效数字且指数E表示二进制小数点(例如小数点)相对于尾数的位置。符号位S(如果使用)指示浮点数是正(例如,符号位S等于0)还是负(例如,符号位S等于1)。浮点算术运算可产生比尾数可用位数具有更多有效位的结果。因此,此一结果经舍入(例如,舍入到可使用可用尾数位数表示的有效位数)。

技术实现思路

[0003]根据本公开的至少一个实例,一种方法包含由高位移位电路及低位移位电路中的每一者接收算术右移运算的操作数。所述高位移位电路经配置以提供高位输出,所述低位移位电路经配置以提供低位输出,且与所述低位输出级联的所述高位输出是所述算术右移运算的结果。所述方法还包含:接收所述算术右移运算的移位值;响应于所述移位值,检测其中所述操作数的一部分而非全部可移位到对应于所述低位输出的位中的移位条件;及响应于检测到所述移位条件,由中间移位电路将所述操作数的至少一部分提供到所述低位移位电路作为可选输入。
[0004]根据本公开的另一实例,一种装置包含高位移位电路,其经配置以:接收算术右移运算的操作数;接收移位值;及响应于所述操作数及所述移位值而提供高位输出。所述装置还包含低位移位电路,其经配置以:接收所述操作数;及响应于所述操作数及所述移位值而提供低位输出,其中与所述低位输出级联的所述高位输出是所述算术右移运算的结果。所述装置还包含中间移位电路,其经配置以:响应于所述移位值而检测移位条件,所述条件是其中所述操作数的一部分而非全部可移位到对应于所述低位输出的位中;及响应于检测到所述移位条件,将所述操作数的至少一部分提供到所述低位移位电路作为可选输入。
[0005]根据本公开的又一实例,一种方法包含由高位移位电路及低位移位电路中的每一者接收算术右移运算的操作数,其中所述高位移位电路经配置以提供高位输出,其中所述低位移位电路经配置以提供低位输出,且其中与所述低位输出级联的所述高位输出是所述算术右移运算的结果。所述高位输出的宽度是x个位,其中x不是2的幂,且其中2
n
‑1是大于x的2的下一幂。所述方法进一步包含:计算等于(2
n
‑1‑
x)的偏移;提供高位移位值(SHx)及低位移位值(SLx),其中SLx等于SHx+所述偏移;响应于SLx,检测其中所述操作数的一部分而非全部可移位到对应于所述低位输出的位中的移位条件;及响应于检测到所述移位条件,由中间移位电路将所述操作数的至少一部分提供到所述低位移位电路作为可选输入。
附图说明
[0006]为了详细描述各种实例,现将参考附图,其中:
[0007]图1是根据各种实例的融合乘加(FMA)单元的示意性框图;
[0008]图2是根据各种实例的图1的FMA单元的尾数加法器的示意性框图;
[0009]图3是根据各种实例的具有1求补逻辑的图2的尾数加法器的示意性框图;
[0010]图4是根据各种实例的具有减少1求补延迟的图2的尾数加法器的示意性框图;
[0011]图5是根据各种实例的用于执行具有减少1求补延迟的FMA运算的尾数加法的方法的流程图;
[0012]图6A到6C是根据各种实例的FMA运算中用于归一化的实例左移的示意图;
[0013]图7是根据各种实例的合并2求补及舍入电路的示意性框图;
[0014]图8是根据各种实例的经配置以在FMA运算中提供粘贴位的电路的示意图;
[0015]图9是根据各种实例的在FMA运算中归一化之后完成2求补的实例;
[0016]图10是根据各种实例的经配置以在FMA运算中提供粘贴位及1位的电路的示意图;
[0017]图11是根据各种实例的用于合并舍入及2补码+1运算的方法的流程图;
[0018]图12是经配置以实施双精度及双单精度算术右移两者的电路的示意图;
[0019]图13是根据各种实例的经配置以用减少延迟实施双精度及双单精度算术右移两者的电路的示意图;
[0020]图14是根据各种实例的用于展示图13的算术右移电路的功能性的各种算术右移运算的实例;及
[0021]图15是根据各种实例的用于执行算术右移的方法的流程图。
具体实施方式
[0022]在一些情况中,处理器使用融合乘加(FMA)运算来改进浮点算术处理。FMA运算组合浮点乘法运算及浮点加法运算以执行为单个指令。FMA运算产生等于(A*B)+C的结果,用单个舍入步骤。通过在单个指令中执行两个运算,FMA运算减少执行时间且增加吞吐量。FMA运算还提高精度,因为其使用单个舍入步骤而非两个舍入步骤(例如,第一舍入步骤用于乘法运算且第二舍入步骤用于随后加法运算)。因此,提高FMA运算的效率及/或性能是有用的。
[0023]图1是FMA单元100的示意性框图,其在一些实例中是处理器的硬件功能单元,其经配置以对浮点操作数A、B及C实施FMA运算以提供等于(A*B)+C的浮点结果。FMA单元100经配置以对单精度(SP)浮点值及双精度(DP)浮点值两者进行运算。例如,SP浮点值包含76位尾数且DP浮点值包含163位尾数。在一个实例中,FMA单元100经配置以对双SP浮点值进行运算;即,FMA单元100经配置以并行地对两组SP操作数执行FMA运算。
[0024]无论FMA单元100是对SP还是DP浮点值进行运算,FMA单元100包含经配置以使A与B操作数相乘且以进位

和格式提供结果的乘法器102。例如,由乘法器102提供的结果包含和值(SUM)及进位值(CARRY)。
[0025]FMA单元100还包含经配置以基于A、B及C的指数差来对准C操作数的移位计算器104及移位器106。例如,C操作数与乘积A*B的加法响应于C操作数及乘积A*B的尾数的对准而执行,使得其指数相同。移位计算器104经配置以接收A、B及C的指数部分以确定移位幅度来使C操作数与乘积A*B对准。移位计算器104将幅度提供到移位器106,移位器106响应于从移位计算器104接收的幅度而对C操作数执行算术右移。移位器106经配置以提供移位C操作
数(例如移位从移位计算器104接收的幅度的C操作数)作为其输出。在此实例中,移位计算器104及移位器106使C操作数对准,同时乘法器102确定乘积A*B。
[0026]FMA单元100还包含第一指数计算器108。第一指数计算器108经配置以接收A、B及C的指数部分且确定C的指数或乘积A*B的指数中的较大者。第一指数计算器108经配置以提供两个指数中的较大者作为其输出。
[0027]FMA单元100包含压缩器110,其经配置以接收移位C操作数与A*B的进位

和格式乘积的和且压缩与A*B的进位

...

【技术保护点】

【技术特征摘要】
1.一种方法,其包括:由高位移位电路及低位移位电路中的每一者接收算术右移运算的操作数,其中所述高位移位电路经配置以提供高位输出,其中所述低位移位电路经配置以提供低位输出,且其中与所述低位输出级联的所述高位输出是所述算术右移运算的结果;接收所述算术右移运算的移位值;响应于所述移位值,检测其中所述操作数的一部分而非全部可移位到对应于所述低位输出的位中的移位条件;及响应于检测到所述移位条件,由中间移位电路将所述操作数的至少一部分提供到所述低位移位电路作为可选输入。2.根据权利要求1所述的方法,其进一步包括响应于所述移位值而执行所述操作数的算术右移。3.根据权利要求1所述的方法,其进一步包括响应于未检测到所述移位条件而由所述中间移位电路将所述操作数的符号位提供到所述低位移位电路作为可选输入。4.根据权利要求1所述的方法,其中最大移位值是2
n

1个位且所述高位输出的宽度是2
n
‑1个位,n是整数,且其中检测所述移位条件包含检测取消断言所述移位值的最高有效位及断言所述移位值的下一最高有效位。5.根据权利要求1所述的方法,其中:所述高位输出的宽度是x个位;x不是2的幂;2
n
‑1是大于x的2的下一幂;偏移等于(2
n
‑1‑
x);所述移位值包括高位移位值(SHx)及偏移移位值(SLx);SLx等于SHx+所述偏移;且检测所述移位条件包含检测取消断言SLx的最高有效位及断言SLx的下一最高有效位。6.根据权利要求5所述的方法,其进一步包括:将SHx作为控制信号提供到所述高位移位电路;将SLx的至少一部分作为控制信号提供到所述中间移位电路;及将SLx作为控制信号提供到所述低位移位电路。7.根据权利要求1所述的方法,其中检测所述移位条件包含检测所述操作数是双精度操作数。8.根据权利要求7所述的方法,其中所述移位值包括高位移位值(SHx)及低位移位值(SLx),所述方法进一步包括:由所述高位移位电路接收第一单精度操作数及SHx;响应于SHx而执行所述第一单精度操作数的算术右移以提供第一移位值作为所述高位输出;由所述低位移位电路接收第二单精度操作数及SLx;及响应于SLx而执行所述第二单精度操作数的算术右移以提供第二移位值作为所述低位输出。9.一种装置,其包括:
高位移位电路,其经配置以:接收算术右移运算的操作数;接收移位值;及响应于所述操作数及所述移位值而提供高位输出;低位移位电路,其经配置以:接收所述操作数;及响应于所述操作数及所述移位值而提供低位输出,其中与所述低位输出级联的所述高位输出是所述算术右移运算的结果;及中间移位电路,其经配置以:响应于所述移位值而检测移位条件,所述条件是其中所述操作数的一部分而非全部可移位到对应于所述低位输出的位中;及响应于检测到所述移位条件,将所述操作数的至少一部分提供到所述低位移位电路作为可选输入。10.根据权利要求9所述的装置,其中所述高位及低位移位电路经配置以响应于所述移位值而执行所述操作数...

【专利技术属性】
技术研发人员:G
申请(专利权)人:德州仪器公司
类型:发明
国别省市:

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

1