[发明专利]SIMD指令执行方法、装置及处理器在审
申请号: | 201710611430.0 | 申请日: | 2017-07-25 |
公开(公告)号: | CN109298886A | 公开(公告)日: | 2019-02-01 |
发明(设计)人: | 张紧 | 申请(专利权)人: | 合肥君正科技有限公司 |
主分类号: | G06F9/38 | 分类号: | G06F9/38 |
代理公司: | 北京汇泽知识产权代理有限公司 11228 | 代理人: | 张瑾 |
地址: | 230088 安徽省合肥市高新区望江*** | 国省代码: | 安徽;34 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 数据单元 目标操作数 寄存器 处理器 位宽 源操作数寄存器 指令 指令编码空间 处理器开发 寄存器位 源操作数 指令编码 指令操作 指令运算 指令运行 有效地 低位 兼容 消耗 节约 | ||
本发明提供一种SIMD指令执行方法、装置及处理器。所述方法包括:如果参与指令运算的所有源操作数的数据单元和目标操作数的数据单元的位宽一致,当所述指令运行在寄存器宽度不同的机器上时,所述指令操作于源操作数寄存器和目标操作数寄存器根据所述指令的数据单元位宽划分出来的所有数据单元。本发明能够在寄存器位宽扩展时只需要消耗较少的指令编码用于指令的扩展,有效地节约了指令编码空间,并且能够兼容已有的为低位宽处理器开发的程序。
技术领域
本发明涉及计算机技术领域,尤其涉及一种SIMD指令执行方法、装置及处理器。
背景技术
SIMD(Single Instruction Multiple Data,单指令多操作数)指令是近年来计算机ISA(Instruction Set Architecture,指令集架构)的发展热点。SIMD是能够复制多个操作数,并把它们打包在大型寄存器的一组指令集,指令操作的特点是在单独的指令中能够同时执行多个数据的并行运算。
SIMD处理器通过增加寄存器的位宽,使寄存器包含更多的数据单元,便可将计算速度提高数倍或更高。当前各家指令集在扩大SIMD寄存器位宽时,针对不同的位宽均采用不同的指令编码来定义相同的运算指令,并且为了兼容原来为低位宽寄存器开发的程序,不能取消针对低位宽寄存器定义的相应指令,这样一来,SIMD指令集的指令会越来越多,比如Intel(复杂指令集体系结构)的SIMD指令集就包含了所有64位、128位、256位和512位寄存器宽度的指令,ARM(精简指令集体系结构)的SIMD指令集定义了64位和128位寄存器宽度的指令。然而RISC(Reduced Instruction Set Computer,精简指令集计算机)体系结构的指令是定长的,大多是32位,其中包含寄存器域、常数域和指令编码域,因此RISC指令的指令编码空间是有限的,这样发展下去SIMD指令集会耗尽RISC体系结构中的指令编码空间,限制未来指令的扩展。
发明内容
本发明提供的SIMD指令执行方法、装置及处理器,能够在寄存器位宽扩展时只需要消耗较少的指令编码用于指令的扩展,有效地节约了指令编码空间,并且能够兼容已有的为低位宽处理器开发的程序。
第一方面,本发明提供一种SIMD指令执行方法,所述方法包括:
如果参与指令运算的所有源操作数的数据单元和目标操作数的数据单元的位宽一致,当所述指令运行在寄存器宽度不同的机器上时,所述指令操作于源操作数寄存器和目标操作数寄存器根据所述指令的数据单元位宽划分出来的所有数据单元。
可选地,所述根据所述指令的数据单元位宽划分出来的所有数据单元的数目等于所述源操作数寄存器或者目标操作数寄存器的位宽除以所述指令的数据单元位宽。
可选地,所述指令操作于源操作数寄存器和目标操作数寄存器根据所述指令的数据单元位宽划分出来的所有数据单元包括:
读取各源操作数寄存器中相同位置且相同位宽的数据单元中的源操作数,对所述相同位置且相同位宽的数据单元中的源操作数进行所述指令所规定的操作,将操作结果写入与所述各源操作数寄存器相同位置且相同位宽的第一目标操作数寄存器的数据单元中;
读取第一源操作数寄存器中相邻的偶数数据单元和奇数数据单元中的源操作数,对所述相邻的偶数数据单元和奇数数据单元中的源操作数进行所述指令所规定的操作,将操作结果写入与所述第一源操作数寄存器中所述相邻的偶数数据单元和奇数数据单元相同位置两倍位宽的第二目标操作数寄存器的数据单元中;
读取第二源操作数寄存器的第一指定位置的数据单元中的源操作数,对所述源操作数进行所述指令所规定的操作,将操作结果写入第三目标操作数的所有数据单元中;
读取第三源操作数寄存器的第二指定位置的数据单元中的源操作数,对所述源操作数进行所述指令所规定的操作,将操作结果写入第四目标操作数寄存器的指定数据单元中。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于合肥君正科技有限公司,未经合肥君正科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710611430.0/2.html,转载请声明来源钻瓜专利网。