CN101133409A - 处理器中的可再配置逻辑 - Google Patents
处理器中的可再配置逻辑 Download PDFInfo
- Publication number
- CN101133409A CN101133409A CNA2006800068031A CN200680006803A CN101133409A CN 101133409 A CN101133409 A CN 101133409A CN A2006800068031 A CNA2006800068031 A CN A2006800068031A CN 200680006803 A CN200680006803 A CN 200680006803A CN 101133409 A CN101133409 A CN 101133409A
- Authority
- CN
- China
- Prior art keywords
- data processor
- configuration
- configurable logic
- processor according
- clu
- 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
- 230000006870 function Effects 0.000 claims abstract description 20
- 238000012545 processing Methods 0.000 claims abstract description 12
- 238000004458 analytical method Methods 0.000 claims description 4
- 230000004044 response Effects 0.000 claims 2
- 238000000034 method Methods 0.000 description 8
- 238000013461 design Methods 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 5
- 230000008901 benefit Effects 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 235000017060 Arachis glabrata Nutrition 0.000 description 1
- 241001553178 Arachis glabrata Species 0.000 description 1
- 235000010777 Arachis hypogaea Nutrition 0.000 description 1
- 235000018262 Arachis monticola Nutrition 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 230000004087 circulation Effects 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000007620 mathematical function Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 235000020232 peanut Nutrition 0.000 description 1
- 229920006395 saturated elastomer Polymers 0.000 description 1
- 238000003860 storage Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3885—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
-
- 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/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7867—Architectures of general purpose stored program computers comprising a single central processing unit with reconfigurable architecture
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/30036—Instructions to perform operations on packed data, e.g. vector, tile or matrix operations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30181—Instruction operation extension or modification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3885—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
- G06F9/3893—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units controlled in tandem, e.g. multiplier-accumulator
- G06F9/3895—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units controlled in tandem, e.g. multiplier-accumulator for complex operations, e.g. multidimensional or interleaved address generators, macros
- G06F9/3897—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units controlled in tandem, e.g. multiplier-accumulator for complex operations, e.g. multidimensional or interleaved address generators, macros with adaptable data path
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Mathematical Physics (AREA)
- Advance Control (AREA)
- Logic Circuits (AREA)
- Executing Machine-Instructions (AREA)
Abstract
一种数据处理器包括处理元件(PEn 4)阵列,所述阵列中的每一元件均包括各自的可再配置逻辑单元(CLU 11),借此可随意地再配置每一处理元件的逻辑能力。可以将配置指令预先加载到存储器(14,图3、4未图示),借此可从所述被预先加载的存储器中自动排序每一处理元件的配置状态。所述存储器可为全域的,在此情况下CLU可经并行再配置以执行相同功能。或者,所述存储器对于每一处理元件来说可为局域的,使得不同的CLU实施不同的功能。可在程序控制下在线程切换时实行配置。每一各自的处理元件可在运行时从微码存储器中的许多配置中选择特定配置。所述处理器优选为SIMD处理器。
Description
技术领域
本发明涉及处理器(例如数据处理器),其中与处理器的处理元件相关联的逻辑功能适合于被再配置。
背景技术
在处理器领域中,存在可用的许多可再配置结构。这些结构包含纯可再配置硬件,例如FPGA(现场可编程门阵列)、可再配置的ALU阵列(例如Elixent的“D-Fabrix”系统)或“制造时间(fab-time)”可再配置处理器(例如由ARC和Tensilica制造的那些处理器)。还存在组合解决方案,例如包含标准CPU核心的FPGA或包含某种可再配置逻辑的处理器。所有这些方法均具有许多优点和缺点。
尝试提供若干程度的可再配置性的现有技术处理器可分为以下类型:
例如由ARC和Tensilica制造的那些处理器可在设计时间配置,其中用户选择各种参数(例如寄存器数目)和选项(例如DSP指令)。这些处理器中的一些还可扩展,即,提供端口(或总线)以连接由特殊指令存取或控制的用户定义的硬件。应注意,这些结构不是可再配置的。其仅可在创建硬件时配置一次。其不可接着再定向到另一应用程序。FPGA和例如Elixent的较高级可再配置结构是可再配置的,但需要硬件设计技术。软件应用程序必须随着硬件设计而再编码。
现有的组合处理器与可再配置逻辑的结构多数将处理器与FPGA封装在一起而不将FPGA完全集成到处理器结构中。一个例外是Stretch结构,其将可再配置的数据路径添加到Tensilica处理器以提供指令集扩展。在此情况下,可再配置逻辑是高度并行的,以便在处理数据时提供高级性能。这增加了可配置逻辑块的大小、功率消耗和配置复杂性。
所有这些技术基本上都是可经配置以执行不同功能的硬件解决方案。这意味着必须使用硬件设计方法、语言和工具来定义其功能。不仅软件开发者不熟悉这些设计技术,而且这些设计技术也不容易与现有的软件工具集成。可配置单元到处理器的耦合通常处于API层,其中程序编译和FPGA配置具有完全独立且极为不同的工具链。
发明内容
本发明以用简单常规方式扩展现有结构的方式向现有处理器添加可再配置逻辑。这使得可再配置逻辑更容易由标准编程语言存取和使用。
因此本发明提供一种数据处理器,其包括处理元件阵列,所述阵列中的每一元件均包括各自的可再配置逻辑单元,借此可随意地再配置每一处理元件的逻辑能力。
本发明以与例如算术逻辑单元(ALU)的现有功能单元完全相同的方式提供可配置逻辑与处理器的更紧密的集成。通过以SIMD方式在处理元件阵列上分布少量可配置逻辑,缩短了配置(和再配置)所花费的时间。可通过提供常用函数的库来解决定义可配置逻辑的问题。而且,因为可再配置逻辑仅用于实施单一基本函数(指令或指令群组)且因为在处理元件结构中已定义数据来源和目的地,所以将所述功能定义为硬件的任务减少许多,且因此更经得起由软件自动完成。
可配置逻辑单元(CLU)的函数由用户定义(或许通过库)、或由编译工具(通常为某个算法的内部循环)自动定义。在任一方法中,都将新的指令引入到编译程序以显著加速频繁使用的操作。
CLU向处理器的紧密集成及其到寄存器文件的标准化连接使得基于对C/C++应用程序源代码的分析进行自动配置成为可能。可通过对应用程序软件的已由用户标记的计算密集部分进行编译程序分析而将定制指令自动并入到处理器中。与基于ASIC和FPGA的解决方案相比,此定制指令的自动化实施有希望大大缩短应用程序开发时间。
重要的是了解,本发明并不依赖于本身已知的用于分析软件(源代码和目标代码两者)的技术和用于产生硬件(或者同样的,用于配置可再配置逻辑的数据)的技术。
本发明提供显著的益处,例如较高的性能、单一处理器结构可经优化/定向以用于不同应用程序的事实,以及所述结构可保持简单的编程模型的事实。
代替在处理器外部的单一较大的可再配置逻辑块,我们的方法将少量可再配置逻辑(CLU)集成在阵列中的每个处理元件内。系统的性能来自于并行使用大量的这些PE(Processing Element,处理元件)。
申请人的现有处理器已具有高度并行的结构。因此仅必需对此进行扩展以能够在可配置逻辑中实施相对简单的功能性,例如实施在硬件中通常将需要若干微码步骤的指令。较简单/较小的可配置逻辑块意味着将其添加到每个PE是可行的。接着可在硬件中实施影响特定应用程序的性能的关键指令,而不会有提供用于在其它应用程序中未使用的指令的固定硬件的硬件开销。举例来说,许多DSP(Digital Signal Processing,数字信号处理)应用需要“饱和”算术,其中原本将溢出(或下溢)的计算“粘滞”在最大(或最小)值。在硬件中添加此额外功能性将存在开销,且增加了非DSP应用的成本。在微码中实施此功能性将对每个算术指令添加若干循环,从而不利地影响性能。
代替通过写入微码添加新的指令,而将功能实施在可配置硬件中。目前从功能的高级描述产生微码的相同工具可经修改以从相同的高级描述产生配置数据。
可针对系统(在引导时间)、针对应用程序(在运行时间)或动态地(例如,在线程切换时或在程序控制下)配置CLU。由于明确定义的接口、控制和功能,配置将需要用户了解极少的或不需要用户了解硬件设计或FPGA工具链。
可在许多应用领域配置和使用并入有CLU的处理器。在某些情况下,产生更加高度优化的实施方案可能是经济的。在此情况下,处理器的CLU型式可用作开发和评估平台,以准确确定在硬件中直接实施哪些功能是最佳的。一旦知道其结果,就可用更有效的实施方案来代替CLU,所述实施方案在固定硬件中仅实施所需要的功能。
附图说明
现将参看以下图式描述本发明,其中:
图1展示典型的PE阵列;
图2是展示功能单元的处理元件(PE)的示意方框图,所述功能单元中的一者可为可配置逻辑单元(CLU);
图3是可如何通过从RAM中进行选择来实现再配置的示意表示;以及
图4是可如何通过使用微码来实现再配置的示意表示。
具体实施方式
图1描绘一般处理器1,其连接到存储器2并经由控制路径和双向数据路径连接到协处理器或FPGA 3。所述协处理器或FPGA可经配置以便在上文引言部分中论述的层级处产生可配置处理器。
众所周知许多算法的专用加速适合FPGA结构,事实上许多算法经设计以首先配合到小件硬件中。这些算法已转译为软件并形成较小的计算内部循环(通常极度优化)。这些密集的内部循环当映射回到(可配置)硬件上时其处理速度可展示为加快若干数量级。
图2示意说明处理元件4。其是阵列中许多处理元件之一,且因此被视为第n个PE,在图中标记为PEn。所述阵列可以是SIMD阵列。
PE4包含I/O单元5、局域存储器6、寄存器文件7和算术逻辑单元(ALU)8的通常联合。PE 4由控制逻辑单元9指挥。外部存储器10经由I/O单元5与PE 4界接。ALU单元8紧密耦合到寄存器文件7。来自寄存器文件7的操作数连接到ALU以执行如控制单元9指示的功能,且将结果反馈到寄存器文件中。
可配置逻辑单元11(CLU)以与例如ALU8和浮点单元(FPU)12等其它功能单元相同的方式紧密耦合到PE的寄存器文件7。MAC单元(未图示)可以与其它单元相同的方式连接。CLU11经设计以配置为用户定义的逻辑功能,其通常对应于某一算法的内部循环内的单一指令。一旦CLU已经过配置,其就以与其它功能单元相同的方式被使用;例如,以与微码指令控制寄存器文件与ALU(或FPU)之间的数据传递以及ALU(或FPU)执行特定功能相同的方式。
数据和指令路径在图中用各个箭头表示。CLU以标准方式连接到寄存器文件,即输入和输出具有固定宽度和固定位置。可将一些通用目的微码位馈入到所有CLU中。这可用于配置CLU以及控制经配置的CLU。
当将此紧密集成到PE 4中时,CLU配置和编程模型可与常规编译工具箱集成,因为这形成一种加速新的指令的方法。
这是可能的,因为数据流入和流出CLU是明确界定的且限于较小数目的选择,因此大大简化了CLU的编程。这种简化使得编译程序可以分析较小内部循环的数据流曲线图,并确定应在可再配置硬件中实施什么功能。此数据流曲线图作为新的指令直接映射到CLU逻辑上。
这意味着编程人员可能相对不了解加速器的结构(或甚至其存在),且因此性能加速实现起来更加直接。
图3和4说明可对CLU进行再配置的方式的两个不同形式。图3中,更详细展示控制逻辑9。其包含指令取得与解码单元13和微码单元14。这些单元13和14控制CLU15,并另外将指令提供到配置数据单元16。其优选地是存储有一组配置数据的较小的RAM,可通过使用线程ID来调用所述配置数据以促使CLU15再配置成预先加载于RAM16中的预定数目的配置中的任一者。这种方案的主要优点之一是,从控制逻辑到RAM的指令集可简单许多,且因此实行起来更快。以此方式,可以选自保存在RAM16中的预定义函数(或指令)的“库”的配置来加载CLU15。可由编程人员或由编译工具基于对应用的需求的分析来明确地完成此操作。
图4展示用于再配置CLU15的替代技术。此处,用于CLU再配置的指令源自微码RAM14,其含有微码以扩展来自控制逻辑9的指令。
将配置数据和控制指令直接馈入到CLU以实施再配置。该图还以虚线展示,其它微码RAM17和CLU18可在相同控制逻辑9的控制下操作。
因为CLU较小且需要少量配置数据,所以可非常快速地(例如,随着线程切换)完成CLU的配置。由于配置和编程模型是数据并行的,所以可同时配置所有PE中的所有CLU。
因此将了解,CLU的配置和控制均是经由正常的微码指令实现的。
配置数据可直接保存在微码存储器中;在此情况下,特殊标记的微码字直接用作配置数据。或者,CLU配置数据可保存在专用于所述目的的存储器中;需要时,在微码指令的控制下将此数据加载到CLU中。这种配置数据存储器可以是所有PE所共同的,或者可复制在每一PE上。后者需要用存储器的更多区域(尽管其减小路由信号所需的区域),但将实现较快的再配置。
因此,系统具有两个层级的微码控制:一个配置CLU,另一个控制CLU并将数据提供到CLU(以逐个指令为基础)。通常,配置数据将在处理器“引导”时被加载到微码存储器中;其接着可用于视需要而加载到CLU中。由于CLU是依据微码指令配置的,所以程序执行与配置可能存在进一步的重叠;即,在使用另一功能单元的周期期间,可将配置数据加载到CLU中。
可存在另外层级的配置,其受共同配置存储器(其中从一系列配置中选择特定的配置)控制或在程序控制下直接由PE本身控制。
这允许可能基于对每一PE的有条件估计而以不同方式来配置每一CLU。这意味着,定向到CLU的特定指令操作码可对每一PE执行不同功能,因此摆脱传统SIMD编程模型的严格限制。
概括来说,可在载入时间或在运行时间(例如,在线程切换时)快速且并行地配置所有CLU。所有CLU可在程序控制下由其PE同时配置/修改。不同的PE可以不同方式(在运行时间确定)配置其CLU,使得相同的操作码实施不同功能,借此摆脱严格SIMD模型的限制。最后,可通过PE在运行时间从微码存储器中的许多配置中选择特定的配置来配置CLU。
尽管在以上实施例中,本发明既存在ALU又存在CLU,但有可能在适当指示时CLU可经配置以模仿ALU。或者,ALU可用于执行非饱和算术且CLU可被保留用于执行饱和算术。
Claims (17)
1.一种数据处理器,其包括处理元件阵列,所述阵列中的每一元件均包括各自的可再配置逻辑单元,借此可随意地再配置每一处理元件的逻辑能力。
2.根据权利要求1所述的数据处理器,其进一步包括适合于预先加载配置指令的存储器构件,借此可从所述被预先加载的存储器构件中自动排序每一处理元件的配置状态。
3.根据权利要求2所述的数据处理器,其中所述存储器构件包括RAM。
4.根据权利要求3所述的数据处理器,其中所述RAM对于每一处理元件来说是局域的。
5.根据权利要求4所述的数据处理器,其中所述处理元件适合于再配置为不同状态,使得不同处理元件的可配置逻辑单元实施不同的功能。
6.根据权利要求3所述的数据处理器,其中所述RAM对于所有所述处理元件来说是全域的,使得所有处理元件均适合于经再配置以同时执行相同功能。
7.根据权利要求4或权利要求6所述的数据处理器,其中所有所述可配置逻辑单元均适合于在加载时间或在运行时间并行配置。
8.根据权利要求7所述的数据处理器,其中所有所述可配置逻辑单元均适合于在线程切换时配置。
9.根据权利要求7或权利要求8所述的数据处理器,其中所有所述可配置逻辑单元均适合于在程序控制下由其自身各自的处理元件同时配置/修改。
10.根据权利要求4所述的数据处理器,其中所有所述可配置逻辑单元均适合于通过其自身各自的处理元件在运行时间从微码存储器中的许多配置中选择特定配置来配置。
11.根据权利要求1所述的数据处理器,其中所有所述可配置逻辑单元均适合于响应于在编译时间从预定义函数库中进行选择来配置。
12.根据权利要求1所述的数据处理器,其中所有所述可配置逻辑单元均适合于按如下方式配置:响应于在编译时间由编译工具从对应用程序的分析中所作出的创建来配置。
13.根据前述权利要求中任一权利要求所述的数据处理器,其中所述处理器为SIMD处理器。
14.根据权利要求1所述的数据处理器,其中每一所述处理元件进一步包括算术逻辑单元。
15.根据权利要求14所述的数据处理器,其中所述可配置逻辑单元适合于执行饱和算术,且所述算术逻辑单元适合于执行非饱和算术。
16.根据权利要求1所述的数据处理器,其中所述可配置逻辑单元适合于模仿算术逻辑单元。
17.一种大体上如本文参看图式所描述的数据处理器。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB0504454A GB2423840A (en) | 2005-03-03 | 2005-03-03 | Reconfigurable logic in processors |
GB0504454.0 | 2005-03-03 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101133409A true CN101133409A (zh) | 2008-02-27 |
Family
ID=34430604
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2006800068031A Pending CN101133409A (zh) | 2005-03-03 | 2006-02-23 | 处理器中的可再配置逻辑 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20080189514A1 (zh) |
JP (1) | JP2008532162A (zh) |
CN (1) | CN101133409A (zh) |
GB (1) | GB2423840A (zh) |
WO (1) | WO2006092556A2 (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101685389B (zh) * | 2008-09-28 | 2012-10-24 | 北京大学深圳研究生院 | 一种处理器 |
CN103221938A (zh) * | 2010-11-18 | 2013-07-24 | 德克萨斯仪器股份有限公司 | 移动数据的方法和装置 |
WO2014169477A1 (zh) * | 2013-04-19 | 2014-10-23 | 中国科学院自动化研究所 | 具有多态指令集体系结构的处理器 |
CN108255778A (zh) * | 2015-08-27 | 2018-07-06 | 阿尔特拉公司 | 有效的集成电路配置数据管理 |
US10630584B2 (en) | 2015-09-30 | 2020-04-21 | Huawei Technologies Co., Ltd. | Packet processing method and apparatus |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8131909B1 (en) * | 2007-09-19 | 2012-03-06 | Agate Logic, Inc. | System and method of signal processing engines with programmable logic fabric |
JP5943736B2 (ja) * | 2012-06-28 | 2016-07-05 | キヤノン株式会社 | 情報処理装置、情報処理装置の制御方法及びプログラム |
CN104298487A (zh) * | 2014-10-11 | 2015-01-21 | 张鹏 | 处理器指令执行部件模块化设计及模块组合的方法 |
CN114168525B (zh) * | 2017-03-14 | 2023-12-19 | 珠海市芯动力科技有限公司 | 可重构并行处理 |
CN111919205B (zh) * | 2018-03-31 | 2024-04-12 | 美光科技公司 | 多线程自调度可重新配置计算架构的循环线程顺序执行控制 |
CN112559442A (zh) * | 2020-12-11 | 2021-03-26 | 清华大学无锡应用技术研究院 | 一种基于软件定义硬件的阵面数字信号处理系统 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5361373A (en) * | 1992-12-11 | 1994-11-01 | Gilson Kent L | Integrated circuit computing device comprising a dynamically configurable gate array having a microprocessor and reconfigurable instruction execution means and method therefor |
US5784636A (en) * | 1996-05-28 | 1998-07-21 | National Semiconductor Corporation | Reconfigurable computer architecture for use in signal processing applications |
US6023564A (en) * | 1996-07-19 | 2000-02-08 | Xilinx, Inc. | Data processing system using a flash reconfigurable logic device as a dynamic execution unit for a sequence of instructions |
JP3403298B2 (ja) * | 1996-10-25 | 2003-05-06 | シャープ株式会社 | 演算処理装置およびマイクロプロセッサ |
US5892962A (en) * | 1996-11-12 | 1999-04-06 | Lucent Technologies Inc. | FPGA-based processor |
US6226735B1 (en) * | 1998-05-08 | 2001-05-01 | Broadcom | Method and apparatus for configuring arbitrary sized data paths comprising multiple context processing elements |
US6959378B2 (en) * | 2000-11-06 | 2005-10-25 | Broadcom Corporation | Reconfigurable processing system and method |
US6725364B1 (en) * | 2001-03-08 | 2004-04-20 | Xilinx, Inc. | Configurable processor system |
US20030088757A1 (en) * | 2001-05-02 | 2003-05-08 | Joshua Lindner | Efficient high performance data operation element for use in a reconfigurable logic environment |
US20030007636A1 (en) * | 2001-06-25 | 2003-01-09 | Alves Vladimir Castro | Method and apparatus for executing a cryptographic algorithm using a reconfigurable datapath array |
US20040139297A1 (en) * | 2003-01-10 | 2004-07-15 | Huppenthal Jon M. | System and method for scalable interconnection of adaptive processor nodes for clustered computer systems |
EP1443418A1 (en) * | 2003-01-31 | 2004-08-04 | STMicroelectronics S.r.l. | Architecture for reconfigurable digital signal processor |
-
2005
- 2005-03-03 GB GB0504454A patent/GB2423840A/en not_active Withdrawn
-
2006
- 2006-02-23 US US11/817,642 patent/US20080189514A1/en not_active Abandoned
- 2006-02-23 JP JP2007557566A patent/JP2008532162A/ja active Pending
- 2006-02-23 CN CNA2006800068031A patent/CN101133409A/zh active Pending
- 2006-02-23 WO PCT/GB2006/000625 patent/WO2006092556A2/en not_active Application Discontinuation
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101685389B (zh) * | 2008-09-28 | 2012-10-24 | 北京大学深圳研究生院 | 一种处理器 |
CN103221938A (zh) * | 2010-11-18 | 2013-07-24 | 德克萨斯仪器股份有限公司 | 移动数据的方法和装置 |
CN103221938B (zh) * | 2010-11-18 | 2016-01-13 | 德克萨斯仪器股份有限公司 | 移动数据的方法和装置 |
WO2014169477A1 (zh) * | 2013-04-19 | 2014-10-23 | 中国科学院自动化研究所 | 具有多态指令集体系结构的处理器 |
CN108255778A (zh) * | 2015-08-27 | 2018-07-06 | 阿尔特拉公司 | 有效的集成电路配置数据管理 |
US10630584B2 (en) | 2015-09-30 | 2020-04-21 | Huawei Technologies Co., Ltd. | Packet processing method and apparatus |
US11184281B2 (en) | 2015-09-30 | 2021-11-23 | Huawei Technologies Co., Ltd. | Packet processing method and apparatus |
Also Published As
Publication number | Publication date |
---|---|
WO2006092556A2 (en) | 2006-09-08 |
GB2423840A (en) | 2006-09-06 |
WO2006092556A3 (en) | 2006-12-21 |
GB0504454D0 (en) | 2005-04-06 |
US20080189514A1 (en) | 2008-08-07 |
JP2008532162A (ja) | 2008-08-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101133409A (zh) | 处理器中的可再配置逻辑 | |
CN110214309B (zh) | 可重新配置专用计算机加速器 | |
US10445098B2 (en) | Processors and methods for privileged configuration in a spatial array | |
NL2028867B1 (en) | Vector Processor Architectures | |
CN100377075C (zh) | 使浮点格式实现指令级规格的设备及方法 | |
US8230408B2 (en) | Execution of hardware description language (HDL) programs | |
KR100464406B1 (ko) | 가변길이 vliw 명령어를 위한 디스패치 장치 및 방법 | |
CN111566623A (zh) | 用于可配置空间加速器中的集成性能监视的装置、方法和系统 | |
US20030023830A1 (en) | Method and system for encoding instructions for a VLIW that reduces instruction memory requirements | |
US20050055537A1 (en) | Multiprocessor computer architecture incorporating a pluralityof memory algorithm processors in the memory subsystem | |
JP2004516728A (ja) | 設定可能な機能ユニットを備えるデータ処理装置 | |
JPH06230969A (ja) | プロセッサ | |
CN114327620A (zh) | 用于具有数据流执行电路的可配置加速器的装置、方法和系统 | |
CN101021832A (zh) | 支持局部寄存和条件执行的64位浮点整数融合运算群 | |
Abdelhamid et al. | A highly-efficient and tightly-connected many-core overlay architecture | |
JP3990332B2 (ja) | データ処理システム | |
Uhrig et al. | A two-dimensional superscalar processor architecture | |
US6658561B1 (en) | Hardware device for executing programmable instructions based upon micro-instructions | |
US9548740B1 (en) | Multiple alternate configurations for an integrated circuit device | |
US7865698B1 (en) | Decode mode for an auxiliary processor unit controller in which an opcode is partially masked such that a configuration register defines a plurality of user defined instructions | |
WO2007057831A1 (en) | Data processing method and apparatus | |
JP2567134B2 (ja) | ビットフィールド論理演算処理装置およびそれを具備するモノリシックマイクロプロセッサ | |
US11263014B2 (en) | Sharing instruction encoding space between a coprocessor and auxiliary execution circuitry | |
US20090024839A1 (en) | Variable instruction set microprocessor | |
US6260133B1 (en) | Processor having operating instruction which uses operation units in different pipelines simultaneously |
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 |