CN100392635C - 配置安排在条带中的多个处理元件方法和可重新配置装置 - Google Patents

配置安排在条带中的多个处理元件方法和可重新配置装置 Download PDF

Info

Publication number
CN100392635C
CN100392635C CNB038242648A CN03824264A CN100392635C CN 100392635 C CN100392635 C CN 100392635C CN B038242648 A CNB038242648 A CN B038242648A CN 03824264 A CN03824264 A CN 03824264A CN 100392635 C CN100392635 C CN 100392635C
Authority
CN
China
Prior art keywords
stripe
physical
virtual
physical stripe
bus
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.)
Expired - Fee Related
Application number
CNB038242648A
Other languages
English (en)
Other versions
CN1688991A (zh
Inventor
H·施米特
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.)
Carnegie Mellon University
Original Assignee
Carnegie Mellon University
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 Carnegie Mellon University filed Critical Carnegie Mellon University
Publication of CN1688991A publication Critical patent/CN1688991A/zh
Application granted granted Critical
Publication of CN100392635C publication Critical patent/CN100392635C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related 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
    • 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/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)
  • Design And Manufacture Of Integrated Circuits (AREA)
  • Logic Circuits (AREA)
  • Storage Device Security (AREA)
  • Advance Control (AREA)
  • Image Processing (AREA)

Abstract

一种将虚拟条带关联到流水线式或环形结构中的物理条带的方法,包括将第一组虚拟条带与至少两个物理条带相关联,以及将和第一组没有交集的第二组虚拟条带与至少两个附加的物理条带相关联。本发明还针对一种基于非全局的关联来配置多个处理元件的方法。本发明的配置方法可以在一个被安排成处理元件条带的装置中实现。该方法包括用来自第一组虚拟条带中的虚拟条带来配置至少两个物理条带中的任意一个,以及用来自第二组虚拟条带中的虚拟条带来配置至少两个附加的物理条带中的任意一个,所述第一和第二虚拟组是没有交集的。本发明还针对一种可重新配置的装置。

Description

