论文摘要
近60年来,随着微电子技术和集成电路工艺的飞速进步,微处理器有了惊人的发展,性能迅速得到提高。与此同时,要想满足微处理器高性能的要求,关键路径上的浮点处理单元(FPU)的运算速度必须足够快。现有的一些处理器中的浮点处理单元基本上取得了很好的性能,但也存在一些问题。在浮点处理单元中,浮点乘法开始向着更高进制、更大位宽、并行度更高的乘算法发展,因此乘法器的速度和面积直接影响着整个浮点处理单元的性能,需要对乘法器的设计进行改进和优化以提高整个浮点处理单元的性能。同时,浮点处理单元中的除法、平方根等使用频度较低的运算仍然是整个单元的性能瓶颈,其运算结构比较复杂,处理单元的面积和功耗也比较大。针对上述问题本文研究了浮点处理单元设计相关关键技术。针对浮点乘法部分积产生规则提出了伪1变换,优化其控制通路;同时在传统的Wallace树型乘法器中提出了预伪加的方法,不仅减少了部分积累加延迟,也降低了电路的复杂性;在乘法器的基础上本文结合查找表法和Goldschmidt算法进行了浮点除法的设计实现,并通过控制电路实现了FPU的顺序执行,乱序流出,充分挖掘了FPU的资源利用率。运用这些设计技术本文设计实现了一个浮点处理单元,并对其进行了性能分析和测试,验证了本文提出的设计技术的有效性和正确性。1.首先,本文对浮点处理单元中的关键部件浮点加法进行了分析。在双通路(Two-Path)算法结构的基础上,针对浮点加法运算中的延迟比较大的结果规格化过程,运用前导零检测算法的二分检测法对这一问题提出了解决方案,进行了前导零检测设计,缩短了延迟,简化了电路设计。2.其次,针对64位乘法,优化浮点乘法部分积生成电路中的控制通路,提出了部分积产生规则控制通路的伪1变换策略来降低延迟,简化了电路设计,减小了面积和功耗。3.同时,在传统的Wallace树型乘法器中,引入了部分积压缩阵列过程中的进位预取和低位舍去策略,提出了预伪加的方法,不仅减少了延迟,也降低了电路复杂性。结合流水线设计技术,这种改进的设计方案能够在单周期内完成单精度或双精度浮点乘法,满足了快速三维图形计算、高速浮点处理单元对性能的较高要求。4.在实现了浮点乘法流水部件的基础上,结合查表法和Goldschmidt算法对浮点除法进行了设计实现。5.基于上述浮点关键部件的实现,将各个浮点运算的流水进行控制实现。结合浮点除法中的迭代控制信号对FPU进行顺序执行,乱序流出设计实现。充分利用了FPU的资源,提高了FPU的性能。最后,本文在上述高性能浮点处理单元设计关键技术研究的基础上,设计实现了一款高性能浮点处理器,对本文提出的各种关键技术进行了实现。通过测试和仿真,测试结果表明本文设计的浮点处理器在性能、面积上均可满足要求。