CN103377031B - 一种多数据处理方法和装置 - Google Patents

一种多数据处理方法和装置 Download PDF

Info

Publication number
CN103377031B
CN103377031B CN201210128583.7A CN201210128583A CN103377031B CN 103377031 B CN103377031 B CN 103377031B CN 201210128583 A CN201210128583 A CN 201210128583A CN 103377031 B CN103377031 B CN 103377031B
Authority
CN
China
Prior art keywords
operation result
variable
data
overflow
result
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201210128583.7A
Other languages
English (en)
Other versions
CN103377031A (zh
Inventor
邵伟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201210128583.7A priority Critical patent/CN103377031B/zh
Publication of CN103377031A publication Critical patent/CN103377031A/zh
Application granted granted Critical
Publication of CN103377031B publication Critical patent/CN103377031B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

本发明提供一种多数据处理方法和装置,涉及数据处理领域,包括:将x组数据集分别装载到x个宽位变量中,每组数据集包括m个n位宽的数据;对x个宽位变量执行单指令多数据SIMD运算,得到第一运算结果;判断第一运算结果是否溢出;当第一运算结果没有溢出时,采用SIMD运算的第一运算结果;当第一运算结果溢出时,丢弃SIMD运算的第一运算结果,对x组数据集执行标准指令运算,得到m个第二运算结果,采用标准指令运算的m个第二运算结果。本发明在溢出概率较低的多数据处理场合,可以避免很多不必要的特殊编码处理,从而提高运算效率。

Description

一种多数据处理方法和装置
技术领域
本发明涉及数据处理领域,特别涉及一种多数据处理方法和装置。
背景技术
为了提高数据运算效率,目前提出了一种SIMD(Single Instruction MultipleData,单指令多数据)的数据处理方法。该数据处理方法将x组m个n位宽的数据打包到x个宽位变量中,每个宽位变量中装载m个n位宽的数据,各个宽位变量中相同位置的数据执行算术运算,并且宽位变量中不同位置的数据同时执行该算术运算,最后同时产生m个结果。但是,m个结果会出现溢出的问题。
为了解决结果溢出的问题,在执行算术运算前需要对数据进行特殊的编码处理,主要通过位域对齐和符号扩展的方法,将两个以上的数据编码为合成值,然后对合成值进行算术运算,从而避免结果溢出。
在实现本发明的过程中,发明人发现现有技术至少存在以下问题:
特殊的编码处理也需要时间,在溢出概率比较低的多数据处理场合,对所有数据进行特殊的编码处理使得运算效率比较低。
发明内容
为了在溢出概率较低的多数据处理场合提高运算效率,本发明实施例提供了一种多数据处理方法和装置。所述技术方案如下:
一种多数据处理方法,所述方法包括:
将x组数据集分别装载到x个宽位变量中,每组数据集包括m个n位宽的数据;
对x个宽位变量执行单指令多数据SIMD运算,得到第一运算结果;
判断第一运算结果是否溢出;
当第一运算结果没有溢出时,采用SIMD运算的第一运算结果;
当第一运算结果溢出时,丢弃SIMD运算的第一运算结果,对所述x组数据集执行标准指令运算,得到m个第二运算结果,采用标准指令运算的m个第二运算结果。
其中,所述对x个宽位变量执行单指令多数据SIMD运算,具体包括:
对各个宽位变量中相同位置的数据执行算术运算,并且宽位变量中不同位置的数据同时执行该算术运算,同时产生m个第一运算子结果,m个第一运算子结果组成第一运算结果。
其中,所述判断第一运算结果是否溢出,具体包括:
如果各个第一运算子结果的最高位都为0,确定该第一运算结果没有溢出;
如果各个第一运算子结果的最高位有至少一个为1,确定该第一运算结果溢出。
其中,所述判断第一运算结果是否溢出,具体包括:
设置一个用于收集溢出信息的溢出标志变量,并设置一个用于检测各个第一子运算结果的最高位是否为1的掩码变量;
初始化所述溢出标志变量为0,并初始化所述掩码变量中与各个第一运算子结果的最高位对应的位为1;
将每一组第一运算结果和所述溢出标志变量做逻辑或运算,并在每一次逻辑或运算后将每一次的逻辑或运算结果重新赋值给所述溢出标志变量,得到第一溢出标志变量;
将所述第一溢出标志变量和所述掩码变量做逻辑与运算,若逻辑与运算结果不为0,则溢出,若逻辑与运算结果为0,则没有溢出。
其中,所述对所述x组数据集执行标准指令运算,具体包括:
将各组数据集中相同位置的数据分别装载到x个第二宽位变量中,对x个第二宽位变量执行算术运算,得到m个第二运算结果。
一种多数据处理装置,所述装置包括:
装载模块,用于将x组数据集分别装载到x个宽位变量中,每组数据集包括m个n位宽的数据;
运算模块,用于对x个宽位变量执行单指令多数据SIMD运算,得到第一运算结果;
判断模块,用于判断第一运算结果是否溢出;
第一处理模块,用于当第一运算结果没有溢出时,采用SIMD运算的第一运算结果;
第二处理模块,用于当第一运算结果溢出时,丢弃SIMD运算的第一运算结果,对所述x组数据集执行标准指令运算,得到m个第二运算结果,采用标准指令运算的m个第二运算结果。
其中,所述运算模块,具体用于
对各个宽位变量中相同位置的数据执行算术运算,并且宽位变量中不同位置的数据同时执行该算术运算,同时产生m个第一运算子结果,m个第一运算子结果组成第一运算结果。
其中,所述判断模块,具体用于
如果各个第一运算子结果的最高位都为0,确定该第一运算结果没有溢出;
如果各个第一运算子结果的最高位有至少一个为1,确定该第一运算结果溢出。
其中,所述判断模块,具体用于
设置一个用于收集溢出信息的溢出标志变量,并设置一个用于检测各个第一运算子结果的最高位是否为1的掩码变量;
初始化所述溢出标志变量为0,并初始化所述掩码变量中与各个第一运算子结果的最高位对应的位为1;
将每一组第一运算结果和所述溢出标志变量做逻辑或运算,并在每一次逻辑或运算后将每一次的逻辑或运算结果重新赋值给所述溢出标志变量,得到第一溢出标志变量;
将所述第一溢出标志变量和所述掩码变量做逻辑与运算,若逻辑与运算结果不为0,则溢出,若逻辑与运算结果为0,则没有溢出。
其中,所述第二处理模块包括运算单元,用于
将各组数据集中相同位置的数据分别装载到x个第二宽位变量中,对x个第二宽位变量执行算术运算,得到m个第二运算结果。
本发明实施例提供的技术方案的有益效果是:
通过运算前不对数据做免溢出的处理而是直接执行SIMD运算,在SIMD运算后检测运算结果有无溢出,如果有溢出,则重新执行一遍标准指令的运算过程,之前有溢出的SIMD运算结果作废,在溢出概率较低的多数据处理场合,可以避免很多不必要的特殊编码处理,从而提高运算效率。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明的实施例1提供的多数据处理方法流程图;
图2是本发明的实施例2提供的多数据处理方法流程图;
图3是本发明的实施例2提供的宽位变量示意图;
图4是本发明的实施例2提供的SIMD运算示意图;
图5是本发明的实施例2提供的另一宽位变量示意图;
图6是本发明的实施例2提供的标准指令运算示意图;
图7是本发明的实施例2提供的多数据处理装置结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
实施例1
参见图1,本实施例提供了一种多数据处理方法,该方法包括:
101:将x组数据集分别装载到x个宽位变量中,每组数据集包括m个n位宽的数据;
102:对x个宽位变量执行单指令多数据SIMD运算,得到第一运算结果;
103:判断第一运算结果是否溢出;
104:当第一运算结果没有溢出时,采用SIMD运算的第一运算结果;
105:当第一运算结果溢出时,丢弃SIMD运算的第一运算结果,对x组数据集执行标准指令运算,得到m个第二运算结果,采用标准指令运算的m个第二运算结果。
本实施例通过运算前不对数据做免溢出的处理而是直接执行SIMD运算,在SIMD运算后检测运算结果有无溢出,如果有溢出,则重新执行一遍标准指令的运算过程,之前有溢出的SIMD运算结果作废,在溢出概率较低的多数据处理场合,可以避免很多不必要的特殊编码处理,从而提高运算效率。
实施例2
参见图2,
201:将x组数据集分别装载到x个宽位变量中,每组数据集包括m个n位宽的数据,也即每个宽位变量中装载m个n位宽的数据;
例如,将2组2个12位宽的数据打包到2个32位宽位变量中,每个32位宽位变量中装载2个12位宽的数据,参见图3,a0、b0、a1、b1是12位宽的数据,A、B是32位宽位变量,a0和a1是一组数据集,打包到宽位变量A,b0和b1是一组数据集,打包到宽位变量B。
202:对x个宽位变量执行SIMD运算,得到一组第一运算结果,其中,第一运算结果包括m个第一运算子结果;
其中,对x个宽位变量执行SIMD运算,具体包括:
对各个宽位变量中相同位置的数据执行算术运算,并且宽位变量中不同位置的数据同时执行该算术运算,最后同时产生m个第一运算子结果,m个第一运算子结果组成第一运算结果。
以图3为例,执行C=(A@B)运算,也即同时执行a1@b1和a0@b0,@表示一种运算操作,例如,与操作、或操作、加法等,则可得出两个第一运算子结果c1=(a1@b1)和c0=(a0@b0),两个第一运算子结果c1和c0组成第一运算结果,第一运算结果参见图4所示。
203:判断第一运算结果是否溢出,如果第一运算结果没有溢出,执行步骤204,否则,如果第一运算结果溢出,执行步骤205;
需要说明的是,如果第一运算子结果的最高位为0,表示该第一运算子结果没有溢出,如果第一运算子结果的最高位为1,表示该第一运算子结果溢出。因此,如果各个第一运算子结果的最高位都为0,则第一运算结果没有溢出,如果各个第一运算子结果的最高位有至少一个为1,则第一运算结果溢出。
例如,参见图5,当c0的最高位(即第15位)或c1的最高位(即第31位)向更高位进位或从更高位借位时,会出现溢出,此时第15位或第31位会出现1。如果第15位和第31位都为0,则第一运算结果没有溢出。具体的判断过程如下:
1)设置一个用于收集溢出信息的整型溢出标志变量,设为overflow;
并设置一个用于检测各个第一运算子结果的最高位是否为1的整型掩码变量,设为mask;
2)初始化溢出标志变量为0,即overflow=0;
并初始化掩码变量中与各个第一运算子结果的最高位对应的位为1,以图5为例,初始化掩码变量的第15位和第31位为1,即mask=0x80008000;
3)收集溢出信息;
将每一组第一运算结果和溢出标志变量做逻辑或运算,并在每一次逻辑或运算后将每一次的逻辑或运算结果重新赋值给溢出标志变量,得到第一溢出标志变量。根据实际需要,可以预先设置进行溢出检测的第一运算结果的数量。下面分别详细说明一组第一运算结果和多组第一运算结果的溢出检测过程。
a、当判断一组第一运算结果是否溢出时,将该组第一运算结果和溢出标志变量做逻辑或运算,得到第一溢出标志变量Overflow’,算法表示如下:
overflow=overflow|C[0];//C[0]是一组第一运算结果
Overflow’=overflow;
b、当判断多组第一运算结果是否溢出时,将每一组第一运算结果和溢出标志变量做逻辑或运算,并在每一次逻辑或运算后将每一次的逻辑或运算结果重新赋值给溢出标志变量,最终得到第一溢出标志变量Overflow’,算法表示如下:
overflow=overflow|C[0];//C[0]是第0组第一运算结果
overflow=overflow|C[1];//C[1]是第1组第一运算结果
//…
overflow=overflow|C[x];//C[x]是第x组第一运算结果
Overflow’=overflow;
4)判断是否有溢出;
将第一溢出标志变量和掩码变量做逻辑与运算,若逻辑与运算结果不为0,则溢出,若逻辑与运算结果为0,则没有溢出。算法表示如下:
if((overflow’& mask)!=0){
//则溢出
}
204:当第一运算结果没有溢出时,采用SIMD运算的第一运算结果,结束本次流程;
205:当第一运算结果溢出时,丢弃SIMD运算的第一运算结果,对原x组数据集执行标准指令运算,得到m个第二运算结果,采用标准指令运算的m个第二运算结果,结束本次流程。
其中,对原x组数据集执行标准指令运算,具体包括:
将各组数据集中相同位置的数据分别装载到x个第二宽位变量中,对x个第二宽位变量执行算术运算,最后得到m个第二运算结果。
参见图6,a0、b0、a1、b1是12位宽的数据,A、B、C是32位第二宽位变量,a0和a1是一组数据集,b0和b1是一组数据集,将位于相同位置的数据集中的数据a0和另一数据集中的数据b0分别装载到第二宽位变量A和第二宽位变量B,执行C=(A@B)运算,也即执行a0@b0,则可得出第二运算结果c0=(a0@b0);同样的,将位于相同位置的数据集中的数据a1和另一数据集中的数据b1分别装载到第二宽位变量A和第二宽位变量B,执行C=(A@B)运算,也即执行a1@b1,则可得出第二运算结果c1=(a1@b1)。
本实施例通过运算前不对数据做免溢出的处理而是直接执行SIMD运算,在SIMD运算后检测运算结果有无溢出,如果有溢出,则重新执行一遍标准指令的运算过程,之前有溢出的SIMD运算结果作废,在溢出概率较低的多数据处理场合,可以避免很多不必要的特殊编码处理,从而提高运算效率。
实施例3
参见图7,本实施例提供了一种多数据处理装置,该装置包括:
装载模块301,用于将x组数据集分别装载到x个宽位变量中,每组数据集包括m个n位宽的数据;
运算模块302,用于对x个宽位变量执行单指令多数据SIMD运算,得到第一运算结果;
判断模块303,用于判断第一运算结果是否溢出;
第一处理模块304,用于当第一运算结果没有溢出时,采用SIMD运算的第一运算结果;
第二处理模块305,用于当第一运算结果溢出时,丢弃SIMD运算的第一运算结果,对x组数据集执行标准指令运算,得到m个第二运算结果,采用标准指令运算的m个第二运算结果。
其中,运算模块302,具体用于
对各个宽位变量中相同位置的数据执行算术运算,并且宽位变量中不同位置的数据同时执行该算术运算,同时产生m个第一运算子结果,m个第一运算子结果组成第一运算结果。
其中,判断模块303,具体用于
如果各个第一运算子结果的最高位都为0,确定该第一运算结果没有溢出;
如果各个第一运算子结果的最高位有至少一个为1,确定该第一运算结果溢出。
其中,判断模块303,具体用于
设置一个用于收集溢出信息的溢出标志变量,并设置一个用于检测各个第一运算子结果的最高位是否为1的掩码变量;
初始化溢出标志变量为0,并初始化掩码变量中与各个第一运算子结果的最高位对应的位为1;
将每一组第一运算结果和溢出标志变量做逻辑或运算,并在每一次逻辑或运算后将每一次的逻辑或运算结果重新赋值给溢出标志变量,得到第一溢出标志变量;
将第一溢出标志变量和掩码变量做逻辑与运算,若逻辑与运算结果不为0,则溢出,若逻辑与运算结果为0,则没有溢出。
其中,第二处理模块305包括运算单元,用于
将各组数据集中相同位置的数据分别装载到x个第二宽位变量中,对x个第二宽位变量执行算术运算,得到m个第二运算结果。
本实施例通过运算前不对数据做免溢出的处理而是直接执行SIMD运算,在SIMD运算后检测运算结果有无溢出,如果有溢出,则重新执行一遍标准指令的运算过程,之前有溢出的SIMD运算结果作废,在溢出概率较低的多数据处理场合,可以避免很多不必要的特殊编码处理,从而提高运算效率。
本实施例提供的多数据处理装置具体可以是一种处理器,与方法实施例属于同一构思,本领域技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
本领域技术人员可以清楚地了解到,以上所描述的装置实施例仅仅是示意性的,所述单元/模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。例如,各功能单元/模块可以集成在一个处理单元/模块中,也可以是各个单元/模块单独物理存在,也可以两个或两个以上单元/模块集成在一个单元/模块。上述集成的单元/模块既可以采用硬件的形式实现,也可以采用软件功能单元/模块的形式实现。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (6)

