论文部分内容阅读
浮点数可以表示高精度以及非常大的数值,同时,高精度计算、图形加速、数字信号处理等应用对浮点处理的要求也越来越高,浮点运算单元成为当代微处理器中一个重要组成部分。浮点除法因其特殊性与实现的难度,仍有不小的优化空间,研究表明,浮点运算中除法运算效率的浮动会导致处理器性能的大幅度浮动,虽然其出现频率较低,但对处理器整体性能有较大的提高。所以,设计一种执行效率较高的浮点除法结构对处理器性能的提高可以起到很重要的作用。NiosⅡ是一种基于哈佛结构的采用流水线技术的软核RISC处理器,基于SOPC的思想设计,且专门针对Altera的可编程逻辑器件做了相应优化。作为一种可配置的通用RISC处理器,它可以与用户自定义逻辑结合构成SOC系统并下载到Altera的可编程器件中去。浮点运算单元是为处理器服务的,所以将浮点除法运算单元与NiosⅡ软核处理器相结合,既能很好的验证运算单元的正确性,又具有很好的实用性。本文对微处理器中双精度64位浮点除法运算单元的算法与实现进行了深入的研究。在充分分析现有的各种除法算法,包括NewtonRapheson、Goldschmidt、恢复余数迭代法和SRT等算法的基础上,针对微处理中浮点64位除法运算还存在可进一步优化的技术特点,对SRT-4算法的关键部分商数字选择函数进行了优化,并提出了基于优化后的SRT-4算法的双精度浮点除法的改进方案。该方案符合IEEE-754浮点格式标准,采用误差的就近舍入策略,并采用VHDL硬件描述语言完成了除法运算单元的设计,用SOPC Builder工具将运算单元通过Avalon互联架构与NiosⅡ处理器相结合,在基于Cyclone FPGA硬件平台上得以实现。同时,对除法运算单元进行了模块测试与整体验证,结果表明改进的除法运算单元达到了正确性的设计要求,且具备较快的运行速度,从而具备很好的实用性。