配置安排在条带中的多个处理元件方法和可重新配置装置
关于联邦资助研究的声明
本发明是部分通过由DARPA-ITO/TTO根据合同No.DABT 63-96-C-0083提供的资金而开发的。联邦政府可能拥有对本发明的权利。
技术领域
本发明涉及可重新配置的体系结构,更具体来说,涉及用来以流水线式方式处理信息的可重新配置的体系结构。
背景技术
用于可重新配置的计算的传统方法静态地配置可编程的硬件,以便执行用户定义的应用。这种配置的静态性质导致两个重要问题:计算可能要求比可用的硬件更多的硬件,并且单一硬件的设计不能利用附加资源,该附加资源不可避免的在未来的处理世代中变为可用。一种称为流水线式重新配置的技术在一小块硬件上实现了一个大的逻辑配置,这是通过对该硬件的快速重新配置而实现的。利用这种技术,编译器(compiler)不再负责满足固定的硬件约束。此外,一种设计的性能与分配给该设计的硬件数量成比例地改善。
通过把单一静态配置断开成相应于应用中的各流水线级的各段,使得流水线式配置包括虚拟化流水线式计算。每个流水线级被每周期一个的加载到该结构中。这使得执行该计算成为可能,即使在该结构中从来不同时存在整个配置。
图1例示了虚拟化处理,其中示出了在一个三级结构上虚拟化的五级流水线。图1A示出了一个五级应用以及在六个连续周期中每个逻辑(或虚拟)流水线级的状态。图1B示出了当该结构执行此应用时在该结构中的各物理级的状态。在此例中,虚拟管道级(pipe stage)1在周期1中被配置,并且准备在下一个周期中执行;虚拟管道级1执行两个周期。没有物理管道级4;因此,在周期4中,在物理管道级1配置第四虚拟管道级,以替代第一虚拟级。一旦流水线完整,每五个周期生成持续两个连续周期的两个结果。例如,周期2,3,7,8...消耗输入,而周期6,7,11,12...产生输出。
图2是流水线式结构的体系结构等级的概括视图。每一行处理元件(PE)连同其相关联的互连被称作一个条带(stripe)。每个PE典型地包含算术逻辑单元(ALU)和传递寄存器文件(pass register file)。每个ALU包含查找表(LUT)和用于进位链、零检测等等的额外电路。设计者使用一组N个B比特宽的ALU来实现组合逻辑。当特定的虚拟条带驻留在物理条带中时,ALU操作是静态的。设计者可以级联、链接或者以其它方式连接各ALU的各条进位线,以便构造更宽的ALU,并且可以将各PE经由互连网络链接在一起以便建立复杂的组合功能。
因为可重新配置的结构提供了在具有少于处理所需的物理条带的结构中执行该处理的机会,因此有必要把虚拟条带与物理条带相关联。图3例示了一个全局关联选项,其中可以将任何虚拟条带加载入任何物理条带。全局关联所提供的一个优点在于,合并(consolidate)了存储以节省存储器开销。然而,一个显著的缺点在于该设计是不可扩展的。随着物理条带数量的增加,全局总线线路变长并且负载变得很高。因此,尽管全局关联可能在具有较少数量的物理级的结构中工作良好,但是随着硬件的改善和物理级数量的增加,就越来越不希望将每个物理条带与任何虚拟条带相关联。
转到图4,其中例示了纯局部的关联选项。如图4中可见,可以用虚拟条带0和4配置物理条带1。可以用虚拟条带1或5配置物理条带2。可以用虚拟条带2或6配置物理条带3,而物理条带4可以与虚拟条带3或7相关联。和图3一样,其中仍有四个物理条带和八个虚拟条带。图4中例示的局部关联克服了图3的全局关联的缺点,原因在于图4的关联选项由于其较短且负载较轻的配制总线因而是可扩展的。由于更小的存储器和交织对这些存储器的访问的能力,图4中例示的局部关联选项也比全局关联选项更快,从而允许存储器比该结构循环得更慢。然而,图4的局部关联也有一些缺点,原因在于存储是高度分布式的,因此由于分布式存储操作所需的开销而效率低下。
为了有一个可操作的装置,必须提供附加的总线。举例来说,必须提供输入和输出总线。一般来说,这种输入和输出总线是全局性的,因为它们服务于每个物理条带。然而,如果输入和输出总线不是全局性的,就有必要在设计阶段确保以下两点,一是不需要把不由输入总线服务的物理条带作为第一物理级,二是不需要把不由输出总线服务的物理条带作为最后一个物理级。最后,可能有必要把由一个物理条带产生的某些值用于该物理条带的下一个实例(instance)中。在这种情况下,必须将该值从该物理条带中取出并存储在存储器中,并且当该条带的下一个实例发生时将该值输入(恢复)到该物理条带或另一个物理条带。如果提供这一功能的总线不是全局的,则有必要在设计阶段确保不需要让不由该恢复总线服务的物理条带提供或接收这样一个值。
因此,需要这样一种关联选项,该关联选项在保持全局关联的优点同时是可扩展的、能够按照需要给条带提供状态信息并且即使在输出条带不由输出总线服务时仍能够输出信息。
发明内容
本发明针对一种在以流水线式结构或环形结构连接物理条带的装置中将虚拟条带与物理条带相关联的方法。该方法包括将第一组虚拟条带与至少两个物理条带中的任意一个相关联,以及包括将不同于第一组虚拟条带的第二组虚拟条带与至少两个附加物理条带中的任何一个相关联。本发明还针对一种基于非全局性的、但也不是纯局部的关联来配置多个处理元件的方法。本发明的配置方法可以在一种被安排成处理元件条带、并且以环形或流水线式方式互连的装置中实现。该方法包括用来自第一组虚拟条带中的一个条带配置至少两个物理条带中的任何一个,以及包括用来自第二组虚拟条带中的一个条带配置至少两个附加物理条带中的任何一个,其中第一组和第二组虚拟条带是没有交集的。
在实现本发明方法的装置中,输出总线可以并不互连所有的物理条带,这一点是有可能的。如果是这种情况,并且最终输出在一个由输出总线服务的物理条带处是不可用的,则有必要用空配置(nullconfiguration)来配置一个或多个物理条带。该空配置使得最终输出能够在不被改变的情况下传播通过物理条带。可以用空配置来配置必要多的物理条带,以便使得最终输出能够在一个由输出总线服务的物理条带处可用。
本发明还针对一种可重新配置的装置,该装置包括控制器、响应于控制器的存储器装置、安排在条带中的多个处理元件、用于连接一个条带内的处理元件的多个条带内互连、用于将一个条带的输出连接到(并且仅连接到)一个其它条带的输入的多个局部条带间连接、用于将至少一个(但少于所有的)物理条带连接到存储器的多个全局条带间连接以及分别连接到至少一个物理条带的输入总线和输出总线。
本发明的方法和设备提供负载较轻的部分全局的总线、对存储器的有效使用以及可扩展的体系结构,这不仅是对于将虚拟条带与物理条带相关联而言,而且也是对于高效地使用输入、输出及恢复总线而言。下面,根据对本发明的详细描述,所述优点及益处以及其它优点及益处将变得显而易见。
附图说明
为更容易地理解和实践本发明,下面将出于示例的目的结合附图来描述本发明,其中:
图1A和图1B例示了在三级可重新配置结构上虚拟化五级流水线的处理;
图2例示了可重新配置结构的一个条带;
图3和4分别例示了全局映射和局部关联选项;
图5例示了依照本发明的教导的混合关联选项;
图6是对依照图5所示关联的、具有四个互连条带的可重新配置结构的概括;
图7是可以结合图6所示的可重新配置结构使用的处理元件(PE)的一个示例的框图;以及
图8例示了使用图6的四条带结构来实现需要八个条带的处理。
具体实施方式
图5例示了依照本发明的教导的混合关联选项。在图5中看到,可以在物理条带10、12中配置虚拟条带0、1、4、5。更具体地说,可以在物理条带10中配置虚拟条带0和4,可以在物理条带12中配置虚拟条带1和5。部分全局总线13可以被用来传送用虚拟条带配置物理条带所需的信息。
类似地,通过部分全局总线17的操作,可以用虚拟条带2和6配置物理条带14,用虚拟条带3和7配置物理条带16。如图5所示,本发明的方法允许将第一组虚拟条带0、1、4、5关联到至少两个物理条带10、12,同时将第二组虚拟条带2、3、6、7关联到至少两个附加的物理条带14、16。
从图5中还可看到,传递寄存器线19提供物理条带10和12之间的局部条带间连接,同时传递寄存器线21提供物理条带14和16之间的局部条带间连接。传递寄存器线23提供物理条带12和14之间的局部条带间连接,同时传递寄存器线25提供物理条带16和10之间的局部条带间连接。尽管已经结合四个物理条带和八个虚拟条带例示了本发明的关联方法,但是本领域的普通技术人员将认识到,本发明的方法可以扩展到大得多的系统,同时仍然包含利用部分全局的总线的概念。
图6是对依照图5所示的关联选项的、具有四个互连物理条带10、12、14、16的可重新配置结构或装置的概括。提供配置储存器(存储器装置)28以用于储存虚拟条带0、1、4、5以及用于通过部分全局总线13配置物理条带10、12。在某些计算或应用中,虚拟条带有可能具有某一状态值,其储存在传递寄存器文件的一个寄存器中,并于上一次在结构中配置虚拟条带时恢复。在这种情况下,提供RO储存器(存储器装置)30以用于储存来自上一实例的必要值,并通过总线31将该值提供给物理条带的下一实例。类似地,配置储存器32通过部分全局总线17用虚拟条带2、3、6、7配置物理条带14、16。RO储存器34按需要通过RO总线35向物理条带14、16提供所述值。
配置储存器28、RO储存器30、配置储存器32和RO储存器34响应于控制器38。控制器38提供两个重要的功能,管理配置和管理数据。本领域的普通技术人员将认识到,控制器38的功能可以由多个单独的控制器提供。在Schmit等人的“Managing Pipeline-Reconfigurable FPGAs(管理流水线式可重新配置的FPGE)”(出版于ACM 6th InternationalSymposium on FPGAs,1998年2月)中提供了对配置管理和数据管理的详细解释,这里引用其全文以作参考。想要知道由控制器38执行的任务的更多细节的读者可以参考上述文章。
看完图6的描述之后,可以看到物理条带10是唯一可以用第一虚拟条带0配置的物理条带。结果,只有物理条带10连接到输入总线40。输出总线42服务于物理条带14、16。图6的四条带结构可能被用于实现具有少于八个虚拟条带的方法,比如具有五个虚拟条带的处理。在这种情况下,被配置在物理条带12中的第五虚拟条带将具有该处理的最终输出。然而,物理条带12并不是由输出总线42服务的。因此,有必要用空配置来配置物理条带14。该空配置的目的是允许由物理条带12(虚拟条带5)产生的最终输出通过物理条带14传播到输出总线42而不会有最终输出信号的任何状态改变。可能需要用空配置来配置超过一个物理级的物理级,以便允许输出传播到由输出总线服务的物理条带。该空配置可以像任何其它配置那样写入物理条带,即在单个时钟周期内通过配置字写入物理条带。
图7是可以结合图6所示的可重新配置结构使用的处理元件44的一个示例的框图。更具体地说,图7所示的PE44可以在物理条带14、16之一中实现。类似的PE可以使用在物理条带10、12中,但是此类PE将不由输出总线42服务,而物理条带10中的PE将由输入总线40服务。
通过局部条带间连接,PE可以访问来自前一条带的所寄存的输出的操作数。通过条带间连接,PE可以访问同一条带中的其它PE的寄存的或未寄存的输出。传递寄存器文件46便于高效的、局部的条带间连接。一个程序可以将ALU的输出写入到传递寄存器文件46中的任何寄存器。如果ALU不写入特定寄存器,则该寄存器的值将来自前一条带的相应传递寄存器中的值。这样,数据值经由条带间连接48而在条带内横向移动。此外,每个PE中的移位器(shifter)50将其输入向左移位B-1个比特。这样,该结构就可以处理基于字的算术所必需的数据对准。关于PE的构造和操作的附加的细节可以在Schmit等人的“PipeRench:avirtualized programmable data path in 0.18 Micro Technology(PipeRench:0.18微米技术中的虚拟化的可编程数据路径)”(Proceedings of the IEEE Custom Integrated CircuitsConference(CICC),2002)中找到,其全文在此引用以作参考。
图8例示了使用图6的四条带结构来实现需要八个条带的处理。图8例示了如何配置每个物理级,以及何时在十二个周期中执行每个物理级。想要知道关于此类可配置结构的操作的附加信息的读者,可以参考Schmit的“PipeRench:a reconfigurable,architectural andcompiler(PipeRench:可重新配置的体系结构和编译器)”(IEEEComputer,第70-76页(2000年4月)),在此引用其全文以作参考。
虽然已经结合了本发明的优选实施例描述了本发明,但是本领域的普通技术人员将认识到许多修改和变化是有可能。举例来说,本发明包括各种可重新配置的装置,它们具有超过四个物理条带、实现超过八个虚拟条带、使用具有更小或更大位宽及不同运算符的ALU并且以流水线式或环形配置连接。上面例示及讨论的体系结构和示例性PE是为了例示本发明的目的而提出的,并不是为了表明所例示的体系结构和示例性PE是用于执行本发明的仅有实施例。本发明只希望由所附权利要求书限定,而不是由前面的描述来限定。