1.一种多数据处理方法,其特征在于,所述方法包括:
将x组数据集分别装载到x个宽位变量中,每组数据集包括m个n位宽的数据;
对x个宽位变量执行单指令多数据SIMD运算,得到第一运算结果,所述第一运算结果包括m个第一运算子结果;
设置一个用于收集溢出信息的溢出标志变量,并设置一个用于检测各个第一运算子结果的最高位是否为1的掩码变量;
初始化所述溢出标志变量为0,并初始化所述掩码变量中与各个第一运算子结果的最高位对应的位为1;
将每一组第一运算结果和所述溢出标志变量做逻辑或运算,并在每一次逻辑或运算后将每一次的逻辑或运算结果重新赋值给所述溢出标志变量,得到第一溢出标志变量;
将所述第一溢出标志变量和所述掩码变量做逻辑与运算,若逻辑与运算结果不为0,则第一运算结果溢出,若逻辑与运算结果为0,则第一运算结果没有溢出;
当第一运算结果没有溢出时,采用SIMD运算的第一运算结果;
当第一运算结果溢出时,丢弃SIMD运算的第一运算结果,对所述x组数据集执行标准指令运算,得到m个第二运算结果,采用标准指令运算的m个第二运算结果,其中,所述标准指令运算包括将各组数据集中相同位置的数据分别装载到x个第二宽位变量中并对x个第二宽位变量执行算术运算。
2.根据权利要求1所述的方法,其特征在于,所述对x个宽位变量执行单指令多数据SIMD运算,具体包括:
对各个宽位变量中相同位置的数据执行算术运算,并且宽位变量中不同位置的数据同时执行该算术运算,同时产生m个第一运算子结果,m个第一运算子结果组成第一运算结果。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
如果各个第一运算子结果的最高位都为0,确定该第一运算结果没有溢出;
如果各个第一运算子结果的最高位有至少一个为1,确定该第一运算结果溢出。
4.一种多数据处理装置,其特征在于,所述装置包括:
装载模块,用于将x组数据集分别装载到x个宽位变量中,每组数据集包括m个n位宽的数据;
运算模块,用于对x个宽位变量执行单指令多数据SIMD运算,得到第一运算结果,所述第一运算结果包括m个第一运算子结果;
判断模块,用于设置一个用于收集溢出信息的溢出标志变量,并设置一个用于检测各个第一运算子结果的最高位是否为1的掩码变量;初始化所述溢出标志变量为0,并初始化所述掩码变量中与各个第一运算子结果的最高位对应的位为1;将每一组第一运算结果和所述溢出标志变量做逻辑或运算,并在每一次逻辑或运算后将每一次的逻辑或运算结果重新赋值给所述溢出标志变量,得到第一溢出标志变量;将所述第一溢出标志变量和所述掩码变量做逻辑与运算,若逻辑与运算结果不为0,则第一运算结果溢出,若逻辑与运算结果为0,则第一运算结果没有溢出;
第一处理模块,用于当第一运算结果没有溢出时,采用SIMD运算的第一运算结果;
第二处理模块,用于当第一运算结果溢出时,丢弃SIMD运算的第一运算结果,对所述x组数据集执行标准指令运算,得到m个第二运算结果,采用标准指令运算的m个第二运算结果,其中,所述标准指令运算包括将各组数据集中相同位置的数据分别装载到x个第二宽位变量中并对x个第二宽位变量执行算术运算。
5.根据权利要求4所述的装置,其特征在于,所述运算模块,具体用于
对各个宽位变量中相同位置的数据执行算术运算,并且宽位变量中不同位置的数据同时执行该算术运算,同时产生m个第一运算子结果,m个第一运算子结果组成第一运算结果。
6.根据权利要求5所述的装置,其特征在于,所述判断模块,具体用于
如果各个第一运算子结果的最高位都为0,确定该第一运算结果没有溢出;
如果各个第一运算子结果的最高位有至少一个为1,确定该第一运算结果溢出。
CN201210128583.7A 2012-04-27 2012-04-27 一种多数据处理方法和装置 Active CN103377031B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210128583.7A CN103377031B (zh) 2012-04-27 2012-04-27 一种多数据处理方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210128583.7A CN103377031B (zh) 2012-04-27 2012-04-27 一种多数据处理方法和装置

