数据的处理方法、装置、电子设备及介质制造方法及图纸

技术编号:35191521 阅读:14 留言:0更新日期:2022-10-12 18:11
本申请提供的数据的处理方法、装置、电子设备及介质中,当前未处理的第一数据的宽度小于向量指令的向量指令宽度时,则使用向量指令,对第一数据以及第一数据前的第一数量个数的已处理数据进行向量运算,并将第二运算结果在结果存储地址中与第一运算结果关联存储,其中,第一数量为向量指令宽度与第一数据的宽度之差。上述方案使得小于向量指令宽度的第一数据也可以使用向量指令进行处理,即针对小于向量指令宽度的数据,可通过向量指令进行一次处理,而无需通过标量指令进行多次处理,从而降低了处理次数,提高数据的处理效率。提高数据的处理效率。提高数据的处理效率。

【技术实现步骤摘要】
数据的处理方法、装置、电子设备及介质


[0001]本申请涉及数据处理领域,尤其涉及一种数据的处理方法、装置、电子设备及介质。

技术介绍

[0002]数据的处理是计算机工作的核心,通常包括:在控制单元的控制下,执行数据的处理指令,将待处理数据从内存转存至CPU的寄存器,并通过运算单元对寄存器中的待处理数据进行运算,并将运算的结果存储至预定的结果存储地址。上述处理指令包括向量指令和标量指令,其中向量指令可以直接操作向量,一条向量指令可以并行处理多个元素,标量指令只能对数据的单一元素进行操作。因而相比标量指令,向量指令的处理效率更高。
[0003]相关技术的数据的处理方法中,先基于向量指令对待处理数据以向量宽度为单位进行循环处理,在处理部分数据后,如果剩余的未处理数据的宽度小于向量指令宽度,则使用标量指令对这些未处理的数据逐个循环处理。然而标量的数据处理宽度较小,使得数据的处理次数较多,进而导致数据的处理效率较低。

技术实现思路

