[发明专利]支持多种数据类型的单指令多数据移位装置有效
申请号: | 201310009706.X | 申请日: | 2013-01-10 |
公开(公告)号: | CN103077004A | 公开(公告)日: | 2013-05-01 |
发明(设计)人: | 严晓浪;赵朝君;陈志坚;孟建熠 | 申请(专利权)人: | 浙江大学 |
主分类号: | G06F5/01 | 分类号: | G06F5/01 |
代理公司: | 杭州天正专利事务所有限公司 33201 | 代理人: | 王兵;王利强 |
地址: | 310027 浙*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 支持 多种 数据类型 指令 多数 移位 装置 | ||
1.一种支持多种数据类型的单指令多数据移位装置,其特征在于:所述装置包括N个原子移位阵列,N为正整数,每个原子移位阵列支持32位数据宽度的移位操作,所述移位操作包括1个32位元素移位,即将32位数据当作一个32位整型操作数元素进行移位; 2个16位元素并行移位,即将32位数据当作2个16位整型操作数元素进行移位;和4个8位元素并行移位,即将32位数据当作4个8位整型操作数元素进行移位;
每个原子移位阵列包括:
格式转换器,用于依据输入的数据类型信息,对输入的32位原始数据进行格式转换;
第一移位器,用于接收格式转换器输出的32位数据,并依据输入的数据类型信息与移位量,对32位数据进行第一阶段移位;
第二移位器,用于接收第一移位器的输出结果,以字节为单位对数据进行第二阶段移位;
移位结果封装器,用于接收第二移位器的移位结果,并依据输入的数据类型控制信息,对移位后的字节数据整合封装为最终移位结果。
2.如权利要求1所述的支持多种数据类型的单指令多数据移位装置,其特征在于:所述格式转换器中,格式转换如下:对于无符号左移操作,保持各个元素原数据不变;
对于有符号左移操作,保持各个元素原数据不变;
对于无符号右移操作,保持各个元素原数据不变;
对于有符号右移操作:
若元素为正数,则保持元素原数据不变; 若元素为负数,则将元素原数据取反。
3.如权利要求1或2所述的支持多种数据类型的单指令多数据移位装置,其特征在于:所述第一移位器中,所述第一阶段移位对数据元素完成移位量为0/8/16/24/32的移位操作,具体操作方式如下:
当数据元素宽度为8位时,第一移位器不做操作;
当数据元素宽度为16位时,第一移位器分别对2个16位元素采取如下操作:
若元素移位量小于8,则第一移位器不做操作;
若元素移位量大于等于8,且小于16,则第一移位器移位8位;
若元素移位量大于等于16,则该第一移位器移位16位;
当数据元素宽度为32位时,第一移位器对32位元素采取如下操作:
若元素移位量小于8,则第一移位器不做操作;
若元素移位量大于等于8,且小于16,则第一移位器移位8位;
若元素移位量大于等于16,且小于24,则第一移位器移位16位;
若元素移位量大于等于24,且小于32,则第一移位器移位24位;
若元素移位量大于等于32,则该阶段移位32位。
4.如权利要求1或2所述的支持多种数据类型的单指令多数据移位装置,其特征在于:所述第二移位器包括4个8bit的左移位器和右移位器,将32位输入数据划分为4个8位子数据,由低到高分别记为第一子数据、第二子数据、第三子数据和第四子数据,并对各子数据按照如下方式扩展后再移位:
对于左移操作,在各子数据高位0扩展一倍位宽后进行左移位器操作;
对于右移操作,在各子数据低位0扩展一倍位宽后进行右移位器操作。
5.如权利要求1或2所述的支持多种数据类型的单指令多数据移位装置,其特征在于:所述第二移位器根据移位方向选择输出数据,对各子数据的移位结果由低到高分别记输出数据为第一输出子数据、第二输出子数据、第三输出子数据和第四输出子数据。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浙江大学,未经浙江大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310009706.X/1.html,转载请声明来源钻瓜专利网。