首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到16条相似文献,搜索用时 453 毫秒
1.
许瑾晨  郭绍忠  黄永忠  王磊  周蓓 《软件学报》2015,26(12):3088-3103
异常会造成程序错误,实现完全没有异常的浮点计算软件也很艰难,因此,实现有效的异常处理方法很重要.但现有的异常处理并不针对浮点运算,并且研究重点都集中在整数溢出错误上,而浮点类型运算降低了整数溢出存在的可能.针对上述现象,面向基于汇编实现的数学函数,提出了一种针对浮点运算的分段式异常处理方法.通过将异常类型映射为64位浮点数,以核心运算为中心,将异常处理过程分为3个阶段:输入参数检测(处理INV异常)、特定代码检测(处理DZE异常和INF异常)以及输出结果检测(处理FPF异常和DNO异常),并从数学运算的角度对该方法采用分段式处理的原因进行了证明.实验将该方法应用于Mlib浮点函数库,对库中600多个面向不同平台的浮点函数进行了测试.测试结果表明:该方法能够将出现浮点异常即中断的函数个数从90%降到0%.同时,实验结果验证了该方法的高效性.  相似文献   

2.
Neuron C是一种专门为Neuron芯片设计的程序设计语言.它在ANSI C的基础上进行了扩展,是开发LonWorks应用的有力工具.Neuron C不直接支持ANSI C中浮点数的算术和比较运算,但是它提供了一个浮点函数库,从而允许使用符合IEEE 754标准的浮点数.文中详细介绍了Neuron C中浮点数据类型的定义、浮点常量的生成方法和浮点函数库的使用.通过一个实例LonWorks网络,演示了浮点数据的使用.  相似文献   

3.
童静吴柯  王怀兴 《微机发展》2005,15(2):18-20,24
Neuron C是一种专门为Neuron芯片设计的程序设计语言。它在ANSIC的基础上进行了扩展,是开发LonWorks应用的有力工具。Neuron C不直接支持ANSIC中浮点数的算术和比较运算,但是它提供了一个浮点函数库,从而允许使用符合IEEE754标准的浮点数。文中详细介绍了Neuron C中浮点数据类型的定义、浮点常量的生成方法和浮点函数库的使用。通过一个实例LonWorks网络,演示了浮点数据的使用。  相似文献   

4.
许瑾晨  黄永忠  郭绍忠  周蓓  赵捷 《软件学报》2015,26(6):1306-1321
数学函数库作为CPU软件的重要组成部分,对于高性能计算机平台上的科学计算、工程数值计算起着极为关键的作用.现有的测试工具只能片面地对函数库进行测试,没有从正确性、精度和函数性能这3方面加以考虑,而且往往只针对一类目标体系结构,适用性有限.针对现有测试工具的缺陷,提出了面向多目标体系结构、全面可复用的一体化测试平台BMltest(basic math library test).测试平台结合函数特征值、IEEE-754特殊数以及利用浮点数生成规则实现的全浮点域指数分布的IEEE-754规范数构造了测试集,有效提高了测试集浮点数的覆盖率;提出了基于多精度库MPFR(multiple-precision floating-point reliable library)的精度测试方法,提高了精度测试的可靠性;提出了基于代码隔离的性能测试方法,最大限度地降低了外部环境对性能测试的干扰.针对大量的浮点测试结果,给出了合理的结果评价方案.测试平台使用的测试集数据与函数做到了相关性的极大分离,保证了测试方法的普适性.通过对包括GNU,Open64及Mlib函数库内所有855个函数的测试结果表明:BMltest平台的测试数据集更全面、有效,精度测试方法更可靠;与其他测试平台相比,性能测试结果更准确、稳定.  相似文献   

5.
研究了GNU标准下初等函数的赋值原理及算法实现.基于IEEE 754-2008浮点标准,利用误差分析基本结论,对GNU下C语言标准数学函数库中的初等函数赋值程序进行理论误差分析.利用Boost库中提供的区间类,将以浮点数作为基本数据类型的程序重写成以区间作为基本类型的程序,使用区间算术对初等函数进行可验证赋值,从而得到一个包含真实值的区间包络,并由此给出GNU下初等函数的数值误差界.  相似文献   

6.
浮点三角函数计算是导航系统、三维图像处理、雷达信号预处理等领域的基本运算.本文采用CORDIC算法及全定制集成电路设计方法实现了一种浮点三角函数计算电路,其输出数据兼容IEEE-754单精度浮点数标准.本文首先介绍了CORDIC算法的原理,并根据性能优先的原则采用了流水线结构;然后给出了基于SMIC O.13μm 1P...  相似文献   

7.
基于动态二进制平台DynamoRIO,研究了面向二进制代码的缓冲区溢出攻击样本的自动化检测方法.该方法利用动态二进制平台的插桩技术,针对不同的溢出覆盖类型,通过异常捕获、控制流分析和内存状态检查实现了对缓冲区溢出的自动化检测.实验结果表明,该方法能够自动化地、准确地检测出样本中存在的缓冲区溢出攻击,在缓冲区溢出攻击的自动化检测方面具有较好的应用价值.  相似文献   

