CN108733352A - 支持向量排序的装置、方法及应用 - Google Patents

支持向量排序的装置、方法及应用 Download PDF

Info

Publication number
CN108733352A
CN108733352A CN201710279834.4A CN201710279834A CN108733352A CN 108733352 A CN108733352 A CN 108733352A CN 201710279834 A CN201710279834 A CN 201710279834A CN 108733352 A CN108733352 A CN 108733352A
Authority
CN
China
Prior art keywords
vector
ordering
data
sequence
instruction
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.)
Granted
Application number
CN201710279834.4A
Other languages
English (en)
Other versions
CN108733352B (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 Cambricon Information Technology Co Ltd
Original Assignee
Shanghai Cambricon Information 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
Priority to CN201710279834.4A priority Critical patent/CN108733352B/zh
Application filed by Shanghai Cambricon Information Technology Co Ltd filed Critical Shanghai Cambricon Information Technology Co Ltd
Priority to US16/476,261 priority patent/US11977968B2/en
Priority to CN201880000808.6A priority patent/CN109104876B/zh
Priority to PCT/CN2018/083379 priority patent/WO2018192492A1/zh
Priority to CN201811011596.XA priority patent/CN109284823B/zh
Priority to EP18787049.8A priority patent/EP3579152B1/en
Priority to EP19199531.5A priority patent/EP3699826A1/en
Publication of CN108733352A publication Critical patent/CN108733352A/zh
Priority to US16/537,820 priority patent/US10789531B2/en
Application granted granted Critical
Publication of CN108733352B publication Critical patent/CN108733352B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/76Arrangements for rearranging, permuting or selecting data according to predetermined rules, independently of the content of the data

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Complex Calculations (AREA)

Abstract

本公开涉及支持向量排序的装置、方法和应用,其中装置包括数据存储单元、运算模块、控制单元和数据输出单元,其中,数据存储单元,用于存储向量排序指令、待排序的数据向量以及排序向量的中间结果;控制单元,获取所述向量排序指令;运算模块,用于将待排序的数据向量或排序向量的中间结构排序为由小到大的向量或由大到小的向量,排序运算所采用的方法可以配置;数据输出单元,用于存储排序后的向量。

Description

支持向量排序的装置、方法及应用
技术领域
本公开涉及向量运算领域,更具体地涉及支持向量排序指令的装置、和方法,以及相应装置的应用。
背景技术
向量排序,作为一种基本的运算类型,广泛应用于各种领域。例如,在数据库中,根据某一属性值进行排序;在人工神经网络对样本进行分类预测时,根据样本属于各分类的概率求解前k最大概率对应的类型时,需要计算出的各个分类概率进行排序,挑选出前k大的概率对应的类型。
传统的向量排序方法是在通用处理器上通过特定的算法进行运算,可以采用的方式大致有冒泡排序、选择排序、快速排序、归并排序和二分排序。采用软件方式在通用处理器上进行排序过程中,相关操作串行执行,很难利用排序算法的可并行性,运算速度较慢,同时,向量排序算法会被分成译码成一系列的指令序列,译码的开销也很大。
公开内容
有鉴于此,本公开的目的在于,提供一种支持向量排序指令的装置、方法及应用,以解决以上所述的至少一项技术问题。
根据本公开的一方面,提供一种支持向量排序的装置,包括数据存储单元、运算模块、控制单元和数据输出单元,其中,
数据存储单元,用于存储向量排序指令、待排序的数据向量以及排序向量的中间结果;
控制单元,获取所述向量排序指令,并向运算模块输入进行运算的微指令,并控制运算模块将运算结果写入到数据输出单元中;
运算模块,用于根据微指令设置排序规则,将待排序的数据向量或排序向量的中间结构排序为由小到大的向量或由大到小的向量,形成与待排序的数据向量等长度的排序后的向量;
数据输出单元,用于存储排序后的向量。
根据本公开另一方面,提供一种步骤1,控制单元3从数据存储单元1中获取所要执行的指令,单元根据指令的操作码判断指令的类型,若指令为排序指令,转到步骤5,否则,转到步骤2执行;
步骤2,控制单元3控制运算模块2从数据存储单元1中获取执行操作所需的源数据,并将其送入到第二运算子模块22;
步骤3,控制单元3控制第二运算子模块22根据指令内容完成相应的运算,获取运算结果;
步骤4,控制单元3控制第二运算子模块22将运算结果根据指令中目的操作数的地址写入到数据输出单元4中,运算终止;
步骤5,控制单元3根据向量排序的类型、待排序向量的长度,排序指令的源操作数源地址、目的操作数地址,生成向量排序所需要的微指令,并将微指令送至运算模块2;
步骤6,运算模块2从数据存储单元1中获取待排序向量或排序中间结果,根据微指令对待排序向量或排序中间结果进行排序操作;若排序得到的为中间结果,则将中间结果写回到数据存储单元1原地址处,重复执行步骤6;否则,排序得到的为最后结果,将排序后的结果根据排序指令提供的目的操作数地址写回到数据输出单元4中,操作结束。
根据本公开的再一方面,提供一种使用以上装置进行神经网络运算的方法,其中所述待排序的数据向量为预处理阶段测试数据特征矩阵对应的特征值向量和分类结果的概率向量。
本公开的装置可以通过冒泡排序、选择排序、快速排序、归并排序、二分排序等排序方法进行向量排序。其中本装置可以实现向量运算,可以充分利用排序方法的可并行性,该装置支持的向量排序指令中存在向量长度域用于指明待排序向量的长度,待排序向量的长度可变,排序方法可以配置。
附图说明
图1示意性示出了本公开实施例的向量排序指令的格式;
图2示意性示出了本公开实施例的支持向量排序指令的装置的整体结构;
图3示意性示出了本公开实施例的向量排序运算的流程图。
图4示意性示出了本公开实施例的向量归并排序运算的流程图。
图5示意性示出了本公开实施例的通过指令配置的方式动态选择排序方法完成向量排序运算的流程图。
图6示意性示出了本公开实施例的支持向量排序指令的装置的归并排序部分的第一运算子模块的结构示意图;
图7示意性示出了本公开实施例的数据归并单元的结构示意图。
具体实施方式
为使本公开的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本公开作进一步的详细说明。
在本说明书中,下述用于描述本公开原理的各种实施例只是说明,不应该以任何方式解释为限制公开的范围。参照附图的下述描述用于帮助全面理解由权利要求及其等同物限定的本公开的示例性实施例。下述描述包括多种具体细节来帮助理解,但这些细节应认为仅仅是示例性的。因此,本领域普通技术人员应认识到,在不背离本公开的范围和精神的情况下,可以对本文中描述的实施例进行多种改变和修改。此外,为了清楚和简洁起见,省略了公知功能和结构的描述。此外,贯穿附图,相同参考数字用于相似功能和操作。
根据本公开的基本构思,提供一种支持向量排序指令的装置,该装置可以完成向量排序功能。其中本装置可以实现向量运算,可以充分利用排序方法的可并行性。该装置支持的向量排序指令中存在向量长度域用于指明待排序向量的长度,待排序向量的长度可变。
为使本公开的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本公开作进一步的详细说明。
图1示意性示出了本公开实施例的向量排序指令的格式,其中可包括:
操作码OP,长度为k位,内容为b1b2...bk,用于指明该指令所做的操作为向量排序操作,若指令的前k位不与b1b2...bk一致,则表明指令表示其他运算操作;
向量地址SRC,长度为q位,当操作码为b1b2...bk时,表示待排序向量在数据存储单元中的地址;
向量地址DST,长度为q位,当操作码为b1b2...bk时,表示排序后的向量在数据输出单元中的地址;
向量长度LEN,长度为r位,当操作码为b1b2...bk时,表示待排序向量的长度;
排序类型,长度为1或多位,当操作码为b1b2...bk时,若排序类型的最高位为0,表示由小到大进行排序。若排序类型的最高位为1,表示由大到小进行排序。若排序类型域的长度为m(m>1)位,排序类型的低m-1位指明排序指令所采用的排序方法。
图2示意性示出了本公开实施例的支持向量排序指令的装置的整体结构。其中包括:
数据存储单元1,用于向控制单元3提供运算指令和向运算模块2提供运算操作的源操作数。如果进行的运算为非向量排序指令,则数据存储单元1将源操作数提供给运算模块2的第二运算子模块22,如果进行的运算为向量排序指令,则数据存储单元1将根据控制传递的信号将指定地址长度的源操作数提供给向量排序子模块21,并存储向量排序子模块21运算后的中间结果,再将存储的中间结果提供给第一运算子模块21,循环多次,直到第一运算子模块21运算得到已排序的向量。
运算模块2,用于根据控制单元3发出的信号从数据存储单元1中读取源操作数,并执行相应的运算,将运算结果写入到数据输出单元4中。其中运算模块2由向量排序子模块21和第二运算子模块22两部分构成。若由控制单元3发出的运算信号为非向量排序信号,则由第二运算子模块22完成相应的运算,并将运算结果写入到数据输出单元4中。若有控制单元3发出的运算信号为向量排序信号,则向量排序子模块21根据控制单元3发出的微指令进行向量排序运算。排序过程中,向量排序子模块21根据设置的输入数据地址和长度从数据存储单元1中读取原始数据向量或者排序得到的中间结果,若排序运算得到的是中间结果,写回到数据存储单元1中,若排序运算得到的是最终结果,则将数据向量写入到数据输出单元4中。
优选地,向量排序子模块21可以完成向量归并排序。优选地,向量排序子模块21可以通过指令配置的方式动态选择排序方法完成向量排序运算。
控制单元3,用于从数据存储单元1中读取运算操作指令,并根据指令中的操作码,生成对应的微指令,发送给运算模块2进行相关运算。控制单元3判断待执行指令为是否为排序指令,若待执行指令为非排序指令,根据指令中的源操作数、向量长度等信息控制运算模块2从数据存储单元1中读取源操作数,通过其它运算子模块22运算得到结果,并将结果写入数据输出单元4的目的操作数地址dst处。若待执行指令为排序指令,则根据排序指令的源操作数地址和长度控制向量排序子模块21从数据存储单元1中读取源操作数,完成向量排序运算以及将中间运算结果写回到数据存储单元1中或将最终结果写入输出单元4中。
数据输出单元4,用于接收运算模块2运算得到的结果。运算模块2运算得到的结果会根据指令中目的操作数地址dst写入到数据输出单元4中的dst处。
图3示意性示出了本公开实施例的向量排序运算的流程图,方法包括:
步骤1,控制单元3从数据存储单元1中获取所要执行的指令,单元根据指令的操作码判断指令的类型,若指令为排序指令,转到步骤5,否则,转到步骤2执行;
步骤2,控制单元3控制运算模块2从数据存储单元1中获取执行操作所需的源数据,并将其送入到第二运算子模块22;
步骤3,控制单元3控制第二运算子模块22根据指令内容完成相应的运算,获取运算结果;
步骤4,控制单元3控制第二运算子模块22将运算结果根据指令中目的操作数的地址写入到数据输出单元4中,运算终止。
步骤5,控制单元3根据向量排序的类型、待排序向量的长度,排序指令的源操作数源地址、目的操作数地址,生成向量排序所需要的微指令,并将微指令送至运算模块2。
步骤6,运算模块2从数据存储单元1中获取待排序向量或排序中间结果,根据微指令对待排序向量或排序中间结果进行排序操作。若排序得到的为中间结果,则将中间结果写回到数据存储单元1原地址处,重复执行步骤6;否则,排序得到的为最后结果,将排序后的结果根据排序指令提供的目的操作数地址写回到数据输出单元4中,操作结束。
优选地,向量排序子模块21可以完成向量归并排序。
图4示意性示出了本公开实施例的向量归并排序运算的流程图。对应的操作流程如下:
步骤1,控制单元3从数据存储单元1中获取所要执行的指令,单元根据指令的操作码判断指令的类型,若指令为排序指令,转到步骤5,否则,转到步骤2执行;
步骤2,控制单元3控制运算模块2从数据存储单元1中获取执行操作所需的源数据,并将其送入到第二运算子模块22;
步骤3,控制单元3控制第二运算子模块22根据指令内容完成相应的运算,获取运算结果;
步骤4,控制单元3控制第二运算子模块22将运算结果根据指令中目的操作数的地址写入到数据输出单元4中,运算终止。
步骤5,控制单元3根据向量排序指令中的排序类型设置运算模块的第一运算子模块21中向量归并单元的归并方式,初始化归并次数i为1;
步骤6,在第i次归并待排序向量或中间结果时,控制单元3根据排序指令提供的源操作数地址从数据存储单元1中获取待排序向量或排序中间结果,将待排序向量或排序中间结果按顺序分成份,除最后一份外,每个向量长度为2i-1,其中m和n分别为待排序向量的长度和向量归并单元的数量,按顺序编号然后,将编号为2*j-1、2*j(j>0)的向量分配给第((j-1)mod n)+1个向量归并单元进行处理,若归并次数则将归并次数加一,并将处理后的排序中间结果写回到数据存储单元1原地址中,若归并次数只存在分配后的两份待排序向量,经第一个向量归并单元归并后,得到的向量为已排序向量,控制单元3控制第一运算子模块21将排序后的结果根据排序指令提供的目的操作数地址写入到数据输出单元4中,操作结束。
优选地,向量排序子模块21可以通过指令配置的方式动态选择排序方法完成向量排序运算。
图5示意性示出了本公开实施例的通过指令配置的方式动态选择排序方法完成向量排序运算的流程图。对应的操作流程如下:
步骤1,控制单元3从数据存储单元1中获取所要执行的指令,单元根据指令的操作码判断指令的类型,若指令为排序指令,转到步骤5,否则,转到步骤2执行;
步骤2,控制单元3控制运算模块2从数据存储单元1中获取执行操作所需的源数据,并将其送入到第二运算子模块22;
步骤3,控制单元3控制第二运算子模块22根据指令内容完成相应的运算,获取运算结果;
步骤4,控制单元3控制第二运算子模块22将运算结果根据指令中目的操作数的地址写入到数据输出单元4中,运算终止。
步骤5,控制单元3根据排序指令中的排序类型域选择对运算模块数据向量进行排序操作所采用的方法,包括但不局限于冒泡排序、选择排序、快速排序、归并排序、二分排序等;
步骤6,控制单元3根据向量排序的类型、待排序向量的长度,排序指令的源操作数源地址、目的操作数地址,生成向量排序所需要的微指令,并将微指令送至运算模块2。
步骤7,运算模块2从数据存储单元1中获取待排序向量或排序中间结果,根据微指令对待排序向量或排序中间结果进行排序操作。若排序得到的为中间结果,则将中间结果写回到数据存储单元1原地址处,重复执行步骤7;否则,排序得到的为最后结果,将排序后的结果根据排序指令提供的目的操作数地址写回到数据输出单元4中,操作结束。
图6示意性示出了本公开实施例的支持向量排序指令的装置的归并排序部分的第一运算子模块的结构示意图;
图7示意性示出了本公开实施例的数据归并单元的结构示意图;
如图所示,数据归并单元中包括控制信号CTRL,输入向量D_1和D_2,输出数据为OUT。其中,CTRL用于设置数据归并单元的操作类型和指明输入向量D_1和D_2的长度len_1和len_2,可选类型为0和1,类型0表示数据归并单元根据向量由小到大的顺序进行归并,类型1表示数据归并单元根据向量由大到小的顺序进行归并,若其中一个输入向量的长度为0时,则直接输出另一个向量。比如,当向量D_1和D_2且操作类型为0分别为2、4、6、8和3、3、5、9时,归并的过程如下:
步骤1:
D_1:2467 len_1:4
D_2:3389 len_2:4
输出向量:2
步骤2:
D_1:467 len_1:3
D_2:3389 len_2:4
输出向量:23
步骤3:
D_1:467 len_1:3
D_2:389 len_2:3
输出向量:233
步骤4:
D_1:467 len_1:3
D_2:89 len_2:2
输出向量:2334
步骤5:
D_1:67 len_1:2
D_2:89 len_2:2
输出向量:23346
步骤6:
D_1:7 len_1:1
D_2:89 len_2:2
输出向量:233467
步骤7:
D_1: len_1:0
D_2:89 len_2:2
输出向量:23346789
向量归并结束。
对于向量排序指令(sort_op,src,dst,9,0),假设数据存储单元1地址src开始,连续存放的9个数据分别为9、1、5、3、4、2、6、8、7,向量归并单元数量为2。根据排序类型的最高位,进行由小到大的排序,根据排序类型的低m-1位全0,进行排序的类型为归并排序。在运算过程,每次每个向量归并单元对应输入的向量、地址以及输出地址如下所示:
第一次合并:
合并后的向量为193524687;
第二次合并:
合并后的向量为135924687;
第三次合并:
合并后的向量为:123456787
第四次合并:
合并后的向量为:123456778,并将其送入到数据输出单元4中。
以上所述的具体实施例,对本公开的目的、技术方案和有益效果进行了进一步详细说明,应理解的是,以上所述仅为本公开的具体实施例而已,并不用于限制本公开,凡在本公开的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本公开的保护范围之内。

Claims (10)

1.一种支持向量排序的装置,包括数据存储单元、运算模块、控制单元和数据输出单元,其中,
数据存储单元,用于存储向量排序指令、待排序的数据向量以及排序向量的中间结果;
控制单元,获取所述向量排序指令,并向运算模块输入进行运算的微指令,并控制运算模块将运算结果写入到数据输出单元中;
运算模块,用于根据微指令设置排序规则,将待排序的数据向量或排序向量的中间结构排序为由小到大的向量或由大到小的向量,形成与待排序的数据向量等长度的排序后的向量;
数据输出单元,用于存储排序后的向量。
2.根据权利要求1所述的装置,其特征在于,所述排序规则包括冒泡排序、选择排序、快速排序、归并排序和/或二分排序规则。
3.根据权利要求2所述的装置,其特征在于,所述排序规则为归并排序规则。
4.根据权利要求3所述的装置,其特征在于,所述运算模块包括由n个向量归并单元构成的第一运算子模块,其中,n为大于等于2的自然数,第一运算子模块每次从数据存储单元中读取不大于2n个已经归并的子向量或者有序子向量,然后进行归并,转存入数据存储单元中,直到已经归并的子向量的长度等于待排序的数据向量长度,形成排序后的向量。
5.根据权利要求1-4任一所述的装置,其特征在于,所述运算模块还包括进行非向量排序的第二运算子模块,第二运算子模块用以完成除向量排序外的运算操作。
6.一种向量排序方法,其特征在于包括:
步骤1,控制单元3从数据存储单元1中获取所要执行的指令,单元根据指令的操作码判断指令的类型,若指令为排序指令,转到步骤5,否则,转到步骤2执行;
步骤2,控制单元3控制运算模块2从数据存储单元1中获取执行操作所需的源数据,并将其送入到第二运算子模块22;
步骤3,控制单元3控制第二运算子模块22根据指令内容完成相应的运算,获取运算结果;
步骤4,控制单元3控制第二运算子模块22将运算结果根据指令中目的操作数的地址写入到数据输出单元4中,运算终止;
步骤5,控制单元3根据向量排序的类型、待排序向量的长度,排序指令的源操作数源地址、目的操作数地址,生成向量排序所需要的微指令,并将微指令送至运算模块2;
步骤6,运算模块2从数据存储单元1中获取待排序向量或排序中间结果,根据微指令对待排序向量或排序中间结果进行排序操作;若排序得到的为中间结果,则将中间结果写回到数据存储单元1原地址处,重复执行步骤6;否则,排序得到的为最后结果,将排序后的结果根据排序指令提供的目的操作数地址写回到数据输出单元4中,操作结束。
7.根据权利要求6所述的方法,其特征在于,步骤5中,所述向量排序的类型为归并排序。
8.根据权利要求7所述的方法,其特征在于,步骤6具体为:
S61:初始化归并次数i为1;
S62:通过多个向量归并单元进行计算,设定在第i次归并待排序的数据向量或中间结果时:
从数据存储单元中获取待排序向量或排序中间结果,将待排序的数据向量或排序中间结果按顺序分成份,除最后一份外,每个向量长度为2i-1,其中m和n分别为待排序向量的长度和向量归并单元的数量,对向量进行两两归并,
若归并次数则将归并次数加一,并将处理后的中间结果写回到数据存储单元原地址中,i++,重复步骤S62;
若归并次数只存在分配后的两份待排序向量,经第一个向量归并单元归并后,得到的向量为已排序向量,将排序后的结果根据排序指令提供的目的操作数地址写入到数据输出单元中,操作结束。
9.根据权利要求8所述的方法,其特征在于,步骤6中,两两归并具体包括:控制单元根据排序指令提供的源操作数地址按顺序编号1、2、…、将编号为2*j-1、2*j的向量分配给第((j-1)mod n)+1个向量归并单元进行处理,其中j>0。
10.使用权利要求1-5任一所述装置进行神经网络运算的方法,其中所述待排序的数据向量为预处理阶段测试数据特征矩阵对应的特征值向量和分类结果的概率向量。
CN201710279834.4A 2017-04-20 2017-04-25 支持向量排序的装置、方法及应用 Active CN108733352B (zh)

Priority Applications (8)

Application Number Priority Date Filing Date Title
CN201710279834.4A CN108733352B (zh) 2017-04-25 2017-04-25 支持向量排序的装置、方法及应用
CN201880000808.6A CN109104876B (zh) 2017-04-20 2018-04-17 一种运算装置及相关产品
PCT/CN2018/083379 WO2018192492A1 (zh) 2017-04-20 2018-04-17 一种运算装置及相关产品
CN201811011596.XA CN109284823B (zh) 2017-04-20 2018-04-17 一种运算装置及相关产品
US16/476,261 US11977968B2 (en) 2017-04-20 2018-04-17 Sparse processing in neural network processors
EP18787049.8A EP3579152B1 (en) 2017-04-20 2018-04-17 Computing apparatus and related product
EP19199531.5A EP3699826A1 (en) 2017-04-20 2018-04-17 Operation device and related products
US16/537,820 US10789531B2 (en) 2017-04-20 2019-08-12 Operation device and related products

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710279834.4A CN108733352B (zh) 2017-04-25 2017-04-25 支持向量排序的装置、方法及应用

Publications (2)

Publication Number Publication Date
CN108733352A true CN108733352A (zh) 2018-11-02
CN108733352B CN108733352B (zh) 2021-06-11

Family

ID=63934654

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710279834.4A Active CN108733352B (zh) 2017-04-20 2017-04-25 支持向量排序的装置、方法及应用

Country Status (1)

Country Link
CN (1) CN108733352B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112861145A (zh) * 2021-01-06 2021-05-28 华控清交信息科技(北京)有限公司 一种数据处理方法、装置和用于数据处理的装置
US11593106B1 (en) 2021-09-24 2023-02-28 Apple Inc. Circuits and methods for vector sorting in a microprocessor

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1427336A (zh) * 2001-12-19 2003-07-02 松下电器产业株式会社 微处理器
CN101571810A (zh) * 2009-05-31 2009-11-04 清华大学 执行程序的方法、验证程序结果的方法、装置及系统
CN101925877A (zh) * 2008-01-22 2010-12-22 Arm有限公司 对数据执行排列运算的装置与方法
US20110055497A1 (en) * 1997-10-09 2011-03-03 Mips Technologies, Inc. Alignment and Ordering of Vector Elements for Single Instruction Multiple Data Processing
CN102637124A (zh) * 2012-03-22 2012-08-15 中国电子科技集团公司第五十八研究所 一种基4fft算法的并行处理装置及方法
CN103218204A (zh) * 2013-04-19 2013-07-24 中国科学院自动化研究所 多模式地址产生装置
CN103870408A (zh) * 2012-12-18 2014-06-18 群联电子股份有限公司 数据处理方法、存储器控制器与存储器储存装置
WO2017021697A1 (en) * 2015-07-31 2017-02-09 Arm Limited Data processing

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110055497A1 (en) * 1997-10-09 2011-03-03 Mips Technologies, Inc. Alignment and Ordering of Vector Elements for Single Instruction Multiple Data Processing
CN1427336A (zh) * 2001-12-19 2003-07-02 松下电器产业株式会社 微处理器
CN101925877A (zh) * 2008-01-22 2010-12-22 Arm有限公司 对数据执行排列运算的装置与方法
CN101571810A (zh) * 2009-05-31 2009-11-04 清华大学 执行程序的方法、验证程序结果的方法、装置及系统
CN102637124A (zh) * 2012-03-22 2012-08-15 中国电子科技集团公司第五十八研究所 一种基4fft算法的并行处理装置及方法
CN103870408A (zh) * 2012-12-18 2014-06-18 群联电子股份有限公司 数据处理方法、存储器控制器与存储器储存装置
CN103218204A (zh) * 2013-04-19 2013-07-24 中国科学院自动化研究所 多模式地址产生装置
WO2017021697A1 (en) * 2015-07-31 2017-02-09 Arm Limited Data processing

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
杨智明: "《数据结构C语言版》", 31 August 2016, 北京理工大学出版社 *
郭诚欣等: "基于现代硬件的并行内存排序方法综述", 《计算机学报》 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112861145A (zh) * 2021-01-06 2021-05-28 华控清交信息科技(北京)有限公司 一种数据处理方法、装置和用于数据处理的装置
CN112861145B (zh) * 2021-01-06 2023-12-12 华控清交信息科技(北京)有限公司 一种数据处理方法、装置和用于数据处理的装置
US11593106B1 (en) 2021-09-24 2023-02-28 Apple Inc. Circuits and methods for vector sorting in a microprocessor

Also Published As

Publication number Publication date
CN108733352B (zh) 2021-06-11

Similar Documents

Publication Publication Date Title
US11977977B2 (en) Methods and systems for data analysis in a state machine
US8680888B2 (en) Methods and systems for routing in a state machine
US20180341612A1 (en) Methods and apparatuses for providing data received by a state machine engine
CN107256156A (zh) 用于状态机中的检测的方法及系统
KR102376117B1 (ko) 병렬 결정 트리 프로세서 아키텍처
US4567572A (en) Fast parallel sorting processor
CN107608750B (zh) 用于型式辨识的装置
CN108256164A (zh) 状态机晶格中的布尔逻辑
US11068265B2 (en) Sequence alignment method of vector processor
KR880701914A (ko) 병렬처리 시스템 및 그 사용방법
US20230176999A1 (en) Devices for time division multiplexing of state machine engine signals
CN108733352A (zh) 支持向量排序的装置、方法及应用
CN105830160B (zh) 用于将经屏蔽数据写入到缓冲器的设备及方法
JP2015503785A (ja) Fft/dftの逆順ソーティングシステム、方法およびその演算システム
JPS61210478A (ja) ベクトル処理装置
JP7044118B2 (ja) 並列ユニオン制御装置、並列ユニオン制御方法、および並列ユニオン制御用プログラム
US4374412A (en) Circulating page loose system
JPS6134629A (ja) グラフマネジャー
JPH03129521A (ja) 分類加速装置の安定分類
JPH073655B2 (ja) 整理編集プロセツサ
US3383661A (en) Arrangement for generating permutations
Kanazawa et al. Solving SAT-encoded formal verification problems on SoC based on a WSAT algorithm with a new heuristic for hardware acceleration
Herath et al. Not (operation) for high speed data-flow computing systems
Reus et al. The church-turing thesis
Zheng Algorithms for sorting arbitrary input using a fixed-size parallel sorting device

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