浮点处理单元设计关键技术研究与实现

浮点处理单元设计关键技术研究与实现

论文摘要

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

论文目录

  • 摘要
  • ABSTRACT
  • 第一章 绪论
  • 1.1 课题研究背景
  • 1.2 课题研究现状
  • 1.2.1 国外浮点处理单元设计关键技术研究和发展概况
  • 1.2.2 国内浮点处理单元设计研究和发展概况
  • 1.3 课题研究内容
  • 1.3.1 课题研究的内容
  • 1.3.2 课题主要工作
  • 1.4 论文结构
  • 第二章 浮点数和IEEE 754标准
  • 2.1 定点数与浮点数
  • 2.1.1 定点数据
  • 2.1.2 浮点数据
  • 2.1.3 定点数与浮点数的比较
  • 2.2 IEEE 754浮点数据格式
  • 2.2.1 单精度浮点数据格式
  • 2.2.2 双精度浮点数据格式
  • 2.2.3 IEEE 754对特殊值和非规格化数据的规定
  • 2.3 IEEE 754浮点运算的基本流程
  • 2.3.1 浮点加减法运算流程
  • 2.3.2 浮点乘法运算流程
  • 2.4 IEEE 754浮点运算的异常及舍入模式
  • 2.4.1 IEEE 754浮点运算的舍入模式
  • 2.4.2 IEEE 754异常
  • 2.5 小结
  • 第三章 浮点加法器设计
  • 3.1 浮点加法器基本结构
  • 3.2 前导零逻辑
  • 3.2.1 二分检测法
  • 3.2.2 前导零检测逻辑设计
  • 3.3 浮点加法器结构设计
  • 3.4 小结
  • 第四章 浮点乘法器设计
  • 4.1 浮点乘法基本理论
  • 4.1.1 浮点乘法处理流程
  • 4.1.2 浮点乘法中BOOTH编码原理
  • 4.1.3 浮点乘法研究现状
  • 4.2 基于BOOTH算法的伪1变换
  • 4.2.1 BOOTH算法关键路径分析
  • 4.2.2 通过伪1变换减少BOOTH算法延迟
  • 4.2.3 小结
  • 4.3 基于Wallace树的伪和运算
  • 4.3.1 Wallace树算法分析
  • 4.3.2 预伪加和对进位延迟的优化
  • 4.3.3 小结
  • 4.4 浮点乘法器总体结构
  • 4.5 性能评测及分析
  • 4.6 小结
  • 第五章 浮点除法器设计
  • 5.1 浮点除法对浮点运算的影响
  • 5.2 浮点除法基本运算流程
  • 5.3 基本除法算法分析
  • 5.3.1 数字循环
  • 5.3.2 函数迭代
  • 5.3.3 高阶除法
  • 5.3.4 查找表法
  • 5.4 浮点除法设计实现
  • 5.4.1 算法的选择
  • 5.4.2 算法分析及改进
  • 5.4.3 利用乘法单元实现浮点除法
  • 5.5 浮点除法迭代时序
  • 5.6 小结
  • 第六章 高速浮点处理单元总体结构设计
  • 6.1 FPU体系结构
  • 6.2 FPU流水线
  • 6.2.1 FPU中的乱序流水实现
  • 6.3 异常处理
  • 6.4 小结
  • 第七章 浮点处理单元的硬件实现与验证
  • 7.1 信号
  • 7.2 时序
  • 7.3 编译综合
  • 7.4 测试模型的建立
  • 7.5 测试和验证
  • 第八章 结束语
  • 8.1 本文工作总结
  • 8.2 工作展望
  • 致谢
  • 参考文献
  • 作者在学期间取得的学术成果
  • 相关论文文献

    标签:;  ;  ;  ;  ;  ;  

    浮点处理单元设计关键技术研究与实现
    下载Doc文档

    猜你喜欢