CN100472505C - 并行处理阵列 - Google Patents

并行处理阵列 Download PDF

Info

Publication number
CN100472505C
CN100472505C CNB2004800233398A CN200480023339A CN100472505C CN 100472505 C CN100472505 C CN 100472505C CN B2004800233398 A CNB2004800233398 A CN B2004800233398A CN 200480023339 A CN200480023339 A CN 200480023339A CN 100472505 C CN100472505 C CN 100472505C
Authority
CN
China
Prior art keywords
data
multiplexer
memory element
index
input
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
CNB2004800233398A
Other languages
English (en)
Other versions
CN1836224A (zh
Inventor
O·P·冈瓦尔
A·A·阿波
R·P·克莱霍尔斯特
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.)
NXP BV
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 CN1836224A publication Critical patent/CN1836224A/zh
Application granted granted Critical
Publication of CN100472505C publication Critical patent/CN100472505C/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/80Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
    • G06F15/8007Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors single instruction multiple data [SIMD] multiprocessors
    • 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/22Arrangements for sorting or merging computer data on continuous record carriers, e.g. tape, drum, disc
    • G06F7/32Merging, i.e. combining data contained in ordered sequence on at least two record carriers to produce a single carrier or set of carriers having all the original data in the ordered sequence merging methods in general
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/34Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes
    • G06F9/355Indexed addressing

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Image Processing (AREA)
  • Advance Control (AREA)
  • Multi Processors (AREA)
  • Use Of Switch Circuits For Exchanges And Methods Of Control Of Multiplex Exchanges (AREA)

Abstract

本发明构成诸如SIMD的并行处理阵列一部分的处理元件(1)包括算术逻辑部件(ALU)(3)、多路复用器(MUX)(5)、累加器(ACCU)(7)和标志寄存器(FLAG)(9)。所述ALU被配置为对由处理阵列中的所有处理元件接收到的公共指令进行操作。所述处理元件(1)还包括存储元件(SE)(11),其支持处理元件(1)中本地自定义的(即,数据相关的)处理的过程,诸如查找表操作以及存储本地系数数据。

Description

并行处理阵列
技术领域
本发明涉及一种具有多个处理元件(PE)的并行处理阵列,例如单指令多数据(SIMD)处理阵列。特别的是,本发明涉及这样一种并行处理阵列,当处理数据相关的处理操作时,其适于改善阵列的效率。
背景技术
在SIMD处理阵列中,阵列中的每一处理元件(PE)均经由公共指令流来接收同一指令,并且基于本地数据来执行所述指令,其中所述本地数据对于该处理元件是唯一的。因此,并行处理阵列非常适于执行高重复性的任务,在这些任务中,同时对多个数据执行相同的操作,诸如与图像处理相关联的那些操作。因此,SIMD提供了一种区域有效、可扩展的、低功率实现方式。虽然SIMD适用于数据和数据处理中涉及明显重复的应用,但是SIMD不是十分适合于执行与数据相关的处理操作。
例如,在视频处理中(例如,去交错、降噪、水平动态峰化),大多数操作对于阵列中所有数据元如出一辙,因此可以有效利用SIMD阵列,然而,诸如查找表操作或者基于阵列中数据的位置与不同系数相乘之类的与数据相关的处理操作,无法有效利用SIMD处理阵列。
图1示出了Xetal SIMD处理体系结构(Xetal是数字视频摄像机的低功率并行处理器)中典型处理元件(PE)1的示意图。所述处理元件1包括算术逻辑部件(ALU)3、多路复用器(MUX)5、累加器(ACCU)7和标志寄存器(FLAG)9。所述处理元件1接收广播指令10,所述广播指令10将被阵列(未示出)中的所有其它处理元件接收到。所述ALU3基于本地数据来处理指令10。提供了累加器7来存储最后的结果,所述最后的结果可用作下一指令10的操作数。通常,所述ALU 3包括加法器和乘法器,由此能够在一个时钟周期内执行比较、加法、减法、数据加权和乘积的运算。通常,标志寄存器9包含1位标志,所述1位标志根据最后的结果来设定。基于此标志状态,能够使指令有条件的通过,由此允许算法中有限形式的数据相关性。
应注意的是,多路复用器5由广播指令10来控制。在Xetal体系结构中,所述多路复用器5接收多个输入信号,所述多个输入信号被有选择地连接至ALU 3。例如,多路复用器5接收来自部分行存储器6的数据以及来自左右通信信道8、12的数据。所述多路复用器5还接收系数数据(coeff)16。在此方式中,把来自累加器7的ACCU信号14用作运算的一个操作数,并且多路复用器5选择第二操作数。因此,所述第二操作数可以从左侧通信信道8、右侧通信信道12或者行存储器6中选择,或者是来自系数输入16的“固定”数字。
在此种处理器中,执行数据相关的处理、例如从查找表中检索值或者利用同一阵列的不同数据元来执行不同运算是不可能的,或者需要很长的并且很复杂的迭代。这使得SIMD处理阵列的效率非常低。
例如,在图1中所示的Xetal体系结构中,在从十个元素的查找表中检索值后执行乘法需要四十次运算。以下示出了利用Xetal指令集的实现方式,其中,为了进行查找,必须将所述值与下限进行比较:
假定r0具有所期望的阵列的数据元。
1.accu=r0;——把数据移至累加器
2.accu=MAX(accu,lower_limit0);——找到r0和lower_limit0的最大值并且存储在accu中
3.accu=accu*coeff0;——这是间隔中的操作
4.r1=PASSC(accu,r1);——如果r0在所述区域中,那么保存结果,否则把r1复制到下一间隔
如上所示,对于查找表(LUT)中的所有条目来说,例如上面提供的示例中的十个条目,必须执行上述的所有四个运算。这意味着:对于十个元素的LUT来说,需要四十次运算。
背景技术
本发明的目的在于提供一种并行处理阵列,当处理数据相关操作时,可避免上述的缺陷。
根据本发明的第一方面,提供了一种并行处理阵列,包括多个处理元件(PE),每一处理元件均被配置为接收公共指令并包括:
算术逻辑部件,用于与累加器和标志寄存器一起处理公共指令;以及
多路复用器,被配置为接收多个输入信号并且在公共指令的控制下有选择地将算数逻辑部件连接到所述输入信号之一;
其中处理阵列中的一个或多个处理元件还包括具有输入数据端口、输出端口和至少一个存储单元的存储元件,所述存储元件被配置为可由所接收的指令间接寻址;
其特征在于:
存储元件的输入数据端口被连接以便接收来自输入多路复用器的数据,输入多路复用器被配置为将累加器数据或系数数据传递到存储元件;并且
存储元件的输出端口被耦合到多路复用器,从而使得处理元件能够使用来自存储元件的累加器数据或系数数据进行与数据相关的操作的处理。
当执行与数据相关的处理操作时,上面定义的处理阵列具有比常规处理阵列更加有效的优势。
依照本发明的另一方面,提供了一种在并行处理阵列中处理数据的方法,所述并行处理阵列包括多个处理元件(PE),每一处理元件均接收公共指令并包括用于与累加器和标志寄存器一起处理公共指令的算术逻辑部件;以及被配置为接收多个输入信号并且在公共指令的控制下有选择地将算数逻辑部件连接到所述输入信号之一的多路复用器(5),所述方法包括如下步骤:
- 在处理阵列的一个或多个处理元件中提供存储元件,所述存储元件具有输入数据端口和输出端口,所述存储元件具有至少一个存储单元;以及
- 配置所述存储元件以便可由所接收的指令间接寻址;其特征在于:
- 连接存储元件的输入数据端口,以便接收来自输入多路复用器的数据;
- 配置输入多路复用器,以便将累加器数据或系数数据传递到存储元件;
- 将存储元件的输出端口耦合到多路复用器;以及
- 使用来自存储元件的累加器数据或系数数据来进行与数据有关的操作的处理。
附图说明
为了更透彻地理解本发明,并且为了更加清楚地示出如何实现其效用,现在将参考附图作为例子进行说明,其中:
图1示出了根据现有技术的并行处理阵列的处理元件的示意图;并且
图2示出了根据本发明的并行处理阵列的处理元件的示意图。
具体实施方式
图2示出了根据本发明的处理阵列的处理元件1。如上文图1所示,所述处理元件1包括算术逻辑部件(ALU)3、多路复用器(MUX)5、累加器(ACCU)7和标志寄存器(FLAG)9。这些元件对于“常规”处理即与数据无关的处理的操作是与上文结合图1所述的元件的操作相同的。
依照本发明,所述处理元件还包括存储元件(SE)11,其用于支持处理元件1中本地自定义(即,与数据相关的)处理的过程。
所述存储元件11包括多个存储单元SE1至SEN。在设计过程中根据特定的应用来选择存储单元的数目,并且可以是任何整数值。所述存储元件11经由多路复用器15来接收输入数据13(data_in)。所述多路复用器15被连接以便接收来自累加器7的输出端的累加器数据14,并且接收来自处理元件1的系数端口的系数数据16(coeff)。所述多路复用器15被设置为:在控制信号17的控制之下、有选择地把累加器数据14或者系数数据16作为输入数据13提供给存储元件11,所述控制信号17来自广播指令10或者形成广播指令10的一部分。
所述存储元件11还接收索引信号19,其与多路复用器21的输出相连。所述多路复用器21也被连接以便接收来自累加器7的累加器数据14,并且接收来自处理元件1的系数端口的系数数据16(coeff)。所述多路复用器21也通过控制信号17来控制,所述控制信号17来自广播指令10或者形成为广播指令10的一部分。来自存储元件11的输出数据22(data_out)与处理元件1的多路复用器5的输入相连。优选的是,在存储元件11的输出和多路复用器5之间提供寄存器23(cur_se),其可以用于存储存储元件11的值,正如稍候在应用中将更加详细描述的那样。
接下来,将关于在每一PE中存储不同系数以便提供阵列中每一数据与不同系数的乘法(或者任何其它运算)以及执行查找表的操作来描述图2的实施例的操作,不过用于所有PE的指令仍然是相同的。
当把存储元件11用于存储不同系数时,将系数数据16用作存储元件表的索引,并且在存储元件11中对应的存储单元SEY存储来自累加器7或者行存储器的累加器数据14。换言之,所述控制多路复用器15将累加器数据14作为输入数据13传递至存储元件11,同时控制多路复用器21传递系数数据16,所述系数数据16充当将要存储数据的相应存储单元SEY的索引19。这样做能够使正确的值被存储在存储元件11中的正确单元SE1-SEN。作为选择,如果期望,可以通过把系数数据应用于输入13并且利用累加器数据作为索引19来存储系数。
当从存储元件11加载值时,按类似于上述方式,把系数数据16用作索引19,以使来自存储元件11的相应存储单元的值在输出端可用,从而能够进行与累加器7中数据的相乘。换言之,当从存储元件11加载数据时,所述多路复用器21被设置为传递系数数据16作为存储元件11的索引19,从而从存储元件11输出相应的输出数据22。来自存储元件11的输出数据经由多路复用器5传递至ALU 3,以便与来自累加器7的数据相乘。
当利用存储元件作为每一PE中的查找表(LUT)时,存在有多个可选的方法在存储元件11中存储正确的值(lower_limit,最终值)。
一种方法是使用一部分系数输入作为索引,而另一部分作为将存储的值。换言之,部分系数数据16由多路复用器21传递以便作为存储元件11的索引19,而另一部分的系数数据16由多路复用器15传递以便作为将存储的值。尽管此方法具有增加了系数数据信号宽度的缺点,但是其具有在一个周期内存储值的优势。
另一种方法是借助于累加器7和/或ALU 3来生成地址或者索引19,由此能够生成不同的地址,并且反过来通过依照存储指令把该地址应用于存储元件11还能够使得相同的值被存储在PE的存储元件的不同单元,如此使得系数数据16的值被存储在存储元件11的相应存储单元SEY中。依照此布置,所述多路复用器15被设置为传递系数数据16,同时所述多路复用器21提供由累加器7和/或ALU 3生成的索引19。此方法具有需要更窄系数数据信号的优势,但是具有要求一个额外处理操作的缺点。
为了从存储元件11加载值,把累加器7的值用作索引19,并且把从存储元件11查找到的值存储在寄存器23(cur_se)中以供进一步使用。换言之,通过多路复用器21传递来自累加器7的累加器数据14,以便为存储元件11提供索引19。来自相应存储单元SEY的相应的值形成存储元件11的输出数据22,并且被直接传递至多路复用器5,或者存储在寄存器23以供稍候使用。应注意的是,当以低频运行时,能够绕过寄存器23(cur_se)以便在一个周期中执行操作。
如上所述的本发明提供了一种改善的处理机阵列,由于它使处理元件能够依照如下任一方式来操作:
a)每一PE基于广播指令执行相同的操作,(即,“正常的”操作)
b)PE基于待处理的数据来使用不同的系数以便执行相同广播指令,或者
c)当接收到令所有PE执行LUT操作的广播时,所述PE就执行查找表中已经描述的功能。
在视频处理应用中,例如,可以基于对行的处理(例如,去交错、降噪、水平动态峰化)来执行大多数功能,或者可以根据基于行的处理的术语来表示(例如,通过累积2×2块作为两行并且执行基于行的处理,可以基于行来处理具有2×2块大小的上变频器)大多数功能。这意味着大部分操作对于阵列中的所有数据元如出一辙,并且因此可以利用上面(a)中所描述的“正常”PE操作来执行。
然而。当执行诸如基于数据在阵列中的位置而与不同系数相乘(或者其它操作数)的任务时,根据本发明的处理元件被配置为依照上面(b)中所描述的那样操作。
同样,对于LUT操作来说,所述处理元件被配置为依照上文(c)中所描述那样操作。
本发明具有如下优势:利用SIMD处理的属性,当将要执行与数据相关的处理操作时仍可提供更加有效的操作。例如,在本发明中,与查找值相乘的处理往往采取两个操作(取决于对LUT操作的实现方式的选择),这只是早先描述的需要四十个指令的方法的5%左右,
因此,本发明提供了一种每处理元件间接可寻址的存储器,其可以用于与数据相关的操作,诸如查找表运算,并且访问可以用于所有PE的相同指令的不同系数。
应注意的是,由于存储元件而使处理元件所需增加的区域不是有害因素,这是因为所述互连区域是这种芯片上的主宰因素。由此,把存储元件放置在算术逻辑部件(ALU)附近可避免通信网络的进一步过载(即,布线开销)。
尽管已经联系视频处理描述了优选的实施例,但是所属技术领域的专业人员将理解,根据本发明的处理元件还可以用于其它功能。
此外,尽管已经联系Xetal体系结构描述了优选的实施例,但是本发明同样适用于其它形式的并行处理体系结构。