Claims (14)

1.一种配置安排在条带中的多个处理元件的方法,该方法包括:
通过使用第一个部分全局总线,用来自第一组虚拟条带中的虚拟条带来配置至少两个物理条带中的任意一个;以及
通过使用不同于所述第一个部分全局总线的第二个部分全局总线,用来自第二组虚拟条带中的虚拟条带来配置至少两个附加的物理条带中的任意一个,所述第一和第二组虚拟条带是没有交集的。
2.根据权利要求1所述的方法,其中,对所述至少两个物理条带的任意一个的配置和对所述至少两个附加的物理条带的任意一个的配置包括从配置存储器中向每一个所述物理条带写入配置字。
3.根据权利要求2所述的方法,其中,所述的将配置字写入任意一个物理条带是在一个时钟周期内执行的。
4.根据权利要求1所述的方法,还包括管理配置数据。
5.根据权利要求1所述的方法,其中,用空配置来配置所述物理条带中的一个,以便使得前一物理条带的输出能够通过被空配置的物理条带而不会有输出状态的任何改变。
6.一种配置物理条带的方法,包括:
通过使用第一个部分全局总线,用来自第一组虚拟条带中的虚拟条带来配置至少两个物理条带中的任意一个;以及
用空配置来配置物理条带,以便使得前一物理条带的输出能够通过被空配置的物理条带而不会有输出状态的任何改变。
7.根据权利要求6所述的方法,其中,所述的用空配置来配置物理条带包括从配置存储器向所述物理条带写入空配置字。
8.根据权利要求7所述的方法,其中,所述的将空配置字写入物理条带是在一个时钟周期中执行的。
9.根据权利要求6所述的方法,还包括确定要向其配置空配置的每个物理条带。
10.在多个处理元件安排在物理条带中的装置中将虚拟条带关联到物理条带的方法,所述方法包括:
通过使用第一个部分全局总线,将第一组虚拟条带与至少两个物理条带相关联;以及
通过使用不同于所述第一个部分全局总线的第二个部分全局总线,将第二组虚拟条带与至少两个附加的物理条带相关联,所述第一组和第二组虚拟条带是没有交集的。
11.一种可重新配置装置,包括:
控制器;
响应于所述控制器的存储器;
安排在条带中的多个处理元件;
用于连接条带内的处理元件的多个连接;
用于将一个条带的输出连接到另一条带的输入的多个局部连接;
用于将至少一个、但是少于全部的物理条带连接到所述存储器的多个全局连接;以及
输入总线和输出总线,所述输入总线连接到一个物理条带,所述输出总线连接到另一不同的物理条带。
12.根据权利要求11所述的装置,其中,所述输出总线连接到全部通过单个全局连接而互连的多个物理条带。
13.根据权利要求11所述的装置,还包括用于至少将特定的所述条带连接到所述存储器的恢复总线。
14.根据权利要求13所述的装置,还包括恢复存储器,其中所述恢复总线至少将特定的所述条带连接到所述恢复存储器。
CNB038242648A 2002-08-16 2003-08-14 配置安排在条带中的多个处理元件方法和可重新配置装置 Expired - Fee Related CN100392635C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/222,645 2002-08-16
US10/222,645 US7263602B2 (en) 2002-08-16 2002-08-16 Programmable pipeline fabric utilizing partially global configuration buses

