CN104504126B - 一种并行向量查表方法及装置 - Google Patents

一种并行向量查表方法及装置 Download PDF

Info

Publication number
CN104504126B
CN104504126B CN201410852690.3A CN201410852690A CN104504126B CN 104504126 B CN104504126 B CN 104504126B CN 201410852690 A CN201410852690 A CN 201410852690A CN 104504126 B CN104504126 B CN 104504126B
Authority
CN
China
Prior art keywords
look
list item
checked
interleaving block
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
CN201410852690.3A
Other languages
English (en)
Other versions
CN104504126A (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.)
Shanghai Silang Technology Co ltd
Original Assignee
Beijing Si Lang Science And Technology 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 Beijing Si Lang Science And Technology Co Ltd filed Critical Beijing Si Lang Science And Technology Co Ltd
Priority to CN201410852690.3A priority Critical patent/CN104504126B/zh
Publication of CN104504126A publication Critical patent/CN104504126A/zh
Application granted granted Critical
Publication of CN104504126B publication Critical patent/CN104504126B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2453Query optimisation
    • G06F16/24532Query optimisation of parallel queries

Abstract

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

Description

一种并行向量查表方法及装置
技术领域
本发明涉及向量型处理器设计领域,尤其涉及一种并行向量查表方法及装置。
背景技术
向量型处理器是针对阵列信号处理的处理器,应用于处理高密集型向量,其处理速度快,存储访问频繁,并且经常并行访问多组向量。为了方便开发向量处理器,能实现并行访问多组向量,可以并行完成同一张表中多个索引的查找,同时降低存储访问开销,需要设计一种向量处理器中的查表指令,并且设计实现该查表指令的执行装置。
发明内容
有鉴于此,本发明的主要目的之一在于提供一种并行向量查表方法及装置,以便向量处理器实现并行访问多组向量,降低存储访问开销。
为实现上述目的,作为本发明的一个方面,本发明提供了一种并行向量查表方法,包括以下步骤:
从并行向量查表指令的待查索引向量寄存器中获得待查索引数据,将所述待查索引数据分为高位部分和低位部分,并将所述高位部分发送给结果归并状态控制模块,所述低位部分发送给交织模块;
表项输入模块输入待查的所有表项,根据所述并行向量查表指令中的查表起始地址、查表长度和每个表项的大小,决定所述输入的所有表项的位置和总量,所述所有表项根据交织模块的大小被划分为若干个由对应某一交织模块处理的数据包,每个数据包都由一个或多个输入表项组成,所有的数据包都被分别发送到对应的交织模块;
所述每个交织模块都根据所述待查索引数据的低位部分,从来自表项输入模块的数据包中选择出一个输入表项作为查表可能结果的表项;
结果归并状态控制模块根据所述待查索引数据的高位部分,向选择模块发送选择查表结果的控制信号;
选择模块根据所述结果归并状态控制模块发送的所述控制信号,在所述选择结果中选择最终结果,并将所述最终结果存放在所述并行向量查表指令中的目的向量寄存器中。
其中,所述所有表项被划分为若干个数据包的步骤中,如果所述所有表项的个数能够被数据包的个数整除,则所述所有表项被均匀划分为若干个数据包。
其中,所述若干个交织模块的个数为4的正整数倍。
其中,所述所有表项被划分为若干个数据包的步骤中,如果所述数据包的个数多于交织模块的个数,则会分多次将所述数据包发送到所述交织模块。
其中,所述的若干个交织模块选择输出的所述查表可能结果的表项先存储在存储部件中,所述选择模块在所述存储部件存储的所述选择结果中选择最终结果。
作为本发明的另一个方面,本发明还提供了一种并行向量查表装置,包括:
索引分解模块,用于从并行向量查表指令的待查索引向量寄存器中获得索引数据,将所述待查索引数据分为高位部分和低位部分,并将所述高位部分发送给结果归并状态控制模块,所述低位部分发送给交织模块;
表项输入模块,用于输入待查的所有表项,所述表项输入模块根据所述并行向量查表指令中的查表起始地址、查表长度和每个表项的大小,决定输入数据的位置和总量,并根据交织模块的大小将所述输入的所有表项划分为若干个对应某一交织模块处理的数据包,每个数据包都由一个或多个输入表项组成,所有的数据包都被分别发送到对应的交织模块;
若干个交织模块,每一个交织模块都根据所述待查索引数据的低位部分在所述数据包中选择出一个查表可能结果的表项;
结果归并状态控制模块,根据所述待查索引数据的高位部分,发送控制选择模块输出查表结果的控制信号。
若干个选择模块,根据所述结果归并状态控制模块的控制信号,在所述若干个交织模块选择的表项结果中选择最终结果并将所述最终结果输出,输出的表项存放在查表指令中的目的向量寄存器中。
其中,所述表项输入模块中,如果所述所有表项的个数能够被待分成的数据包的个数整除,则所述所有表项被均匀划分为若干个数据包。
其中,所述若干个交织模块的个数为4的正整数倍。
其中,所述表项输入模块中,如果所述待分成的数据包的个数多于所述交织模块的个数,则会分多次将所述数据包发送到所述交织模块。
所述并行向量查表装置还包括存储部件,所述若干个交织模块选择输出的所述查表可能结果的表项先存储在所述存储部件中,所述选择模块在所述存储部件存储的所述选择结果中选择最终结果。
基于上述技术方案可知,本发明的并行向量查表方法和装置能够实现并行访问多组向量,索引数据量很大时,并行查表方法可以降低查表操作次数,从而降低存储访问开销。
附图说明
图1是本发明的并行向量查表装置的结构示意图;
图2是本发明中交织模块输入、输出及序号示意图;
图3是本发明的存储部件中4个数据存储分布示意图;
图4是本发明的存储部件中8个数据存储分布示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明作进一步的详细说明。
本发明公开了一种并行向量查表方法及装置,为此专门设计了一套并行向量查表指令,包括:
一个存储待查表起始地址的寄存器号,用于存放待查表中表项的开始位置;
一个存储表长的寄存器号,用于存放待查表的长度;
一个存放标示表项大小信息的寄存器号,用于获得查表时每个表项的大小,如字节、半字、字等;
一个待查索引向量寄存器号,用于配置待查索引数据;
一个目的向量寄存器号,用于存放查表后的结果。
采用该并行向量查表指令,本发明的并行向量查表方法,包括以下步骤:
索引分解模块从并行向量查表指令的待查索引向量寄存器中获得待查索引数据,将所述待查索引数据分为高位部分和低位部分,并将所述高位部分发送给结果归并状态控制模块,所述低位部分发送给交织模块;
表项输入模块输入待查的所有待查表项,根据所述并行向量查表指令中的查表起始地址、查表长度和每个表项的大小,决定所述输入的所有表项的位置和总量。所有表项的总数据根据交织模块的大小被划分为若干个数据包,每个数据包都由一个或多个输入表项组成,所有的数据包都被分别对应发送到每个交织模块;
所述每个交织模块都根据所述待查索引数据的低位部分,从来自表项输入模块的数据包中选择出一个输入表项作为查表结果可能的表项,并将选择结果存储在存储部件;
结果归并状态控制模块根据所述待查索引数据的高位部分,向选择模块发送选择查表结果的控制信号;
选择模块根据所述结果归并状态控制模块的控制信号,在所述存储部件存储的所述选择结果中选择最终结果,并将所述最终结果存放在所述并行向量查表指令中的目的向量寄存器中。
其中,所有表项的总数据根据交织模块的大小划分为若干个数据包的方法如下:以X个N位的交织模块为例,所有表项的总数据量被划分为若干个N位的数据包,每个数据包都包含多个表项,如果这些数据包的数量多于交织模块的个数X,则会分多次发送到交织模块。划分的数据包的个数可以为任意的自然数,例如3、4、5、6、……,从提高处理器运算效率的角度看,优选为4的倍数,例如4、8、12……。
为执行本发明提出的并行向量查表方法,本发明还公开了一种并行向量查表装置,包括:
索引分解模块,用于从并行向量查表指令的待查索引向量寄存器中获得索引数据,将所述待查索引数据分为高位部分和低位部分,并将所述高位部分发送给结果归并状态控制模块,所述低位部分发送给交织模块;
表项输入模块,用于输入待查的所有表项,该模块是根据并行向量查表指令中查表起始地址、查表长度和每个表项的大小,决定输入数据的位置和总量;
若干个交织模块,每一个交织模块都根据待查索引数据的低位部分选择出一个可能作为查表结果的表项;
存储部件,用于存放所述交织模块选择出的所有表项。
结果归并状态控制模块,根据待查索引数据的高位部分,发送控制选择模块输出查表结果的控制信号。
若干个选择模块,根据结果归并状态控制模块的控制信号,选择来自存储部件的表项并将选择的表项输出,输出的表项存放在查表指令中的目的向量寄存器中。
按照本发明方法及装置实现的并行向量查表指令,只需配置待查所有表项的起始地址、长度、每个表项的大小,根据索引向量寄存器里的待查索引数据,即可实现查表操作。
下面通过具体实施例对本发明做进一步的阐述。
本发明公开了一种并行向量查表装置,以4个512位的交织模块搭建为例,来阐述该装置的工作过程,图1示出了该装置的结构示意图。如图1所示,该装置包括:索引分解模块101、表项输入模块102、交织模块部件103、存储部件104、结果归并状态控制模块105和选择模块106。其中,交织模块部件103由4个交织模块107、108、109和110组成。
以查表索引数据11010110对64个32位的表项查表为例阐述。
首先,64个32位的表项被分成4组,每组16个表项共512位的数据,表项输入模块102将每个512位的数据顺序输入,并按序号分配到4个交织模块107-110上。同时索引分解模块101将查表索引数据分为低位部分和高位部分,并将低位部分发送到交织模块部件103的每一个交织模块上,高位部分被发送到结果归并状态控制模块105,由于每个交织模块都有16个表项输入,所以索引数据低位部分是4位,索引数据的其余4位为高位部分。
然后,每一个交织模块根据索引数据的4位低位部分编码,将512位的数据选择出一个32位的数据作为可能的索引结果存储到存储部件104。交织模块选择数据的过程如图2所示,一个交织模块输入16个32位的数据,由于索引数据的低位部分是0110,所以所有交织模块都选择出序号6的数据,共得到4个32位的数据作为可能的结果发送到存储部件104,存储分布如图3所示,图3中301、302、303、304是交织模块,305是存储部件104,存储部件被分为4块,序号为0-3,分别存放来自不同交织模块的数据。
之后,存储部件104将存储的4个32位数据发送到选择模块106。结果归并状态控制模块105根据索引数据的高位部分发送控制选择模块106的选择信号。由于选择模块只用从4个数据中选择,所以索引数据的高位部分只有01这两位有效,选择模块106根据选择信号,选择来自图3中序号1的数据作为结果输出,该输出是执行装置64个表项中的第23个表项,可见输出的结果是索引数据010110(十六进制16)所要索引的结果表项。
下面再以查表索引数据11010110对128个32位的表项查表为例阐述本发明执行装置的工作。
首先,128个32位的表项被分成8组512位的数据输入到表项输入模块102,每组16个表项。8组512位数据中的前4组先按序号分配到4个交织模块107-110上。索引分解模块101将查表索引数据分为低位部分高位部分,并将低位部分发送到交织部件103的每一个交织模块上,高位部分被发送到结果归并状态控制模块105,由于每个交织模块都有16个表项输入,所以索引数据低位部分是4位,索引数据的其余4位为高位部分。
然后,每一个交织模块根据索引数据的4位低位部分编码0110,将如图2中的序号6的数据存储到存储部件104中。如图4所示存储分布,此时得到的4个32位的数据存储在存储部件序号为0-3的位置。
之后,交织部件103接收表项输入模块102的后4组512位数据,并按输入序号分配到每一个交织模块上。每一个交织模块再根据索引数据的4位低位部分编码0110,选择出32位数据存储到存储部件104,这次通过交织模块部件得到的4个数据存储在图4中序号4-7的位置,这样存储模块中共存有8个32位数据作为可能的查表结果。
最后,存储部件将存储的8个32位数据发送到选择模块106。结果归并状态控制模块105根据索引数据的高位部分发送控制选择模块106的选择信号。由于选择模块需要从8个数据中选择,所以索引数据的高位部分只有101这三位有效,选择模块106根据选择信号,选择来自图4中序号5的数据作为结果输出,该输出是执行装置128个表项中的第86个表项,可见输出的结果是索引数据1010110(十六进制56)所要索引的结果表项。
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种并行向量查表方法,包括以下步骤:
从并行向量查表指令的待查索引向量寄存器中获得待查索引数据,将所述待查索引数据分为高位部分和低位部分,并将所述高位部分发送给结果归并状态控制模块,所述低位部分发送给交织模块;
表项输入模块输入待查的所有表项,根据所述并行向量查表指令中的查表起始地址、查表长度和每个表项的大小,决定所述输入的所有表项的位置和总量,所述所有表项根据交织模块的大小被划分为若干个由对应某一交织模块处理的数据包,每个数据包都由一个或多个输入表项组成,所有的数据包都被分别发送到对应的交织模块;
所述每个交织模块都根据所述待查索引数据的低位部分,从来自表项输入模块的数据包中选择出一个输入表项作为查表可能结果的表项;
结果归并状态控制模块根据所述待查索引数据的高位部分,向选择模块发送选择查表结果的控制信号;
选择模块根据所述结果归并状态控制模块发送的所述控制信号,在所述选择结果中选择最终结果,并将所述最终结果存放在所述并行向量查表指令中的目的向量寄存器中。
2.根据权利要求1所述的并行向量查表方法,其中所述所有表项被划分为若干个数据包的步骤中,如果所述所有表项的个数能够被数据包的个数整除,则所述所有表项被均匀划分为若干个数据包。
3.根据权利要求1所述的并行向量查表方法,其中所述若干个交织模块的个数为4的正整数倍。
4.根据权利要求1所述的并行向量查表方法,其中所述所有表项被划分为若干个数据包的步骤中,如果所述数据包的个数多于交织模块的个数,则会分多次将所述数据包发送到所述交织模块。
5.根据权利要求1所述的并行向量查表方法,其中所述的若干个交织模块选择输出的所述查表可能结果的表项先存储在存储部件中,所述选择模块在所述存储部件存储的所述选择结果中选择最终结果。
6.一种并行向量查表装置,包括:
索引分解模块,用于从并行向量查表指令的待查索引向量寄存器中获得索引数据,将所述待查索引数据分为高位部分和低位部分,并将所述高位部分发送给结果归并状态控制模块,所述低位部分发送给交织模块;
表项输入模块,用于输入待查的所有表项,所述表项输入模块根据所述并行向量查表指令中的查表起始地址、查表长度和每个表项的大小,决定输入数据的位置和总量,并根据交织模块的大小将所述输入的所有表项划分为若干个对应某一交织模块处理的数据包,每个数据包都由一个或多个输入表项组成,所有的数据包都被分别发送到对应的交织模块;
若干个交织模块,每一个交织模块都根据所述待查索引数据的低位部分在所述数据包中选择出一个查表可能结果的表项;
结果归并状态控制模块,根据所述待查索引数据的高位部分,发送控制选择模块输出查表结果的控制信号;
若干个选择模块,根据所述结果归并状态控制模块的控制信号,在所述若干个交织模块选择的表项结果中选择最终结果并将所述最终结果输出,输出的表项存放在查表指令中的目的向量寄存器中。
7.根据权利要求6所述的并行向量查表装置,其中所述表项输入模块中,如果所述所有表项的个数能够被待分成的数据包的个数整除,则所述所有表项被均匀划分为若干个数据包。
8.根据权利要求6所述的并行向量查表装置,其中所述若干个交织模块的个数为4的正整数倍。
9.根据权利要求6所述的并行向量查表装置,其中所述表项输入模块中,如果所述被划分为若干个对应某一交织模块处理的数据包的个数多于所述交织模块的个数,则会分多次将所述数据包发送到所述交织模块。
10.根据权利要求6所述的并行向量查表装置,还包括存储部件,所述若干个交织模块选择输出的所述查表可能结果的表项先存储在所述存储部件中,所述选择模块在所述存储部件存储的所述选择结果中选择最终结果。
CN201410852690.3A 2014-12-31 2014-12-31 一种并行向量查表方法及装置 Active CN104504126B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410852690.3A CN104504126B (zh) 2014-12-31 2014-12-31 一种并行向量查表方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410852690.3A CN104504126B (zh) 2014-12-31 2014-12-31 一种并行向量查表方法及装置