Claims (29)

1.一种并行处理阵列,包括多个处理元件(1),每一处理元件(1)均被配置为接收公共指令并包括:
算术逻辑部件(3),用于与累加器(7)和标志寄存器(9)一起处理公共指令;以及
多路复用器(5),被配置为接收多个输入信号并且在公共指令的控制下有选择地将算数逻辑部件(3)连接到所述输入信号之一;
其中处理阵列中的一个或多个处理元件(1)还包括具有输入数据端口(13)、输出端口(22)和至少一个存储单元的存储元件(11),所述存储元件被配置为可由所接收的指令间接寻址;
其特征在于:
存储元件(11)的输入数据端口(13)被连接以便接收来自输入多路复用器(15)的数据,输入多路复用器(15)被配置为将累加器数据或系数数据传递到存储元件(11);并且
存储元件(11)的输出端口(22)被耦合到多路复用器(5),从而使得处理元件(1)能够使用来自存储元件(11)的累加器数据或系数数据进行与数据相关的操作的处理。
2.权利要求1所述的并行处理阵列,其中所述存储元件(11)对用于对存储元件(11)中的存储单元进行寻址的索引信号作出响应。3.如权利要求2所述的并行处理阵列,其中所述索引信号是从索引多路复用器(21)接收的,所述索引多路复用器(21)被配置为有选择地传递累加器数据或者系数数据,或者部分所接收的指令。
4.如权利要求3所述的并行处理器,其中所述输入多路复用器(15)和/或索引多路复用器(21)是由所接收的指令来控制的。
5.如权利要求1所述的并行处理阵列,其中所述存储元件(11)被配置为基于待处理的数据来向处理元件(1)提供系数。
6.如权利要求5所述的并行处理阵列,其中所述输入多路复用器(15)被配置为当存储系数数据时,将累加器数据传递至存储元件(11),所述系数数据被存储在由索引信号定义的存储单元中。
7.如权利要求5所述的并行处理阵列,其中所述输入多路复用器(15)被配置为将系数数据传递至存储元件(11),存储在由索引信号定义的存储单元中。
8.如权利要求6或者7所述的并行处理阵列,其中所述索引信号是通过由索引多路复用器(21)接收的系数数据定义的。
9.如权利要求6或者7所述的并行处理阵列,其中所述索引信号是通过由索引多路复用器(21)接收的累加器数据定义的。
10.如权利要求1所述的并行处理阵列,其中所述存储元件(11)被配置为向处理元件(1)提供本地查找表。
11.如权利要求10所述的并行处理阵列,其中所述输入多路复用器(15)被配置为将系数数据传递至存储元件(11),以便存储在由索引信号定义的单元中。
12.如权利要求11所述的并行处理阵列,其中所述索引信号是通过由索引多路复用器(21)接收的累加器数据定义的。
13.如权利要求10所述的并行处理阵列,其中所述输入多路复用器(15)被配置为传递作为待存储在存储元件(11)中数据的第一部分系数数据,并且所述索引多路复用器(21)被设置为传递作为定义存储地址的索引信号的另一部分系数数据。
14.如权利要求1所述的并行处理阵列,还包括用于在存储元件(11)的输出(22)与多路复用器(5)的输入之间存储数据的寄存器(23)。
15.如权利要求1所述的并行处理阵列,其中所述处理阵列是单指令多数据(SIMD)处理阵列。
16.一种在并行处理阵列中处理数据的方法,所述并行处理阵列包括多个处理元件(1),每一处理元件(1)均接收公共指令并包括用于与累加器(7)和标志寄存器(9)一起处理公共指令的算术逻辑部件(3);以及被配置为接收多个输入信号并且在公共指令的控制下有选择地将算数逻辑部件(3)连接到所述输入信号之一的多路复用器(5),所述方法包括如下步骤:
-在处理阵列的一个或多个处理元件中提供存储元件(11),所述存储元件(11)具有输入数据端口(13)和输出端口(22),所述存储元件(11)具有至少一个存储单元;以及
-配置所述存储元件以便可由所接收的指令间接寻址;其特征在于:
-连接存储元件(11)的输入数据端口,以便接收来自输入多路复用器(15)的数据;
-配置输入多路复用器(15),以便将累加器数据或系数数据传递到存储元件(11);
-将存储元件(11)的输出端口(22)耦合到多路复用器(5);以及
-使用来自存储元件(11)的累加器数据或系数数据来进行与数据有关的操作的处理。
17.如权利要求16所述的方法,还包括提供索引信号以便寻址所述存储元件(11)中的存储单元的步骤。
18.如权利要求16或者17所述的方法,还包括如下步骤:提供索引多路复用器(21)以便提供索引信号,并且配置所述索引多路复用器(21)以便有选择地传递累加器数据或者系数数据,或者部分所接收的指令。
19.如权利要求17所述的方法,还包括利用所接收的指令来控制输入多路复用器(15)和/或索引多路复用器(21)的步骤。
20.如权利要求16所述的方法,还包括如下步骤:配置所述存储元件(11)以便基于待处理的数据来向处理元件(1)提供系数。
21.如权利要求20所述的方法,还包括如下步骤:配置所述输入多路复用器(15)以便当存储系数数据时,把累加器数据传递至所述存储元件(11),所述系数数据被存储在由索引信号定义的存储单元中。
22.如权利要求20所述的方法,还包括如下步骤:配置所述输入多路复用器(15)以便把系数数据传递至所述存储元件(11),并且把系数数据存储在由索引信号定义的存储单元中。
23.如权利要求21所述的方法,其中所述索引信号是通过由索引多路复用器(21)接收的系数数据定义的。
24.如权利要求21所述的方法,其中所述索引信号是通过由索引多路复用器(21)接收的累加器数据定义的。
25.如权利要求16所述的方法,还包括如下步骤:配置所述存储元件(11)以便向处理元件(1)提供本地查找表。
26.如权利要求25所述的方法,其中所述输入多路复用器(15)被配置为把系数数据传递至存储元件(11),以便存储在由索引信号定义的单元中。
27.如权利要求26所述的方法,其中所述索引信号是通过由索引多路复用器(21)接收的累加器数据定义的。
28.如权利要求26所述的方法,还包括如下步骤:配置所述输入多路复用器(15)以便传递作为待存储在存储元件(11)中数据的第一部分系数数据,并且设置所述索引多路复用器(21)以便传递作为定义存储地址的索引信号的另一部分系数数据。
29.如权利要求16所述的方法,还包括如下步骤:在存储元件(11)的输出端口(22)和多路复用器(5)的输入端之间提供用于存储数据的寄存器(23)。
30.如权利要求16所述的方法,其中所述处理阵列是单指令多数据(SIMD)处理阵列。
CNB2004800233398A 2003-08-15 2004-08-03 并行处理阵列 Active CN100472505C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP03102550.5 2003-08-15
EP03102550 2003-08-15

Publications (2)

Publication Number Publication Date
CN1836224A CN1836224A (zh) 2006-09-20
CN100472505C true CN100472505C (zh) 2009-03-25

Family

ID=34178568

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2004800233398A Active CN100472505C (zh) 2003-08-15 2004-08-03 并行处理阵列

Country Status (9)

Country Link
US (1) US7725681B2 (zh)
EP (1) EP1656622B1 (zh)
JP (1) JP2007503039A (zh)
KR (1) KR20060060689A (zh)
CN (1) CN100472505C (zh)
AT (1) ATE362625T1 (zh)
DE (1) DE602004006516T2 (zh)
TW (1) TW200521702A (zh)
WO (1) WO2005017765A2 (zh)

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7865542B2 (en) 2003-12-29 2011-01-04 Xilinx, Inc. Digital signal processing block having a wide multiplexer
US7882165B2 (en) 2003-12-29 2011-02-01 Xilinx, Inc. Digital signal processing element having an arithmetic logic unit
US7849119B2 (en) 2003-12-29 2010-12-07 Xilinx, Inc. Digital signal processing circuit having a pattern detector circuit
US7840630B2 (en) 2003-12-29 2010-11-23 Xilinx, Inc. Arithmetic logic unit circuit
US7840627B2 (en) * 2003-12-29 2010-11-23 Xilinx, Inc. Digital signal processing circuit having input register blocks
US7853636B2 (en) 2003-12-29 2010-12-14 Xilinx, Inc. Digital signal processing circuit having a pattern detector circuit for convergent rounding
US7853632B2 (en) 2003-12-29 2010-12-14 Xilinx, Inc. Architectural floorplan for a digital signal processing circuit
US7860915B2 (en) 2003-12-29 2010-12-28 Xilinx, Inc. Digital signal processing circuit having a pattern circuit for determining termination conditions
US7870182B2 (en) 2003-12-29 2011-01-11 Xilinx Inc. Digital signal processing circuit having an adder circuit with carry-outs
US7853634B2 (en) 2003-12-29 2010-12-14 Xilinx, Inc. Digital signal processing circuit having a SIMD circuit
US7844653B2 (en) 2003-12-29 2010-11-30 Xilinx, Inc. Digital signal processing circuit having a pre-adder circuit
EP1927056A2 (en) * 2005-09-05 2008-06-04 Koninklijke Philips Electronics N.V. Processor array with separate serial module
US7441099B2 (en) * 2006-10-03 2008-10-21 Hong Kong Applied Science and Technology Research Institute Company Limited Configurable SIMD processor instruction specifying index to LUT storing information for different operation and memory location for each processing unit
US7958179B2 (en) 2006-12-06 2011-06-07 Electronics And Telecommunications Research Institute Arithmetic method and device of reconfigurable processor
CN101035071B (zh) * 2007-04-16 2010-09-29 中国人民解放军国防科学技术大学 并行simd结构中条件数据路由方法
EP3153965B1 (en) * 2008-03-10 2019-05-08 Mobileye Vision Technologies Ltd. Enhanched look-up table signal processing
US8543635B2 (en) 2009-01-27 2013-09-24 Xilinx, Inc. Digital signal processing block with preadder stage
US8479133B2 (en) 2009-01-27 2013-07-02 Xilinx, Inc. Method of and circuit for implementing a filter in an integrated circuit
CN102651797A (zh) * 2011-02-25 2012-08-29 西安邮电学院 一种新型阵列视频信号处理单元结构
CN103235762B (zh) * 2013-04-19 2016-06-22 中国科学院自动化研究所 一种自索引寄存器文件堆装置
US9830150B2 (en) * 2015-12-04 2017-11-28 Google Llc Multi-functional execution lane for image processor
US10565494B2 (en) * 2016-12-31 2020-02-18 Via Alliance Semiconductor Co., Ltd. Neural network unit with segmentable array width rotator
US10565492B2 (en) * 2016-12-31 2020-02-18 Via Alliance Semiconductor Co., Ltd. Neural network unit with segmentable array width rotator
US10586148B2 (en) * 2016-12-31 2020-03-10 Via Alliance Semiconductor Co., Ltd. Neural network unit with re-shapeable memory

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4025771A (en) * 1974-03-25 1977-05-24 Hughes Aircraft Company Pipe line high speed signal processor
JPH0743698B2 (ja) 1985-04-08 1995-05-15 工業技術院長 並列デ−タ処理装置
CA2073185A1 (en) * 1990-01-05 1991-07-06 Won S. Kim Parallel processor memory system
US5717947A (en) * 1993-03-31 1998-02-10 Motorola, Inc. Data processing system and method thereof
US5526501A (en) 1993-08-12 1996-06-11 Hughes Aircraft Company Variable accuracy indirect addressing scheme for SIMD multi-processors and apparatus implementing same
JPH0830577A (ja) 1994-07-15 1996-02-02 Mitsubishi Electric Corp Simdプロセッサ
US5689677A (en) * 1995-06-05 1997-11-18 Macmillan; David C. Circuit for enhancing performance of a computer for personal use
US6272615B1 (en) * 1997-05-02 2001-08-07 Texas Instruments Incorporated Data processing device with an indexed immediate addressing mode
WO1999024903A1 (en) 1997-11-07 1999-05-20 Bops Incorporated METHODS AND APPARATUS FOR EFFICIENT SYNCHRONOUS MIMD OPERATIONS WITH iVLIW PE-to-PE COMMUNICATION
JP2001273267A (ja) 2000-03-27 2001-10-05 Ricoh Co Ltd Simd型プロセッサー、並列処理装置、画像処理装置、複写機、プリンター、ファクシミリ装置、スキャナー、並列処理方法、画像処理方法およびその方法をコンピュータに実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体
DE10159283A1 (de) 2001-12-04 2003-06-12 Systemonic Ag Verfahren und Anordnung zur Adressgenerierung in einem Prozessor

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Xetal: A LOW-POWER HIGH-PERFORMANCE SMARTCAMERA PROCESSOR. KLEIHORST R P ET AL.ISCAS 2001. PROCEEDINGS OF THE 2001 IEEE INTERNATIONAL SYMPOSIUM ON CIRCUITS AND SYSTEMS,Vol.VOL. 1 OF 5 No.1. 2001
Xetal: A LOW-POWER HIGH-PERFORMANCE SMARTCAMERA PROCESSOR. KLEIHORST R P ET AL.ISCAS 2001. PROCEEDINGS OF THE 2001 IEEE INTERNATIONAL SYMPOSIUM ON CIRCUITS AND SYSTEMS,Vol.VOL. 1 OF 5 No.1. 2001 *