Publications (2)

Publication Number Publication Date
CN1688991A CN1688991A (zh) 2005-10-26
CN100392635C true CN100392635C (zh) 2008-06-04

Family

ID=31715027

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB038242648A Expired - Fee Related CN100392635C (zh) 2002-08-16 2003-08-14 配置安排在条带中的多个处理元件方法和可重新配置装置

Country Status (8)

Country Link
US (1) US7263602B2 (zh)
EP (1) EP1535189B1 (zh)
JP (1) JP2005539293A (zh)
CN (1) CN100392635C (zh)
AT (1) ATE409916T1 (zh)
AU (1) AU2003262645A1 (zh)
DE (1) DE60323847D1 (zh)
WO (1) WO2004017223A2 (zh)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4546775B2 (ja) * 2004-06-30 2010-09-15 富士通株式会社 時分割多重処理可能なリコンフィギュラブル回路
JP4547198B2 (ja) * 2004-06-30 2010-09-22 富士通株式会社 演算装置、演算装置の制御方法、プログラム及びコンピュータ読取り可能記録媒体
KR100662873B1 (ko) * 2006-01-03 2007-01-02 삼성전자주식회사 루프가속기 및 이를 포함하는 데이터 처리 시스템
EP2352082B1 (en) * 2008-10-14 2018-11-28 National University Corporation Nara Institute of Science and Technology Data processing device for performing a plurality of calculation processes in parallel
JP5552855B2 (ja) * 2010-03-19 2014-07-16 富士ゼロックス株式会社 画像処理装置、画像形成システム及び画像処理プログラム
GB2535547B (en) * 2015-04-21 2017-01-11 Adaptive Array Systems Ltd Data processor
WO2019089816A2 (en) 2017-10-31 2019-05-09 Micron Technology, Inc. System having a hybrid threading processor, a hybrid threading fabric having configurable computing elements, and a hybrid interconnection network
WO2019191742A1 (en) 2018-03-31 2019-10-03 Micron Technology, Inc. Loop thread order execution control of a multi-threaded, self-scheduling reconfigurable computing fabric
KR102446709B1 (ko) 2018-03-31 2022-09-26 마이크론 테크놀로지, 인크. 멀티 스레드, 자체 스케줄링 재구성 가능한 컴퓨팅 패브릭의 실행 제어
CN111919206A (zh) 2018-03-31 2020-11-10 美光科技公司 将停止信号用于多线程自调度可重新配置计算架构的背压控制
US10990392B2 (en) 2018-03-31 2021-04-27 Micron Technology, Inc. Efficient loop execution for a multi-threaded, self-scheduling reconfigurable computing fabric
WO2019191743A1 (en) 2018-03-31 2019-10-03 Micron Technology, Inc. Conditional branching control for a multi-threaded, self- scheduling reconfigurable computing fabric
WO2019191737A1 (en) 2018-03-31 2019-10-03 Micron Technology, Inc. Multi-threaded self-scheduling reconfigurable computing fabric
EP3776237A1 (en) 2018-03-31 2021-02-17 Micron Technology, Inc. Multiple types of thread identifiers for a multi-threaded, self-scheduling reconfigurable computing fabric
CN111919203A (zh) 2018-03-31 2020-11-10 美光科技公司 使用重入队列的多线程自调度可重新配置计算架构的循环执行控制
US11573834B2 (en) 2019-08-22 2023-02-07 Micron Technology, Inc. Computational partition for a multi-threaded, self-scheduling reconfigurable computing fabric
US11150900B2 (en) 2019-08-28 2021-10-19 Micron Technology, Inc. Execution or write mask generation for data selection in a multi-threaded, self-scheduling reconfigurable computing fabric
US11494331B2 (en) 2019-09-10 2022-11-08 Cornami, Inc. Reconfigurable processor circuit architecture
CN116521134A (zh) * 2023-03-13 2023-08-01 广州嘉为科技有限公司 在ci流水线执行过程中修改其参数的方法、装置及介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1253642A (zh) * 1997-04-22 2000-05-17 诺基亚网络有限公司 向一组大容量总线添加插入诸单元时隙
CN1357837A (zh) * 2000-12-12 2002-07-10 智原科技股份有限公司 适用于处理器的存储器数据存取装置及其存取方法

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5684980A (en) * 1992-07-29 1997-11-04 Virtual Computer Corporation FPGA virtual computer for executing a sequence of program instructions by successively reconfiguring a group of FPGA in response to those instructions
JP3308770B2 (ja) * 1994-07-22 2002-07-29 三菱電機株式会社 情報処理装置および情報処理装置における計算方法
US5794062A (en) * 1995-04-17 1998-08-11 Ricoh Company Ltd. System and method for dynamically reconfigurable computing using a processing unit having changeable internal hardware organization
JPH09106389A (ja) * 1995-10-12 1997-04-22 Sony Corp 信号処理装置
US6167502A (en) * 1997-10-10 2000-12-26 Billions Of Operations Per Second, Inc. Method and apparatus for manifold array processing
JPH11259436A (ja) * 1998-03-10 1999-09-24 Toppan Printing Co Ltd データ並列処理方法
US6119215A (en) * 1998-06-29 2000-09-12 Cisco Technology, Inc. Synchronization and control system for an arrayed processing engine
US6442732B1 (en) * 1999-04-21 2002-08-27 Lucent Technologies, Inc. Virtual logic system for solving satisfiability problems using reconfigurable hardware
EP1332429B1 (en) * 2000-11-06 2011-02-09 Broadcom Corporation Reconfigurable processing system and method
US6526559B2 (en) * 2001-04-13 2003-02-25 Interface & Control Systems, Inc. Method for creating circuit redundancy in programmable logic devices

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1253642A (zh) * 1997-04-22 2000-05-17 诺基亚网络有限公司 向一组大容量总线添加插入诸单元时隙
CN1357837A (zh) * 2000-12-12 2002-07-10 智原科技股份有限公司 适用于处理器的存储器数据存取装置及其存取方法

