[发明专利]用于反规格化操作数的基于模式的乘加处理器无效
申请号: | 201310025986.3 | 申请日: | 2007-04-27 |
公开(公告)号: | CN103135958A | 公开(公告)日: | 2013-06-05 |
发明(设计)人: | 肯尼思·艾伦·多克瑟尔;帕蒂克·苏尼尔·拉尔 | 申请(专利权)人: | 高通股份有限公司 |
主分类号: | G06F7/499 | 分类号: | G06F7/499;G06F7/487 |
代理公司: | 北京律盟知识产权代理有限责任公司 11287 | 代理人: | 刘国伟 |
地址: | 美国加利*** | 国省代码: | 美国;US |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 规格化 作数 基于 模式 处理器 | ||
分案申请的相关信息
本申请为发明名称为“用于反规格化操作数的基于模式的乘加处理器”的原中国发明专利申请的分案申请。原申请的申请号为200780016370.2;原申请的申请日为2007年4月27日。
技术领域
本揭示内容大体来说涉及处理器领域且更特定来说涉及将浮点乘法指令重新编码为浮点乘加指令以计算反规格化操作数的基于模式的方法。
背景技术
微处理器可在各种各样的应用中对数值执行计算操作。高执行速度、低功率消耗及较小的大小为处理器设计者的重要目标,尤其在嵌入式应用(例如,便携式电子装置)中。现代处理器采用管线式架构,其中顺序指令(每一者具有多个执行步骤)在执行时重叠。在管线式架构中,每一指令在一系列执行级中执行,例如提取、解码、执行及写回,其中每一者可包含多个管道级。管道级由存储元件及执行指令执行级的所有或部分的逻辑组成。指令按顺序流过所述管线。所述执行级执行所述指令所指定的算术、逻辑或存储器存取操作,且特定来说可对数值执行各种各样的算术操作。
数字处理器以定点或浮点格式表示数值。浮点数包含乘以自乘到整数指数的基数2的定点有效数位(还称作尾数)。在某些格式(例如,以引用的方式并入本文中的IEEE754标准)中,所述浮点表示法另外包括符号位。将所述有效数位乘以自乘到整数指数的2是类似于10进制系统中的科学记数法的二进制。也就是说,所述指数的值确定位位置的数量,且所述有效数位中的二进制小数点应移位的方向识别实际数值-因此产生术语浮点。
当所述有效数位在范围1<=有效数位<2中且所述指数在其经界定范围内时,所述浮点值称作“规范”数。因此,规范的浮点数的有效数位为1.小数的形式,其中“小数”为表示大于一的有效数位的小数部分的二进制值。所述指数的值有效地向左(对于负指数)或向右(对于正指数)移位所述二进制小数点。在IEEE754标准中,单精度浮点数的指数的值的范围为从-126到127。当以IEEE754单精度格式编码所述数时,将原始指数加上127的偏差,使得所有经编码的指数为正数。
用小于一的有效数位(即,0<有效数位<1)且用任一指数表示的浮点值在本文中称作“非规格化”数。特别关心的非规格化浮点数的一个子集为“反规格化”数(也称为次规范数)。反规格化浮点数通过使用范围0<有效数位<1中的有效数位及指数-126表示小于1.0×2-126的值。反规格化浮点数具有0.小数形式的有效数位,其中所述小数中数前导零的范围为从零到小数-1的宽度。反规格化数有效地使用规范的有效数位的小数部分中的位位置来实现二进制小数点的超过126位位置的“左移位”-以丢失精度为代价,因为剩下更少的位来准确表示所述数值。反规格化数表示非常接近零的值,且可用于实施逐渐下溢,从而允许计算在结果非常小时慢慢丢失精度。
在浮点乘法器电路的情况下,反规格化乘积可以数种方式产生。乘数或被乘数可以是反规格化数。在此情况下,中间乘积的有效数位将通常是非规格化(即,小于一)的,而最终经四舍五入的乘积可以是规范或反规格化数,此取决于操作数的数值。如果所述乘数及所述被乘数两者均为反规格化数,那么所述最终经四舍五入的乘积将为零或最小的可表示反规格化数。
此外,如果指数较小且将产生需要小于-126的指数的规格化数(对于单精度),那么两个规范数的乘积可以是反规格化数。注意,此情况不同于其中乘法的中间值采取“非规格化”形式的普通情形。规范的有效数位可采取范围[1,2)中的任一值,也就是说,确切地从一到近乎二(对于假设的5位有效数位来说为1.0000到1.1111)。两个规范的有效数位的乘积可采取范围[1,4)中的值,也就是说,确切地从一到近乎四。因此,此中间乘积有效数位可采取1.小数或1×.小数形式,后者针对从二到近乎四的值(10.0000到11.1111)。作为浮点乘法的例行程序实例,浮点乘法器通过向左移位二进制小数点并将指数递增一来调整此中间结果。在本文中不将此种“非规格化的”中间结果视为反规格化数,且本揭示内容不对其进行明确陈述。
在通用处理器应用(例如,某些嵌入式处理器)中,不需要总是支持反规格化数。举例来说,可在不显著丢失准确度的情况下将反规格化值简单地表示为零。然而,编程语言规定对反规格化数的支持。因此,支持直接执行Java码的处理器至少在Java执行模式期间适应反规格化浮点数。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于高通股份有限公司,未经高通股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310025986.3/2.html,转载请声明来源钻瓜专利网。