CN101133409A - 处理器中的可再配置逻辑 - Google Patents

处理器中的可再配置逻辑 Download PDF

Info

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
Application number
CNA2006800068031A
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.)
Clear-Speed Technologies
CLEAR-SPEED科技公司
ClearSpeed Technology PLC
Original Assignee
Clear-Speed Technologies
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 Clear-Speed Technologies filed Critical Clear-Speed Technologies
Publication of CN101133409A publication Critical patent/CN101133409A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • 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/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3885Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
    • 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/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7867Architectures of general purpose stored program computers comprising a single central processing unit with reconfigurable architecture
    • 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/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • G06F9/30036Instructions to perform operations on packed data, e.g. vector, tile or matrix operations
    • 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/30181Instruction operation extension or modification
    • 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/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3885Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
    • G06F9/3893Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units controlled in tandem, e.g. multiplier-accumulator
    • G06F9/3895Concurrent 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/3897Concurrent 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.一种大体上如本文参看图式所描述的数据处理器。
CNA2006800068031A 2005-03-03 2006-02-23 处理器中的可再配置逻辑 Pending CN101133409A (zh)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Cited By (7)

* Cited by examiner, † Cited by third party
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