Non-Patent Citations (6)

* Cited by examiner, † Cited by third party
Title
Incremental recofiguration for pipeline applications. Schmit H.Field-Programmable custom computing machines, 1997. Proceddings., The 5th annual IEEE symposium on NAPA Valley. 1997
Incremental recofiguration for pipeline applications. Schmit H.Field-Programmable custom computing machines, 1997. Proceddings., The 5th annual IEEE symposium on NAPA Valley. 1997 *
Pipeline reconfigurable FPGAS. Schmit H H et al.Journal of VLSI signal processing systems for signal, image, and video technology,Vol.24 . 2000
Pipeline reconfigurable FPGAS. Schmit H H et al.Journal of VLSI signal processing systems for signal, image, and video technology,Vol.24 . 2000 *
PipeRench: A coprocessor for streaming multimediaacceleration. Goldstein s c, Schmit H et al.Proceedings of the 26th international symposium on computer architecture,Vol.26 . 1999
PipeRench: A coprocessor for streaming multimediaacceleration. Goldstein s c, Schmit H et al.Proceedings of the 26th international symposium on computer architecture,Vol.26 . 1999 *

Also Published As

Publication number Publication date
US20040034761A1 (en) 2004-02-19
ATE409916T1 (de) 2008-10-15
WO2004017223A2 (en) 2004-02-26
AU2003262645A8 (en) 2004-03-03
JP2005539293A (ja) 2005-12-22
US7263602B2 (en) 2007-08-28
EP1535189A2 (en) 2005-06-01
WO2004017223A3 (en) 2004-04-08
CN1688991A (zh) 2005-10-26
DE60323847D1 (de) 2008-11-13
EP1535189B1 (en) 2008-10-01
AU2003262645A1 (en) 2004-03-03