Also Published As

Publication number Publication date
KR20060060689A (ko) 2006-06-05
US20060253516A1 (en) 2006-11-09
DE602004006516T2 (de) 2008-01-17
DE602004006516D1 (de) 2007-06-28
EP1656622A2 (en) 2006-05-17
US7725681B2 (en) 2010-05-25
ATE362625T1 (de) 2007-06-15
WO2005017765A2 (en) 2005-02-24
JP2007503039A (ja) 2007-02-15
WO2005017765A3 (en) 2005-04-21
TW200521702A (en) 2005-07-01
EP1656622B1 (en) 2007-05-16
CN1836224A (zh) 2006-09-20

Similar Documents

Publication Publication Date Title
CN100472505C (zh) 并行处理阵列
US6754805B1 (en) Method and apparatus for configurable multi-cell digital signal processing employing global parallel configuration
US7249242B2 (en) Input pipeline registers for a node in an adaptive computing engine
US6092094A (en) Execute unit configured to selectably interpret an operand as multiple operands or as a single operand
US20070130444A1 (en) Integrated processor array, instruction sequencer and I/O controller
JPH10187438A (ja) 乗算器の入力に対する遷移を減少させる方法
US4839851A (en) Programmable data path device
US6941446B2 (en) Single instruction multiple data array cell
JPH07141175A (ja) アクティブメモリおよび処理方式
JP2008217805A (ja) 単一命令複数データ(simd)命令用の積和演算(mac)ユニット
WO2001035224A1 (en) Bit-serial memory access with wide processing elements for simd arrays
US7519646B2 (en) Reconfigurable SIMD vector processing system
US9372665B2 (en) Method and apparatus for multiplying binary operands
US20130212353A1 (en) System for implementing vector look-up table operations in a SIMD processor
US8024549B2 (en) Two-dimensional processor array of processing elements
US6401106B1 (en) Methods and apparatus for performing correlation operations
US7047271B2 (en) DSP execution unit for efficient alternate modes for processing multiple data sizes
EP1936492A1 (en) SIMD processor with reduction unit
US20060248311A1 (en) Method and apparatus of dsp resource allocation and use
CN117634569B (zh) 基于risc-v扩展指令的量化神经网络加速处理器
CN117634569A (zh) 一种基于risc-v扩展指令的量化神经网络加速处理器
JP2001034603A (ja) 積和演算処理装置
CN115328546A (zh) 数据处理方法、电子设备和介质
JPH117440A (ja) プロセッサ、コンパイラ、積和演算方法及び記録媒体
CA2361451A1 (en) Signal processor and product-sum operating device for use therein with rounding function

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
ASS Succession or assignment of patent right

Owner name: NXP CO., LTD.

Free format text: FORMER OWNER: KONINKLIJKE PHILIPS ELECTRONICS N.V.

Effective date: 20071012

C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20071012

Address after: Holland Ian Deho Finn

Applicant after: Koninkl Philips Electronics NV

Address before: Holland Ian Deho Finn

Applicant before: Koninklijke Philips Electronics N.V.

C14 Grant of patent or utility model
GR01 Patent grant
ASS Succession or assignment of patent right

Owner name: KALAI HANXILE CO., LTD.

Free format text: FORMER OWNER: KONINKL PHILIPS ELECTRONICS NV

Effective date: 20120113

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20120113

Address after: American Delaware

Patentee after: NXP BV

Address before: Holland Ian Deho Finn

Patentee before: Koninkl Philips Electronics NV