8.
一种基于牛顿迭代的快速收敛指数算法的设计与实现   总被引:1,自引:0,他引:1  
针对IEEE-754标准浮点指数运算的要求,通过对现有的几种指数运算硬件实现方法的分析,结合牛顿迭代原理推导出一种新的按指数速度收敛的算法,并用Verilog HDL语言实现了一个精度为56位的指数运算单元。该算法通过查表和乘法来实现迭代操作,并通过增加迭代次数来降低查找表的大小。所实现的运算单元采用九级流水线结构,工作频率可以达到200MHz。  相似文献   

9.
分析缓冲区溢出原因和现有检测技术,提出一种基于危险函数的缓冲区溢出检测流程。该流程首先对反汇编代码中的危险函数的普通形式和展开形式进行定位,然后对危险函数进行参数分析和动态检测,验证危险函数能否发生溢出,最后通过人工分析技术,进一步对参数分析和动态检测的结果进行验证。给出缓冲区溢出检测流程的具体实现。实验结果表明该检测流程是有效的。  相似文献   

10.
介绍自主设计的龙腾C2微处理器中浮点运算单元的设计与实现。该处理器与Intel80486DX4指令系统兼容,支持IEEE754标准扩展精度的浮点基本函数和超越函数运算。介绍了浮点运算单元的结构,分析了实现超越函数的高精度CORDIC算法的流程,讨论了实现浮点超越函数运算的数据通路和控制通路结构,并给出了仿真结果和精度评估结果。仿真和分析的结果表明,浮点运算单元的设计满足龙腾C2微处理器的设计要求。  相似文献   

11.
在科学计算、数字信号处理、通信和图像处理等应用中,除法运算是常用的基本操作之一。基于SRT 8除法算法,设计一个SIMD结构的IEEE 754标准浮点除法器,在同一硬件平台上能够实现双精度浮点除法和两个并行的单精度浮点除法。通过优化SRT 8迭代除法结构,提出商选择和余数加法的并行处理,并采用商数字存储技术降低迭代除法的计算延时,提高频率。同时,采用复用策略减少硬件资源开销,节省面积。实验表明,在40nm工艺下,本设计综合cell面积为18601.9681 μm2,运行频率可达2.5GHz,相对传统的SRT 8实现关键延迟减少了23.81%。  相似文献   

12.
一种64位浮点乘加器的设计与实现   总被引:2,自引:0,他引:2  
乘加操作是许多科学与工程应用中的基本操作,特别是在图形加速器和DSP等应用领域,浮点乘加器有着广泛的应用。论文针对PowerPC603e微处理器系统,基于SMIC0.25μm1P5MCMOS工艺,采用正向全定制的电路及版图设计方法,设计实现了一个综合使用改进Booth算法、平衡的4-2压缩器构成的Wallace树形结构、先行进位加法器的支持IEEE-754标准的64bit浮点乘加器。  相似文献   

13.
Requirements definition and test suites development for implementations of mathematical functions in floating point arithmetic in the framework of the IEEE 754 standard are considered. A method based on this standard is proposed for defining requirements for such functions. This method can be used for the standardization of implementations of such functions; this kind of standardization extends IEEE 754. A method for designing test suites for the verification of those requirements is presented. The proposed methods are based on specific properties of the representation of floating point numbers and on some features of the functions under examination.  相似文献   

14.
宋庆增  顾军华 《计算机工程》2011,37(23):214-216
针对传统的通用处理器(GPP)平台上执行稀疏矩阵向量乘计算效率低的问题,提出一种基于可重构计算平台的SpMXV协处理器设计。方案采用二叉树结构高度流水的数据流、IEEE-754的32 bit浮点数数据格式和对角存储格式。数据通路以流水线方式进行组织,能够优化计算性能。仿真结果表明,与GPP平台上的软件实现相比,通过硬件实现的设计能达到最高2.69倍的性能加速。  相似文献   

15.
Neural network simulations often spend a large proportion of their time computing exponential functions. Since the exponentiation routines of typical math libraries are rather slow, their replacement with a fast approximation can greatly reduce the overall computation time. This article describes how exponentiation can be approximated by manipulating the components of a standard (IEEE-754) floating-point representation. This models the exponential function as well as a lookup table with linear interpolation, but is significantly faster and more compact.  相似文献   

16.
Since they often embody compact but mathematically sophisticated algorithms, operations for computing the common transcendental functions in floating point arithmetic seem good targets for formal verification using a mechanical theorem prover. We discuss some of the general issues that arise in verifications of this class, and then present a machine-checked verification of an algorithm for computing the exponential function in IEEE-754 standard binary floating point arithmetic. We confirm (indeed strengthen) the main result of a previousl published error analysis, though we uncover a minor error in the hand proof and are forced to confront several subtle issues that might easily be overlooked informally.The development described here includes, apart from the proof itself, a formalization of IEEE arithmetic, a mathematical semantics for the programming language in which the algorithm is expressed, and the body of pure mathematics needed. All this is developed logically from first principles using the HOL Light prover, which guarantees strict adherence to simple rules of inference while allowing the user to perform proofs using higher-level derived rules.  相似文献   

设为首页 | 免责声明 | 关于勤云 | 加入收藏

Copyright©北京勤云科技发展有限公司  京ICP备09084417号