Similar Documents

Publication Publication Date Title
CN100392635C (zh) 配置安排在条带中的多个处理元件方法和可重新配置装置
US9405538B2 (en) Functional unit having tree structure to support vector sorting algorithm and other algorithms
CN101802800B (zh) 用于集成电路的高带宽互连网络
US8058899B2 (en) Logic cell array and bus system
CN102637157B (zh) 一种片上数字模板系统dtsoc
TW202115575A (zh) 靜止可重組態的資料處理器
CN100397331C (zh) 数据处理系统以及控制方法
CN102014050B (zh) 片上网络的输入/输出节点
US10564929B2 (en) Communication between dataflow processing units and memories
US20120278590A1 (en) Reconfigurable processing system and method
CN101620587B (zh) 柔性可重构任务处理单元结构
US10659396B2 (en) Joining data within a reconfigurable fabric
WO2004042595A1 (en) Arithmetic node including general digital signal processing functions for an adaptive computing machine
US20180212894A1 (en) Fork transfer of data between multiple agents within a reconfigurable fabric
CN108874730A (zh) 一种数据处理器及数据处理方法
CN103809769B (zh) 一种block ram级联实现结构
CN109902835A (zh) 处理单元设置有通用算法单元的人工智能模块及系统芯片
US4809171A (en) Concurrent processing of data operands
CN1647031A (zh) 具有数据溢出装置的vliw处理器
CN109902836A (zh) 人工智能模块的故障容错方法及系统芯片
CN109933369B (zh) 集成单指令多数据流架构人工智能模块的系统芯片
CN203276274U (zh) 基于寄存器窗口互相重叠的多核间数据交换装置
CN100373329C (zh) 带有集群式ilp处理器的数据处理系统
CN101236576B (zh) 一种适用于异质可重构处理器的互联模型
CN109933370B (zh) 连接fpga和人工智能模块的系统芯片

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20080604

Termination date: 20090914