CN101258480A - 具有分离串行模块的处理器阵列 - Google Patents
具有分离串行模块的处理器阵列 Download PDFInfo
- Publication number
- CN101258480A CN101258480A CNA2006800324470A CN200680032447A CN101258480A CN 101258480 A CN101258480 A CN 101258480A CN A2006800324470 A CNA2006800324470 A CN A2006800324470A CN 200680032447 A CN200680032447 A CN 200680032447A CN 101258480 A CN101258480 A CN 101258480A
- Authority
- CN
- China
- Prior art keywords
- serial
- data line
- data
- processor
- look
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/80—Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/80—Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
- G06F15/8007—Architectures 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
- G06F15/8015—One dimensional arrays, e.g. rings, linear arrays, buses
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Image Processing (AREA)
- Multi Processors (AREA)
- Advance Control (AREA)
Abstract
处理器阵列具有处理器元件(2)和连接到处理器元件(2)可由处理器元件(2)并行存取的存储器(4)。分离的串行模块(30)提供例如查询表模块(30)形式的附加功能。串行模块(3)处理串行输入到模块(30)的数据行。利用适当的编程步骤能够并行地在处理器元件(2)中继续进行处理。
Description
本发明涉及处理器阵列,尤其但不排他地涉及具有分离串行模块的单指令多数据(SIMD)数据处理器阵列,尤其但不排他地涉及查询表(LUT)模块,还涉及处理器阵列的操作方法和用于操作该处理器阵列的计算机程序。
在SIMD处理阵列中,多个处理元件(PE)的每一个都接收来自共同指令流的相同指令,并基于对该处理元件唯一的数据来执行该指令,其中该数据可以被称为本地数据(local data)。这种处理阵列适用于高度重复性的任务,即同时在多个数据项上实施同样的操作,这例如会发生在图像处理领域。
图1示出了经典的SIMD阵列,其具有多个处理元件2和一个由各元件共享的存储器4。指令输入6并行地为所有处理元件提供指令,也就是说所有元件执行同样的指令。然而这些元件确实是并行地存取存储器4中的不同数据。
然而,当处理操作依赖于数据,例如当执行查询表操作时,SIMD处理阵列并不是特别高效。在这种情况下,如果查询表被存储在存储器4中,那么每个处理器需要同时存取该存储器的不同部分,这样由于试图顺序存取而降低了性能。因此,在某些体系结构中,特别是在SIMD体系结构中,查询表操作在功能上计算,其可能需要非常大量的指令。
解决这一问题的一种方法在US6,665,768(Redford)中有所描述。在该方法中,一个内存条(memory bank)由多个处理器进行存取。然而,这样做的缺点是查询表的多个副本被存储在多个内存条中。这多个内存条可以由处理元件并行地存取。每个处理元件具有能够选择其中一个内存条的识别值,因此提高了速度。
WO2005/017765(Philips)中描述了一种改进的处理查询表的处理阵列。这种处理阵列的简化版以简化的形式示于图2。每个处理元件2都具有算术逻辑单元10和多个专用于该处理元件2的存储元件12。处理元件具有系数输入14和共同的指令输入6,以及内部累加器16。每个处理元件还包括各种多路复用器和算术逻辑单元,为了简洁起见从图2中将其省略。
可以通过在指令输入上提供适当的指令以及在系数输入上提供索引以便将累加器中的数据存储在由系数输入14索引的存储元件中,从而将数据项存储在处理元件2的其中一个存储元件12上。相反地,能够将数据从由系数输入索引的存储元件载入到累加器中。来自由系数输入14索引的存储元件12的数据还能够与累加器16中数据相乘。
WO2005/017765中描述了将正确数据载入用于查询表操作的存储元件中的多种可替换方式。在数据被载入之后,累加器16中的数据可被用作索引,以便选择其中一个存储元件并将存储在相应存储元件中的数据直接输出或者输出到内部寄存器。
因此,WO2005/017765中的处理阵列能够以三种方式运行。第一,就普通的阵列器件而言,每个处理元件都能够基于广播指令,在本地数据上执行同样的指令。第二,每个处理元件都能够在本地数据上执行同样的指令,但是在系数输入上提供不同的系数。第三,每个处理元件都能够执行查询表中确定的功能。WO2005/017765中的处理阵列因此能够提供如下优点,SIMD处理在依赖于数据的处理操作中性能得到改善。
然而,按照图2所示的配置为每个处理元件提供本地存储器与按照图1所示配置的跨越更多处理器的普通宽存储器相比,需要多得多的硅面积(silicon area)。并且,这样增加的复杂度需要在每个处理元件中有更多的开销(overhead),诸如地址解码器。
这种复杂度意味着利用间接寻址的SIMD器件可能会相当昂贵。
并且,在并行查询表操作的特定情况下,需要将查询表存储在每个处理元件的存储器中。实际上,不可能为了能够存储大的查询表而为每个处理元件提供足够的存储位置。
对于添加到并行处理阵列上的其它类型的附加处理也可能发生同样的问题。
因此,仍然需要改进的用于提供附加功能的并行处理阵列。
根据本发明,提供了一种处理器阵列,包括:
多个处理器元件,用于并行处理数据行;
可由多个处理器元件并行存取的存储器;
具有串行输入和输出的串行模块,用于对在串行输入上输入的数据行实施处理操作以便修改数据行,并且在串行输出上输出结果作为修改的数据行;和
用于从处理器元件和存储器向串行模块串行输入串行地提供数据行,以及在处理操作之后将修改的数据行从串行输出返回到处理器元件和存储器的装置。
该串行模块可以是查询表模块。
在实施例中,用于提供数据行的装置是连接到串行输入和串行输出的直接存储器存取控制器,用于直接存取存储器中的数据行并将处理操作的结果直接存储在存储器中,使得模块能够执行处理操作,同时该处理继续在处理元件中进行。
在可替换实施例中,用于提供数据行的装置包括至少包括一个移位寄存器的移位寄存器单元,该移位寄存器单元具有串行输出和串行输入,串行输入连接到串行模块的串行输出,串行输出连接到串行模块的串行输入,其中存储器能够并行地存取移位寄存器中的数据。
处理器阵列特别地可以是单指令集多数据(SIMD)处理器阵列。
可替换地,本发明可应用到其它多处理器配置中,包括例如多指令集多数据(MIMD)处理器阵列,或者运行在锁步(lockstep)模式下的超长指令字(VLIW)处理器。
另一方面,本发明涉及具有多个处理器元件、可由多个处理器元件并行存取的存储器和串行模块的处理器阵列的操作方法,该方法包括:
利用多个处理器元件处理数据行;
当在处理器元件中处理数据行期间,从处理元件和存储器向
串行模块串行地发送下一数据行;
对串行模块中的下一数据行执行处理操作,生成修改的下一数据行;
将修改的下一数据行从串行模块返回到处理元件和存储器;并且
重复所述步骤,利用处理器元件依次处理每个数据行,同时在串行模块中对下一数据行执行处理操作。
这样实现了流水线操作。
另一方面,本发明还涉及配置为使得处理器阵列执行如上所述方法的计算机程序代码,其中所述处理器阵列具有多个处理器元件、可由多个处理器元件并行存取的存储器和附加的串行模块。
为了更好地理解本发明,各实施例将完全通过例子,参照附图来进行描述,其中:
图1示出现有技术的SIMD阵列;
图2示出另一个现有技术的SIMD阵列;
图3示出根据本发明第一实施例的处理器阵列;
图4示出利用图3的处理器阵列的方法流程图;
图5示出可替换实施例;和
图6示出另一种可替换实施例。
参照图3,根据本发明的处理器阵列包括多个处理器元件2、能够由每个处理器元件并行存取的存储器4和共同的指令输入6。这些特征与图1所示现有技术配置中的特征相似。在下面将处理器元件的数目称为N个,其中N是大于1的正整数。
提供中央控制器8,用于控制该处理器阵列。
提供查询表模块30形式的串行模块,通过直接存储器存取(DMA)控制器39直接存取存储器4,所述直接存储器存取(DMA)控制器39与存储器4以及查询表模块30的串行数据输入34和串行数据输出36相连接。提供控制输入32。提供查询表模块30中的查询表存储器38,用于存储一个或更多查询表。
查询表模块30在控制输入32上被进行控制,接收串行数据输入34上的数据,并在输出36上输出处理后的数据。中央处理器8向处理器和查询表模块提供指令。中央控制器能够指示在查询表存储器38中存储新的查询表。
查询表模块30被配置为在串行数据输入34上串行地接收数据行,以便执行查询表操作,作为结果产生修改后的数据行,并在输出36上串行地输出该修改后的数据行。在实施例中,直接从存储器4通过直接存储器存取获得数据行,即独立于处理器。
通常,数据行应包括N条数据,每个处理器元件一条数据。将会理解,查询表模块对数据串行操作,而处理器元件并行操作。因此,通常假设查询表模块能够在一个时钟周期内对一条串行输入的数据执行查询操作,则查询表模块将需要N个时钟周期来在N条形成行的数据上执行查询表操作。
首先可以想到,这样的延迟将会非常大,特别是在并行处理器的数量很大并由此造成数据行中的数据项数量也很大的情况下。
然而,利用适当的技术,查询表操作的处理对于程序员可以被看作单个指令,现在将进行解释。
图4示出了一种操作处理器阵列的方法,用于多个表示为数据向量a、b、f(c)的数据行。循环依次为每个数据行执行处理,其中k表示循环索引。除了查询表操作之外的所有操作都由处理元件2并行执行。
对循环中的每一轮迭代,每个处理器元件都并行获取一条数据a(步骤40)。每个处理器将会获取不同的数据项,生成具有N个数据元素的高效数据行,每个处理器元件2一个数据元素。
下一个步骤(步骤42)是对第k个数据行执行查询表操作。这将被编程为对数据行执行简单的查询表操作,如图所示。这个步骤使得查询表模块开始利用对不包括处理器元件的存储器进行直接、串行数据存取来处理数据行。
不为该串行查询表操作等待N个时钟周期而继续进行,下一步骤(步骤44)执行进一步处理以处理对前一数据行(k-1)的查询表操作的结果。虽然只示出了一个计算步骤,实际上需要对查询表操作的结果执行多个计算步骤。
然后使索引k增加(步骤46),循环继续进行,直到所有数据行都已经被处理(步骤48)。
注意到,处理器阵列和查询表的时钟可以完全不同,进一步有助于降低延迟。
因此,图4所示的方法使串行查询表操作的巨大延迟变得不可见,该查询表操作对程序员来说将会好像只花费了单个时钟周期。
本领域技术人员将会理解,为了简洁起见图4已经省略了某些细节。例如,对第一轮循环来说,由于没有前一数据行,将不执行步骤44,而对最后一轮循环来说不需要步骤40。
因此,图3的处理器阵列和图4的方法特别适用于图像处理,图像处理通常需要顺序地处理多个数据行,对每个数据行依次执行同样的操作,将查询表操作用作其中一个处理步骤。
与存储器与每个处理器元件相关联以用于执行查询表操作的配置不同,只需要在存储器38中有一个查询表的副本,并且它不需要费劲地被载入到每个处理器元件2的存储器中。因此,存储器并因而查询表可以需要多大就有多大,而不会将不必要的开销包含到只需要小查询表的配置中。
通过提供分离的元件来串行执行查询表操作,只需要单个查询表。在US 6,665,768的现有方法中,每个处理器存取不同的内存条,对于一个以上的存储器来说,不可能一次存取整个查询表,因此需要多个副本。并且,US 6,665,768为查询表操作使用个别的处理器元件,这样就可能要用多个时钟周期来存取大的外部存储器,延迟了处理。
并且,通过提供分离的查询表模块,对查询表操作来说可以达到最优化,而不必与处理器元件通常的、相当不同的操作进行妥协。
在本实施例的变形中,元件30不执行查询表操作,而是被配置为执行一些可替换处理形式的串行模块。
元件30本身可包括处理器,其可以以任何适当的时钟速度来运行,鉴于串行输入和输出该时钟速度不一定与处理器元件2的时钟速度相同。模块30可例如执行霍夫曼(Huffman)、算术或游程编码。模块30还可例如是条件存取模块。
参照图5解释另一个实施例。
在这个配置中,DMA器件不被用作存取存储器4。而是将一对移位寄存器用作移位寄存器单元51。移位寄存器单元51包括具有并行输出和串行输入的第一移位寄存器50,和具有并行输入和串行输出的第二移位寄存器52。第一移位寄存器50的串行输入54连接到查询表模块30的输出36,第二移位寄存器的串行输出56连接到查询表模块30的输入34。在本实施例中,每个移位寄存器50、52都具有N个位置,其中N是处理器2的数目。
并行端口58在存储器4的地址空间中寻址,并因此对程序员来说,看起来就像普通的线路存储器。
图6示出了利用单个移位寄存器60的相似配置。移位寄存器60具有串行输入54和串行输出56,串行输出56连接到查询表模块的输入34,串行输入54连接到查询表模块的输出36。移位寄存器60的内容能够由存储器4并行寻址。
将会理解,图5和6的实施例还可以与可替换串行模块而不是查询表模块一起使用。
这些实施例允许进行很多不同种类的串行处理,包括查询表操作。例如,查询表操作可以是计算某些函数的高效方法,诸如sin()、arctan()和sqrt(),因此该实施例允许有准备地将这些函数包括到并行处理中使用的通常简单的处理器中。还可将该实施例用于实时的视频处理。
本领域技术人员将会意识到,这里所描述的实施例的很多变形都是可以的。例如,本领域技术人员将会意识到,除了直接存储器存取之外,还可以使用存取数据行的其它方法。
处理单元的数目可以调整,且处理器元件的数目不必与移位寄存器位置的数目相同。
Claims (14)
1、一种处理器阵列,包括:
多个处理器元件(2),用于并行处理数据行;
可由多个处理器元件(2)并行存取的存储器(4);
具有串行输入和输出(34,36)的串行模块(30),用于对在串行输入(34)输入的数据行实施处理操作以便修改该数据行,并且在串行输出(36)上输出结果作为修改的数据行。
用于从处理器元件(2)和存储器(4)向串行输入(34)串行地提供数据行,以及在处理操作之后将修改的数据行从串行输出(36)返回到处理器元件(2)和存储器(4)的装置(39,51)。
2、根据权利要求1所述的处理器阵列,其中串行模块(30)是查询表模块,查询表操作、霍夫曼、算术或游程编码模块,或者允许有条件地存取数据的条件存取模块。
3、根据权利要求2所述的处理器阵列,其中串行模块(30)是查询表模块(30),所述查询表模块(30)被配置为执行查询表操作作为处理操作。
4、根据前面任意一项权利要求所述的处理器阵列,其中该处理器阵列被配置为:
并行地使用多个处理器元件(2),依次处理每个数据行;
当在处理器元件(2)中处理数据行期间,在串行模块(30)中对下一数据行执行处理操作,使得修改的数据行在处理器元件(2)需要该修改的数据行之前返回。
5、根据前面任意一项权利要求所述的处理器阵列,其中该处理器阵列被配置为通过下列方式处理多个数据行:
确定(40)用于查询表操作的第k个数据行;
指示(42)对所确定的第k个数据行进行处理操作;
处理对前面第(k-1)个数据行执行的处理操作的结果(44);以及
重复确定、指示和处理步骤(46,48),直到所有数据行都已经被处理。
6、根据前面任意一项权利要求所述的处理器阵列,其中用于提供数据行的装置(39)是直接存储器存取控制器(39),用于直接存取存储器(4)中的数据行,并将处理操作的结果直接存储到存储器(4)中,其中直接存储器存取控制器(39)被连接到串行模块(30)的串行输入(34),还被连接到串行模块(30)的串行输出(36),使得串行模块(30)能够对串行输入的数据行执行处理操作,同时继续在处理元件(2)中进行处理。
7、根据前面任意一项权利要求所述的处理器阵列,其中用于提供数据行的装置(39)包括至少包括一个移位寄存器(50,52,60)的移位寄存器单元(51),该移位寄存器单元(51)具有串行输出(56)和串行输入(54),该串行输入(54)连接到处理表模块(30)的串行输出(36),而该串行输出(56)连接到串行模块(30)的串行输入(34),其中存储器(4)能够并行地存取移位寄存器(51)中的数据。
8、根据前面任意一项权利要求所述的处理器阵列,其中该处理器阵列是单指令集多数据处理器阵列。
9、一种处理器阵列的操作方法,该处理器阵列具有多个处理器元件(2)、能够由多个处理器元件(2)并行存取的存储器(4)和串行模块(30),该方法包括:
利用多个处理器元件(2)处理数据行;
当在处理器元件(2)中处理数据行期间,从处理元件(2)和存储器(4)向串行模块串行地发送下一数据行;
在串行模块(30)中对下一数据行执行处理操作,生成修改的下一数据行;
将修改的下一数据行从串行模块返回到处理元件(2)和存储器(4);并且
重复所述步骤,利用处理器元件(2)依次处理每个数据行,同时在串行模块中对下一数据行执行处理操作。
10、根据权利要求9所述的方法,其中处理采取以下步骤:
依次对每第k个数据行,
确定(40)用于串行处理的第k个数据行;
指示(42)对所确定的第k个数据行进行串行处理操作;
处理对前面第(k-1)个数据行执行的串行处理操作的结果(44);以及
重复确定、指示和处理步骤(46,48),直到所有数据行都已经被处理。
11、根据权利要求9或10所述的方法,其中处理操作是查询表操作,霍夫曼、算术或游程编码操作,或者允许有条件地存取数据的条件存取操作。
12、根据权利要求11所述的方法,其中处理操作是查询表操作。
13、一种包括计算机程序代码装置的计算机程序产品,其中计算机程序代码装置被配置为使得具有多个处理器元件(2)、能够由多个处理器元件(2)并行存取的存储器(4)和查询表模块(30)的处理器阵列执行根据权利要求9-12中任意一项所述方法。
14、根据权利要求13所述的计算机程序产品,其被记录在数据载体上。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP05108126 | 2005-09-05 | ||
EP05108126.3 | 2005-09-05 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101258480A true CN101258480A (zh) | 2008-09-03 |
Family
ID=37745162
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2006800324470A Pending CN101258480A (zh) | 2005-09-05 | 2006-09-04 | 具有分离串行模块的处理器阵列 |
Country Status (6)
Country | Link |
---|---|
US (1) | US20080229063A1 (zh) |
EP (1) | EP1927056A2 (zh) |
JP (1) | JP2009507292A (zh) |
KR (1) | KR20080049727A (zh) |
CN (1) | CN101258480A (zh) |
WO (1) | WO2007029169A2 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107346230A (zh) * | 2016-05-04 | 2017-11-14 | 杭州海存信息技术有限公司 | 基于封装内查找表的处理器 |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100940792B1 (ko) * | 2008-06-30 | 2010-02-11 | 엠텍비젼 주식회사 | 가변 프로세싱 유닛을 구비한 프로세서 칩 및 가변프로세싱 방법 |
US7940755B2 (en) * | 2009-03-19 | 2011-05-10 | Wisconsin Alumni Research Foundation | Lookup engine with programmable memory topology |
WO2013106210A1 (en) * | 2012-01-10 | 2013-07-18 | Intel Corporation | Electronic apparatus having parallel memory banks |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB8414109D0 (en) * | 1984-06-02 | 1984-07-04 | Int Computers Ltd | Data reorganisation apparatus |
GB2211638A (en) * | 1987-10-27 | 1989-07-05 | Ibm | Simd array processor |
JPH0567203A (ja) * | 1991-09-10 | 1993-03-19 | Sony Corp | 信号処理用プロセツサ |
US5473266A (en) * | 1993-04-19 | 1995-12-05 | Altera Corporation | Programmable logic device having fast programmable logic array blocks and a central global interconnect array |
US5341044A (en) * | 1993-04-19 | 1994-08-23 | Altera Corporation | Flexible configuration logic array block for programmable logic devices |
US5434629A (en) * | 1993-12-20 | 1995-07-18 | Focus Automation Systems Inc. | Real-time line scan processor |
WO1997042580A1 (en) * | 1996-05-08 | 1997-11-13 | Integrated Computing Engines, Inc. | Parallel-to-serial input/output module for mesh multiprocessor system |
US6097212A (en) * | 1997-10-09 | 2000-08-01 | Lattice Semiconductor Corporation | Variable grain architecture for FPGA integrated circuits |
US6665768B1 (en) * | 2000-10-12 | 2003-12-16 | Chipwrights Design, Inc. | Table look-up operation for SIMD processors with interleaved memory systems |
US7506135B1 (en) * | 2002-06-03 | 2009-03-17 | Mimar Tibet | Histogram generation with vector operations in SIMD and VLIW processor by consolidating LUTs storing parallel update incremented count values for vector data elements |
JP4238529B2 (ja) * | 2002-07-03 | 2009-03-18 | 富士ゼロックス株式会社 | 画像処理装置 |
US7134143B2 (en) * | 2003-02-04 | 2006-11-07 | Stellenberg Gerald S | Method and apparatus for data packet pattern matching |
US7725681B2 (en) * | 2003-08-15 | 2010-05-25 | Nxp B.V. | Parallel processing array |
US7174441B2 (en) * | 2003-10-17 | 2007-02-06 | Raza Microelectronics, Inc. | Method and apparatus for providing internal table extensibility with external interface |
US7282950B1 (en) * | 2004-11-08 | 2007-10-16 | Tabula, Inc. | Configurable IC's with logic resources with offset connections |
US7295037B2 (en) * | 2004-11-08 | 2007-11-13 | Tabula, Inc. | Configurable IC with routing circuits with offset connections |
-
2006
- 2006-09-04 KR KR1020087005105A patent/KR20080049727A/ko not_active Application Discontinuation
- 2006-09-04 EP EP06795901A patent/EP1927056A2/en not_active Withdrawn
- 2006-09-04 US US12/065,536 patent/US20080229063A1/en not_active Abandoned
- 2006-09-04 CN CNA2006800324470A patent/CN101258480A/zh active Pending
- 2006-09-04 JP JP2008528646A patent/JP2009507292A/ja active Pending
- 2006-09-04 WO PCT/IB2006/053102 patent/WO2007029169A2/en active Application Filing
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107346230A (zh) * | 2016-05-04 | 2017-11-14 | 杭州海存信息技术有限公司 | 基于封装内查找表的处理器 |
Also Published As
Publication number | Publication date |
---|---|
WO2007029169A3 (en) | 2007-07-05 |
WO2007029169A2 (en) | 2007-03-15 |
KR20080049727A (ko) | 2008-06-04 |
JP2009507292A (ja) | 2009-02-19 |
EP1927056A2 (en) | 2008-06-04 |
US20080229063A1 (en) | 2008-09-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114238204B (zh) | 可重构并行处理 | |
KR102272839B1 (ko) | 재구성 가능한 특정 용도 컴퓨터 가속기 | |
US5903769A (en) | Conditional vector processing | |
US20210216318A1 (en) | Vector Processor Architectures | |
EP2951681B1 (en) | Solution to divergent branches in a simd core using hardware pointers | |
JP5762440B2 (ja) | 高効率の埋め込み型均一マルチコアプラットフォーム用のタイルベースのプロセッサアーキテクチャーモデル | |
EP1038253B1 (en) | Multiprocessor computer architecture incorporating a plurality of memory algorithm processors in the memory subsystem | |
RU2427895C2 (ru) | Оптимизированная для потоков многопроцессорная архитектура | |
CN117724763A (zh) | 用于矩阵操作加速器的指令的装置、方法和系统 | |
US20130054939A1 (en) | Integrated circuit having a hard core and a soft core | |
US20060259747A1 (en) | Long instruction word processing with instruction extensions | |
JPH04299436A (ja) | メモリ回路および機能ユニットのグループを備えた処理装置 | |
US6145074A (en) | Selecting register or previous instruction result bypass as source operand path based on bypass specifier field in succeeding instruction | |
US20220075651A1 (en) | Highly parallel processing architecture with compiler | |
CN101258480A (zh) | 具有分离串行模块的处理器阵列 | |
CN112074810B (zh) | 并行处理设备 | |
US7415601B2 (en) | Method and apparatus for elimination of prolog and epilog instructions in a vector processor using data validity tags and sink counters | |
EP0363174A2 (en) | Branch on bit processing | |
US20030172248A1 (en) | Synergetic computing system | |
WO2022104176A1 (en) | Highly parallel processing architecture with compiler | |
Liang et al. | TCX: A RISC style tensor computing extension and a programmable tensor processor | |
EP1251425A2 (en) | Very long instruction word information processing device and system | |
US7107478B2 (en) | Data processing system having a Cartesian Controller | |
JP2006293741A (ja) | プロセッサ | |
US5473774A (en) | Method for conflict detection in parallel processing system |
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: 20080903 |