【技术实现步骤摘要】
本专利技术是关于浮点数的数学运算,更是关于执行高速x87浮点加法运算的方法与系统。
技术介绍
浮点数,一般来说,由符号位、指数及包含该浮点数值中有效数字的尾数(故亦称为有效数)所表示。举例而言,以该IEEE标准754对二进制浮点运算的定义,当表示归一化的浮点数时,其尾数包括整数1及在二进制小数点之后的分数。x87架构为执行浮点运算的常用架构。该x87架构描述于IA-32英特尔架构软件开发者手册第1集-基本架构(2006年6月)之中(并入全文中对各种议题的参考文献,在此简称为「英特尔手册」)。特别的是,其第4.8节,描述实数在各种浮点数形式中的表示法;第8章大体描述其如何以x87浮点运算单元(Floating Point Unit,FPU)进行程序设计;而第5.2节描述特定的x87FPU指令。x87FPU共支持三种不同的浮点运算形式:单精度形式数字为32位,其又包括1位表示正负号、8位表示指数、以及23位表示尾数;双精度形式数字为64位,其又包括1位表示正负号、11位表示指数、以及52位表示尾数;双扩充精度形式数字为80位,其包括1位表示正负号、15位表示指数、1整数字元、以及63位表示尾数。浮点数字的精度定为其尾数的位数。因此,若在该单精度和双精度形式中,给定隐含整数1的位至该二进制小数点的左侧,及在该双扩充精度形式中给定确实整数1的位至该二进制小数点的左侧时,则该单精度形式的浮点数限制至24位,该双精度形式的浮点数字限制至53位,而该双扩充精度形式被系统默认的浮点数字则限制至64位。然而,执行于双扩充精度形式浮点数的精度计算法可能被限制少于64位,且该 ...
【技术保护点】
一种最佳化微处理器执行x87浮点加法指令的装置,包括: x87浮点控制字,包括精度控制场,其可编程以指定浮点单元执行浮点运算的精度; 指令调度器,用以将x87浮点加法指令调度至该浮点单元,而该浮点加法指令具有第一及第二浮点加数,其中该第一及第二浮点加数的尾数的有效位数的位较该精度控制场的指定精度少; 该浮点单元,用以: 将该第一及第二加数相加以产生总和; 决定一组预设条件是否存于该第一及第二加数中,其中该等加数对总和的舍入运算判断有所贡献,且与该精度控制场的指定精度有关; 若该组预设条件并不存在: (1)依照该第一和第二加数中较小者的尾数的位以及该精度控制场的指定精度来进行舍入运算判断;及 (2)依照该舍入运算判断,对该总和选择性地进行舍入运算,以产生该浮点加法指令的结果;以及 若该组预设条件存在: (1)储存该总和及由该第一和第二加数所导出的舍入信息; (2)通知该指令调度器重新调度该浮点加法指令至该浮点单元;以及 (3)对该指令调度器重新调度该浮点加法指令至该浮点单元之举作出下列回应: (a)依照该储存的舍入信息和该精度控制场的指定精度作出舍入运算判断;以及 (b)依照该舍入运算判 ...
【技术特征摘要】
US 2008-4-10 12/100,5831.一种最佳化微处理器执行x87浮点加法指令的装置,包括:x87浮点控制字,包括精度控制场,其可编程以指定浮点单元执行浮点运算的精度;指令调度器,用以将x87浮点加法指令调度至该浮点单元,而该浮点加法指令具有第一及第二浮点加数,其中该第一及第二浮点加数的尾数的有效位数的位较该精度控制场的指定精度少;该浮点单元,用以:将该第一及第二加数相加以产生总和;决定一组预设条件是否存于该第一及第二加数中,其中该等加数对总和的舍入运算判断有所贡献,且与该精度控制场的指定精度有关;若该组预设条件并不存在:(1)依照该第一和第二加数中较小者的尾数的位以及该精度控制场的指定精度来进行舍入运算判断;及(2)依照该舍入运算判断,对该总和选择性地进行舍入运算,以产生该浮点加法指令的结果;以及若该组预设条件存在:(1)储存该总和及由该第一和第二加数所导出的舍入信息;(2)通知该指令调度器重新调度该浮点加法指令至该浮点单元;以及(3)对该指令调度器重新调度该浮点加法指令至该浮点单元之举作出下列回应:(a)依照该储存的舍入信息和该精度控制场的指定精度作出舍入运算判断;以及(b)依照该舍入运算判断,对该总和选择性地进行舍入运算,以产生该结果。2.根据权利要求1所述的最佳化微处理器执行x87浮点加法指令的装置,其中该组预设条件包括:实质加法运算乃由该浮点单元响应该浮点加法指令而执行;及该第一及第二加数的较大者的精度较该精度控制场的指定精度大。3.根据权利要求1所述的最佳化微处理器执行x87浮点加法指令的装置,其中该预设条件包括:该第一和第二加数的指数差大于1;及该第一及第二加数的较大者的精度较该精度控制场的指定精度大。4.根据权利要求1所述的最佳化微处理器执行x87浮点加法指令的装置,其中该预设条件包括:实质减法运算乃由该浮点单元响应该浮点加法指令而执行;该第一及第二加数的指数差小于或等于1;及该第一及第二加数中至少一者的精度较该精度控制场的指定精度大。5.根据权利要求1所述的最佳化微处理器执行x87浮点加法指令的装置,其中当该指令调度器重新发送至该浮点加法指令至该浮点单元时,该指令调度器也提供指令至该浮点单元,其中该指令表示该浮点加法指令已被重新调度,以与前先被指令调度器调度至该浮点单元之举作出区别。6.根据权利要求1所述的最佳化微处理器执行x87浮点加法指令的装置,其中该储存的舍入信息包括:该总和中有效位数中较该精度控制场的指定精度少的位;及累计固着位,该累计固着位基于该第一及第二加数中较小者校准后的尾数中最低有效位,且其不被包括于用以产生总合的第一及第二加数的相加。7.根据权利要求1所述的最佳化微处理器执行x87浮点加法指令的装置,其中若该组预设条件不存在时,该浮点单元用以依照该第一及第二加数中较小者的尾数在经校准后的有效位数中较该精度控制场的指定...
【专利技术属性】
技术研发人员:汤姆艾尔摩,泰瑞派克斯,
申请(专利权)人:威盛电子股份有限公司,
类型:发明
国别省市:71[中国|台湾]
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。