一种并行向量查表方法及装置制造方法及图纸

技术编号:11267937 阅读:94 留言:0更新日期:2015-04-08 14:02
本发明专利技术公开了一种并行向量查表方法,包括:从待查索引向量寄存器中获得待查索引数据,将其分为高位部分和低位部分,并将高位部分发送给结果归并状态控制模块,低位部分发送给交织模块;表项输入模块输入待查的所有表项,根据交织模块的大小将其划分为若干个数据包,分别发送到对应的交织模块;每个交织模块都根据待查索引数据的低位部分,从数据包中选择出一个输入表项作为查表可能结果表项;选择模块根据结果归并状态控制模块基于高位部分发送的控制信号,在选择结果中选择最终结果,并将最终结果存放在目的向量寄存器中。本发明专利技术的方法和装置能实现并行访问多组向量,降低查表操作次数,从而降低存储访问开销。

【技术实现步骤摘要】
【专利摘要】本专利技术公开了一种并行向量查表方法,包括:从待查索引向量寄存器中获得待查索引数据,将其分为高位部分和低位部分,并将高位部分发送给结果归并状态控制模块,低位部分发送给交织模块;表项输入模块输入待查的所有表项,根据交织模块的大小将其划分为若干个数据包,分别发送到对应的交织模块;每个交织模块都根据待查索引数据的低位部分,从数据包中选择出一个输入表项作为查表可能结果表项;选择模块根据结果归并状态控制模块基于高位部分发送的控制信号,在选择结果中选择最终结果,并将最终结果存放在目的向量寄存器中。本专利技术的方法和装置能实现并行访问多组向量,降低查表操作次数,从而降低存储访问开销。【专利说明】_种并行向量查表方法及装置
本专利技术涉及向量型处理器设计领域,尤其涉及一种并行向量查表方法及装置。
技术介绍
向量型处理器是针对阵列信号处理的处理器,应用于处理高密集型向量,其处理速度快,存储访问频繁,并且经常并行访问多组向量。为了方便开发向量处理器,能实现并行访问多组向量,可以并行完成同一张表中多个索引的查找,同时降低存储访问开销,需要设计一种向量处理器中的查表指令,并且设计实现该查表指令的执行装置。
技术实现思路
有鉴于此,本专利技术的主要目的之一在于提供一种并行向量查表方法及装置,以便向量处理器实现并行访问多组向量,降低存储访问开销。 为实现上述目的,作为本专利技术的一个方面,本专利技术提供了一种并行向量查表方法,包括以下步骤: 从并行向量查表指令的待查索引向量寄存器中获得待查索引数据,将所述待查索引数据分为高位部分和低位部分,并将所述高位部分发送给结果归并状态控制模块,所述低位部分发送给交织模块; 表项输入模块输入待查的所有表项,根据所述并行向量查表指令中的查表起始地址、查表长度和每个表项的大小,决定所述输入的所有表项的位置和总量,所述所有表项根据交织模块的大小被划分为若干个由对应某一交织模块处理的数据包,每个数据包都由一个或多个输入表项组成,所有的数据包都被分别发送到对应的交织模块; 所述每个交织模块都根据所述待查索引数据的低位部分,从来自表项输入模块的数据包中选择出一个输入表项作为查表可能结果的表项; 结果归并状态控制模块根据所述待查索引数据的高位部分,向选择模块发送选择查表结果的控制信号; 选择模块根据所述结果归并状态控制模块发送的所述控制信号,在所述选择结果中选择最终结果,并将所述最终结果存放在所述并行向量查表指令中的目的向量寄存器中。 其中,所述所有表项被划分为若干个数据包的步骤中,如果所述所有表项的个数能够被数据包的个数整除,则所述所有表项被均匀划分为若干个数据包。 其中,所述若干个交织模块的个数为4的正整数倍。 其中,所述所有表项被划分为若干个数据包的步骤中,如果所述数据包的个数多于交织模块的个数,则会分多次将所述数据包发送到所述交织模块。 其中,所述的若干个交织模块选择输出的所述查表可能结果的表项先存储在存储部件中,所述选择模块在所述存储部件存储的所述选择结果中选择最终结果。 作为本专利技术的另一个方面,本专利技术还提供了一种并行向量查表装置,包括: 索引分解模块,用于从并行向量查表指令的待查索引向量寄存器中获得索引数据,将所述待查索引数据分为高位部分和低位部分,并将所述高位部分发送给结果归并状态控制模块,所述低位部分发送给交织模块; 表项输入模块,用于输入待查的所有表项,所述表项输入模块根据所述并行向量查表指令中的查表起始地址、查表长度和每个表项的大小,决定输入数据的位置和总量,并根据交织模块的大小将所述输入的所有表项划分为若干个对应某一交织模块处理的数据包,每个数据包都由一个或多个输入表项组成,所有的数据包都被分别发送到对应的交织丰吴块; 若干个交织模块,每一个交织模块都根据所述待查索引数据的低位部分在所述数据包中选择出一个查表可能结果的表项; 结果归并状态控制模块,根据所述待查索引数据的高位部分,发送控制选择模块输出查表结果的控制信号。 若干个选择模块,根据所述结果归并状态控制模块的控制信号,在所述若干个交织模块选择的表项结果中选择最终结果并将所述最终结果输出,输出的表项存放在查表指令中的目的向量寄存器中。 其中,所述表项输入模块中,如果所述所有表项的个数能够被待分成的数据包的个数整除,则所述所有表项被均匀划分为若干个数据包。 其中,所述若干个交织模块的个数为4的正整数倍。 其中,所述表项输入模块中,如果所述待分成的数据包的个数多于所述交织模块的个数,则会分多次将所述数据包发送到所述交织模块。 所述并行向量查表装置还包括存储部件,所述若干个交织模块选择输出的所述查表可能结果的表项先存储在所述存储部件中,所述选择模块在所述存储部件存储的所述选择结果中选择最终结果。 基于上述技术方案可知,本专利技术的并行向量查表方法和装置能够实现并行访问多组向量,索引数据量很大时,并行查表方法可以降低查表操作次数,从而降低存储访问开销。 【专利附图】【附图说明】 图1是本专利技术的并行向量查表装置的结构示意图; 图2是本专利技术中交织模块输入、输出及序号示意图; 图3是本专利技术的存储部件中4个数据存储分布示意图; 图4是本专利技术的存储部件中8个数据存储分布示意图。 【具体实施方式】 为使本专利技术的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本专利技术作进一步的详细说明。 本专利技术公开了一种并行向量查表方法及装置,为此专门设计了一套并行向量查表指令,包括: 一个存储待查表起始地址的寄存器号,用于存放待查表中表项的开始位置; 一个存储表长的寄存器号,用于存放待查表的长度; 一个存放标示表项大小信息的寄存器号,用于获得查表时每个表项的大小,如字节、半字、字等; 一个待查索引向量寄存器号,用于配置待查索引数据; 一个目的向量寄存器号,用于存放查表后的结果。 采用该并行向量查表指令,本专利技术的并行向量查表方法,包括以下步骤: 索引分解模块从并行向量查表指令的待查索引向量寄存器中获得待查索引数据,将所述待查索引数据分为高位部分和低位部分,并将所述高位部分发送给结果归并状态控制模块,所述低位部分发送给交织模块; 表项输入模块输入待查的所有待查表项,根据所述并行向量查表指令中的查表起始地址、查表长度和每个表项的大小,决定所述输入的所有表项的位置和总量。所有表项的总数据根据交织模块的大小被划分为若干个数据包,每个数据包都由一个或多个输入表项组成,所有的数据包都被分别对应发送到每个交织模块; 所述每个交织模块都根据所述待查索引数据的低位部分,从来自表项输入模块的数据包中选择出一个输入表项作为查表结果可能的表项,并将选择结果存储在存储部件; 结果归并状态控制模块根据所述待查索引数据的高位部分,向选择模块发送选择查表结果的控制信号; 选择模块根据所述结果归并状态控制模块的控制信号,在所述存储部件存储的所述选择结果中选择最终结果,并将所述最终结果存放在所述并行向量查表指令中的目的向量寄存器中。 其中,所有表项的总数据根据交织模块的大小划分为若干个数据包的方法如下:以X个N位的交织模块为例,所有表项的总数据量被划分为若干个N位的数据包,本文档来自技高网...
一种并行向量查表方法及装置

