CN107491288B - 一种基于单指令多数据流结构的数据处理方法及装置 - Google Patents
一种基于单指令多数据流结构的数据处理方法及装置 Download PDFInfo
- Publication number
- CN107491288B CN107491288B CN201610418242.1A CN201610418242A CN107491288B CN 107491288 B CN107491288 B CN 107491288B CN 201610418242 A CN201610418242 A CN 201610418242A CN 107491288 B CN107491288 B CN 107491288B
- Authority
- CN
- China
- Prior art keywords
- conditional expression
- statement
- input data
- code
- execution 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
Links
- 238000003672 processing method Methods 0.000 title abstract description 11
- 230000014509 gene expression Effects 0.000 claims abstract description 132
- 238000000034 method Methods 0.000 claims abstract description 19
- 238000004364 calculation method Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000004883 computer application Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3885—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
- G06F9/3887—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units controlled by a single instruction for multiple data lanes [SIMD]
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Machine Translation (AREA)
- Devices For Executing Special Programs (AREA)
Abstract
本发明提供一种基于单指令多数据流结构的数据处理方法及装置。所述方法包括:接收待执行if‑else语句的多个输入数据;调用预设的数据处理表,其中,所述数据处理表用于存储所述if‑else语句的各个条件表达式和所述各个条件表达式的第一编码和第二编码;利用所述预设的数据处理表,直接得到对所述多个输入数据执行所述if‑else语句的执行结果。本发明能够提高含有if‑else语句的SIMD架构的数据并行处理能力。
Description
技术领域
本发明涉及数据处理技术领域,尤其涉及一种基于单指令多数据流结构的数据处理方法及装置。
背景技术
当今的计算机应用程序大部分是多媒体应用,包括音频处理、图像处理、3D绘图、语音识别等,这就对处理器提出了更加严格的实时性要求。因此,越来越多的处理器增加SIMD(Single Instruction Multiple Data,单指令多数据流)架构及其扩展指令集,SIMD技术采用数据并行处理技术,不仅能够提供处理器的运算速度,而且能够满足数字信号处理领域应用的实时性要求。SIMD技术的关键是在于1条单独的指令中同时执行多个运算操作,即SIMD通过一个控制器来控制多个处理部件,同时对一组数据中的每个数据分别执行相同的操作。
在实现本发明的过程中,发明人发现现有技术中至少存在如下技术问题:
在SIMD架构中,如果一个循环结构中遇到多条件分支if-else语句时,由于针对一个数据需要从if-else语句的第1个条件表达式进行判断,直至满足相应的条件表达式,并执行所述相应的条件表达式的执行语句,然后在对下一个数据执行上述同样的过程,可见,if-else语句的存在影响了SIMD架构的数据并行处理能力。
发明内容
本发明提供的基于单指令多数据流结构的数据处理方法及装置,其通过对预设的数据处理表进行查表操作来替代现有的if-else语句的执行过程,从而提高了含有if-else语句的SIMD架构的数据并行处理能力。
第一方面,本发明提供一种基于单指令多数据流结构的数据处理方法,所述方法包括以下步骤:
接收待执行if-else语句的多个输入数据;
调用预设的数据处理表,其中,所述数据处理表用于存储所述if-else语句的各个条件表达式和所述各个条件表达式的第一编码和第二编码;
利用所述预设的数据处理表,直接得到对所述多个输入数据执行所述if-else语句的执行结果;
其中,所述第一编码和第二编码分别对应于条件表达式成立和不成立的情况,所述各个条件表达式不包括所述if-else语句的最后一个条件表达式。
第二方面,本发明提供一种基于单指令多数据流结构的数据处理装置,所述装置包括接收模块、调用模块和处理模块;
所述接收模块,用于接收待执行if-else语句的多个输入数据;
所述调用模块,用于调用预设的数据处理表;
其中,所述数据处理表用于存储所述if-else语句的各个条件表达式和所述各个条件表达式的第一编码和第二编码;
所述处理模块,用于利用所述预设的数据处理表,直接得到对所述多个输入数据执行所述if-else语句的执行结果;
其中,所述第一编码和第二编码分别对应于条件表达式成立和不成立的情况,所述各个条件表达式不包括所述if-else语句的最后一个条件表达式。
本发明实施例提供的基于单指令多数据流结构的数据处理方法及装置,接收待执行if-else语句的多个输入数据;调用预设的数据处理表;利用所述预设的数据处理表,直接得到对所述多个输入数据执行所述if-else语句的执行结果。与现有技术相比,通过对预设的数据处理表进行查表操作来替代现有的if-else语句的执行过程,使得对于多个输入数据可以并行处理得到相应的多个输出数据,其中,所述多个输出数据就是对所述多个输入数据顺序执行if-else语句的执行结果,可见,本发明的技术方案能够提高含有if-else语句的SIMD架构的数据并行处理能力。
附图说明
图1为本发明一实施例基于单指令多数据流结构的数据处理方法的流程图;
图2为本发明另一实施例基于单指令多数据流结构的数据处理方法的流程图;
图3为本发明一实施例基于单指令多数据流结构的数据处理装置的结构示意图;
图4为本发明另一实施例基于单指令多数据流结构的数据处理装置的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明提供一种基于单指令多数据流结构的数据处理方法,如图1所示,所述方法包括:
S11、接收待执行if-else语句的多个输入数据。
S12、调用预设的数据处理表。
其中,所述数据处理表用于存储所述if-else语句的各个条件表达式和所述各个条件表达式的第一编码和第二编码。
其中,所述第一编码和第二编码分别对应于条件表达式成立和不成立的情况,所述各个条件表达式不包括所述if-else语句的最后一个条件表达式。
S13、利用所述预设的数据处理表,直接得到对所述多个输入数据执行所述if-else语句的执行结果。
本发明实施例提供的基于单指令多数据流结构的数据处理方法,与现有技术相比,通过对预设的数据处理表进行查表操作来替代现有的if-else语句的执行过程,使得对于多个输入数据可以并行处理得到相应的多个输出数据,其中,所述多个输出数据就是对所述多个输入数据顺序执行if-else语句的执行结果,可见,本发明的技术方案能够提高含有if-else语句的SIMD架构的数据并行处理能力。
进一步地,如图2所示,所述步骤S13具体包括:
S131、确定输入数据能够满足的第一条件表达式
具体地,针对其中一个输入数据,按照自上而下的顺序在所述预设的数据处理表进行查找,得到所述其中一个输入数据能够满足的第一个条件表达式。
S132、计算输入数据对应的输出编码
具体地,对所述其中一个输入数据能够满足的第一个条件表达式所在位置以下的各个条件表达式的第一编码和所述其中一个输入数据能够满足的第一个条件表达式所在位置上面的各个条件表达式的第二编码进行异或运算,得到所述其中一个输入数据对应的输出编码。
其中,通过所述预设的数据处理表没有查找到所述其中一个输入数据时,对所述预设的数据处理表中所有第二编码进行异或运算,得到所述其中一个输入数据对应的输出编码。
S133、将所述其中一个输入数据对应的输出编码由二进制转换为十进制,得到所述其中一个输入数据执行所述if-else语句的执行结果。
具体地,第1个条件表达式的第一编码为所述if-else语句的第1个语句执行结果对应的二进制编码;除了所述第1个条件表达式以外的各个条件表达式的第一编码均为0000。
具体地,所述各个条件表达式的第二编码的计算原则为:当前条件表达式的第二编码为所述当前条件表达式的第一编码、当前语句执行结果对应的二进制编码、相邻下一个条件表达式的第一编码和相邻下一个语句执行结果对应的二进制编码进行异或运算得到的结果;
其中,当所述当前条件表达式没有相邻下一个条件表达式时,所述当前条件表达式的第二编码为所述当前条件表达式的第一编码、当前语句执行结果对应的二进制编码和所述if-else语句的最后一个语句执行结果对应的二进制编码进行异或运算得到的结果。
这里以一个包含7个条件分支的if-else语句为例,来说明上述实施例的具体过程:
所述包含7个条件分支ifelse语句如下:
其中,A在SIMD架构中为数组形式,A=NUM中的右操作数是具体的数,X和Y均为大于等于0的自然数,针对上述具体的包含7个条件分支if else语句,本发明实施例中的预设的数据处理表如下:
表1
条件表达式 | 第一编码 | 第二编码 |
X==0&Y==0 | 1001 | 0100 |
X==0 | 0000 | 1100 |
Y<X | 0000 | 1000 |
Y<2X | 0000 | 0001 |
Y<3X | 0000 | 0011 |
Y<4X | 0000 | 0001 |
具体地,所述表1的设计原理(如表2所示):
已知第1个语句至第7个语句执行结果对应的编码依次为:1001、0100、1000、0000、0001、0100、0011。
表2
第1个条件表达式的第一编码 | 1001 | 第1个条件表达式的第二编码 | 0100 |
第1个语句执行结果对应的编码 | 1001 | 第1个语句不执行时的编码 | 0100 |
第2个条件表达式的第一编码 | 0000 | 第2个条件表达式的第二编码 | 1100 |
第2个语句执行结果对应的编码 | 0100 | 第2个语句不执行时的编码 | 1000 |
第3个条件表达式的第一编码 | 0000 | 第3个条件表达式的第二编码 | 1000 |
第2个语句执行结果对应的编码 | 1000 | 第3个语句不执行时的编码 | 0000 |
第4个条件表达式的第一编码 | 0000 | 第4个条件表达式的第二编码 | 0001 |
第2个语句执行结果对应的编码 | 0000 | 第4个语句不执行时的编码 | 0001 |
第5个条件表达式的第一编码 | 0000 | 第5个条件表达式的第二编码 | 0011 |
第2个语句执行结果对应的编码 | 0001 | 第5个语句不执行时的编码 | 0010 |
第6个条件表达式的第一编码 | 0000 | 第6个条件表达式的第二编码 | 0001 |
第2个语句执行结果对应的编码 | 0010 | 第6个语句不执行时的编码 | 0011 |
第一步、设置条件表达式的第一编码
具体地,将第1个语句执行结果对应的编码“1001”作为第1个条件表达式的第一编码;设置第2个条件表达式至第6个条件表达式的第一编码均为0000。
第二步、计算条件表达式的第二编码
1)计算语句不执行时的编码
具体地,第1个语句至第5个语句不执行时的编码计算如下:
当前语句不执行时的编码为相邻下一个条件表达式的第一编码与相邻下一个语句执行结果对应的编码进行异或运算的结果。
第1个语句至第5个语句不执行时的编码分别为:
由于第6个语句不执行时第7个语句肯定会执行,因此,将第7个语句执行结果对应的编码“0011”作为第6个语句不执行时的编码。
2)计算条件表达式的第二编码
具体地,直接将第1个语句不执行时的编码“0100”作为第1个条件表达式的第二编码;
针对第2个条件表达式至第6个条件表达式的第二编码计算如下:
当前条件表达式的第二编码为当前语句不执行时的编码与相邻上一个语句不执行时的编码进行异或运算得到的结果。
第2个语句至第6个语句的第二编码分别为:
综上所述,所述各个条件表达式的第二编码的计算原则为:当前条件表达式的第二编码为所述当前条件表达式的第一编码、当前语句执行结果对应的二进制编码、相邻下一个条件表达式的第一编码和相邻下一个语句执行结果对应的二进制编码进行异或运算得到的结果;其中,当所述当前条件表达式没有相邻下一个条件表达式时,所述当前条件表达式的第二编码为所述当前条件表达式的第一编码、当前语句执行结果对应的二进制编码和所述if-else语句的最后一个语句执行结果对应的二进制编码进行异或运算得到的结果。
即各个条件表达式的第二编码分别为:
例如,待执行上述if-else语句的多个输入数据(X,Y)为(0,0)、(2,5)、(3,16),根据本发明的技术方案,所述多个输入数据(X,Y)为(0,0)、(2,5)、(3,16)执行上述具体的if-else语句的过程如下:
1)接收待执行if-else语句的多个输入数据(0,0)、(2,5)、(3,16);
2)调用所述预设的数据处理表(即表1);
3)自上而下地对所述表1进行查找,得到所述多个输入数据(0,0)、(2,5)、(3,16)能够满足的第一条件表达式,依次为“X==0&Y==0”、“Y<3X”、“其他”;
4)对于输入数据(0,0),其对应的输出编码为1001;
对于输入数据(2,5),其对应的输出编码为:
对于输入数据(3,16),其对应的输出编码为:
5)所述多个输入数据(0,0)、(2,5)、(3,16)执行if-else语句的执行结果分别为9、1和3。
本发明实施例还提供一种基于单指令多数据流结构的数据处理装置,如图2所示,所述装置包括接收模块21、调用模块22、处理模块23。
所述接收模块21,用于接收待执行if-else语句的多个输入数据;
所述调用模块22,用于调用预设的数据处理表。
其中,所述数据处理表用于存储所述if-else语句的各个条件表达式和所述各个条件表达式的第一编码和第二编码。
其中,所述第一编码和第二编码分别对应于条件表达式成立和不成立的情况,所述各个条件表达式不包括所述if-else语句的最后一个条件表达式。
所述处理模块23,用于利用所述预设的数据处理表,直接得到对所述多个输入数据执行所述if-else语句的执行结果;
本发明实施例提供的基于单指令多数据流结构的数据处理装置,与现有技术相比,通过对预设的数据处理表进行查表操作来替代现有的if-else语句的执行过程,使得对于多个输入数据可以并行处理得到相应的多个输出数据,其中,所述多个输出数据就是对所述多个输入数据顺序执行if-else语句的执行结果,可见,本发明的技术方案能够提高含有if-else语句的SIMD架构的数据并行处理能力。
进一步地,所述处理模块23包括第一处理单元231、第二处理单元232和第三处理单元233。
所述第一处理单元231,用于针对其中一个输入数据,按照自上而下的顺序在所述预设的数据处理表进行查找,得到所述其中一个输入数据能够满足的第一个条件表达式。
所述第二处理单元232,用于对所述其中一个输入数据能够满足的第一个条件表达式所在位置以下的各个条件表达式的第一编码和所述其中一个输入数据能够满足的第一个条件表达式所在位置上面的各个条件表达式的第二编码进行异或运算,得到所述其中一个输入数据对应的输出编码;以及用于在通过所述预设的数据处理表没有查找到所述其中一个输入数据时,对所述预设的数据处理表中所有第二编码进行异或运算,得到所述其中一个输入数据对应的输出编码。
所述第三处理单元233,用于对所述某一输入数据对应的输出编码进行二进制-十进制转换,得到所述某一输入数据执行所述if-else语句的执行结果。
具体地,第1个条件表达式的第一编码为所述if-else语句的第1个语句执行结果对应的二进制编码;除了所述第1个条件表达式以外的各个条件表达式的第一编码均为0000。
具体地,所述各个条件表达式的第二编码的计算原则为:当前条件表达式的第二编码为所述当前条件表达式的第一编码、当前语句执行结果对应的二进制编码、相邻下一个条件表达式的第一编码和相邻下一个语句执行结果对应的二进制编码进行异或运算得到的结果;
其中,当所述当前条件表达式没有相邻下一个条件表达式时,所述当前条件表达式的第二编码为所述当前条件表达式的第一编码、当前语句执行结果对应的二进制编码和所述if-else语句的最后一个语句执行结果对应的二进制编码进行异或运算得到的结果。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。
Claims (6)
1.一种基于单指令多数据流结构的数据处理方法,其特征在于,所述方法包括以下步骤:
接收待执行if-else语句的多个输入数据;
调用预设的数据处理表,其中,所述数据处理表用于存储所述if-else语句的各个条件表达式和所述各个条件表达式的第一编码和第二编码;
利用所述预设的数据处理表,直接得到对所述多个输入数据执行所述if-else语句的执行结果;
其中,所述第一编码和第二编码分别对应于条件表达式成立和不成立的情况,所述各个条件表达式不包括所述if-else语句的最后一个条件表达式;
所述利用所述预设的数据处理表,直接得到对所述多个输入数据执行所述if-else语句的执行结果包括:针对其中一个输入数据,按照自上而下的顺序在所述预设的数据处理表进行查找,得到所述其中一个输入数据能够满足的第一个条件表达式;对所述其中一个输入数据能够满足的第一个条件表达式所在位置以下的各个条件表达式的第一编码和所述其中一个输入数据能够满足的第一个条件表达式所在位置上面的各个条件表达式的第二编码进行异或运算,得到所述其中一个输入数据对应的输出编码;将所述其中一个输入数据对应的输出编码由二进制转换为十进制,得到所述其中一个输入数据执行所述if-else语句的执行结果;其中,通过所述预设的数据处理表没有查找到所述其中一个输入数据时,对所述预设的数据处理表中所有第二编码进行异或运算,得到所述其中一个输入数据对应的输出编码。
2.根据权利要求1所述的方法,其特征在于,第1个条件表达式的第一编码为所述if-else语句的第1个语句执行结果对应的二进制编码;
除了所述第1个条件表达式以外的各个条件表达式的第一编码均为0000。
3.根据权利要求2所述的方法,其特征在于,所述各个条件表达式的第二编码的计算原则为:
当前条件表达式的第二编码为所述当前条件表达式的第一编码、当前语句执行结果对应的二进制编码、相邻下一个条件表达式的第一编码和相邻下一个语句执行结果对应的二进制编码进行异或运算得到的结果;
其中,当所述当前条件表达式没有相邻下一个条件表达式时,所述当前条件表达式的第二编码为所述当前条件表达式的第一编码、当前语句执行结果对应的二进制编码和所述if-else语句的最后一个语句执行结果对应的二进制编码进行异或运算得到的结果。
4.一种基于单指令多数据流结构的数据处理装置,其特征在于,所述装置包括接收模块、调用模块、处理模块;
所述接收模块,用于接收待执行if-else语句的多个输入数据;
所述调用模块,用于调用预设的数据处理表;
其中,所述数据处理表用于存储所述if-else语句的各个条件表达式和所述各个条件表达式的第一编码和第二编码;
所述处理模块,用于利用所述预设的数据处理表,直接得到对所述多个输入数据执行所述if-else语句的执行结果;
其中,所述第一编码和第二编码分别对应于条件表达式成立和不成立的情况,所述各个条件表达式不包括所述if-else语句的最后一个条件表达式;
所述处理模块包括第一处理单元、第二处理单元和第三处理单元,其中,所述第一处理单元,用于针对其中一个输入数据,按照自上而下的顺序在所述预设的数据处理表进行查找,得到所述其中一个输入数据能够满足的第一个条件表达式;所述第二处理单元,用于对所述其中一个输入数据能够满足的第一个条件表达式所在位置以下的各个条件表达式的第一编码和所述其中一个输入数据能够满足的第一个条件表达式所在位置上面的各个条件表达式的第二编码进行异或运算,得到所述其中一个输入数据对应的输出编码;所述第三处理单元,用于将所述其中一个输入数据对应的输出编码由二进制转换为十进制,得到所述其中一个输入数据执行所述if-else语句的执行结果;其中,所述第二处理单元,还用于在通过所述预设的数据处理表没有查找到所述其中一个输入数据时,对所述预设的数据处理表中所有第二编码进行异或运算,得到所述其中一个输入数据对应的输出编码。
5.根据权利要求4所述的装置,其特征在于,第1个条件表达式的第一编码为所述if-else语句的第1个语句执行结果对应的二进制编码;
除了所述第1个条件表达式以外的各个条件表达式的第一编码均为0000。
6.根据权利要求5所述的装置,其特征在于,所述各个条件表达式的第二编码的计算原则为:当前条件表达式的第二编码为所述当前条件表达式的第一编码、当前语句执行结果对应的二进制编码、相邻下一个条件表达式的第一编码和相邻下一个语句执行结果对应的二进制编码进行异或运算得到的结果;
其中,当所述当前条件表达式没有相邻下一个条件表达式时,所述当前条件表达式的第二编码为所述当前条件表达式的第一编码、当前语句执行结果对应的二进制编码和所述if-else语句的最后一个语句执行结果对应的二进制编码进行异或运算得到的结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610418242.1A CN107491288B (zh) | 2016-06-12 | 2016-06-12 | 一种基于单指令多数据流结构的数据处理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610418242.1A CN107491288B (zh) | 2016-06-12 | 2016-06-12 | 一种基于单指令多数据流结构的数据处理方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107491288A CN107491288A (zh) | 2017-12-19 |
CN107491288B true CN107491288B (zh) | 2020-05-08 |
Family
ID=60642995
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610418242.1A Active CN107491288B (zh) | 2016-06-12 | 2016-06-12 | 一种基于单指令多数据流结构的数据处理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107491288B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111930428A (zh) * | 2020-09-27 | 2020-11-13 | 南京芯瞳半导体技术有限公司 | 一种条件分支指令的融合方法、装置及计算机存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1486465A (zh) * | 2000-11-28 | 2004-03-31 | �Ƹ��� | 单指令多数据路径处理器架构之条件程序处理 |
US7793084B1 (en) * | 2002-07-22 | 2010-09-07 | Mimar Tibet | Efficient handling of vector high-level language conditional constructs in a SIMD processor |
CN101930358A (zh) * | 2010-08-16 | 2010-12-29 | 中国科学技术大学 | 一种单指令多数据流结构上的数据处理方法及处理器 |
CN103853526A (zh) * | 2014-02-20 | 2014-06-11 | 清华大学 | 可重构处理器及可重构处理器的条件执行方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050289329A1 (en) * | 2004-06-29 | 2005-12-29 | Dwyer Michael K | Conditional instruction for a single instruction, multiple data execution engine |
KR101893796B1 (ko) * | 2012-08-16 | 2018-10-04 | 삼성전자주식회사 | 동적 데이터 구성을 위한 방법 및 장치 |
-
2016
- 2016-06-12 CN CN201610418242.1A patent/CN107491288B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1486465A (zh) * | 2000-11-28 | 2004-03-31 | �Ƹ��� | 单指令多数据路径处理器架构之条件程序处理 |
US7793084B1 (en) * | 2002-07-22 | 2010-09-07 | Mimar Tibet | Efficient handling of vector high-level language conditional constructs in a SIMD processor |
CN101930358A (zh) * | 2010-08-16 | 2010-12-29 | 中国科学技术大学 | 一种单指令多数据流结构上的数据处理方法及处理器 |
CN103853526A (zh) * | 2014-02-20 | 2014-06-11 | 清华大学 | 可重构处理器及可重构处理器的条件执行方法 |
Non-Patent Citations (2)
Title |
---|
SIMD编译优化技术研究;王迪;《中国优秀硕士学位论文全文数据库 信息科技辑》;20090715(第7期);I138-691 * |
SIMD自动向量识别及代码调优技术研究;姚远;《中国博士学位论文全文数据库 信息科技辑》;20130615(第06期);I138-19 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111930428A (zh) * | 2020-09-27 | 2020-11-13 | 南京芯瞳半导体技术有限公司 | 一种条件分支指令的融合方法、装置及计算机存储介质 |
CN111930428B (zh) * | 2020-09-27 | 2021-01-15 | 南京芯瞳半导体技术有限公司 | 一种条件分支指令的融合方法、装置及计算机存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN107491288A (zh) | 2017-12-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11531540B2 (en) | Processing apparatus and processing method with dynamically configurable operation bit width | |
CN107608715B (zh) | 用于执行人工神经网络正向运算的装置及方法 | |
US11023801B2 (en) | Data processing method and apparatus | |
CN107895191B (zh) | 一种信息处理方法及相关产品 | |
CN109543830B (zh) | 一种用于卷积神经网络加速器的拆分累加器 | |
CN110163363B (zh) | 一种计算装置及方法 | |
CN108733347B (zh) | 一种数据处理方法及装置 | |
CN112835551B (zh) | 用于处理单元的数据处理方法、电子设备和计算机可读存储介质 | |
CN111967608A (zh) | 数据处理方法、装置、设备及存储介质 | |
CN107402905B (zh) | 基于神经网络的计算方法及装置 | |
JP2006154979A (ja) | 浮動小数点数演算回路 | |
KR20180027537A (ko) | 와이드 데이터 타입들의 비교 | |
CN107491288B (zh) | 一种基于单指令多数据流结构的数据处理方法及装置 | |
CN116888591A (zh) | 一种矩阵乘法器、矩阵计算方法及相关设备 | |
CN115469931B (zh) | 一种循环程序的指令优化方法、装置、系统、设备及介质 | |
US20130262819A1 (en) | Single cycle compare and select operations | |
JP2016045721A (ja) | データ格納方法、三値内積演算回路、それを備えた半導体装置、及び、三値内積演算処理プログラム | |
CN111445016A (zh) | 加速非线性数学计算的系统及方法 | |
CN209895329U (zh) | 乘法器 | |
CN114697661A (zh) | 一种图像编解码方法及相关产品 | |
CN118012505A (zh) | 人工智能处理器、集成电路芯片、板卡、电子设备 | |
CN104408023A (zh) | 一种指标计算的方法及指标计算器 | |
CN113157538B (zh) | Spark运行参数的确定方法、装置、设备和存储介质 | |
CN115951936B (zh) | 向量化编译程序的芯片适配方法、装置、设备及介质 | |
CN113031913B (zh) | 乘法器、数据处理方法、装置及芯片 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |