[发明专利]一种基于单指令多数据流结构的数据处理方法及装置有效
申请号: | 201610418242.1 | 申请日: | 2016-06-12 |
公开(公告)号: | CN107491288B | 公开(公告)日: | 2020-05-08 |
发明(设计)人: | 王荔枝 | 申请(专利权)人: | 合肥君正科技有限公司 |
主分类号: | G06F9/38 | 分类号: | G06F9/38 |
代理公司: | 北京汇泽知识产权代理有限公司 11228 | 代理人: | 张瑾 |
地址: | 230088 安徽省合肥市*** | 国省代码: | 安徽;34 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 指令 多数 结构 数据处理 方法 装置 | ||
本发明提供一种基于单指令多数据流结构的数据处理方法及装置。所述方法包括:接收待执行if‑else语句的多个输入数据;调用预设的数据处理表,其中,所述数据处理表用于存储所述if‑else语句的各个条件表达式和所述各个条件表达式的第一编码和第二编码;利用所述预设的数据处理表,直接得到对所述多个输入数据执行所述if‑else语句的执行结果。本发明能够提高含有if‑else语句的SIMD架构的数据并行处理能力。
技术领域
本发明涉及数据处理技术领域,尤其涉及一种基于单指令多数据流结构的数据处理方法及装置。
背景技术
当今的计算机应用程序大部分是多媒体应用,包括音频处理、图像处理、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语句的最后一个条件表达式。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于合肥君正科技有限公司,未经合肥君正科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201610418242.1/2.html,转载请声明来源钻瓜专利网。
- 上一篇:智能设备仲裁和控制
- 下一篇:一种窗口渲染方法及装置