一种单指令多数据流结构上的数据处理方法及处理器技术

技术编号:4080293 阅读:177 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种SIMD上的数据处理方法及处理器,包括:选取符合条件的处理多组数据流,指令具有包括标记位和索引位的谓词域;将指令进行译码,并获取标记位和索引位的值;利用标记位的值判断指令是否为谓词指令;当指令为谓词指令时,读取预设谓词寄存器中与索引位值对应的表项内的谓词;将谓词均匀分配给多组数据流;分别比较标记位与每一组数据流对应的谓词的值;确定比较结果为相同的数据流为可处理数据流;执行指令处理可处理数据流。本发明专利技术公开的SIMD结构上的数据处理方法引入谓词执行方式,利用谓词标记和谓词的比较结果来判断是否需要执行指令处理数据流组,避免了处理不需要被处理的数据流造成的功耗浪费,以及处理效率低的问题。

【技术实现步骤摘要】

本专利技术涉及微处理器
,尤其涉及一种单指令多数据流结构上的数据处理 方法及处理器。
技术介绍
SIMD (Single Instruction Multiple Data,单指令多数据流)技术是一种广泛应 用的开发细粒度数据并行性的技术。SIMD技术的核心思想是在多个执行单元上对不同的 数据采用相同的指令序列进行加工,从而一次得到多个加工后的计算结果,以提高计算效 率。SIMD技术早期主要用于机柜级的高性能计算机领域,如美国伊利诺伊州立大学研制的 ILLIAC IV型机。随着半导体工艺的发展,芯片内部能够集成越来越多的晶体管,人们开始 将SIMD技术用在处理器内部以开发细粒度的数据并行性。在传统的SIMD微处理器中,通常不提供对条件分支指令的支持。在遇到条件分支 指令时,需要程序员采用手工冗余计算的办法。如图1所示,一段分支代码在执行到分支指 令时,SIMD处理器将执行左右两部分分支路径,在图中分别以虚实两种线条区分。当完成 分支路径计算后,再计算相应的分支条件,根据分支条件决定具体提交哪个分支的计算结 果。由于左右分支路径均需要在处理器上执行,得到计算结果后,在提交阶段选择符合分支 条件的计算结果提交,而不符合分支条件的结果则被舍弃,因此产生了大量的无用计算,造 成了功耗浪费,执行效率较低。
技术实现思路
有鉴于此,本专利技术提供一种SIMD结构上的数据处理方法及处理器,以解决现有技 术中SIMD结构上的指令执行过程中功耗浪费,执行效率较低的问题。其具体方案为一种单指令多数据流结构SIMD的数据处理方法,包括选取符合条件的指令处理多组数据流,所述指令具有包括标记位和索引位的谓词 域;将所述指令进行译码,并获取所述标记位和索引位的值;利用所述标记位的值判断所述指令是否为谓词指令;当所述指令为谓词指令时,读取预设谓词寄存器中与所述索引位值对应的表项内 的谓词;将所述谓词均勻分配给所述多组数据流;分别比较所述标记位与每一组数据流对应的谓词的值;确定比较结果为相同的数据流为可处理数据流;执行指令处理所述可处理数据流。优选的,还包括确定比较结果为不同的数据流为非可处理数据流;执行空操作指令处理所述非可处理数据流。优选的,还包括当所述比较结果为不同时,停止对其对应的数据流的处理。优选的,当所述指令为非谓词指令时,直接执行所述指令处理多组数据流。一种SIMD处理器,包括指令选取单元,用于选取符合条件的指令处理多组数据流,所述指令具有包括标 记位和索引位的谓词域;译码单元,用于将所述指令进行译码,并获取所述标记位和索引位的值;判断单元,用于利用所述标记位的值判断所述指令是否为谓词指令;谓词寄存器,用于存放谓词;读取单元,用于当所述指令为谓词指令时,读取预设谓词寄存器中与所述索引位 对应的表项内的谓词;分配单元,用于将所述谓词均勻分配给所述多组数据流;比较单元,用于分别比较所述标记位与每一组数据流对应的谓词的值;确定单元,用于确定比较结果为相同的数据流为可处理数据流;执行单元,用于执行指令处理所述可处理数据流。优选的,所述确定单元还用于确定比较结果为不同的数据流为非可处理数据流; 所述执行单元还用于执行空操作指令处理所述非可处理数据流。本专利技术公开的SIMD结构上的数据处理方法引入谓词执行方式,利用谓词标记和 谓词的比较结果来判断是否需要执行指令处理数据流组,然后只执行比较结果为相同的指 令对应的数据流,避免了因为处理不需要被处理的数据流造成的功耗浪费,以及处理效率 低的问题。能够高效地处理不规则控制流,进一步扩大了 SIMD结构的适用范围。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现 有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本 专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以 根据这些附图获得其他的附图。图1为现有技术中的SIMD结构上执行分支指令的流程图;图2为实施例1公开的数据处理方法流程图;图3为实施例2公开的数据处理方法的流程图;图4为实施例2公开的谓词域结构示意图;图5为实施例2公开的谓词标记位定义示意图;图6为实施例2公开的标记位与谓词的比较规则示意图;图7为本专利技术公开的SIMD处理器的结构示意图。具体实施例方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完 整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于 本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。谓词执行技术是一种解决指令间控制相关的技术,通过引入逻辑谓词,将控制相 关与某个分支中的指令,转换为该分支条件(即谓词)及相应数据的数据相关。传统的谓 词执行技术通过消除多个基本块之间的控制相关,配合编译器将多个基本块合并成为一个 内部无控制相关的超块,实现了挖掘更多的指令级并行性的目的。分支指令谓词化后产生 多个代表不同分支路径的布尔型谓词,位于分支中的指令具有谓词域,只有当指令对应的 谓词域满足相应的谓词条件时,指令才执行。谓词执行技术能够将指令间的控制依赖转换 为对谓词的数据依赖。本专利技术依据谓词执行技术,公开了一种SIMD结构上的数据处理方法,其具体实施 方式如下所示实施例一本实施例公开的SIMD结构上的数据处理方法的流程如图2所示,包括步骤S21、选取符合条件的指令处理多组数据流,所述指令具有包括标记位和索引 位的谓词域;指令中的谓词域由编译器预先设置,编译器在将写好的程序翻译为二进制机器代 码时,自动为每个分支分配一个谓词编号,并将此编号填写在与此分支关联的指令的谓词 域中。在程序执行的过程中,通过计算指令计算出相应谓词的值,并通过谓词寄存器写指令 将谓词写入预先设定的谓词寄存器内。谓词寄存器的每个表项具有一个写入位,当谓词寄 存器写入指令完成对所述表项的写入时,同时要将相应表项的写入位置位,根据实际的硬 件实现,可以将其置为1或0,以表示谓词寄存器的此项已经有相应谓词的值。被选取的指 令需要同时符合操作数已经被满足的条件,以及相应的谓词已经被计算,并写入到谓词寄 存器内的条件。步骤S22、将所述指令进行译码,并获取标记位和索引位的值;步骤S23、利用所述标记位的值判断所述指令是否为谓词指令;步骤S24、当所述指令为谓词指令时,读取预设谓词寄存器中与所述索引位值对应 的表项内的谓词;步骤S25、将所述谓词均勻分配给所述多组数据流;步骤S26、分别比较所述标记位与每一组数据流对应的谓词的值是否相同;步骤S27、确定比较结果为相同的数据流为可处理数据流;步骤S28、执行指令处理所述可处理数据流。从上述步骤可以看出,本专利技术公开的SIMD结构上的数据处理方法通过引入谓词 执行方式,利用谓词标记和谓词的比较结果来判断是否需要执行指令处理数据流组,然后 只执行比较结果为相同的指令对应的数据流,避免了因为处理不需要被处理的数据流造成 的功耗浪费,以及处理效率低的问题。实施例二本实施例中较为详细的对本专利技术公开的数据处理方法进行了描述,其流程如图3 所示,步骤S31、选取符合条件的指令处理多组数据流,所述指令具有包括标记位和索引 位的本文档来自技高网...