Publications (2)

Publication Number Publication Date
CN104504126A CN104504126A (zh) 2015-04-08
CN104504126B true CN104504126B (zh) 2017-12-29

Family

ID=52945523

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410852690.3A Active CN104504126B (zh) 2014-12-31 2014-12-31 一种并行向量查表方法及装置

Country Status (1)

Country Link
CN (1) CN104504126B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106910168B (zh) * 2017-01-09 2020-02-28 中国科学院自动化研究所 并行图像色彩增强方法
CN106709889A (zh) * 2017-01-09 2017-05-24 中国科学院自动化研究所 并行视频图像对比度增强方法和装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101833441A (zh) * 2010-04-28 2010-09-15 中国科学院自动化研究所 并行向量处理引擎结构
CN101847093A (zh) * 2010-04-28 2010-09-29 中国科学院自动化研究所 具有可重构低功耗数据交织网络的数字信号处理器
US8417693B2 (en) * 2005-07-14 2013-04-09 International Business Machines Corporation Enforcing native access control to indexed documents

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8417693B2 (en) * 2005-07-14 2013-04-09 International Business Machines Corporation Enforcing native access control to indexed documents
CN101833441A (zh) * 2010-04-28 2010-09-15 中国科学院自动化研究所 并行向量处理引擎结构
CN101847093A (zh) * 2010-04-28 2010-09-29 中国科学院自动化研究所 具有可重构低功耗数据交织网络的数字信号处理器

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于并行支持向量机的多变量非线性模型预测控制;包哲静等;《控制与决策》;20070831;第922-926页 *

