论文摘要
浮点乘加部件(Fused Multiply-Add, FMA)是高性能微处理器中的核心运算部件之一,它的速度与功耗对整个微处理器性能具有很大的影响。随着应用技术对高精度运算的要求不断增加,研究高精度FMA的算法和设计优化技术,实现高性能高精度的浮点乘加部件具有广泛的应用价值和重要的现实意义。本文在分析现有128位浮点乘加部件的基础上,提出了一种优化的全流水的128位浮点乘加部件体系结构,该结构采用10级平衡流水线,在系统算法、RTL编码和逻辑实现结构等多个层次进行设计和优化,使浮点乘加部件的性能大幅提升。本文的研究工作和成果主要包括以下几点:1.系统地研究了浮点乘加部件的算法和结构,定量分析了部分关键路径的延迟,并重新进行了流水线的划分,得出了各站间组合逻辑延迟较为均匀的流水线结构,其中最长路径和最短路径相差约10%。2.利用分块和并行化设计思想,对关键路径上的乘法器、加法器、对阶移位器和前导零预测等模块进行优化设计,提高数据通路执行的并行性。重点研究了前导零预测模块的相关算法和设计,改进了该算法超宽位编码树的结构,使改进后面积减小了30%。3.基于双通路加法器的结构研究了双通路乘加部件对加法操作的优化,将浮点加法分为两个通路,并使规格化操作和对阶操作互斥地出现在两个通路上。分析结果表明:该结构减小了乘加部件在处理单独的加法指令时的延迟,处理乘加指令时延迟略有增加。4.对整个乘加部件进行了系统的测试和验证,实现了由整形运算模拟浮点乘加运算的参考模型,利用此模型进行了特殊数据测试、分段测试和基于异常分类的测试,在保证获得高测试覆盖率的基础上有效减少了测试向量的规模,加快了验证速度。使用Design Compiler对RTL代码进行逻辑综合,结果表明,在0.13um工艺下,本文提出的128位全流水体系结构的频率可以达到465MHz,相比优化前性能提高了130%;面积约238700门;在65nm工艺下,该设计的频率可达到1.075GHz,基本满足实际应用需求。