【技术保护点】
一种单指令多数据流结构SIMD的数据处理方法,其特征在于,包括:选取符合条件的指令处理多组数据流,所述指令具有包括标记位和索引位的谓词域;将所述指令进行译码,并获取所述标记位和索引位的值;利用所述标记位的值判断所述指令是否为谓词指令;当所述指令为谓词指令时,读取预设谓词寄存器中与所述索引位值对应的表项内的谓词;将所述谓词均匀分配给所述多组数据流;分别比较所述标记位与每一组数据流对应的谓词的值;确定比较结果为相同的数据流为可处理数据流;执行指令处理所述可处理数据流。

【技术特征摘要】
一种单指令多数据流结构SIMD的数据处理方法,其特征在于,包括选取符合条件的指令处理多组数据流,所述指令具有包括标记位和索引位的谓词域;将所述指令进行译码,并获取所述标记位和索引位的值;利用所述标记位的值判断所述指令是否为谓词指令;当所述指令为谓词指令时,读取预设谓词寄存器中与所述索引位值对应的表项内的谓词;将所述谓词均匀分配给所述多组数据流;分别比较所述标记位与每一组数据流对应的谓词的值;确定比较结果为相同的数据流为可处理数据流;执行指令处理所述可处理数据流。2.根据权利要求1所述的方法,其特征在于,还包括 确定比较结果为不同的数据流为非可处理数据流; 执行空操作指令处理所述非可处理数据流。3.根据权利要求1所述的方法,其特征在于,还包括 当所述比较结果为不同时,停止对其对应的数据流的处理。4.根据权利要求1-3中任意一项所述的方法,其特征在于,当所述指令为非谓词指令 时,直接执行...

【专利技术属性】
技术研发人员:安虹许牧徐光刘谷李颀任永青李小强孙涛郝秀蕊周伟谭旭
申请(专利权)人:中国科学技术大学
类型:发明
国别省市:34[中国|安徽]

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

1