论文摘要
航空航天、数字信号处理、实时语音图像和高精度计算等应用领域对浮点数处理的要求越来越高,浮点单元(FPU, Floating-Point Unit)已经成为当代微处理器中一个至关重要的组成部分。由于集成电路技术的发展,芯片的集成度越来越高,如何实现FPU的功能、提高FPU的性能已成为一个重要的研究课题。基于PowerPC的FPU课题来源于哈尔滨工业大学(威海)微电子中心的合作项目,是中央处理器的协处理单元,在不占用中央处理单元资源的基础上负责基本算术指令、比较指令等六类35条浮点指令的处理,其性能的优劣直接影响到处理器的性能。论文在对IEEE-754浮点数标准研究和各种算法比较选择基础上,根据PowerPC的体系结构和指令系统,选择相应的算法,提出实现FPU的设计方案:将整个设计分为译码、数据通路、控制通路和异常检测四个部分。采用自顶向下的数字集成电路设计方法,对各部分进行寄存器传输级的描述,通过对各指令控制通路和数据通路进行合并和优化。算法的分析和比较:加减法是设计的基础,乘、除、开方运算是设计的重点。通过对算法的分析,从实现的速度、功耗、面积和实现的复杂程度等方面比较选择相应的实现算法。乘、除、开方指令的硬件实现:根据实现乘除法计算流程,采用改进的Booth2算法实现乘法单元,采用SRT-4算法进行除法和开方的硬件实现。硬件合并:为减少FPU实现的规模采取硬件合并,将六类35条指令进行功能单元合并。硬件分为数据通路和控制通路。数据通路包括指数通路和尾数通路,是操作数的通道,指令运算的场所;控制通路是FPU设计的核心,控制指令的运算;异常检测模块检测指令执行过程中各种异常情况。通过搭建验证平台,采用大量激励对FPU功能进行验证,其功能完全能够实现;为了检测时序要求,采用中芯国际SMIC的0.18μm CMOS工艺对其进行了综合,在面积不到0.3mm2的情况下速度可以达到266MHz以上;将sdf文件反标到门级网表中,对FPU设计进行时序仿真,仿真结果表明此FPU设计的性能完全符合设计要求。基于PowerPC的FPU是当代微处理器一个重要的组成部分,本设计的研究为生产具有自主产权的高性能嵌入式微处理器积累了经验。