【技术保护点】
一种并行向量查表方法,包括以下步骤:从并行向量查表指令的待查索引向量寄存器中获得待查索引数据,将所述待查索引数据分为高位部分和低位部分,并将所述高位部分发送给结果归并状态控制模块,所述低位部分发送给交织模块;表项输入模块输入待查的所有表项,根据所述并行向量查表指令中的查表起始地址、查表长度和每个表项的大小,决定所述输入的所有表项的位置和总量,所述所有表项根据交织模块的大小被划分为若干个由对应某一交织模块处理的数据包,每个数据包都由一个或多个输入表项组成,所有的数据包都被分别发送到对应的交织模块;所述每个交织模块都根据所述待查索引数据的低位部分,从来自表项输入模块的数据包中选择出一个输入表项作为查表可能结果的表项;结果归并状态控制模块根据所述待查索引数据的高位部分,向选择模块发送选择查表结果的控制信号;选择模块根据所述结果归并状态控制模块发送的所述控制信号,在所述选择结果中选择最终结果,并将所述最终结果存放在所述并行向量查表指令中的目的向量寄存器中。

【技术特征摘要】

【专利技术属性】
技术研发人员:王磊王惠娟朱梦晨谢少林
申请(专利权)人:中国科学院自动化研究所
类型:发明
国别省市:北京;11

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

1