[发明专利]一种数据的重排方法及重排装置无效
申请号: | 201110127189.7 | 申请日: | 2011-05-17 |
公开(公告)号: | CN102163140A | 公开(公告)日: | 2011-08-24 |
发明(设计)人: | 孙瑞琛 | 申请(专利权)人: | 孙瑞琛 |
主分类号: | G06F9/30 | 分类号: | G06F9/30;G06F9/315;G06F9/38 |
代理公司: | 北京锐思知识产权代理事务所(普通合伙) 11341 | 代理人: | 李涛 |
地址: | 100191 北京市海淀区*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 数据 重排 方法 装置 | ||
技术领域
本发明涉及微处理器和计算机系统领域,具体地说,涉及面向处理器的并行处理,尤其是并行数据的重排方法及重排装置。
背景技术
随着处理器技术的进步,处理器的速度不断提高,性能不断增强,同时用户对计算机或者处理器的要求越来越高。但是仅仅依靠电子元件的加速来满足需求是远远不够的,因此提高计算机的并行处理能力及增加有效的处理指令变的尤其重要。
在现有的技术方案中,中国专利CN 200480018443.8介绍了一种重排数据的方法和装置,具体的说明如下:
第一和第二操作数是SIMD寄存器,但,第二操作数的寄存器也可用存储器位置替换。第一操作数包括用于重排的源数据,对于第一操作数的寄存器也是目的寄存器。除了改变它们的位置,根据本发明的实施例还包括将选定的字节设定到零的能力。
第二操作数包括一组重排控制掩码字节以指定重排模式。用于选择源数据元素的比特数是源操作数中数据元素数量的log2.例如,一个64比特寄存器,分为8个字节数,因此需要三个比特指示源操作数中数据元素的数量。以下代码中的[2:0]指数表示3个比特。如果置位了重排控制字节的最高有效比特7,则将常数零写入结果字节。否则如果第二操作数的字节I的最低有效三位包含整数J,则重排指令使得第一源寄存器的第J个字节被复制到目的寄存器的第I字节位置。以下是用于64BIT操作数的紧缩字节重排操作的一个实施例的示例性伪码:
上述专利CN 200480018443.8,在技术上的局限性是:
其一,在通信数据处理中,特别是FFT运算中,有时仅仅需要对2个源寄存器中的部分数据进行互换,下一周期即对源数据寄存器进行操作。英特尔的重排方法如果要达到这种目的,需要增加很多冗余指令。
其二,英特尔技术专利支持对一个数据源进行重排,而在通信数据处理中,需要对两个源或者三个源进行重排。
其三,英特尔技术专利不支持对原有数据的保持,英特尔第一源操作数是源寄存器也是目的寄存器,它仅仅是对一个矢量源操作数进行重排,这样虽然节省了1个寄存器,但是对于即要保留原有数据又要求对原有数据进行重排的处理增加工作难度及工作任务。
本发明有效地解决了上述问题,通过本发明的重排指令,实现诸如FFT运算所需要的指令数量会急剧的减少,提高了处理速度;同时,本发明可以对两个源或者三个源甚至多源进行重排;能够实现即保留原有数据,又对原有数据进行重排的处理。另外,本发明除了支持重排数据的归零,还增添了对重排数据置位和置负一的功能。
发明内容
为了解决上述问题,本发明提出一种数据的重排方法及重排装置。
本发明的数据重排装置是作为处理器的一个组成部分,其执行的过程按照VLIW(超长指令字)处理器的操作过程进行,在具体实现重排的过程,体现出本发明的内容。
本发明的数据重排装置包括:
指令存储单元,用来存储将要执行的指令代码;
数据存储单元,用来存储指令代码执行所需的数据指令读取;
指令读取和分发单元,该单元将指令代码从指令存储单元中读取并发送给所有执行单元;
矢量数据处理单元,该单元用来执行指令代码当中的矢量处理指令;
矢量寄存器组,包含矢量寄存器VR0,VR1,…,VRn,用来存放来自数据存储单元的数据,其运算单元则从适量寄存器组中读写数据;
矢量重排顺序寄存器组,包含矢量重排顺序寄存器VR_CFG0,VR_CFG1,VR_CFG2,…,VR_CFGn,用来配置参与矢量重排运算的单元,来选择部分或是全部矢量元算单元参与运算。
所述数据的重排是按照VLIW处理器的操作过程在矢量数据处理单元中完成。
所述指令读取和分发单元从所述指令存储单元中读取重排指令,然后分发给所述矢量数据处理单元,所述矢量数据处理单元根据所述重排指令执行重排操作;所述矢量数据处理单元根据所述重排指令将待重排数据队列从所述数据存储单元读入到所述矢量寄存器组源的寄存器中,所述源寄存器的指定是由所述重排指令决定的;所述矢量数据处理单元根据指令要求以及所述矢量重排顺序寄存器的内容,完成对所述矢量寄存器组内保存的数据元素的重排操作,结果存放在所述矢量寄存器组目标寄存器中,所述目标寄存器的指定是由重排指令决定的;将存放在所述目标寄存器内重排后的结果,存放到所述数据存储单元中。
根据本发明的数据重排按功能可以可分为两大类,一类是对两个源寄存器中的数据互换重排。在互换重排中参与重排的两个源寄存器也是两个目的寄存器。具体方法,包括以下步骤:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于孙瑞琛,未经孙瑞琛许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110127189.7/2.html,转载请声明来源钻瓜专利网。
- 上一篇:反循环锯槽机
- 下一篇:用于改进的间隙填充、可靠性以及减小的电容的双金属互连
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置