[发明专利]支持多种数据类型的单指令多数据算术单元有效
申请号: | 201310009888.0 | 申请日: | 2013-01-10 |
公开(公告)号: | CN103092571A | 公开(公告)日: | 2013-05-08 |
发明(设计)人: | 严晓浪;仇径;孟建熠;陈志坚 | 申请(专利权)人: | 浙江大学 |
主分类号: | G06F9/38 | 分类号: | G06F9/38 |
代理公司: | 杭州天正专利事务所有限公司 33201 | 代理人: | 王兵;王利强 |
地址: | 310027 浙*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 支持 多种 数据类型 指令 多数 算术 单元 | ||
技术领域
本发明涉及多媒体运算部件,尤其是一种算术单元。
背景技术
多媒体应用通常指针对多媒体对象如文本、音频、静态图像、二维图形、三维图形、动画以及全动态视频等的捕捉、存储、变换、传输、编解码等操作。多媒体信号,其最大特点反应在于小的数据位宽,大的数据吞吐量。
单指令多数据(SIMD)技术是指通过一个控制器同时控制两个或者多个平行的处理微元来实现多数据流运算,其并行性体现在能够利用一条指令实现对多个位宽较小的数据单元并行完成同一种操作,从而在时间上实现并行运算。
现有的一个40位算术运算单元大多只能一次实现一个32位的运算或者1个16位的运算或者1个8位的运算,这样虽然实现简单,但是对多媒体应用的低数据位宽,大数据吞吐量特征没有很好的处理效率,通常认为采用SIMD技术可以极大地提高相应多媒体处理应用程序的并行度,提高运算单元的多媒体处理性能,所以需要设计一种单指令多数据算术运算单元。
由于视频、音频、图像的数据宽度不一样,而且随着多媒体技术的发展,可以预计在将来会有更多种的数据宽度需要支持,而当前的SIMD运算单元大多只支持一种数据宽度,或者8位,或者16位,对于多媒体应用的加速不具有普遍性,所以需要设计一种操作数长度可变的SIMD算术单元。
发明内容
为了克服已有算术单元的不能支持多种数据宽度、适用性较差的不足,本发明提供一种能有效支持多种数据宽度、适用性良好的支持多种数据类型的单指令多数据算术单元。
本发明解决其技术问题所采用的技术方案是:
一种支持多种数据类型的单指令多数据算术单元,所述算术单元包括N个原子运算阵列,N为任意正整数,每个原子运算阵列使用一个加法器实现多种位宽的数据的算术运算,所述原子运算阵列包括:
操作数准备单元,用于依据输入的操作类型与数据类型信息,对输入的源操作数进行取反、符号位扩展、位宽扩展与进位扩展操作,输出中间操作数;
加法运算单元,用于接收来自操作数准备单元的中间操作数,完成加法运算,输出加法运算结果;
舍入操作单元,用于依据输入的操作类型与数据类型信息,对加法运算结果进行舍入操作,输出舍入操作结果;
饱和操作单元,用于依据输入的操作类型与数据类型信息,对加法运算结果进行饱和操作,输出饱和操作结果;
结果封装单元,用于依据操作类型与数据类型信息,选择舍入操作单元或者饱和操作单元的输出结果,并依据数据类型信息,将中间结果封装为最终数据。
进一步,所述算术单元支持有符号数与无符号数运算,支持不同元素宽度的运算,所述元素宽度包括字、半字或字节。
优选的,所述操作数准备单元中,取反操作以元素为单位,依据操作类型对源操作数进行取反操作;若为加法运算,保持第一操作数与第二操作数不变;若为减法运算,保持第一操作数不变,对第二源操作数取反;若为绝对值运算则依据数据的符号位对负操作数取反,对正操作数保持不变。
再进一步,所述操作数准备单元中,符号位扩展操作对第一源操作数和第二源操作数以元素为单位进行符号位扩展;对于有符号数,在每个元素的最高位扩展一位符号位,对于无符号数,在每个元素的最高位补一位0。
更进一步,所述操作数准备单元中,位宽扩展操作依据操作类型与数据类型信息以元素为单位对第一源操作数或者第二源操作数扩展一倍位宽。
所述操作数准备单元中,在第一操作数与第二操作数每个元素的最低位扩展一位进位扩展位,对于减法操作,进位扩展操作在第一源操作数和第二源操作数的每元素最低位扩展为1,与取反操作数准备一起构成对减数的取补码操作;对于加法运算,进位扩展操作在第一源操作数和第二源操作数的每元素最低位扩展为0。
所述加法运算单元仅包含一个加法器,根据操作数的类型,对加法操作数的每个元素都增加一位精度扩展位,记录加法操作数的首位进位运算结果,得到一个扩展中间数据,从而隔离数据的进位,并在运算最后舍去进位扩展位,获得一个加法运算结果。
所述舍入操作单元仅包含1个减法器,实现不同位宽的数据的舍入操作。
所述饱和操作单元中,依据数据类型信息,以元素为单位利用加法运算单元结果和符号位扩展运算结果对加法运算结果进行饱和运算,表现为如果上溢出,取最大值,下溢出,取最小值,其它情况运算结果保持不变。
所述结果封装单元中,根据指令类型信息,选取舍入操作单元或者饱和操作单元的结果,并依据数据类型信息,封装成为最终的运算结果。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浙江大学,未经浙江大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310009888.0/2.html,转载请声明来源钻瓜专利网。
- 上一篇:汽车减振装置
- 下一篇:铅蓄电池及其制造方法