[0004]本申请提供一种数据的处理方法、装置、电子设备及介质,旨在解决数据的处理次数较多,进而导致数据的处理效率较低技术问题。
[0005]第一方面,本申请提供一种数据的处理方法,包括:确定待处理数据中当前未处理的第一数据的宽度;若所述第一数据的宽度不小于向量指令的向量指令宽度,则使用所述向量指令,在所述第一数据中以所述向量指令宽度为单位循环进行向量运算,并将所得的第一运算结果分别逐次存至预定的结果存储地址;若所述第一数据的宽度小于向量指令的向量指令宽度,则使用所述向量指令,对所述第一数据对应的偏移数据进行向量运算,并将所得的第二运算结果在所述结果存储地址中与所述第一运算结果关联存储;其中,所述偏移数据由所述第一数据以及所述第一数据的起始地址前的第一数量个数的已处理数据组成,所述第一数量为所述向量指令宽度与所述第一数据的宽度之差。
[0006]可选的,所述待处理数据的地址为连续地址,所述使用所述向量指令,对所述第一数据对应的偏移数据进行向量运算,并将所得的第二运算结果在所述结果存储地址中与所述第一运算结果关联存储,包括:将所述第一数量个数的已处理数据的起始地址,确定为所述向量指令的源地址;以及将所述结果存储地址中与所述第一运算结果对应关联的地址作为所述向量指令的当前目标地址;使用所述向量指令,以对当前源地址为起始的所述偏移数据进行向量运算,并将所得的所述第二运算结果存至当前目标地址。
[0007]可选的,所述待处理数据的地址为不连续地址;所述使用所述向量指令,对所述第一数据对应的偏移数据进行向量运算,并将所得的第二运算结果在所述结果存储地址中与所述第一运算结果关联存储,包括:确定所述向量指令的当前源地址,所述当前源地址包括所述偏移数据对应的地址区间;以及将所述结果存储地址中与所述第一运算结果对应关联
的地址作为所述向量指令的当前目标地址;使用所述向量指令,对当前源地址下的所述偏移数据进行向量运算,并将所得的所述第二运算结果存至当前目标地址。
[0008]可选的,所述结果存储地址为连续地址;所述使用所述向量指令,对所述第一数据对应的偏移数据进行向量运算,并将所得的第二运算结果在所述结果存储地址中与所述第一运算结果关联存储,包括:确定所述向量指令的当前源地址,所述当前源地址表征所述偏移数据对应的地址;以及,通过将上一次循环运算获得的第一运算结果的结果存储地址中的末尾地址,向前移动所述第一数量,确定所述向量指令的当前目标地址;使用所述向量指令,对当前源地址下的所述偏移数据进行向量运算,并以所述当前目标地址为起始,将所得的第二运算结果与所述第一运算结果关联存储。
[0009]可选的,所述结果存储地址为连续地址;所述使用所述向量指令,对所述第一数据对应的偏移数据进行向量运算,并将所得的第二运算结果在所述结果存储地址中与所述第一运算结果关联存储,包括:确定所述向量指令的当前源地址,所述当前源地址表征所述偏移数据对应的地址;以及,将上一次循环运算获得的第一运算结果的结果存储地址中,末尾地址的下一地址确定为所述向量指令的当前目标地址;使用所述向量指令,对当前源地址下的所述偏移数据进行向量运算,并以所述当前目标地址为起始,将所得的第二运算结果存储;以及,将所述第二运算结果根据所述当前目标地址向前位移所述第一数量。
[0010]可选的,所述结果存储地址为不连续地址;所述使用所述向量指令,对所述第一数据对应的偏移数据进行向量运算,并将所得的第二运算结果在所述结果存储地址中与所述第一运算结果关联存储,包括:确定所述向量指令的当前源地址,所述当前源地址表征所述偏移数据对应的地址;以及,将所述结果存储地址中与最后一次运算结果对应的地址,确定为所述向量指令的当前目标地址;使用所述向量指令,对所述偏移数据进行向量运算,获得所述第二运算结果;以及,基于上一次循环运算获得的第一运算结果,对所述第二运算结果进行去重后,存至所述当前目标地址。
[0011]第二方面,本申请提供一种数据的处理装置,包括:确定模块,用于确定待处理数据中当前未处理的第一数据的宽度;处理模块,用于若所述第一数据的宽度不小于向量指令的向量指令宽度,则使用所述向量指令,在所述第一数据中以所述向量指令宽度为单位循环进行向量运算,并将所得的第一运算结果分别逐次存至预定的结果存储地址;所述处理模块,还用于若所述第一数据的宽度小于向量指令的向量指令宽度,则使用所述向量指令,对所述第一数据对应的偏移数据进行向量运算,并将所得的第二运算结果在所述结果存储地址中与所述第一运算结果关联存储;其中,所述偏移数据由所述第一数据以及所述第一数据起始地址前的第一数量个数的已处理数据组成,所述第一数量为所述向量指令宽度与所述第一数据的宽度之差。
[0012]可选的,所述待处理数据的地址为连续地址;所述处理模块,具体用于将所述第一数量个数的已处理数据的起始地址,确定为所述向量指令的源地址;以及将所述结果存储地址中与所述第一运算结果对应关联的地址作为所述向量指令的目标地址;所述处理模块,具体还用于使用所述向量指令,对以当前源地址为起始的所述偏移数据进行向量运算,并将所得的所述第二运算结果存至当前目标地址。
[0013]可选的,所述待处理数据的地址为不连续地址;所述处理模块,具体用于确定所述向量指令的当前源地址,所述当前源地址包括所述偏移数据对应的地址区间;以及将所述
结果存储地址中与所述第一运算结果对应关联的地址作为所述向量指令的当前目标地址;所述处理模块,具体还用于使用所述向量指令,对当前源地址下的所述偏移数据进行向量运算,并将所得的所述第二运算结果存至当前目标地址。
[0014]可选的,所述结果存储地址为连续地址;所述处理模块,具体用于确定所述向量指令的当前源地址,所述当前源地址表征所述偏移数据对应的地址;以及,通过将上一次循环运算获得的第一运算结果的结果存储地址中的末尾地址,向前移动所述第一数量,确定所述向量指令的当前目标地址;所述处理模块,具体用于使用所述向量指令,对当前源地址下的所述偏移数据进行向本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据的处理方法,其特征在于,包括:确定待处理数据中当前未处理的第一数据的宽度;若所述第一数据的宽度不小于向量指令的向量指令宽度,则使用所述向量指令,在所述第一数据中以所述向量指令宽度为单位循环进行向量运算,并将所得的第一运算结果分别逐次存至预定的结果存储地址;若所述第一数据的宽度小于向量指令的向量指令宽度,则使用所述向量指令,对所述第一数据对应的偏移数据进行向量运算,并将所得的第二运算结果在所述结果存储地址中与所述第一运算结果关联存储;其中,所述偏移数据由所述第一数据以及所述第一数据的起始地址前的第一数量个数的已处理数据组成,所述第一数量为所述向量指令宽度与所述第一数据的宽度之差。2.根据权利要求1所述的方法,其特征在于,所述待处理数据的地址为连续地址;则所述使用所述向量指令,对所述第一数据对应的偏移数据进行向量运算,并将所得的第二运算结果在所述结果存储地址中与所述第一运算结果关联存储,包括:将所述第一数量个数的已处理数据的起始地址,确定为所述向量指令的源地址;以及,将所述结果存储地址中与所述第一运算结果对应关联的地址作为所述向量指令的当前目标地址;使用所述向量指令对以所述源地址为起始的所述偏移数据进行向量运算,并将所得的所述第二运算结果存至当前目标地址。3.根据权利要求1所述的方法,其特征在于,所述待处理数据的地址为不连续地址;则所述使用所述向量指令,对所述第一数据对应的偏移数据进行向量运算,并将所得的第二运算结果在所述结果存储地址中与所述第一运算结果关联存储,包括:确定所述向量指令的当前源地址,所述当前源地址包括所述偏移数据对应的地址区间;以及,将所述结果存储地址中与所述第一运算结果对应关联的地址作为所述向量指令的当前目标地址;使用所述向量指令对所述当前源地址下的所述偏移数据进行向量运算,并将所得的所述第二运算结果存至当前目标地址。4.根据权利要求1

