发明名称 用于SIMD向量微处理器的多功能浮点乘加运算装置
摘要 本发明公开了一种用于SIMD向量微处理器的多功能浮点乘加运算装置,它包括挂载于向量处理阵列(5)的每个向量处理单元(51)中的操作数准备单元(1)和浮点快速融合乘加单元(2),操作数准备单元(1)将输入的源操作数处理得到指数、尾数和符号位分离的操作数并输出至浮点快速融合乘加单元(2),浮点快速融合乘加单元(2)用于对所述操作数进行浮点乘加运算获取运算结果并将运算结果写回所述操作数准备单元(1)。本发明支持高效浮点矩阵运算和快速浮点求除法求倒数运算,具有浮点运算性能好、开销小、功能多、编码少、速度快的优点。
申请公布号 CN101986264B 申请公布日期 2013.07.31
申请号 CN201010559300.5 申请日期 2010.11.25
申请人 中国人民解放军国防科学技术大学 发明人 陈书明;杨惠;万江华;孙永节;孙锁林;胡封林;余再祥;罗恒;吴虎成;胡春媚;汪东;唐涛
分类号 G06F9/302(2006.01)I 主分类号 G06F9/302(2006.01)I
代理机构 湖南兆弘专利事务所 43008 代理人 周长清
主权项 一种用于SIMD向量微处理器的多功能浮点乘加运算装置,其特征在于:它包括挂载于向量处理阵列(5)的每个向量处理单元(51)中的操作数准备单元(1)和浮点快速融合乘加单元(2),所述操作数准备单元(1)将输入的源操作数处理得到指数、尾数和符号位分离的操作数并输出至浮点快速融合乘加单元(2),所述浮点快速融合乘加单元(2)用于对所述操作数进行浮点乘加运算获取运算结果并将运算结果写回所述操作数准备单元(1); 所述操作数准备单元(1)包括操作数选择逻辑单元(14)和分别与操作数选择逻辑单元(14)相连的局部寄存器(11)、全局矩阵寄存器(12)、累加器(13),所述局部寄存器(11)用于存放操作数或者写回的运算结果,可被本向量处理单元(51)访问;所述全局矩阵寄存器(12)用于存放操作数或者写回的运算结果,支持行列访问,可被全局向量处理单元(51)访问;所述累加器(13)用于存放操作数或者写回的运算结果;所述操作数选择逻辑单元(14)的数量与向量处理阵列(5)中向量处理单元(51)的数量相同,所述操作数选择逻辑单元(14)获取指数、尾数和符号位分离的操作数并输出至浮点快速融合乘加单元(2);所述操作数选择逻辑单元(14)包括数据选择单元(144)和分别与数据选择单元(144)相连的操作数例外判断单元(141)、倒数近似值查找表(142)、循环缓冲单元(143)、数据分离单元(145),所述操作数例外判断单元(141)分别与局部寄存器(11)、全局矩阵寄存器(12)、累加器(13)相连并对输入的操作数进行例外判断,所述倒数近似值查找表(142)用于为浮点除法运算的尾数输出倒数近似值,所述循环缓冲单元(143)用于存储除法或者求倒数运算过程的每次迭代后的中间结果,所述数据选择单元(144)与一个用于维护除法状态的状态机(146)相连,所述数据选择单元(144)根据执行运算类型选择进入数据分离单元(145)的操作数,所述数据分离单元(145)将操作数分离为尾数位、指数位和符号位并输出至浮点快速融合乘加单元(2)。
地址 410073 湖南省长沙市开福区砚瓦池正街47号中国人民解放军国防科学技术大学计算机学院微电子与微处理器研究所