论文部分内容阅读
浮点数可以表示高精度以及非常大的数值。因此,在当代的微处理器设计中,通常使用专用部件来完成浮点计算。浮点单元FPU(Floating Point Unit)成为图形加速器、DSPs和高性能计算机的基本部件。以往,芯片面积的大小限制了浮点单元的复杂性,但是随着集成电路工艺的不断发展,特征尺寸的不断缩小以及芯片面积的不断增大,这就为浮点处理单元的设计实现提供了设计基础。 由于浮点数字系统的复杂性,浮点运算的硬件实现在通常情况下要比定点部件慢。与此同时,很多应用程序,比如科学计算程序、三维图形应用、数字信号处理、以及系统性能评测程序等等,都是属于浮点计算密集型的应用程序。这些程序的运行性能都不约而同的受到浮点运算的性能影响。因此,高性能浮点微处理单元的设计是非常有必要。 本文来源于国防“十五”重大预研项目“专用高性能微处理器的设计与实现”和西北工业大学研究生创业种子基金项目“高速浮点运算单元的设计与实现”,结合作者参与的“龙腾R2”微处理器的设计和研发工作,针对在高性能浮点算术中占有重要地位的浮点加法运算进行了分析和探讨,并完成了相关电路设计。 论文首先回顾了浮点处理器的发展历程,详细介绍了浮点算术领域的研究发展情况以及国内外在这一领域内典型的研究成果,阐明了浮点处理器广阔的应用范围和进行浮点算术研究的巨大意义。 其次在简要介绍了IEEE-754浮点算术标准的基础上,对业界主要的标准浮点基准测试程序进行定性分析,以此为性能衡量依据,针对在数据路径中占有至关重要作用的浮点加法单元进行分析和优化,以减小浮点指令的执行周期,达到提高浮点处理器运算性能的目的。 进而分析了浮点加法器的原理和运算过程,重点讨论了双通路(Two-Path)算法以及舍入合并的双通路算法。这些算法基于浮点加/减运算的某些特性,使各个操作步骤尽可能的并行化,来减少整个运算过程总的延时。 然后基于对浮点运算操作数特征的统计分析,发现浮点加法运算中操作数指数差值的分布规律,结合Two-Path算法,引入了一种三数据通路(Triple Data Path)浮点加法器结构。进而,根据两条运算路径的具体特点,提出可变延时(VLA)算法,设计出了1、2、3周期可变延时浮点加法器。这两种算法都面向低功耗应用,以降低运算过程整体延时为目标。 最后针对高速浮点加法器中的核心部件——二进制加法器进行高速化设计。介绍了非常适合于VLSI实现的并行前缀加法器,基于不同的CMOS工艺,针对