论文部分内容阅读
浮点运算是高精度的运算方式,主要应用在科学和多媒体计算中。浮点运算能力是关系到CPU的多媒体、3D图形处理的一个重要指标。相对于定点运算来说,不具备浮点运算单元的主CPIJ所从事的浮点运算,都是在许可范围内尽可能逼近的近似值。随着多媒体和互联网的高速发展,更高性能的精确计算对嵌入式CPU的浮点运算能力提出更高的要求。虽然一些软件库被开发出来暂时解决浮点计算问题,但是软件级别的模拟速度较慢,不能满足一些嵌入式系统的实时性要求,因此需要设计一种硬件结构来满足嵌入式领域的浮点运算需求。
本文给出一种兼容IEEE754标准的嵌入式高性能浮点协处理器--VFP的设计与实现方法。该协处理器通过主处理器提供的外部协处理器接口同主处理器连接,支持浮点标量和向量操作,能够通过硬件高速执行符合IEEE754标准单精度、双精度的加、减、乘、除、乘加、平方根等运算,支持从浮点到整字的转换,具有分立的64位高带宽的load/store总线。
使用该协处理器的嵌入式协处理器可以得到多方面的性能提高:VFP可以在浮点运算方面提高汽车的性能,包括在对精确性和可预测性要求较高的机械传动和车体控制应用,汽车中的机械传动、ABS系统、牵引控制、灵活性背负系统等关键应用;图像应用如比例缩放、印刷中的字形产生、3D转换、FFT、图形过滤等;下一代消费产品如网络应用产品、网关和机项盒可以直接受益于VFP,等等。
该协处理器使用自顶向下的基于系统级算法的快速成型设计流程。首先确定系统的设计目标和关键性能参数。然后在系统级设计阶段确定系统流水线划分和各运算实现算法,并进行有效性评估及优化。进一步在RTL级设计通过改变底层实现进行性能优化。最终得到符合要求的设计。
本设计着眼于嵌入式的应用领域,力求做到性能和功耗、面积代价的权衡。该设计的技术特点如下:
数据通路上,使用改进的浮点乘累加数据通路和浮点单/双精度乘法的舍入方法,提供完全真正意义上的符合IEEE754舍入标准的乘累加运算,缩短了流水线关键路径,减少芯片面积代价。使用改进的恒定周期的迭代算法实现了除法和开方的复用设计,减少了面积代价,降低了系统功耗。使用分立的Load/Store总线和主处理器交换数据,去除了影响系统数据吞吐率的性能瓶颈。流水线技术上,使用共发射的两条独立数据处理流水线。使用适合嵌入式设计的简化的记分牌技术来解决系统的数据和资源冲突,实现不同流水线指令的乱序执行。使用提交队列保证指令的顺序提交。使用缓冲队列减少寄存器堆的端口,使用分立迭代单元的方法实现浮点向量迭代运算操作。使用预测技术实现适合嵌入式的非精确浮点异常处理,给出完全符合IEEE754标准规定的异常处理结果。
本文的创新之处在于使用改进的浮点乘累加数据通路和浮点单/双精度乘法的舍入方法,提供完全真正意义上的符合IEEE754.舍入标准的乘累加运算,缩短了流水线关键路径,减少芯片面积代价。使用改进的恒定周期的迭代算法实现了除法和开方的复用设计,减少了面积代价,降低了系统功耗。使用缓冲队列减少寄存器堆的端口。
设计采用TSMC.13工艺进行RTL综合,系统时钟达到300Mhz,面积约为10万门,满足预定的设计要求。可以作为独立的IP用于SOC设计。该设计被国内知名公司采用,具有很高的实际商用价值。