Publications (2)

Publication Number Publication Date
CN103377031A CN103377031A (zh) 2013-10-30
CN103377031B true CN103377031B (zh) 2017-09-26

Family

ID=49462200

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210128583.7A Active CN103377031B (zh) 2012-04-27 2012-04-27 一种多数据处理方法和装置

Country Status (1)

Country Link
CN (1) CN103377031B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107579875B (zh) * 2017-09-08 2020-04-24 北京物芯科技有限责任公司 一种网络报文统计方法及装置
CN109918904B (zh) * 2019-03-07 2021-08-31 阿莫斯(北京)科技有限公司 一种以太坊数据处理方法、监测装置和存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1185606A (zh) * 1996-12-20 1998-06-24 国际商业机器公司 面向算术/移位操作的单指令多数据校正电路
US6202077B1 (en) * 1998-02-24 2001-03-13 Motorola, Inc. SIMD data processing extended precision arithmetic operand format
CN1326566A (zh) * 1998-11-20 2001-12-12 Arm有限公司 对多个带符号的数据值执行算术运算的数据处理系统和方法
CN101052947A (zh) * 2004-11-03 2007-10-10 皇家飞利浦电子股份有限公司 支持simd指令的可编程数据处理电路
CN101196869A (zh) * 2007-12-29 2008-06-11 中国科学院计算技术研究所 一种risc处理器及其寄存器标志位处理方法
CN101330620A (zh) * 2008-08-05 2008-12-24 北京海尔集成电路设计有限公司 一种音视频数据编解码的方法及装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2381338B (en) * 2001-10-26 2006-04-26 Hewlett Packard Co Improvements in or relating to processing data

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1185606A (zh) * 1996-12-20 1998-06-24 国际商业机器公司 面向算术/移位操作的单指令多数据校正电路
US6202077B1 (en) * 1998-02-24 2001-03-13 Motorola, Inc. SIMD data processing extended precision arithmetic operand format
CN1326566A (zh) * 1998-11-20 2001-12-12 Arm有限公司 对多个带符号的数据值执行算术运算的数据处理系统和方法
CN101052947A (zh) * 2004-11-03 2007-10-10 皇家飞利浦电子股份有限公司 支持simd指令的可编程数据处理电路
CN101196869A (zh) * 2007-12-29 2008-06-11 中国科学院计算技术研究所 一种risc处理器及其寄存器标志位处理方法
CN101330620A (zh) * 2008-08-05 2008-12-24 北京海尔集成电路设计有限公司 一种音视频数据编解码的方法及装置

