论文部分内容阅读
最近几年随着大数据的爆发性增长,面对数据处理的要求越来越高。无论在速度和精度上都有了更高的需求。在数据的运算中超越函数因其计算的复杂性,在计算速度的提升上一直被众多学者关注。现今超越函数的应用范围越来越广泛,在图像和语音处理中包含有大量指数,对数,三角函数的操作,这些函数运算的速度和精度会直接影响到系统的性能。在科学计算程序,三维图形的应用以及系统性能评测程序等里也包含大量的超越函数计算单元,对这些超越函数计算的速率和准确度也会影响到程序的运行性能。如何对这些数据操作进行高速的处理,提高函数运算的精度成为了当下的研究热点。在本课题中进行了指数和对数函数的硬件设计。针对指数和对数函数运算速度和精度的提高,在硬件架构上常采用CORDIC算法的流水线架构,利用增加迭代级数换取精度的提升。但受到算法中的收敛因子的限制,导致函数运算的计算域很窄,这对当前的海量数据处理是不能够满足要求的。针对计算域过窄的状况,本文提出新的硬件设计方案,完成函数运算域的扩展。在指数和对数函数方案设计中主要依靠浮点数特征和函数性质,采用数学原理推导的方法对计算域进行了很好的提升。对数函数的运算主要是将其分为小范围的对数运算和乘法运算完成。指数函数的运算首次直接对指数函数的结果中的指数部分和尾数部分进行硬件实现,解决了函数计算中中间数据容易出现溢出的状况。通过新方案的提出对函数运算的计算域有了很好的提升。同时鉴于函数运算的精度要求,首次采取四精度浮点数作为输入,通过增加存储资源的消耗实现函数运算中精度的提升。在硬件架构中根据提出的新方案进行设计,主要包括函数运算模块,时序控制模块和电路整体控制模块。为提高函数运算的精度,对浮点数输入的尾数部分进行数据处理保证所有的尾数进入函数运算模块,同时在计算中采用67级流水的CORDIC算法进行小范围的指数和对数运算。因为算法中的迭代次数很多,对算法模块进行优化,节约硬件资源消耗。最后对硬件设计中的函数运算进行误差分析,将输入输出转换为十进制与计算器得到的结果进行对比,完成误差的分析。在数据运算中指数和对数函数的计算精度都很高,满足现在图像和科学计算程序等对数据运算的高精度需求。