论文部分内容阅读
浮点运算具有动态范围大、运算精度高、开发效率高等优点,在信号处理、高性能计算等领域广泛使用。不同应用场景中对精度的需求往往大不相同,而目前浮点运算对不同精度的应用都采用固定的单精度或双精度格式,造成运算及存储资源的冗余和浪费。在性能和功耗的瓶颈日益突出的今天,研究具有精度可变、硬件复用的浮点运算单元,具有重要意义。本文以提高浮点运算吞吐率同时降低所需功耗和硬件资源为目的,在保证目标应用运算精度的前提下,减小浮点数冗余的小数位宽,将浮点运算多路并行,提高电路功耗效率。本文首先基于精度运算理论开发了浮点运算精度跟踪模型,评估目标应用在不同浮点数位宽下的运算精度。本文然后设计了精度可变多路浮点乘加单元(VP-FMA),支持1路24位、2路12位、4路6位三种浮点运算精度,工作模式根据目标应用所需的最大精度进行选择。该设计的创新之处在于,不同于基于FPGA类型的可配置电路设计,VP-FMA实现了不同精度浮点运算真正意义上的电路复用。通过增加少量的控制逻辑,使得1路24位单精度浮点运算的硬件电路,能够同时支持2路12位小数域位宽,以及4路6位小数域位宽的浮点运算。对于精度要求不同的目标应用,本文的设计能够多路浮点并行运算,有效地提高电路的功耗效率。本次设计使用VHDL语言完成精度可变多路浮点运算单元的实现,并进行了模块和系统级验证,最后使用TSMC 90nm CMOS工艺库进行了综合。在200MHz工作频率下电路面积为0.06mm2,功耗效率可以达到546.08MFLOPS/W,比传统设计大约提升了近3倍,而面积只增加了40%。结果表明本文设计的精度可变多路浮点运算单元明显地提高了电路功耗效率,在相同的功耗下比传统浮点运算单元有更高的运算性能。