Also Published As

Publication number Publication date
CN103377031A (zh) 2013-10-30

Similar Documents

Publication Publication Date Title
CN101048731B (zh) 用于单指令、多数据执行引擎的循环指令
CN108805272A (zh) 一种基于fpga的通用卷积神经网络加速器
CN103617150A (zh) 一种基于gpu的大规模电力系统潮流并行计算系统及其方法
CN104915322A (zh) 一种卷积神经网络硬件加速方法及其axi总线ip核
CN103699360B (zh) 一种向量处理器及其进行向量数据存取、交互的方法
CN104915410B (zh) 一种思维导图保存及加载方法、保存及加载系统
CN107797962A (zh) 基于神经网络的计算阵列
CN108369516A (zh) 用于加载-索引和预取-分散操作的指令和逻辑
CN108351786A (zh) 在指令集架构中对数据进行排序并且合并经排序数据
CN109146067A (zh) 一种基于FPGA的Policy卷积神经网络加速器
CN106709503A (zh) 一种基于密度的大型空间数据聚类算法k‑dbscan
CN105631013B (zh) 生成哈希值的装置和方法
CN107305484A (zh) 一种非线性函数运算装置及方法
CN103377031B (zh) 一种多数据处理方法和装置
CN103279323B (zh) 一种加法器
CN106776466A (zh) 一种fpga异构加速计算装置及系统
CN105022961A (zh) 一种计算机数据的保护方法及装置
CN107402905A (zh) 基于神经网络的计算方法及装置
CN109615067B (zh) 一种卷积神经网络的数据调度方法及装置
CN111814957A (zh) 神经网络运算方法及相关设备
CN107506173A (zh) 一种奇异值分解运算的加速方法、装置及系统
CN104461676B (zh) 二进制转译堆栈操作加速处理方法及其处理器
CN103493039B (zh) 数据处理方法、数据处理装置、接入设备和用户设备
CN105630680B (zh) 一种随机测试程序生成方法
CN107423030A (zh) 基于fpga异构平台的马尔科夫蒙特卡洛算法加速方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant