CN101124538A - 算术或逻辑运算树的计算 - Google Patents

算术或逻辑运算树的计算 Download PDF

Info

Publication number
CN101124538A
CN101124538A CNA2005800483720A CN200580048372A CN101124538A CN 101124538 A CN101124538 A CN 101124538A CN A2005800483720 A CNA2005800483720 A CN A2005800483720A CN 200580048372 A CN200580048372 A CN 200580048372A CN 101124538 A CN101124538 A CN 101124538A
Authority
CN
China
Prior art keywords
arithmetic
treatment element
iteration
logical operation
calculating
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.)
Pending
Application number
CNA2005800483720A
Other languages
English (en)
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.)
Koninklijke Philips NV
Original Assignee
Koninklijke Philips Electronics NV
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 Koninklijke Philips Electronics NV filed Critical Koninklijke Philips Electronics NV
Publication of CN101124538A publication Critical patent/CN101124538A/zh
Pending legal-status Critical Current

Links

Images

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/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/50Adding; Subtracting
    • G06F7/505Adding; Subtracting in bit-parallel fashion, i.e. having a different digit-handling circuit for each denomination
    • G06F7/509Adding; Subtracting in bit-parallel fashion, i.e. having a different digit-handling circuit for each denomination for multiple operands, e.g. digital integrators
    • 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/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/50Adding; Subtracting
    • G06F7/504Adding; Subtracting in bit-serial fashion, i.e. having a single digit-handling circuit treating all denominations after each other
    • G06F7/5045Adding; Subtracting in bit-serial fashion, i.e. having a single digit-handling circuit treating all denominations after each other for multiple operands

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Computational Mathematics (AREA)
  • Computing Systems (AREA)
  • Mathematical Optimization (AREA)
  • General Engineering & Computer Science (AREA)
  • Advance Control (AREA)
  • Image Processing (AREA)
  • Executing Machine-Instructions (AREA)

Abstract

一种用于在包括至少n个并行处理元件的微处理器上计算算术或逻辑运算的至少第一和第二树的方法。该方法包括:a)使用n个处理元件来并行地执行第一树的第一迭代的n个算术或逻辑运算(在48中),然后b)使用从用于计算第一迭代的n个处理元件中选出的m个处理元件,在第一迭代的结果之间并行地执行m个算术或逻辑运算(在66中),其他的n-m个处理元件不用于第二迭代的计算。与第一树的第二迭代的计算并行的是,该方法包括:使用从不用于计算第一树的第二迭代的n-m个处理元件中选出的k个处理元件,并行地执行第二树的k个算术或逻辑运算(在66中)。

Description

算术或逻辑运算树的计算
技术领域
本发明涉及一种算术或逻辑运算树的计算。
背景技术
算术或逻辑运算树包括根据树结构而组织的算术或逻辑运算。该树结构包括多个节点,每个节点具有至少两个输入端和一个输出端。每个节点与其输入端所接收到的数据之间的算术或逻辑运算相对应,并在其输出端提供该算术或逻辑运算的结果。
可以将该树结构分成连续的等级:
-包括叶节点的第一等级,
-若干中间等级,每个中间等级包括具有输入端的节点,该输入端直接连接到相同在前等级的节点的输出端,以及
-具有根节点的根等级。
这种运算树的计算需要多次迭代。在迭代期间,执行与相同等级的节点相对应的所有运算。
典型地,用于在包括至少n个并行处理元件的微处理器上计算算术或逻辑运算的至少第一树和第二树的方法包括:
a)使用n个处理元件来并行地执行第一树的第一迭代的n个算术或逻辑运算,然后
b)使用从用于计算第一迭代的n个处理元件中选出的m个处理元件,在第一迭代的结果之间并行地执行m个算术或逻辑运算,其他n-m个处理元件不用于第二迭代的计算,其中m是严格小于n的整数。
一旦计算出第一运算树,则以相似的方式来配置处理元件,以便处理第二运算树。
这是使用具有并行处理元件的微处理器的低效方式,因为在第一运算树的第二迭代的计算期间,一些处理元件没有得到使用。
在Andrew Paul Wallace的US 2003/0088603中,描述了包括n个并行处理元件的微处理器的示例。
发明内容
因此,本发明的目的是提供一种用于计算至少第一和第二运算树的方法,该方法以更有效的方式来使用具有多个并行处理元件的微处理器。
本发明提供了一种用于在这种微处理器上计算至少第一和第二运算树的方法,其中与第一树的第二迭代计算并行的是,该方法包括使用从不用于计算第一树的第二迭代的n-m个处理元件中选出的k个处理元件,并行地执行第二树的k个算术或逻辑运算,其中k是小于或等于n-m的整数。
在上述方法中,将n-m个不用于第一运算树的迭代的处理元件用于并行地计算第二运算树的算术或逻辑运算。因此,并行使用的处理元件的数量和并行执行的运算数量增加。因此,包括多个并行处理元件的微处理器的使用更加有效。
权利要求2所述的特征减少了处理时间量,因为在m个处理元件之间转移数据的所需时间内,还并行地转移k个处理元件之间的数据。
权利要求3所述的特征减少了处理元件之间的数据转移时间。
本发明还涉及具有用于执行上述方法的指令的存储器和微处理器程序。
本发明还涉及电信设备中的解扩方法,该电信设备使用上述方法来计算相同的算术或逻辑运算的至少第一树和第二树。
附图说明
图1是典型运算树的示意图;
图2是用于计算图1的运算树的SIMD(单指令多数据)微处理器的示意图;
图3是使用图2的微处理器来并行地计算诸如图1中的运算树的8个运算树的方法的流程图;
图4A-4B,5A-5B以及图6是图3中的方法的步骤的例证。
具体实施方式
图1示出了运算树2的示例。例如,在图1中,以并行的垂直行来组织节点,每一行与运算树的等级相对应。在图1的最左边的行包括所有叶节点LFi,并且图1的最右边的行仅包括根节点RN。
每个叶节点LFi具有两个输入端,旨在用于接收待处理的数据。两个叶节点LFi的输出端连接到下一行的节点的输入端。所述下一行的节点的输出端以类似的方式连接到再下一行的输入端。重复将一行的节点连接到下一行节点的这种方式,直到达到具有根节点RN的根行。
这里,运算树2是二叉树的和,并且每个节点对应于两个输入数据之间的相加。例如,将运算树2用于计算大量数据的相加,例如CDMA(码分多址)电信系统中的扩频信号的每个码片的码片值。
运算树2的计算需要多次迭代ITi。在第一迭代IT1期间,执行叶节点LFi的算术或逻辑运算。然后,在下一迭代IT2期间,执行与左边第二行的节点相对应的运算。重复这个过程,直到执行与根节点RN相对应的运算。
例如,如果运算树2中输入数据的数量n等于256,则对运算数2进行8次迭代计算。在迭代IT1到IT8期间执行的相加次数分别是128、64、32、16、8、4、2和1。
图2示出了用于计算运算树2的SIMD(单指令多数据)微处理器20。SIMD微处理器尤其适于在相同时刻对大量数据执行相同处理。
为了简单起见,图1只示出了理解本发明所需的细节。
微处理器20包括数量为p的并行处理元件PEi。例如,p等于4086,索引i是从1到4086范围内的整数。将所有处理元件PEi都设计为对不同数据集并行地执行相同的程序。因此,每个处理元件都具有:ALU(算术和逻辑单元),用于执行算术或逻辑运算;以及数据寄存器DRi,用于存储由ALU所处理的数据以及该处理的结果。例如,数据寄存器DRi可以存储高达192比特。
图2中只示出了五个处理元件PE1、PE2、PEi、PEp-1以及PEp。
微处理器20的处理元件通过互连网络24相互连接,因此可以将存储在一个数据寄存器DRi中的数据转移到另一个处理元件PEj的另一个数据寄存器DRj。每个数据寄存器DRi都具有数据转移期间在网络24上的地址。
在相同的硅管芯或衬底上制造处理元件PEi。
微处理器20易于使用,因为相同的应用程序应用于所有的处理元件,并且所有处理元件在在相同时刻执行相同的指令。将程序存储在连接到微处理器20的存储器26中。
存储器26包括如下用途的指令:当微处理器20执行这些指令时,执行图2中的方法。
现在,参考图3到图6,具体是在并行地处理8个相同的二叉树和A、B、C、D、E、F、G、H的情况下,对用于在微处理器上计算至少两个诸如运算树2的运算树的方法进行描述。例如,下面所描述的方法是在电信设备中所实现的解扩方法的一部分。
每个二叉树和A至H具有256个数据输入,每个数据是表示逻辑0或逻辑1的比特。
此外,在仅使用微处理器20的前256个处理元件PEi计算8个二叉树和A至H的具体情况下,对图3中的方法进行描述。
最初,在步骤40中,将每个二叉树和的每个输入数据存储在微处理器20的数据寄存器DRi之一中。例如,将二叉树和A、B、C、D、E、F、G和H的输入数据Ai、Bi、Ci、Di、Ei、Fi、Gi和Hi分别存储在数据寄存器DRi中。由此,将数据A1、B1、C1、D1、E1、F1、G1和H1存储在第一处理元件PE1的数据寄存器DR1中,并且将数据A256、B256、...和H256存储在用于计算二叉树和A至H的最后一个处理元件PE256的数据寄存器DR256中。
随后,在阶段42期间,计算每个二叉树和的第一迭代。
更具体地,在步骤44中,处理器20使用处理元件PE1到PE256来并行地计算二叉树和A和B的第一迭代。
在步骤44期间,微处理器20将数据A2j转移给数据寄存器DR2(j-1)+1,以及将数据B2(j-1)+1转移到数据寄存器DR2j中,其中索引j是1到128范围内的整数。只使用两个指令来执行这些转移运算:一个用于移动所有数据A2j,一个用于移动所有数据B2(j-1)+1。
只需要两条转移指令,因为数据Ai和Bi都被记录在数据寄存器DRi中。
图4A示出了在数据寄存器DR1至DR8之间发生的数据转移。在图4A以及图4B-4D和图5A-5B以及图6中,微处理器20的元件具有与图2中相同的附图标记。
在每个符号ALUi内表示待执行的算术或逻辑运算,即相加。在ALUi的左边和右边,表示存储在与ALUi相对应的数据寄存器DRi中的相关数据。从数据寄存器DRi中的数据到ALUk的具有垂直部分的箭头,指示出在使用ALUk执行算术或逻辑运算之前必须如何移动该数据。例如,在图4A中,通过具有垂直部分的箭头将数据B 1连接到ALU2。这意味着,在使用ALU2来执行相加之前,必须将数据B1转移到数据寄存器DR2。在图4A中,从数据A1到ALU1的水平箭头指示数据A1已经存储在数据寄存器DR1中。
一旦在运算48期间完成对数据的转移,则处理元件PE2(j-1)+1执行数据A2(j-1)+1和A2j的相加,并将结果AA2(j-1)+1存储在数据寄存器DR2(j-1)+1中。
并行地,在运算48期间,处理元件PE2j执行对数据B2j和B2(j-1)+1的相加,并将结果BB2j存储在数据寄存器DR2j中。
因此,在运算48期间,同时使用所有256个处理元件PEi。
接下来,分别在步骤50、52和54中计算二叉树和C和D、E和F、G和H的第一迭代。每个步骤50、52和54与步骤44相似,除了字母A和B分别由以下字母替换:
-步骤50中的C和D,
-步骤52中的E和F,以及
-步骤54中的G和H。
其后,在阶段60中,计算每个二叉树和A至H的第二迭代。
在步骤62中,并行地计算二叉树和A至D的第二迭代。更具体地,在运算64中,对以下数据进行转移:
-将结果AA2j+1转移到数据寄存器DR2(j-1)+1,
-将结果BB2(j+1)转移到数据寄存器DR2j,
-将结果CC2(j-1)+1转移到数据寄存器DR2j+1,以及
-将结果DD2j转移到数据寄存器DR2(j+1)。
图5A中指向下方的箭头示出了这些数据转移。
然后,在运算66期间,并行地在每个处理元件PEi中执行以下相加:
-处理元件PE2(j-1)+1将结果AA2(j-1)+1与结果AA2j+1相加,并将结果AAA2(j-1)+1存储在数据寄存器DR2(j-1)+1中,
-处理元件PE2将结果BB2(j+1)与结果BB2j相加,并将结果BBB2j存储在数据寄存器DR2j中,
-处理元件PE2j+1将结果CC2(j-1)+1与结果CC2j+1相加,并将结果CCC2j+1存储在数据寄存器DR2(j+1)中,以及
-处理元件PE2(j+1)将结果DD2j与结果DD2(j+1)相加,并将结果DDD2(j+1)存储在数据寄存器DR2(j+1)中。
其后在步骤68中,并行地计算二叉树和E、F、G和H的第二迭代。步骤68与步骤62类似,除了字母A、B、C、D分别由字母E、F、G、H代替。在图5B中,通过指向下方的箭头示出了步骤68中所发生的数据转移。
在步骤62和68中,并行地使用256个处理元件PEi。
接下来,在步骤70中,并行地计算二叉树和A至H的第三迭代。首先,在运算72期间,第二迭代的结果发生数据转移,然后在运算74期间,执行对每个二叉树和的第三迭代的相加。
在运算72期间,对第二迭代的结果进行以下转移:
-将结果AAA2(j+1)+1转移到数据寄存器DR2(j-1)+1,
-将结果BBB2(j+2)转移到数据寄存器DR2j,
-将结果CCC2(j+2)+1转移到数据寄存器DR2j+1,
-将结果DDD2(j+3)转移到数据寄存器DR2(j+1),
-将结果EEE2(j-1)+1转移到数据寄存器DR2(j+1)+1,
-将结果FFF2j转移到数据寄存器DR2(j+2),
-将结果GGG2j+1转移到数据寄存器DR2(j+2)+1,以及
-将结果HHH2(j+1)转移到数据寄存器DR2(j+3)。
在运算74期间,并行地执行以下相加:
-处理元件PE2(j-1)+1将结果AAA2(j+1)+1与结果AAA2(j-1)+1相加,并将结果AAAA2(j-1)+1存储在数据寄存器DR2(j-1)+1中,
-处理元件PE2j将结果BBB2(j+2)与结果BBB2j相加,并将结果BBBB2j存储在数据寄存器DR2j中,
-处理元件PE2j+1将结果CCC2(j+2)与结果CCC2j+1相加,并将结果CCCC2j+1存储在数据寄存器DR2j+1中,
-处理元件PE2(j+1)将结果DDD2(j+3)与结果DDD2(j+1)相加,并将结果DDDD2(j+1)存储在数据寄存器DR2(j+1)中,
-处理元件PE2(j+1)+1将结果EEE2(j-1)+1与结果EEE2(j+1)+1相加,并将结果EEEE2(j+1)+1存储在数据寄存器DR2(j+1)+1中,
-处理元件PE2(j+2)将结果FFF2j与结果FFF2(j+2)相加,并将结果FFFF2(j+2)存储在数据寄存器DR2(j+2)中,
-处理元件PE2(j+2)+1将结果GGG2j+1与结果GGG2(j+2)+1相加,并将结果GGGG2(j+2)+1存储在数据寄存器DR2(j+2)+1中,以及
-处理元件PE2(j+3)将结果HH2(j+1)与结果HHH2(j+3)相加,并将结果HHHH2(j+3)存储在数据寄存器DR2(j+3)中。
因此,在运算24期间,同时使用所有256个处理元件PEi。
在图6中通过指向下方的箭头示出了在运算72期间所发生的数据转移。
在步骤80中,并行地计算每个二叉树和A至H的下一迭代。在这个阶段,处理元件的数量256比待执行的并行相加的数量大。因此,不需要详细描述每个二叉树和的第四到第八迭代的计算。实际上,为了并行地计算8个二叉树和A至H的第四迭代,只需要128个处理元件PEi,这少于在计算8个二叉树和开始时所分配的256个处理元件。
在图3的方法中,在计算二叉树和A的第二和第三迭代期间,将首先分配给二叉树和A的第一迭代的计算的一些处理元件PEi用于并行地计算另一个二叉树和的迭代。例如,处理元件PE3用于计算二叉树和A的第一迭代,并在二叉树和A的第二迭代的计算期间计算二叉树和C的第二迭代。处理元件PE3还用于在计算二叉树和A的第三迭代期间计算二叉树和C的第三迭代。
因此,在这里所描述的具体实施例中,在阶段42和60以及步骤70期间,所有处理元件PE1至PE256得以完全使用。因此,由于来自不同运算树的运算的混合或交织,8个二叉树和的计算更快。
将用于计算例如二叉树和A和B的第一和第二运算树的处理元件进行交织。这意味着,用于计算第一树的、除了第一和最后一个处理元件PE1和PE256的每一个处理元件都位于用于计算第二树的两个处理元件之间。这个特征减小了数据转移的幅度,并导致更快的处理。
许多附加实施例是可能的。例如,该方法并不局限于多个二叉树和的并行计算,而是更普遍地应用于如下的运算树:该运算树的每个节点是能够响应一个指令而通过ALU来执行的算术或逻辑运算。例如,可以将每一个节点设计用于计算异或运算或减法。
仅将SIMD微处理器设计用于对多个数据并行地执行一个指令。因此,只能将上述方法用于:当SIMD微处理器上执行时,并行地计算多个相同的运算树。然而,如果所述方法在MIMD(多指令多数据)微处理器上实现,则不存在这种限制。因此,如果在MIMD微处理器上实现,则可以将所述方法用于并行地计算不同的运算树。例如,可以同时计算二叉树和以及二叉树减法。
上述方法不局限于包括具有两个输入端的节点的二叉树。例如,上述方法还可以应用于包括具有两个以上输入端的节点的运算树。

Claims (7)

1.一种用于在微处理器上计算算术或逻辑运算的至少第一和第二树的方法,所述微处理器包括至少n个并行处理元件,用于并行地执行n个算术或逻辑运算,每一个树的计算都需要多个逐次迭代,在计算下一迭代期间使用每一个迭代的结果,其中n是大于4的正整数,所述方法包括:
a)使用n个处理元件并行地执行第一树的第一迭代的n个算术或逻辑运算(在48中),然后
b)使用从用于计算第一迭代的n个处理元件中选出m个处理元件,在第一迭代的结果之间并行地执行m个算术或逻辑运算(在66中),其他的n-m个处理元件不用于第二迭代的计算,其中m是严格小于n的整数,
其中,与第一树的第二迭代的计算并行的是,所述方法包括使用从n-m个不用于计算第一树的第二迭代的处理元件中选出的k个处理元件来并行地执行第二树的k个算术或逻辑运算(在66中),其中k是小于或等于n-m的整数。
2.如权利要求1所述的方法,其中,并行地执行:在第一树的第二迭代的计算之前,处理元件之间的数据转移(在64中);以及在执行第二树的k个算术或逻辑运算之前的数据转移(在64中)。
3.如前面任何一项权利要求所述的方法,其中,在用于计算第一树的第二迭代的两个处理元件之间,对用于计算第二树的每一个处理元件进行交织。
4.如前面任何一项权利要求所述的方法,其中,所述微处理器是包括p个相同的处理元件以并行地执行p个相同的算术或逻辑运算的SIMD(单指令多数据)微处理器,所述处理元件是在公共管芯上制造的,并且p大于或等于n。
5.一种电信设备中的解扩方法,包括计算至少第一和第二二叉树和的步骤,其中,使用根据前面任何一项权利要求所述的计算方法,在包括至少n个并行处理元件以并行地计算n个算术或逻辑运算的微处理器上计算至少是所述第一和第二二叉树和。
6.一种包括指令的存储器,当这些指令在包括至少n个并行处理元件的微处理器上执行时,所述指令用于执行根据权利要求1到4中任意一项所述的、用于计算算术或逻辑运算的第一和第二树的方法,其中n是大于4的正整数。
7.一种包括指令的微处理器,当这些指令在包括至少n个并行处理元件的微处理器上执行时,所述指令用于执行根据权利要求1到4中任意一项所述的、用于计算算术或逻辑运算的至少第一和第二树的方法,其中n是大于4的正整数。
CNA2005800483720A 2004-12-17 2005-12-13 算术或逻辑运算树的计算 Pending CN101124538A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP04300918.2 2004-12-17
EP04300918 2004-12-17

Publications (1)

Publication Number Publication Date
CN101124538A true CN101124538A (zh) 2008-02-13

Family

ID=36046640

Family Applications (1)

Application Number Title Priority Date Filing Date
CNA2005800483720A Pending CN101124538A (zh) 2004-12-17 2005-12-13 算术或逻辑运算树的计算

Country Status (7)

Country Link
US (1) US8326909B2 (zh)
EP (1) EP1853994B1 (zh)
JP (1) JP2008524691A (zh)
CN (1) CN101124538A (zh)
AT (1) ATE443885T1 (zh)
DE (1) DE602005016844D1 (zh)
WO (1) WO2006064461A1 (zh)

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3805039A (en) * 1972-11-30 1974-04-16 Raytheon Co High reliability system employing subelement redundancy
JPS59160267A (ja) * 1983-03-02 1984-09-10 Hitachi Ltd ベクトル処理装置
JPH01147767A (ja) 1987-12-04 1989-06-09 Hitachi Ltd 双カスケード型並列処理方式
JP3684579B2 (ja) 1993-04-27 2005-08-17 富士通株式会社 分散型並列計算機のプロセッサエレメント
JP3627953B2 (ja) 1997-08-22 2005-03-09 日本電信電話株式会社 Peアレイ装置および連想メモリブロック
US6377970B1 (en) * 1998-03-31 2002-04-23 Intel Corporation Method and apparatus for computing a sum of packed data elements using SIMD multiply circuitry
US6038652A (en) * 1998-09-30 2000-03-14 Intel Corporation Exception reporting on function generation in an SIMD processor
TW539989B (en) * 2000-03-31 2003-07-01 Intel Corp Multiplier architecture in a general purpose processor optimized for efficient multi-input addition
US7313582B2 (en) * 2001-02-24 2007-12-25 International Business Machines Corporation Arithmetic functions in torus and tree networks
US7725521B2 (en) * 2001-10-29 2010-05-25 Intel Corporation Method and apparatus for computing matrix transformations
US7219118B2 (en) * 2001-11-06 2007-05-15 Broadcom Corporation SIMD addition circuit
US7003653B2 (en) * 2002-10-21 2006-02-21 Sun Microsystems, Inc. Method for rapid interpretation of results returned by a parallel compare instruction

Also Published As

Publication number Publication date
EP1853994B1 (en) 2009-09-23
DE602005016844D1 (de) 2009-11-05
US8326909B2 (en) 2012-12-04
WO2006064461A1 (en) 2006-06-22
EP1853994A1 (en) 2007-11-14
ATE443885T1 (de) 2009-10-15
JP2008524691A (ja) 2008-07-10
US20090271464A1 (en) 2009-10-29

Similar Documents

Publication Publication Date Title
US10915514B2 (en) Methods and systems for fast set-membership tests using one or more processors that support single instruction multiple data instructions
US9760373B2 (en) Functional unit having tree structure to support vector sorting algorithm and other algorithms
CN102819520B (zh) 具有嵌入式浮点结构的数字信号处理模块
JP3578502B2 (ja) 単一プロセッサにおいて並列データ処理を実行する方法
US7685408B2 (en) Methods and apparatus for extracting bits of a source register based on a mask and right justifying the bits into a target register
CN106610813A (zh) 用于在乘法器累加器块中执行乘积级数运算的方法和装置
JP2018055677A (ja) 外積累算演算のためのプロセッサおよび方法
CN100472505C (zh) 并行处理阵列
CN110300957A (zh) 数据处理装置中的加宽算数
CN109426483A (zh) 并发多位加法器
US8495340B2 (en) Multi-processor systems communicating using data and control tokens
CN104063357A (zh) 处理器以及处理方法
WO1988007242A2 (en) Arithmetic computation modifier based upon data dependent operations
CN112074810B (zh) 并行处理设备
EP1520232A2 (en) Division on an array processor
JP7038608B2 (ja) 半導体装置
CN101124538A (zh) 算术或逻辑运算树的计算
CN106776474A (zh) 一种矢量处理器实现fft运算的方法及系统
JP6164616B2 (ja) データ供給装置及びデータ処理装置
JP3837386B2 (ja) 情報処理装置
Louwers et al. Multi-granular arithmetic in a coarse-grain reconfigurable architecture
CN112540946B (zh) 可重构处理器及其上多种神经网络激活函数计算方法
US8443102B1 (en) Pipeline of a packet processor programmed to extract packet fields
US9092212B2 (en) Processors
US7580968B2 (en) Processor with scaled sum-of-product instructions

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Open date: 20080213