Also Published As

Publication number Publication date
CN104504126A (zh) 2015-04-08

Similar Documents

Publication Publication Date Title
CN106415515B (zh) 使用不具有sfence的优化的pio写入序列来发送分组
CN104268122B (zh) 一种可变点数的浮点fft处理器
Kubiak et al. Mean flow time minimization in reentrant job shops with a hub
CN105827530B (zh) 一种兼容ipv4/ipv6的ip二分查找方法及装置
CN104504126B (zh) 一种并行向量查表方法及装置
CN104361296B (zh) 一种并行的大容量访问控制列表的查找方法
CN106326234A (zh) 流分类方法及装置
CN108090720B (zh) 一种基于类型petri网的过程分析方法
CN107506310A (zh) 一种地址查找、关键字存储方法及设备
CN109284083A (zh) 一种乘法运算装置及方法
CN102508640B (zh) 基于任务分解的分布式rfid复杂事件检测方法
CN101655821A (zh) 一种解决地址空间映射哈希地址冲突的方法及装置
JP2019091257A (ja) 情報処理装置、情報処理方法及びプログラム
EP2777155B1 (en) Embedded memory and dedicated processor structure within an integrated circuit
CN106250563A (zh) 基于GPS平台的k‑bisimulation计算算法
CN105302838B (zh) 分类方法、查找方法和设备
CN105959224B (zh) 基于比特向量的高速路由查找装置及方法
CN106406820A (zh) 一种网络处理器微引擎的多发射指令并行处理方法及装置
CN108073641A (zh) 查询数据表的方法和装置
CN105553646A (zh) 面向分组密码算法并行计算的可重构s盒电路结构
CN103036796A (zh) 路由信息更新方法及装置
CN109739572A (zh) 一种通用化一体化串口通信方法
CN104657108B (zh) 一种微处理器的软件模拟器的事件队列的管理方法及系统
CN109634556A (zh) 一种乘累加器及累加输出方法
CN109597768A (zh) 对存储器地址请求进行分类以用于并行存储器访问

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
TA01 Transfer of patent application right

Effective date of registration: 20171207

Address after: 102412 Beijing City, Fangshan District Yan Village Yan Fu Road No. 1 No. 11 building 4 layer 402

Applicant after: Beijing Si Lang science and Technology Co.,Ltd.

Address before: 100190 Zhongguancun East Road, Beijing, No. 95, No.

Applicant before: Institute of Automation, Chinese Academy of Sciences

GR01 Patent grant
GR01 Patent grant
CP03 Change of name, title or address

Address after: 201306 building C, No. 888, Huanhu West 2nd Road, Lingang New District, China (Shanghai) pilot Free Trade Zone, Pudong New Area, Shanghai

Patentee after: Shanghai Silang Technology Co.,Ltd.

Address before: 102412 room 402, 4th floor, building 11, No. 1, Yanfu Road, Yancun Town, Fangshan District, Beijing

Patentee before: Beijing Si Lang science and Technology Co.,Ltd.

CP03 Change of name, title or address