3任一项所述的方法,其特征在于,所述结果存储地址为连续地址;所述使用所述向量指令,对所述第一数据对应的偏移数据进行向量运算,并将所得的第二运算结果在所述结果存储地址中与所述第一运算结果关联存储,包括:确定所述向量指令的当前源地址,所述当前源地址表征所述偏移数据对应的地址;以及,通过将上一次循环运算获得的第一运算结果对应的末尾地址,向前移动所述第一数量,确定所述向量指令的当前目标地址;使用所述向量指令对当前源地址下的所述偏移数据进行向量运算,并以所述当前目标地址为起始,将所得的所述第二运算结果与所述第一运算结果关联存储。5.根据权利要求1

3任一项所述的方法,其特征在于,所述结果存储地址为连续地址;所述使用所述向量指令,对所述第一数据对应的偏移数据进行向量运算,并将所得的第二运算结果在所述结果存储地址中与所述第一运算结果关联存储,包括:确定所述向量指令的当前源地址,所述当前源地址表征所述偏移数据对应的地址;以及,将上一次循环运算获得的第一运算结果对应的末尾地址的下一地址确定为所述向量指
令的当前目标地址;使用所述向量指令,对当前源地址下的所述偏移数据进行向量运算,并以所述当前目标地址为起始,将所得的第二运算结果存储;以及,将所述第二运算结果根据所述当前目标地址向前位移所述第一数量。6.根据权利要求1

3任一项所述的方法,其特征在于,所述结果存储地址为不连续地址;所述使用所述向量指令,对所述第一数据对应的偏移数据进行向量运算,并将所得的第二运算结果在所述结果存储地址中与所述第一运算结果关联存储,包括:确定所述向量指令的当前源地址,所述当前源地址表征所述偏移数据对应的地址;以及,将所述结果存储地址中与最后一次运算结果对应的地址,确定为所述向量指令的当前目标地址;使用所述向量指令,对所述偏移数据进行向量运算,获得所述第二运算结果;以及,基于上一次循环运算获得的第一运算结果,对所述第二运算结果进行去重后存至所述当前目标地址。7...

【专利技术属性】
技术研发人员:顾希伟殷时友
申请(专利权)人:龙芯中科合肥技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1