【技术实现步骤摘要】
SIMD指令执行方法、装置及处理器
本专利技术涉及计算机
,尤其涉及一种SIMD指令执行方法、装置及处理器。
技术介绍
SIMD(SingleInstructionMultipleData,单指令多操作数)指令是近年来计算机ISA(InstructionSetArchitecture,指令集架构)的发展热点。SIMD是能够复制多个操作数,并把它们打包在大型寄存器的一组指令集,指令操作的特点是在单独的指令中能够同时执行多个数据的并行运算。SIMD处理器通过增加寄存器的位宽,使寄存器包含更多的数据单元,便可将计算速度提高数倍或更高。当前各家指令集在扩大SIMD寄存器位宽时,针对不同的位宽均采用不同的指令编码来定义相同的运算指令,并且为了兼容原来为低位宽寄存器开发的程序,不能取消针对低位宽寄存器定义的相应指令,这样一来,SIMD指令集的指令会越来越多,比如Intel(复杂指令集体系结构)的SIMD指令集就包含了所有64位、128位、256位和512位寄存器宽度的指令,ARM(精简指令集体系结构)的SIMD指令集定义了64位和128位寄存器宽度的指令。然而RISC( ...
【技术保护点】
1.一种SIMD指令执行方法,其特征在于,所述方法包括:如果参与指令运算的所有源操作数的数据单元和目标操作数的数据单元的位宽一致,当所述指令运行在寄存器宽度不同的机器上时,所述指令操作于源操作数寄存器和目标操作数寄存器根据所述指令的数据单元位宽划分出来的所有数据单元。
【技术特征摘要】
1.一种SIMD指令执行方法,其特征在于,所述方法包括:如果参与指令运算的所有源操作数的数据单元和目标操作数的数据单元的位宽一致,当所述指令运行在寄存器宽度不同的机器上时,所述指令操作于源操作数寄存器和目标操作数寄存器根据所述指令的数据单元位宽划分出来的所有数据单元。2.根据权利要求1所述的方法,其特征在于,所述根据所述指令的数据单元位宽划分出来的所有数据单元的数目等于所述源操作数寄存器或者目标操作数寄存器的位宽除以所述指令的数据单元位宽。3.根据权利要求1所述的方法,其特征在于,所述指令操作于源操作数寄存器和目标操作数寄存器根据所述指令的数据单元位宽划分出来的所有数据单元包括:读取各源操作数寄存器中相同位置且相同位宽的数据单元中的源操作数,对所述相同位置且相同位宽的数据单元中的源操作数进行所述指令所规定的操作,将操作结果写入与所述各源操作数寄存器相同位置且相同位宽的第一目标操作数寄存器的数据单元中;读取第一源操作数寄存器中相邻的偶数数据单元和奇数数据单元中的源操作数,对所述相邻的偶数数据单元和奇数数据单元中的源操作数进行所述指令所规定的操作,将操作结果写入与所述第一源操作数寄存器中所述相邻的偶数数据单元和奇数数据单元相同位置两倍位宽的第二目标操作数寄存器的数据单元中;读取第二源操作数寄存器的第一指定位置的数据单元中的源操作数,对所述源操作数进行所述指令所规定的操作,将操作结果写入第三目标操作数的所有数据单元中;读取第三源操作数寄存器的第二指定位置的数据单元中的源操作数,对所述源操作数进行所述指令所规定的操作,将操作结果写入第四目标操作数寄存器的指定数据单元中。4.根据权利要求1所述的方法,其特征在于,所述方法还包括:当参与指令运算的源操作数的数据单元或者目标操作数的数据单元的位宽发生2倍或者1/2变化时,读取宽位宽数据单元的各源操作数寄存器中的每一个数据单元,读取窄位宽数据单元的各源操作数寄存器中的偶数数据单元,对读取的各源操作数进行所述指令所规定的操作,将操作结果存入目标操作数寄存器的每一个数据单元,或者存入所述目标操作数寄存器的偶数数据单元;读取宽位宽数据单元的各源操作数寄存器中的每一个数据单元,读取窄位宽数据单元的各源操作数寄存器中的奇数数据单元,对读取的各源操作数进行所述指令所规定的操作,将操作结果存入目标操作数寄存器的每一个数据单元,或者存入目标操作数寄存器的奇数数据单元。5.根据权利要求4所述的方法,其特征在于,所述将操作结果存入目标操作数寄存器的每一个数据单元,或者存入所述目标操作数寄存器的偶数数据单元包括:当所述目标操作数寄存器的数据单元为宽位宽数据单元时,将所述操作结果存入目标操作数寄存器的每一个数据单元;当所述目标操作数寄存器的数据单元为窄位宽数据单元时,将所述操作结果存入目标操作数寄存器的偶数数据单元。6.根据权利要求4所述的方法,其特征在于,所述将操作结果存入目标操作数寄存器的每一个数据单元,或者存入目标操作数寄存器的奇数数据单元包括:当所述目标操作数寄存器的数据单元为宽位宽数据单元时,将所述操作结果存入目标操作数寄存器的每一个数据单元;当所述目标操作数寄存器的数据单元为窄位宽数据单元时,将所述操作结果存入目标操作数寄存器的奇数数据单元。7.根据权利要求4或5或6所述的方法,其特征在于,所述宽位宽数据单元是所述窄位宽数据单元的2倍。8.一...
【专利技术属性】
技术研发人员:张紧,
申请(专利权)人:合肥君正科技有限公司,
类型:发明
国别省市:安徽,34
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。