CN1541355A - 数据处理***以及控制方法 - Google Patents
数据处理***以及控制方法 Download PDFInfo
- Publication number
- CN1541355A CN1541355A CNA028157214A CN02815721A CN1541355A CN 1541355 A CN1541355 A CN 1541355A CN A028157214 A CNA028157214 A CN A028157214A CN 02815721 A CN02815721 A CN 02815721A CN 1541355 A CN1541355 A CN 1541355A
- Authority
- CN
- China
- Prior art keywords
- data
- processing unit
- processing
- setting
- instruction
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
-
- 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
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Multi Processors (AREA)
- Stored Programmes (AREA)
Abstract
本发明提供了一个包括多个处理单元以及第一、第二和第三数据传送装置的数据处理***。第一数据传送装置在一个网络中连接多个处理单元、交换第一数据,以及通过连接多个处理单元中的至少两个来配置至少一个可重复配置的数据流。第二数据传送装置被用来向多个处理单元并行提供作为第二数据的控制信息,该控制信息加载了设定数据或者类似数据。第三传送装置用来向多个处理单元中的每一个单独提供设定数据。设定数据是用于通过直接或者间接改变经过第一数据传送装置连接到一个处理单元上的其它处理单元,和/或改变包括在该处理单元中的一个过程,来设定带有不同功能的一个数据流的数据。
Description
技术领域
本发明涉及一个通过连接多个处理单元来形成数据流的数据处理***。
背景技术
USP6,108,760描述的技术在一个网络上连接了多个处理元件并且进行处理。然而,当在处理元件中设定新的功能时,就需要通过网络向处理元件提供数据,这样就需要暂时放开由处理元件所组成的数据路径或者数据流,从而使得网络可以向处理元件提供设定所需要的数据。这意味着从外部向处理元件提供设定用的数据以及用不同的功能来配置数据路径都会消耗时间。在这段时间内就不可能形成数据流,元件会变得空闲,这也就降低了处理速度。为了在短时间内用不同功能配置数据路径,就需要事先在处理元件里存储所有的设定数据。这样每个处理元件都需要非常大的存储能力,这是一个不现实的解决方法。
在USP6,108,760中,物理识别号和虚拟识别号都被分配给每个处理元件,为了实现某个功能的处理元件的物理位置所决定的任意形状的组通过屏蔽任一类型的识别号的一部分来定义,并且设定数据和/或控制数据以组为单位来提供。然而,当数据流被重新配置时,很有可能在形状上发生很大变化,所述形状包括实现不同功能的多个处理元件。相应的,如果每个处理元件都被指定一个各自的识别号以使得对应不同功能的形状可以通过屏蔽识别号的某部分来表达,那么这些识别号就变得冗余,在编程过程中查找和使用这些识别号将会占用大量的时间。这就增大了成本,同时也减小了***的灵活性。
在将相同的设定数据提供给安排在一个集中组中的多个处理元件的情况下,向包括在任意形状的组中的处理元件提供数据的方法就可以减少耗时,其中所述形状是根据物理位置所决定的。然而,当各个处理元件的功能不相同时,还是需要把设定数据分别提供给组成数据流的各个处理元件或者处理单元,这就使得在短时间内从外部加载设定数据变得不可能。所以,该方法不能实现提高处理速度的目标。
为了通过网络给每个处理元件分别提供设定数据,必须能够分别识别处理元件。所以就需要对各个处理元件分别指定识别号。要利用这样的独立的识别号来形成任意的形状,就需要一个识别号的复杂***,同时用来辨认这些识别号的控制方法和硬件也会很复杂。这就使得该方案不经济,而且也很难提高处理速度。
本发明的一个目标在于提供一个数据处理***,在该***中,多个处理元件或者处理单元通过一个网络被连接在一起,在所述网络中,设定数据被提供给每个处理元件,具有不同功能的数据路径和/或数据流可以在和/或多个时钟周期单元内被动态设定。另一个目标在于提供一个具有高度编程自由度的数据处理***,其中处理单元会被适当的识别以简单的提供设定数据和/或控制信息而不需要复杂的处理,其中所述复杂处理是例如向处理***指定一个虚拟地址的复杂***并且为了使用的目的对***屏蔽。
发明内容
本发明提供了一个包括多个处理单元以及第一、第二和第三数据传送装置的数据处理***。第一数据传送装置在一个网络中连接多个处理单元、交换第一数据,以及通过连接多个处理单元中的至少两个配置至少一个可重复配置的数据流。第二数据传送装置被用来向多个处理单元并行提供第二数据。第三传送装置用来向多个处理单元中的每一个单独提供设定数据。该设定数据是用于通过直接或者间接改变经过第一数据传送装置连接到一个处理单元上的其它处理单元,和/或改变包括在该处理单元中的一个过程,来设定一个带有不同功能的数据流的数据。
根据该数据处理***,可以不用网络状的第一数据传送装置或者广播数据的第二数据传送装置来提供设定数据,而是用第三数据传送装置来提供设定数据,所述第三数据传送装置是一个能向每个处理单元分别提供数据的专用总线。相应的,既然没有必要给每个处理单元都确定地址以及按顺序传送设定数据,那么设定数据就可以在一个短时间内,例如一个时钟周期内被提供给多个处理单元。此外,既然没有必要在分配设定数据的时候对每个处理单元指定地址,所以就不需要虚拟地址和屏蔽地址这样的麻烦过程。属于一个数据流的处理单元可以由表示数据流的识别信息来指示。
本发明中的数据流可以被表达成“功能”,所述功能是由组成网络的第一数据传送装置所连接的处理单元(此后称为“设备”或“元件”)中的一些或全部所实现的。数据在该功能中交换和分配,在功能的末端从网络外部接收数据和向网络外部输出数据。数据流被自动或者他律的控制,例如,如果在数据输出的一边发生堵塞,那么就会进行控制来暂停整个操作。一般的,数据流是独立工作的,数据流上的内部信息不会主动在数据流之间发生交换。
当对本发明的数据处理装置或***进行控制时,第一过程通过第三数据传送装置提供了设定数据以及表示了将要被设定数据设定的数据流的识别信息,可以将识别了数据流的识别信息附到配置了由识别信息所识别的数据流的处理单元上。然后,在第二过程中,通过经第二数据传送装置提供识别信息,实现了一个过程来基于识别信息来选择第二数据,其中所述识别信息是通过第三数据传送装置提供的或者是事先提供好的。这就使得多个处理单元可以在数据流单元中选择第二数据,然后根据这些第二数据进行处理。相应的,处理单元最好包括用来基于通过第三数据传送装置所提供的识别信息对第二数据进行选择和处理的装置。
用来选择第二数据的识别信息也可以是在第二数据被提供时通过第三数据传送装置提供的识别信息。在这种情况下,作为一个例子,将要被加载到处理单元的设定数据可以根据与设定数据一起提供的识别信息来选择,即处理单元所属的下一个数据流的识别信息。
在第二过程中,可以基于通过第三数据传送装置提供的识别信息来选择第二数据。为了记录提供的识别信息,最好给处理单元提供像存储器这样的装置以记录识别信息。在这种情况下,将要被加载到处理单元中的设定数据可以被识别信息所选择,所述识别信息与原来的设定数据一起被记录在处理单元中,该识别信息是处理单元当前所属的数据流的识别信息。
根据本发明,第二数据中最重要的内容就是控制了处理单元的操作的控制信息(指令)。特别的,通过经第二数据传送装置提供用来加载设定数据的第一指令,就可以在多个处理单元中的至少一部分中分别使用将要被设定数据组配置的数据流的识别信息来同时设定多个设定数据组。通过这样的做法,处理单元就可以从识别信息中识别它们所属的数据流,然后可以基于附在识别信息上的控制信息进行操作。识别信息并不需要能够分别确定每个处理单元,它可以是只是够识别数据流的简单信息,这就可以用少量的数据来识别大量的数据流。
通过经第二数据传送装置提供用来加载一个设定数据组的控制信息,多个设定数据组也可以被每个处理单元同时使用以配置数据流或者功能,并且可以瞬时切换它们。相应的,新的设定数据可以被配置一个特定数据流或者多个数据流的处理单元动态加载,然后一个或多个新的数据流会得到配置。
控制了本发明的数据处理***的一个程序或者程序产品包括执行如下处理的指令,所述处理通过第三传送装置提供了设定数据以及表示了将要被设定数据所设定的数据流的识别信息,还通过第二传送装置提供了用来加载设定数据的控制信息,以及至少一个识别信息。可以通过在适当的记录媒体上记录程序或者程序产品来提供该程序或程序产品,或者也可以通过诸如计算机网络这样的通信装置来提供。
设定数据包括多个用来配置一个数据流的信息。例如,如果第一数据传送装置是一个网络,其中该网络通过指定被连接的一个或多个处理单元的地址来传送第一数据,那么设定数据就会包括将要被连接的处理单元的地址。可替换的,如果要被连接的处理单元是通过选择和/或切换组成第一数据传送装置的连线来指示的,那么设定数据就会包括用于该连线的选择和连接信息。此外,如果处理单元能够改变它们自己的处理内容,那么设定数据就会包括用来改变包含在每个处理单元中用来建立数据路径的过程的信息。可编程处理器是能够改变它们自己处理内容的处理单元的例子。处理单元还会包括多个可选内部数据路径,这就可以根据设定数据来选择这些内部数据路径。
虽然通用处理器能够进行灵活的处理,但是灵活性和处理速度之间是有一个折衷的,当处理速度被提高时,成本就会增大。另一方面,包括多个内部数据路径的处理单元是紧凑的和便宜的,它能够实现高速处理,同时还能有一定的灵活性。相应的,通过安排具有不同类型内部数据路径的处理单元,以及按照一个网络的形式通过第一数据传送装置连接这些处理单元,就可以建立起一个能够高速处理多种过程的数据处理***。此外,通过使用本发明,数据路径或者功能的配置可以被动态改变。
在本发明的这个数据处理***中,通过第二数据传送装置与识别信息一起提供的第二数据可以是需要提供给处理单元的、指示了特定数据流的任意数据。作为第二数据的一个重要数据是控制了处理单元操作的控制信息,这种信息的一个例子就是用来加载设定数据的第一指令。通过经第二数据传送装置提供附于表示数据流的识别信息上的控制信息,多个处理单元还可以以数据流为单元被控制。数据处理***最好能够通过第二数据传送装置提供用来控制处理单元操作的控制信息以及指示了数据流的识别信息。处理单元最好还包括用来基于带有该处理单元所属的识别信息的控制信息进行操作的装置。同样,用于数据处理***的控制方法最好包括一个过程,在该过程中,当表示了数据流的识别信息以及控制了处理单元操作的控制信息已经通过第二数据传送装置被提供,处理单元就会基于带有每个处理单元所属的识别信息的控制信息来操作。此外,控制该数据处理***的程序(程序产品)最好包括执行过程的指令,所述过程通过第二数据传送装置提供了诸如控制指令的控制信息以及表示至少一个数据流的识别信息。
通过向多个处理单元并行提供控制信息,其中所述的处理单元连接在一个网络中并且形成一个具有为一个预定操作而进行处理的功能的数据流或者数据路径,被这些处理单元所配置的数据流可以在一个时钟周期内精确控制,即使是在多个处理单元分散的情况下也是这样的。相应的,很容易将组成数据流的多个处理单元同步并控制它们,或者让控制处理器实现这种中心化的控制。如上所述,识别数据流的信息并不需要是识别每个处理单元的信息,这就使得信息变得简单,也就意味着需要用来处理的硬件将减少。相应的,就可以经济的实现高处理速度的数据处理***,还可以轻易实现在一个时钟周期内在处理单元提供的多个功能之间切换的处理,以配置不同功能的数据流。
控制信息并不限于用于加载设定数据的指令(第一指令),它还包括指示了处理单元的开始或者停止的启动指令或者冻结或停止指令(第二指令)。可以让启动指令来加载设定数据。通过经第二数据传送装置提供指示了处理单元的停止的冻结指令以及识别信息,就可以将处理单元的处理同步并停止,所述处理单元组成了由识别信息识别的数据流。当需要为了一个不同的功能而启动数据流的处理而又不等待现有的数据流停止,同时又没有足够的处理单元,那么这种控制信息在释放处理单元和重新配置数据流的问题上是很有效的。
此外,还可以有效的将一个记录指令(第三指令)作为一个控制信息来提供,所述记录指令在处理单元操作停止时会在存储器中记录下状态,还可以有效的提供一个加载指令(第四指令),该指令会在处理单元的操作开始之前加载存储在存储器中的状态。当重新构建的数据流的处理已经结束,并且原来的数据流已经形成,那么被停止的状态就被恢复了。这意味着,即使在使用有限的处理单元来动态重新构建数据流的情况下,数据操作***也可以可靠的操作。
为了让处理单元能够进行用于那些指令和控制信息的处理,处理单元最好包括根据第二数据加载设定数据的装置,根据第二数据启动或停止操作的装置,根据第二数据停止操作的记录装置,该记录装置还被用来在一个存储器中记录该处理单元上的内部信息,以及加载记录在存储器中的内部信息并开始操作。这些装置是通过逻辑电路或者微程序或者类似的装置来实现的。通过将处理单元的状态与识别信息一起记录在存储器中,启动操作的控制信息还可以基于记录在存储器中的识别信息来选择,并且能够被重复配置的数据流。
这里所说的处理单元可以是远程放置的。在这种数据处理***中,处理单元使用一个诸如因特网这样的计算机网络作为第一数据传送装置,使用一个用来无线或有线广播的装置来作为第二数据传送装置,还是用一个诸如电话网络这样能够进行个人通信的装置来作为第三数据传送装置。另一方面,也可以把这些处理单元安排在一个诸如半导体衬底的线路板上,这样就提供了一个单个的处理器。在这样的情况下,第一数据传送装置是连接了多个处理单元的网络电路,第二数据传送装置是将多个处理单元连接到一个第二数据的源或者提供者的电路,第三数据传送装置是一个连接了多个处理单元和一个记录装置的电路,所述记录装置记录了分别对应每个处理单元的设定数据组。当控制信息被作为第二数据而提供时,提供者就会作为一个控制装置。
有许多的方法可以用来将不同的设定数据通过第三数据传送装置提供处理单元。作为第一方法,提供了一个能够为每个处理单元存储多组设定数据组的网络设定存储器,在该控制方法的第一过程中,根据控制装置的控制,从存储在网络设定存储器中的多个设定数据组中选出并提供一组将要与多个处理单元中至少一部分同步被设定的设定数据组,然后在第二过程中提供了用于加载的指令。通过第三数据传送装置提供的设定数据的量可以限制在被选的数据组中,这样,尽管控制装置需要控制网络设定存储器,但一个窄的总线宽度对于第三数据传送装置就足够了。
根据第二方法,记录在网络设定存储器中的多个设定数据组在第一过程中被提供,用来选择性的从多组设定数据组中加载一个设定数据组的指令在第二过程中被提供。通过该方法,虽然不需要由控制装置来控制网络设定存储器,但需要增大第三数据传送装置的总线宽度以使得处理单元能够选择设定数据组。即使当第三数据传送装置的总线宽度很窄时,如果在处理单元中存在足够存储能力并且数据传送耗时不是一个问题,那么多个设定数据组和识别信息就可以事先被传送到处理单元中,而处理单元的功能是被在第二过程中所提供的加载指令所设定的。
在第三方法中,存储在网络设定存储器中的设定数据组在第一过程中被提供,网络设定存储器中的设定数据组在第一过程之前的其它过程中被控制装置或者类似装置重写。通过该方法,尽管需要事先将设定数据组加载到网络设定存储器中,但网络设定存储器的存储能力可以减小。这里的第一到第三方法也不是完全不同的方法,所以就可以适当的使用这些方法的组合。例如,适量的设定数据组可以从外部存储器暂时调入数据处理***中适当的存储器,所述外部存储器例如ROM、RAM或者记录盘片,它们记录了大量的设定数据,而从该内部存储器中选择的设定数据被提供到处理单元。此外,第三数据传送装置的总线宽度可以被设定,以使得两个或者有限个设定数据组可以被处理单元所选择,这样经常用来重新配置数据路径的设定数据可以仅仅通过使用第二数据传送装置中的一个指令来选择。
附图说明
图1的框图表示了一个与本发明实施例有关的集成电路装置的总体结构。
图2表示了AAP单元的总体结构。
图3表示了网络设定存储器的总体结构。
图4表示了适于处理的数据路径单元的例子,所述处理输出了一个地址。
图5表示了适于操作处理的数据路径部分的例子。
图6表示了一个元件的控制单元。
图7的流程图表示了数据处理***的控制方法。
图8表示了矩阵部分中一个数据流配置的例子。
图9表示了矩阵部分中不同数据流配置的例子。
具体实施方式
下面将通过参考附图更详细的描述本发明。图1表示了根据本发明的***LSI10的总体结构。该LSI10是一个数据处理***,它包括一个处理单元11、一个AAP(继承性(adoptive)应用处理器)单元20、一个中断控制单元12、一个时钟产生单元13、一个FPGA单元14以及一个总线控制单元15。处理器单元11具有一个通用结构,可以进行各种处理,这包括基于由程序或类似的东西所提供的指令来进行错误处理。在AAP单元20中,安排在一个矩阵中的多个算术和/或逻辑元件动态配置了适于特殊用途以数据处理的数据流或者虚拟数据流。中断控制单元12控制了对来自AAP单元20的中断处理。时钟产生单元13向AAP单元20提供了一个工作时钟信号。FPGA单元14还进一步提高了可以由LSI10实现的操作电路的灵活性。总线控制单元15控制了向和从外界输入和输出数据。AAP单元20是一个可配置或可重复配置单元,在该单元内会动态的形成适于数据处理的数据流或者虚拟数据流。
AAP单元20与FPGA单元14通过数据总线17相连,这样数据就会从AAP单元20提供给了FPGA单元14,处理会进行,然后结果会返回到AAP单元20。AAP单元20还通过输入/输出总线18被连接到总线控制单元15,这样就可以在LSI10的外部与数据总线进行数据交换。相应的,AAP单元20可以从外部DRAM2或者另一个设备接收一个输入数据,并且还可以将AAP单元20中处理该数据的结果送回到外部设备。基本处理器单元(“处理器单元”或者“处理器”)11也可以通过数据总线11a和总线控制单元15向和从外部设备输入和输出数据。
处理器11和AAP单元20通过数据总线21相连,这使得处理器11、AAP单元20以及一个提供指令的指令总线52之间可以交换数据,从而处理器11可以控制AAP单元20的配置和操作。中断信号也通过信号线19从AAP单元20提供给中断控制单元12,当AAP单元20的处理结束或者在处理过程中出现了错误,那么AAP单元20的状态就可以反馈给处理器11。
图2表示了AAP单元20的轮廓。本实施例的AAP单元20包括一个矩阵部分23,一个用来向矩阵部分23提供形成网络的设定数据57的网络设定存储器24,以及一个用来暂时存储网络状态的记录存储器25,在矩阵部分23的矩阵中安排有执行算术和/或逻辑运算的多个处理单元(这以后称为“元件”)。
矩阵单元或者部分23包括多个处理单元,也就是说元件30,元件30被安排成一个竖直的或者水平的阵列或者矩阵。矩阵单元23包括在一个网络中连接元件30的第一线组51a和51b,这些第一线组51a和51b作为数据传送装置被安排在元件30之间。线组51a是在水平方向延伸的行线组,而线组51b是在竖直方向延伸的列线组。列线组51b由一对线组51bx和51by构成,这对线组分别分布在沿列方向的操作单元30的左边和右边,线组51bx和51by一般被称为“线组51b”,实际对各个元件30提供数据是通过这些线组51bx和51by来实现的。切换单元51c被安排在线组51a和51b的交接处,每个切换单元51c能够将行线组51a中的任意通道切换或者连接到列线组51b中的任意通道。每个切换单元51c包括一个存储了设置数据的配置RAM,每个切换单元51c基本上按照下面将要描述的元件30接收数据的相同方式来接收设定数据,并且被来自处理器单元11的指令所控制。
这意味着在本实施例的矩阵单元23中,所有或者部分元件30是通过线组51a和51b来连接的,这样数据(第一数据)就可以在物理上被安排彼此分开的元件30之间传递而不占用时钟周期。相应的,我们可以用多个元件30动态设置一个或多个数据流以实现所需要的处理,还可以用所需要的定时来动态的改变这些数据流。
矩阵部分23还包括第二线组52,该线组向每个元件30提供了来自处理器单元11的控制信号(指令)55。在本实施例中,线组52是作为第二数据传输装置的。线组52能够传送来自处理器单元11的控制数据(第二数据)55,所述处理器单元11是对元件30的并行控制设备。为了做到这一点,第二线组52具有向矩阵部分23中的元件30广播来自处理器单元11的控制数据55的功能。实施时,处理器单元11在数据处理设备10中发送控制数据55,附在控制数据上的是一个用来识别数据流的数据流ID(下面称为“DFID”)56。
矩阵单元23还包括连接了网络设定存储器24和每个元件30的第三线组53,第三线组53还提供了设定数据。相应的,本实施例中的第三线组53是作为第三数据传送装置的。一个双端口RAM被用作网络设定存储器24,该网络设定存储器24包括一个连接在处理器单元11上的第一端口24a,以及一个连接在矩阵单元23上的第二端口24b。处理器单元11可以通过第一端口24a,按控制诸如正常RAM这样的存储器的方式来控制网络设定存储器24。第二端口24b被连接到第三线组53,这样就形成了将网络设定存储器24与矩阵单元23中的每个元件30相连接的专用数据总线。相应的,网络设定存储器24是一个具有很宽的全部总线宽度的存储器。
如图3中的放大图所示,网络设定存储器24的一个存储池24.1提供了分别对应每个元件30的区域28。作为例子,有一个区域(0,0)对应了在第0行第0列的元件30,还有一个区域(1,0)对应了第1行第0列的元件30。这些区域28可以被物理的定义,或者通过网络设定存储器24中的地址来定义。一对DFID58和设定数据(一组设定数据)57被存储在每个这样的区域28中。用来对应每个元件30而存储的DFID58和设定数据57的组合通过第三线组53被单独提供给了每个元件30。
网络设定存储器24包括编号为24.1到24.n的多个存储单元,存储单元24.1到24.n中的每一个都被赋予一个不同的设定数29并且存储了不同的设定数据57。相应的,当设定数字29被作为矩阵部分23的控制设备的处理单元11所指示时,对应于该设定数字29的DFID58以及一组设定数据57就会被分别提供给每个元件30。根据从第二线组52提供的DFID56以及控制数据55,给多个元件30中的每个元件所分别提供的设定数据57会在同一时间被选择和使用。
可以根据控制器单元11的控制,通过从诸如DRAM2这样的外部存储器加载数据来改变或更新网络设定存储器24的内容。当大量的设定数据57能够被存储在网络设定存储器24中时,网络设定存储器24就不需要非常频繁的更新,这就可以减小这种更新所带来的处理时间上的开销。另一方面,如果在网络设定存储器24中只能存储一组设定数据57,那么提供给元件30的设定数据57的内容只能通过更新网络设定存储器24来控制。
矩阵单元23还包括一个将每个元件30连接到记录存储器25的第四线组54,这样每个元件30的状态就可以被输入记录存储器25并从记录存储器25输出。本实施例中的记录存储器25通过这里专用的第四线组54被连接到矩阵部分23中的每个元件30。一个可以用来形成宽总线宽度的存储器被使用,从而每个元件30的状态可以在一个时钟周期或者极少的时钟周期数内被加载或存储。另一方面,如果允许利用多个时钟周期来加载和存储元件30的状态,那么就可以通过提供一个中继选择器来使用具有窄总线宽度的存储器。
安排在矩阵部分23中的每个元件30包括一对选择器31,该选择器被用来被用来从一对列线组51bx和51by中选择输入数据,以及一个内部数据路径32,所述内部数据路径32会在所选的输入数据dix和diy上进行算术和/或逻辑处理并且会向行线组51a输出输出数据do。需要注意的是,当在下面表示包括多个功能的内部数据路径32的时候,这种内部数据路径在下面通常被称为“内部数据路径单元32”。在矩阵部分23中,包括用于不同处理的内部数据路径单元32的元件30主要是以行为单元进行安排的。此外,线组51a和51b中还提供了用于传送进位信号的线。该进位信号可以被用作表示进位或者表示真假的信号,在矩阵单元23中,这些进位信号被用来控制每个元件30的算术操作和逻辑操作,以及被用来将结果传送到其它元件30。
作为例子,安排在图2顶部第一行的元件30具有一个适于处理从总线控制单元15的一个输入缓冲器中接收数据的电路。安排在矩阵单元23中的用于加载操作的数据路径单元LD会从加载总线18接收数据并且会向行线组51a输出数据。
安排在第二和第三行的元件30是用来从外部RAM2读取数据的元件,这些元件配有适于产生加载数据所需要的地址的内部数据路径单元32a。图4表示了数据路径单元32a的一个例子。该数据路径单元32a包括一个含有计数器或者类似装置的地址产生器38,该数据路径单元32a还会输出一个地址作为输出信号do。该输出信号do会按照它本身的形式或者是被其它元件30处理以后的形式,通过行线组51a和列线组51b,作为输入信号dix或者diy被提供给数据路径单元32a。所提供的地址由选择器SEL选择,并作为一个用于数据输入的地址通过触发器FF从矩阵单元23中输出。
这些元件30包括一个用于控制内部数据路径单元32a的控制单元60,控制单元60会根据通过第三线组53加载的设定数据57来设定内部数据路径单元32a的功能。用于地址产生电路38的初值或者固定值、选择器SEL的一个选择状态等都会根据产生地址的内部数据单元32a中的设定数据57来设定。
这些元件30还包括用来从列线组51bx和51by中选择输入数据的选择器31,该选择器31的设定也是基于设定数据57由控制单元60来完成的。连接了行线组51a和列线组51b的切换单元51c的设定也是基于设定数据57由每个切换单元51c的控制单元60来完成的。在矩阵部分23中,由行线组51a和列线组51b所连接的元件30可以根据设定数据57来选择,这样就可以根据需求来配置数据流。通过根据设定数据57改变或者选择内部数据路径单元32,也可以在内部数据路径单元32事先能够支持的范围内改变每个元件30中的过程,这样就可以极灵活的构建数据流。
安排在第四和第五行的元件30包括了适用于算术和逻辑操作的数据路径单元(SMA)32b。如图5所示,一个数据路径单元32b包括一个移位电路“移位”,一个屏蔽电路“屏蔽”,以及一个算术逻辑单元“ALU”,和其它元件一样,移位电路“移位”、屏蔽电路“屏蔽”以及算术逻辑单元“ALU”的状态是由控制单元60基于设定数据57来设定的。相应的,诸如一个加法、一个减法、一个比较、一个逻辑与和一个逻辑或这样的操作可以被作用在输入数据dix和diy上,其结果作为输出信号do输出。
根据矩阵单元23中处理的内容可以提供多种元件30。例如,安排在较低行的元件30包括数据路径单元(DEL)32c,该单元适合对传送数据的定时进行延迟处理。作为一个例子,这些数据路径单元32c可以由多个选择器和触发器FF组成,其中输入信号会在延迟了某个时钟周期数之后被输出。还可以提供一个包括一个乘法器或者类似的器件并且适合乘法处理的数据路径单元,一个被作为提供于矩阵单元23外部的FPGA14的接口的数据路径单元,一个适合于产生用于输出数据和其它内容的地址的数据路径单元。
如上所述,每个元件30都具有一个适于诸如产生地址这样的特殊处理或者特殊功能的数据路径,从而控制单元60可以基于设定数据57改变元件的配置或者功能。还可以通过使用第一线组51a和51b在矩阵单元23中改变到其它元件30的连接。相应的,在本实施例的矩阵部分23中,每个元件30包括一个用于特殊用途处理的数据路径或者特殊用途的电路,这样就可以在硬件中进行高速处理。同时,通过在有限范围内改变元件30之间的连接和/或在改变元件30的功能,矩阵部分23中所进行的过程就可以灵活的改变。
FPGA也是一个能够通过改变晶体管之间的连接从而灵活改变其配置的结构,同时也是一个在电路制造完之后还能自由改变功能的集成电路装置。然而,FPGA并不包括真正的例如与门和或门这样的逻辑门,这样,即使FPGA能够作为一个特殊用途的操作电路,FPGA的面积效率也是低下,从而操作速度也不是特别高。FPGA中的硬件发生动态改需要消耗时间,这就需要其它硬件来减少该时间。这就意味着在执行应用的过程中是很难动态控制硬件的。FPGA也不是经济的。
另一方面,本实施例的数据处理装置10包括了矩阵部分23,这样就事先提供了包括适合于适当或者特殊用途处理的数据路径的多种元件,从而就不需要改变FPGA中晶体管之间的所有连接。这意味着,硬件可以在短时间内被重配置,既然本结构不需要具有像FPGA那样的晶体管级的通用性,所以就可以提高封装密度,让***紧密而且经济。此外,还可以省略结构的冗余部分,这样就可以提高处理速度并且实现好的AC特性。
图6表示了元件30的控制单元60。该控制单元60包括一个解码单元61,所述解码单元解释了诸如通过第二线组52提供的控制指令这样的信息,控制单元60还包括一个存储了用于数据路径单元32的配置RAM62。配置RAM62中存有一个DFID63以及包括内部设定和内部状态的内部信息64。内部信息64包括,通过第三线组53提供的设定数据57,以及能够跟踪数据路径单元32中的处理的信息,例如数据处理单元32的操作状态。例如,设定数据57包括了数据路径单元32中操作单元上的控制信息,诸如初始值和固定值的参数,数据路径单元中一条路径上的选择信息,以及元件之间的布线(也就是第一线组51a和51b的选择信息)。配置RAM62可以是任何可重复写入存储器,所以就可以是寄存器、EEPROM等。
解码单元61包括:一个选择器65、一个比较器66以及一个指令解码器67。选择器65从第三线组53所提供的一个DFID58、从第三线组53提供且存于配置RAM62中的一个DFID63,以及从下文将要描述的记录存储器25中提供的DFID71中选择一个。比较器66将选择器65所选择的DFID与第二线组52所提供的DFID56进行了比较。指令解码器67在比较器66发现DFID吻合的情况下,对从第二线组52所提供的控制信息(指令)55进行解码并执行它们。
图7表示了数据处理***10中的处理概貌,该***通过处理器11的处理以及元件30的控制单元60的处理对矩阵部分23中的数据流进行了设定和控制。数据处理***10中用于数据流的控制方法包括通过第三线组53提供DFID58以及设定数据57的第一过程101,以及通过第二线组52来提供DFID56以及指令55的第二过程102。
在步骤109中,处理器11会从存储于代码RAM11c中的程序11p中提取指令,在所提取的指令是用来控制矩阵部分23的数据流配置的情况下,处理器11就会执行第一过程101和第二过程102。如果所提取的指令是一个对已经配置的数据流进行的控制,那么处理器11就会执行第二过程102。在第一过程101中,当处理器11在步骤111基于程序11p判断需要提供新的设定数据,那么处理器11就会在步骤114通过第三线组53从网络设定存储器24中将DFID58和设定数据57提供给每个元件30。在该点上,当需要更新网络设定存储器24的内容的时候(步骤112),处理器11就会读取存于DRAM2等中的设定数据57,然后更新网络设定存储器24(步骤113)。这种对网络设定存储器24的改写可以以存储单元、设定数为单位来进行,或者,网络设定存储器24的所有内容可以被更新。
在步骤114中,有很多方法可以通过第三线组53将不同的设定数据57提供给目标元件30。在第一方法中,在步骤114中,要被加载到一个元件30中的一组设定数据57会从网络设定存储器24中所存储的用于所述元件的多组组设定数据57中被选择出来并被输出,这组设定数据57会在下面的第二过程102中被加载。当网络设定存储器24的存储能力很小的时候,例如只能存储一组设定数据,那么在步骤113中已经被更新的一组设定数据就会被提供给元件30。这对应了上述的第三方法。
在第二方法中,在一个状态中在步骤114中提供了存储于网络设定存储器24中的用于每个元件的多组设定数据,该状态允许元件30来选择一组设定数据57,在第二过程102中,元件30会根据指令从多组设定数据57中加载一组设定数据57。尽管第二方法需要增大第三线组53的宽度,但通过第二方法可以减少处理器对网络设定存储器24的操作,这就减少了处理器11的工作。尽管需要在元件30中提供足够的存储能力且为传送数据提供足够的时间,但还是可以有可能把多个设定数据57和识别信息58的组合事先下载到元件30的控制单元60的配置RAM62等中。
可以使用这些方法组合在一起的控制方法。作为一个例子,一个元件30可以选择使用第三线组53的总线宽度,该宽度限制了设定数据57的组数,例如两组,这样就可以仅仅使用经过第二线组52接收的一个指令来选择重新配置数据路径时所经常需要的设定数据。
在第二过程102中,在步骤115中,处理器11根据程序11p通过第二线组52向矩阵单元23中的每个元件30提供了DFID56和指令55。在步骤116中,每个元件30的控制单元60通过第二线组52接收DFID56以及指令55,然后在步骤117中,控制单元60选择了要与通过第二线组52所提供的DFID56进行对比的DFID,也就是说,控制单元60选择了该处理单元30将会属于的DFID。如上所述,在本实施例中,选择器65可以选择通过第三线组53所提供的DFID58、存储于控制单元60中的DFID63以及存于记录存储器25中的DFID71中的一个。在步骤118中,如果所选的DFID与通过第二线组52所提供的DFID56相吻合,那么就会在步骤119中执行指令55。
在数据处理装置10中,当存储于处理器11的代码RAM11c中的程序11p含有指令Ins1时,其中所述指令Ins1指示了通过使用在网络设定存储器24中与设定数1一起存储的设定数据来进行矩阵单元23中构成具有DFID1、2和3的数据流的过程的执行,处理器11就会在步骤114输出一个用来在网络设定存储器24中选择存储电池24.1的控制信号1。此外,在步骤115中,处理器通过第二线组52向元件30提供了一个用来形成数据流的启动指令55a。下面表示了该启动指令的一个例子。
Start DFID,OP...(1)
在步骤118中,如果和指令一起提供的DFID56与选择器65所选择的DFID相吻合,那么元件30中的控制单元60的解码器67就会在步骤119中解释并执行开始指令55a。在本实施例中,用来存储来自第三线组53的设定数据57的控制信号会被输出到配置RAM62。如上所述,这里多个DFID或者单个DFID可以与指令55一起被发出。
开始指令55a的“OP”部分由各种选项参数组成。一个参数是用来选择一个设定数的信息。当第三线组53的总线宽度很宽,网络设定存储器24中的多个存储单元的设定数据57组,也就是说具有多个设定数的设定数据57组通过第三线组53被提供,具有这些设定数中一个的一组设定数据就会通过该参数存储在配置RAM62中。相应的,处理器11不需要对将要从网络设定存储器24中输出的设定数据组进行选择,处理器11只需要在更大的单位上,例如以块为单位,来对设定数据进行选择。这就方便了对网络设定存储器24的控制而且提高了处理速度。然而,由于需要给第三线组53提供足够的总线宽度,所以数据处理设备10就会变大。
设定于步骤117中的选择器65的状态可以由配置RAM62中存储的设定数据57来定义,或者设定选择器65状态的指令55可以通过第二线组52来提供。解码器67可以事先对指令55解码,选择器65的状态也可以由指令本身或者附在指令上的参数所设定。在每种情况下,只有当选择器65所选择的DFID与DFID56相吻合时,才会执行解码的结果。
在步骤17中,当选择器65选择了已经通过第三线组53与设定数据57一起提供的DFID58时,设定数据57会在该DFID58与启动指令55a所指示的DFID56相吻合的元件30中被更新。相应的,与启动指令55a一起提供的DFID56是表示了将要在矩阵单元23中被重新配置的数据流的DFID。
另一方面,选择器65也可以选择存储在配置RAM62中的DFID63,也就是说能够识别当前元件30所属于的数据流的DFID。在这种情况下,与启动指令55a一起提供的DFID56就是指示了将要在矩阵部分23中被更新的数据流的DFID。
在每一种情况下,通过第三线组53从网络设定存储器24提供给多个元件30的设定数据57可以在与所述指令一起提供的DFID56所识别的多个元件30中被启动指令55a同步设定。相应的,不需要给每个元件逐个的提供设定数据,这样新的数据流就可以被高速配置,例如在一个时钟周期中。此外,用于这些目的的DFID不需要包括任何识别每个元件30的信息,这样,就如本实施例所示,具有小数据量的非常简单的数据就已经足够了。这就可以提供一个能够非常容易高速改变数据流的数据处理装置10。
在数据处理***10中,分别对应了元件30的网络设定存储器24的地址区域28被分别并直接的通过第三线组53连接到每个元件30的控制单元60。相应的,如果第三线组53的宽度足够并且操作频率能够足够高以使得距离产生的延时能够被忽略,那么就可以把对应了每个元件30的网络设定存储器中的地址区域28作为配置RAM62来使用,这就不需要将网络设定存储器24的设定数据57加载到每个元件30的控制单元60中的配置RAM62。
下面就描述了在本实施例的数据处理装置10中使用DFID的指令的例子。首先,一个用来停止数据流操作的停止指令55b如下所示。
freeze DFID...(2)
当试图改变数据流而又不停止数据流操作时,有可能在切换中或者在切换后发生错误操作。作为一个例子,当在发生改变前在每个时钟周期中进行存储器访问操作的硬件资源在发生改变时正处于操作状态,访问就会停在一个没有预期到的地址上。即使这样的访问没有导致致命错误,外部总线周期也会被产生,从而至少会导致性能的下降。当矩阵单元23的数据流被动态改变时,也有可能不能再现数据流。例如,当数据流在不停止的情况下被切换时,数据流甚至在切换的过程中停止操作。如果发生了这件事,那么下一次重新恢复设定数据、再现数据流时以及恢复处理时,就会出现与不发生数据流切换时不相同的结果。这就是说,为了再现数据流而设定到构成数据流的每个单元中的内部信息能以包括切换前的值以及在切换过程中被重写的值而结束。
相应的,如果在程序11p中存在用于切换或者改变数据流的指令Ins2,那么处理器11就会在步骤115中通过第二线组52发出一个停止指令(冻结指令)55b,该指令指示使用了DFID的所需的数据流同时停止该数据流的操作。当一个元件30的控制单元60收到一个带有匹配DFID的冻结指令55b时,元件30的操作就会停止。除了停止数据流的操作以外,当数据流正在临时停止工作时,冻结指令55b还可以具有使数据流重新开始操作的功能。在本发明的数据处理装置10中,识别了元件30所属的数据流的信息被事先作为DFID分配,这样,通过与停止指令55b一起发出一个DFID,就不需要在参考元件内部的情况下产生地址。
通过提供这样的停止指令55b,***作或者正在操作的数据流可以被指出,并且该数据流的功能可以被停止,从而就抑制了不需要的总线访问。当数据流被动态的改变时,也可以确保数据流的再现性。相应的,识别了数据流的DFID信息被附上并且停止指令55b通过第二线组52被提供从而数据流就会被停止然后***作,这样的控制方法不仅在像本实施例中中的元件通过第三线组53为每个数据流分配DFID的数据处理***中有效,还在DFID通过一个网络被附上,如本实施例的第一线组51a和51b,这样的数据处理装置中有效。
由于数据流是动态的被重新配置的,对正在操作的数据流临时存储然后重新激励的记录指令55c以及加载指令55d分别具有下面的形式。
Storev DFID
Loadv DFID...(3)
当矩阵部分23要执行多个过程时,可以在首先等待正在占用矩阵部分23中的元件30的过程结束,然后进行下面的过程。然而,当所需的处理是一个高优先级的需要实时响应的过程,这样的控制方法就是不适合的。在矩阵部分23中,当配置中恰好没有使用的元件能够被收集来实现下一个过程时,如果不能得到足够的元件就不能进行进一步的配置。同样,在集中使用多个可用的元件30的方法中,不可能事先知道哪个元件30是可用的,这样用于连接可用元件30的连线资源的连线方法,也就是第一线组51a和51b的安排,就必须每次都计算,这是很耗时的。这对于需要实时处理的情况就不适用了。
还有一种方法,在该方法中,正在进行的处理会被打断,具有高优先级的处理会被执行,一旦高优先级的处理结束就会重新开始进行被打断的处理。然而,这种情况中的处理时间是显然被浪费了,而且如果被打断的处理是不可能重复的话,那么就不能使用该方法。
另一方面,在数据处理***10中,当程序11p中存在一个用来执行具有高优先级过程的指令Ins3时,处理器单元11会在步骤115中发出一个带有表示了高优先级数据流的DFID的记录指令55c。在属于该数据流的元件30的内部信息64已经被记录在记录存储器25中以后,所需的元件30就会被释放。然后,基于程序11p,处理器单元11会在步骤115中给出启动指令55a,这样就可以配置用来执行高优先级处理的数据流,并且该处理可以进行。这以后,在步骤115中,处理器单元11会给出一个带有用于要重现的数据流的DFID的加载指令55d,这样内部信息64就会从记录存储器25中被调出,存储的数据流会被重新配置,处理会继续。
相应的,当需要高优先级的处理时,例如需要实时进行的处理,这样的处理可以被给予优先级并由矩阵单元23来执行。当高优先级处理结束时,被搁置的数据流会被重新配置,被搁置的状态再现,处理能够从被搁置的状态继续。通过这样做,就可以不浪费处理时间。
这意味着,当一个记录指令55c已经被发出时,在元件30的每个控制单元60中,通过第三线组53提供的DFID58会与通过第二线组52附带指令55c提供的DFID56进行比较,当这些DFID相吻合,处理就会在步骤119中停止,并且配置RAM62中的内部信息64以及DFID63会通过第四线组54被记录到记录存储器25中。如果有足够的时间用来写入这些数据,那么包含一个选择器和一个切换电路的转换电路75就会进行一个并联-串联转换,这就使得线组的总线宽度可以减小,记录存储器25的接口总线宽度可以减小。
同样,如果在每个元件30中的控制单元60的配置RAM62可以提供足够的能力以存储内部信息和要保存的DFID,那么也可以将配置RAM62作为记录存储器使用。在这种情况下,如果在元件30处于正常处理时而内部信息64以镜像状态被写在用作记录存储器的比特区域或寄存器中,那么根据一个记录指令55c来记录内部信息64的处理就变得不再需要。
当数据流的功能根据记录指令55c被描述成停止的,那么数据流的功能就会通过在记录指令55c之前发出冻结指令55b而被实现停止。当需要用来配置将要被优先处理的数据流的元件30阵列与配置将要被记录的数据流的元件30阵列不相吻合时,指示了将要存储的数据流的一个或多个DFID的记录指令55c或者冻结指令55b最好要被发出。在这种情况中,通过比较该DFID和存储于每个元件30的配置RAM62中的DFID63,适当的元件30的内部信息64就会被记录。
当将要恢复的数据流的DFID56与一个加载指令55d要被一起发出时,在步骤118中,每个元件30的控制单元60就会在记录存储器25中将DFID56与存储于地址区域73的DFID71进行比较,其中地址区域73对应了每个元件30。当这些DFID吻合时,在步骤119中,已经记录在记录存储器25中的内部信息(条件数据)72会被加载到配置RAM62中。当构成具有指令DFID56的数据流的每个元件30的内部信息已经被恢复时,被搁置的处理就会继续。
在该控制方法中,通过暂时记录可***作的数据流,并通过经由第二线组52提供记录指令55c和加载指令55d以及用于识别该数据流的DFID信息来重新操作数据流,可以动态重新配置所述数据流,尽管该控制方法不限于本实施例中的通过第三线组53为每个数据流将DFID分配给各个元件,该控制方法在通过组成网络的第一线组51a和51b指定DFID的数据处理***中也是有效的。
图8表示的状态中,指示了用于网络设定存储器24的设定数[1]的指令1从处理器11中被给出,带有识别[1,2,3]作为DFID56的启动指令55a通过第二线组52给出到矩阵部分23。在每个元件30中,具有DFID58[1],[2]或[3]的设定数据组57从网络设定存储器24通过第三线组53被提供给了相应的元件30的配置RAM62,设定数据组57被分别锁住和存储。如果需要,第二线组52和第三线组53也被连接到属于第一线组的切换单元51c,用于第一线组51a和51b的连接信息也被提供。有了这样的结构,在一个启动指令55a已经发出之后,第一线组51a和51b会在一个很短的时间内连接元件30,例如一个时钟周期,一个带有DFID[1]的数据流81、一个带有DFID[2]的数据流82和一个带有DFID[3]的数据流83被配置,处理会开始。
接着,当冻结指令55b与作为DFID56的识别[1,2]一起从处理器11中给出时,属于相应数据流81和82的元件30的操作就会停止,从而就搁置了数据流81和82中的处理。然而,没有被DFID56指示的属于数据流83的元件30的处理还将继续。
这以后,指示了用于网络设定存储器24的设定数[2]的指令1从处理器11中发出,一个具有作为DFID56的指示[4,5]的记录指令55c从处理器11中发出到矩阵部分23中。基于从第三线组53提供的DFID58,需要用来构筑数据流的元件30的内部信息,也就是配置了当前数据流81和82的元件30的内部信息,通过第四线组54被存储在记录存储器25中。如果需要,属于第一线组的切换单元51c的状态也被存储在记录存储器25中。通过第三线组53从网络设定存储器24中提供的带有DFID58[4]和[5]的设定数据组57被分别存储在相应的元件30的配置RAM62中。如图9所示,通过这样的方法,带有DFID[4]的数据流84与带有DFID[5]的数据流85就被配置,处理就开始。
相应的,在记录指令55c被发出之后,矩阵部分23的配置会在一些时钟周期内被切换或者改变,处理会根据新的数据流而开始。在这一过程中,数据流83的处理一直在继续而没有被搁置。
一旦数据流84和85中的处理结束,带有作为DFID56的指示[1,2]的加载指令55d就会从处理器11发出到矩阵部分23。该加载指令55d具有对应了DFID71的元件30的内部信息72,所述DFID71通过第四线组54存储在记录于配置RAM62内的记录存储器25中,如图8所示,该加载指令55d还重新配置了数据流81和82。属于数据流81和82的元件30的内部状态会恢复到处理被搁置以前的同样状态,这样,通过根据这些数据流81和82来启动处理,处理就可以从处理被搁置的点继续。
通过这样的方法,在本发明的数据处理装置10中,很多功能就可以由矩阵部分23轻易实现,在矩阵部分23中,多个元件30可以在网络中通过第一线组51被连接起来。可以通过查看将要分配给元件30的DFID是否指示了操作可行,从而让元件,也就是组成网络的器件,来进行选择性的操作。相应的,矩阵部分23外部的处理器11或者其它控制装置可以轻易的要求矩阵单元23中的元件30来进行处理。也就是说,当存在关于网络中的一定功能或者一个数据流的外部请求时,只要指示出该功能的指示信息的DFID就可以了。
也可以提供一个包括用来执行处理的指令的程序或者程序产品11p,所述处理会让处理器11发出上述类型的指令,从而改变矩阵单元23的网络(数据流)的配置以及控制数据流。通过改变程序11p中的内容或者指令的顺序,就可以改变由数据处理装置10所执行的处理,该数据处理装置从硬件配置阶段被作为一个***LSI或者类似的装置而得到实现。同样也可以从硬件配置阶段,通过替换网络设定存储器24的内容或者背景来改变由数据处理装置10所执行的处理。相应的,即使同样的结构被作为硬件资源而提供,本发明也会提供数据处理***,该***能够在处理执行阶段执行不同数据流的和不同数据路径的处理。
使用DFID的方法并不限于上述内容。作为一个例子,DFID[0]可以被用来指示每个元件30,这样一个指令就可以被提供给每个元件30,所有元件30中的设定数据可以在不影响从第三线组53所提供的DFID58以及存储在内部的DFID63的情况下被更新。DFID[-1]可以被用来指示数据是与元件30无关的,第二线组52可以被用于与控制这些元件不相关的其它控制。
此外,从第二线组52所提供的数据并不限于控制指令。尽管操作的系数常常改变,但从安排在一个网络中的元件所构建的数据流经常会重复同样类型的操作。相应的,在本***10中,所述系数可以根据从第二线组52所提供的数据来改变,而不改变网络设定存储器24中的内容,也就是说不改变设定数据57。网络设定存储器24的设定数据57也可以被重复使用,其中只有需要改变的部分才会被处理器11修改,这样,通过从第二线组52提供一个启动指令55a,设定数据57就可以在元件30中被设定任意多次。
和一个普通存储器一样,网络设定存储器24对于作为控制装置的处理器11来说也可以是直接可重复写入的。这对程序员就提供了很大的自由度。如果这样的一个存储器被隐藏在每个元件中且不能被处理器单元11直接重复写入,那么就需要另外的方法以使得分别识别了每个元件的诸如一个地址这样的识别信息与设定信息一起单独提供给每个元件。这另一种方法需要将同样的操作重复多次,其次数等于组成数据流的元件数,这就会非常耗时。电路的工作也没有效率,这就增大了功率消耗。虽然还可以使用方法让元件以树状连接,且表示了一个所需要的元件的地址会与设定信息一起被***树的根部,但这也将是很耗时的,同时也使得对数据流进行部分修改变得困难。
本实施例的网络设定存储器24通过具有很宽的总体总线宽度的第三线组53直接连接到每个元件30上。这意味着设定可以在一个时钟周期中以很快的速度完成。控制请求(搁置、继续)以及识别了控制目标的DFID通过第二线组52被传送或者广播到元件30,这些控制也是在一个时钟周期内完成的。
此外,存储于网络设定存储器24中的设定数据57可以由处理器11在任何时间产生。已经事先准备好并存储在外部DRAM2或类似存储器中的设定数据组中的一部分也可以被处理器单元11下载到网络设定存储器24中,然后再被使用。
虽然上述线组的安排的描述是示例性的,但本发明并不限于这些描述。作为第一数据传送装置的第一线组51a和51b只要是能够在元件之间自由发送的线或者数据传送装置就可以了。作为一个例子,通过增加输入选择器的个数,或者通过增加输入的数量,每个装置就可能实现更复杂的操作。还可以通过增加输出选择器的数量或者输出的数量来实现更复杂的操作。此外,并不需要将输出选择器与输出按照一对一的方式连接在一起,一个输出可以连接到多个选择器,或者多个输出也可以连接到一个选择器。如果元件之间通信的时间消耗足够,数据可以通过指示元件的地址而被发送和接收,那么网络就可以被构建起来。
一个适当数量的用于DFID可能类型的信号可以提供给作为第二数据传送装置的第二线组52,其中所述信号线被用来表示不同的DFID。这一改动也可以用在第三线组53上。
在上述数据处理装置10所表示的例子中,本发明实现在一个处理器装置或者LSI装置中,其中,元件30被装配在半导体衬底上。相应的,本发明可以提供能够实现好的AC特性的实时处理的LSI或者ASIC,其中适于应用中的处理的数据流可以被动态的改变,硬件资源可以得到最大效率的使用。
本实施例的LSI装置10的特征还在于,通过改变程序11p和/或设定数据57,可以将具有同样硬件资源的一个LSI应用在多种用途之中。程序11p和/或设定数据57可以通过在一个适当的记录媒体(如可以独立分布的ROM)中记录程序和/或设定数据的方法而被分别提供给数据处理装置,或者通过诸如计算机网络这样的通信装置而被提供。这意味着,通过改变或者更新程序11p和/或设定数据57,就可以提高LSI或者信息处理终端或者使用了这样的LSI的类似装置的处理性能,以及给它们添加新的功能。这意味着,本质上是固定在发展阶段末端的LSI的功能可以用与固件外级同样的方法来改变,这一般会在设计和制造过程中很大程度上减轻制造者的负担,并且可以提供给使用者一个总是能够处在最佳状态的LSI装置。
根据本发明,由网络连接在一起以实现给定功能的多个处理单元(就是上述例子中的“元件”)也可以是不同的半导体装置、不同的电路板,甚至可以是远程提供的设备。在本发明的数据流中,也可以实现下面所述的功能。首先,网络中所能够连接的一些或者所有设备被用来形成一个数据流,数据在穿过或者沿着该数据流被传递然后被处理,数据流末端的各个设备从网络外部接收数据并且将处理后的数据输出到网络以外。组成该数据流的部分被自动或者他律的控制,这样,正如一个例子所述,如果在输出端有堵塞,那么就可以实行控制以暂时停止数据流的整个操作。同样,数据流不会在处理过程中彼此主动交换信息,它们基本上是彼此独立操作的程序。
如上所述,通过本发明,这些“功能”的处理(设定、控制和执行)可以轻易的实现。“设定”阶段通过选择组成“功能”的设备以及对这些设备分配角色来定义“功能”。对这些设定的请求可以从“功能”外给出。对“功能”的“控制”是“功能”操作的开始和停止,控制可以从“功能”外给出。
“执行”指的是“功能”的自动操作,它包括同步控制和发生在“功能”操作中的类似操作。该“执行”被认为包括下述内容。首先是输入数据的同步。当操作是由一个普通设备来实现时,通常会有两组或多组输入数据。在这样的情况下,所有的输入数据最好能被同时输入到设备中。如果对网络的输入是与“功能”相关,那么当输入被接收到网络中,对输入数据的流控制就可以轻易将多组输入数据同步,然后将它们输入到“功能”中。第二是对输出数据的控制。当网络的输出出现堵塞时(在很多情况下网络输出都会带有缓冲装置,这些堵塞对应了缓冲装置被填满的情况),“功能”如果还要继续输出数据,那么输出数据就会丢失。然而,如果网络的输出是与“功能”相关,那么网络就可以对“功能”指示堵塞,然后“功能”就会在自动停止操作,直到能够重新输出为止。本发明可以使用指示信息(DFID)来实现中心化的管理,该指示信息可以指示“功能”而不会消除由网络中控制装置所实现的中心化控制可能性。这意味着,如果监测装置检测到上述的现象(也就是堵塞),那么就可以让每个“功能”暂时停止,然后再继续操作。
上述内容与设备在一个网络中安排和操作的传统***中所使用的方法是不同的,尤其与LSI结构不同。组成网络的每个设备都被指定了固定或者动态的识别信息(一个ID或者地址)。然而,当网络被构建在设备之间且数据被传送时,如果要操作的设备可以用这些设备的物理位置来确定,那么给这些设备指定一一对应的固定或者动态ID就只会产生冗余的信息。此外,当网络中存在多个“功能”时,给每个设备指定分开的ID并不会有利于某个这些“功能”的操作。通过分别指示每个设备而操作每个设备的操作显然是冗余的,指示设备会浪费连线以及处理时间。
通过组合所有设备来实现单个“功能”,这就不需要为了控制而识别设备,尽管由于不能同时执行多个“功能”所述方法会浪费硬件资源。虽然可以根据某些特殊规则将不同的ID看成相同的,例如可以通过屏蔽一些设备ID而留下其它的,但这仅仅是对在不单独指示出设备ID的情况下不能从外部对单个的设备提供不同设定的一个折衷,所以基本问题仍然存在。这意味着ID必须要被浪费在指定每个设备上,这就减小了编程的清晰度和灵活性。另外,还存在着要一个一个访问每个设备以在每个设备中作不同设定的问题,这样功能就不能在短时间内被动态切换。
另一方面,根据本发明,通过引入将设定数据分配到各个设备中去的第三数据传送装置,以及通过给网络中动态定义的“功能”本身指定识别信息,上述冗余就可以被消除,编程会变得容易,并且可以实现一个足以完成“功能”的设定、控制以及操作的简单结构。
工业应用
本发明的数据处理***以及控制方法提供了一个能够进行多个诸如***LSI和ASIC这样的数据处理的***。本发明的数据处理***并不限于电子线路,它也可以用在基于光路或者光电子线路的数据处理装置中。本发明的数据处理***可以使用可重复配置的硬件来高速执行数据处理,所以就适用于高速和实时处理的数据处理装置,例如网络处理和图像处理。
Claims (34)
1.一种数据处理***,包括:
多个处理单元;
第一数据传送装置,用于在一个网络中连接多个处理单元、交换第一数据,以及通过连接多个处理单元中的至少两个来配置至少一个可重复配置的数据流;
第二数据传送装置,用来向多个处理单元并行提供第二数据;
第三数据传送装置,用来向多个处理单元中的每一个单独提供设定数据,该设定数据是通过直接或者间接改变经过第一数据传送装置连接到一个处理单元上的其它处理单元,和/或改变包括在该处理单元中的一个过程,来设定带有不同功能的一个数据流的数据。
2.权利要求1中的数据处理***,
其中第三数据传送装置提供了识别信息以及设定数据,所述识别信息表示了将要被设定数据设定的数据流,
第二数据传送装置提供了识别信息以及第二数据,以及
处理单元包括基于识别信息来选择和处理第二数据的装置,所述识别信息是通过第三数据传送装置提供的或者是事先被提供的。
3.权利要求2中的数据处理***,
其中处理单元包括一个用来存储识别信息的存储器。
4.权利要求2中的数据处理***,
其中第二数据是用来控制处理单元操作的控制信息。
5.权利要求2中的数据处理***,
其中处理单元还包括用来根据第二数据加载设定数据的装置。
6.权利要求2中的数据处理***,
其中处理单元还包括用来根据第二数据启动或者停止操作的装置。
7.权利要求2中的数据处理***,
其中处理单元还包括记录装置,用于在根据第二数据停止一个操作时在一个记录存储器存储处理单元上的内部信息,并在记录于记录存储器的另一个内部信息被加载之后开始另一个操作。
8.权利要求7中的数据处理***,
其中记录装置在记录存储器中记录了识别信息以及内部信息。
9.权利要求2中的数据处理***,
其中处理单元还包括多个可选的内部数据路径,并且设定数据包括用来选择内部数据路径的数据。
10.权利要求1中的数据处理***,
其中多个处理单元被安排在一个电路板上,
第一数据传送装置是连接了多个处理单元的网络电路,
第二数据传送装置是连接了多个处理单元以及第二数据的源的电路,以及
第三数据传送装置是连接了多个处理单元以及一个存储了设定数据组的网络设定存储器的电路,一个设定数据组分别对应了多个处理单元中的每一个。
11.权利要求10中的数据处理***,
其中第三数据传送装置提供了识别信息以及设定数据组,所述识别信息表示了将要由设定数据组所设定的数据流,
第二数据传送装置提供了识别信息以及第二数据,以及
处理单元包括用来基于识别信息选择第二数据以及进行处理的装置,所述识别信息是通过第三装置提供的或者是事先提供的。
12.权利要求11中的数据处理***,
其中的源是一个控制装置,它会发出控制信息作为第二数据以控制处理单元的操作,以及发出识别信息。
13.权利要求12中的数据处理***,
其中网络设定存储器为多个处理单元中的每个记录了多个设定数据组,以及
控制装置从所述多个设定数据组中选择与多个处理单元中至少一部分同步设定的一组设定数据,该控制装置将所选的一组设定数据从网络设定存储器输出,然后发出一个指令作为控制信息来加载设定数据。
14.权利要求12中的数据处理***,
其中网络设定存储器为多个处理单元中每一个记录了多个设定数据组,以及
控制装置发出一个作为控制信息的指令,以从网络设定存储器中的多个设定数据组中选择一组设定数据并加载设定数据。
15.权利要求12中的数据处理***,
其中控制装置改变了网络设定存储器中的多个设定数据组。
16.权利要求10中的数据处理***,
其中电路板是一个半导体衬底。
17.一种数据处理***,包括:
多个处理单元;
第一数据传送装置,用来在一个网络中连接多个处理单元、交换第一数据,以及通过连接多个处理单元中的至少两个来配置至少一个可重复配置的数据流;以及
第二数据传送装置,用来向多个处理单元并行提供用于识别数据流的识别信息,以及用于控制一个处理单元的操作的控制信息,
其中所述处理单元包括根据所述控制信息而进行操作的装置,所述控制信息是与处理单元所属的识别信息一起提供的。
18.权利要求17中的数据处理***,
其中所述控制信息是用来启动或者停止处理单元操作的指令、用来停止处理单元的处理并在记录存储器中存储处理单元上的内部信息的指令,以及用来加载已经存储在记录存储器中的内部信息并开始处理单元的处理的指令中的一个。
19.一种用于数据处理***的控制方法,所述数据处理***包括多个处理单元,第一数据传送装置,第二数据传送装置以及第三数据传送装置,所述第一数据传送装置在一个网络中连接多个处理单元、交换第一数据,以及通过连接多个处理单元中的至少两个来配置至少一个可重复配置的数据流,所述第二数据传送装置被用来向多个处理单元并行提供第二数据,所述第三数据传递装置被用来向多个处理单元中的每一个单独提供设定数据,所述设定数据是用于通过直接或者间接改变经过第一数据传送装置连接到一个处理单元上的其它处理单元,和/或改变包括在该处理单元中的一个过程,来设定具有不同功能的一个数据流的数据,
该控制方法包括:
第一提供过程,该过程通过第三数据传送装置并与设定数据一起提供了表示将要被设定数据所设定的数据流的识别信息;以及
第二过程,其中一旦已经通过第二数据传送装置提供了第二数据和识别信息,处理单元就基于识别信息来选择第二数据然后进行处理,所述识别信息是通过第三数据传送装置提供的或者是事先提供的。
20.权利要求19中的控制方法,
其中在第二过程中,所述第二数据是基于存储在处理单元中的识别信息而被选择的。
21.权利要求19中的控制方法,
其中在第二过程中所提供的第二数据是控制了处理单元操作的控制信息。
22.权利要求21中的控制方法,
其中控制信息是用来将设定数据加载到处理单元中的第一指令。
23.权利要求21中的控制方法,
其中控制信息是用来启动或者停止处理单元操作的第二指令。
24.权利要求21中的控制方法,
其中控制信息包括第三指令和第四指令,第三指令用于停止处理单元中的处理并在记录存储器中存储处理单元上的内部信息,第四指令用于加载存储在记录存储器中的内部信息并启动处理单元的处理。
25.权利要求24中的控制方法,
其中在第二过程中,内部信息与识别信息一起通过第三指令存储在记录存储器中,第四指令是基于存储在记录存储器中的识别信息被选择的。
26.权利要求19中的控制方法,
其中在第一过程中,从多个存储在网络设定存储器中的设定数据组中,一组将要与多个处理单元中至少一部分同步被设定的设定数据被提供出来,其中所述网络设定存储器为每个处理单元存储了多个设定数据组,以及
在第二过程中,一个用来加载一个设定数据组的指令被作为第二数据而提供。
27.权利要求19中的控制方法,
其中在第一过程中提供了多个存储在网络设定存储器中的设定数据组,其中所述网络设定存储器为每个处理单元记录了多个设定数据组,以及
在第二过程中,一个用来从多个设定数据组中选择和加载一个设定数据组的指令被作为第二数据而提供。
28.权利要求19中的控制方法,
其中在第一过程中,提供了存储在网络设定存储器中的多个设定数据组,一个设定数据组分别对应了多个处理单元中的每个处理单元,以及
控制方法还包括在第一过程之前在网络设定存储器中重新写入多个设定数据组的过程。
29.一种用于数据处理***的控制方法,所述数据处理***包括多个处理单元,第一数据传送装置以及第二数据传送装置,所述第一数据传送装置被用来在一个网络中连接多个处理单元、交换第一数据,以及通过连接多个处理单元中的至少两个来配置至少一个可重复配置的数据流,所述第二数据传送装置被用来向多个处理单元并行提供第二数据,
其中,控制方法包括一个过程,该过程中,当用来识别数据流的识别信息和用来控制处理单元操作的控制信息已经通过第二数据传送装置被提供时,处理单元会基于带有处理单元所属的识别信息的控制信息来操作。
30.权利要求29中的用于数据处理***的控制方法,
其中控制信息是用来启动或者停止处理单元操作的指令、用来停止处理单元的处理并在记录存储器中存储处理单元上的内部信息的指令,以及用来加载已经存储在记录存储器中的内部信息并开始处理单元的处理的指令中的一个。
31.一种用来控制数据处理***的程序,所述数据处理***包括多个处理单元,第一数据传送装置,第二数据传送装置以及第三数据传送装置,所述第一数据传送装置在一个网络中连接多个处理单元、交换第一数据,以及通过连接多个处理单元中的至少两个来配置至少一个可重复配置的数据流,所述第二数据传送装置被用来向多个处理单元并行提供第二数据,所述第三数据装置被用来向多个处理单元中的每一个单独提供设定数据,该设定数据是用于通过直接或者间接改变经过第一数据传送装置连接到一个处理单元上的其它处理单元,和/或改变包括在该处理单元中的一个过程,来设定带有不同功能一个的数据流的数据,
该程序包括用来执行如下过程的指令,即通过第三传送装置提供了设定数据和识别信息,所述识别信息表示了将要被设定数据所设定的数据流,以及通过第二传送装置提供了用来加载设定数据的控制信息和至少一个识别信息。
32.权利要求31中的程序,
还包括用来执行如下过程的指令,该过程为通过第二数据传送装置提供了控制信息和至少一个识别信息,所述控制信息指示了处理单元的启动和停止。
33.权利要求31中的程序,
还包括用来执行如下过程的指令,该过程为通过第二数据传送装置并与至少一个识别信息一起,提供了用于在一个记录存储器中存储当处理单元停止操作时的状态的控制信息,或提供了用于在处理单元开始操作前加载存储在记录存储器中的状态的控制信息。
34.一种用来控制数据处理***的程序,所述数据处理***包括多个处理单元,第一数据传送装置以及第二数据传送装置,所述第一数据传送装置被用来在一个网络中连接多个处理单元、交换第一数据,以及通过连接多个处理单元中的至少两个来配置至少一个可重复配置的数据流,所述第二数据传送装置被用来向多个处理单元并行提供第二数据,
该程序包括用来执行如下过程的指令,该过程为通过第二数据传送装置提供用来控制一个处理单元操作的控制信息以及至少一个识别信息。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001272257 | 2001-09-07 | ||
JP272257/2001 | 2001-09-07 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1541355A true CN1541355A (zh) | 2004-10-27 |
CN100397331C CN100397331C (zh) | 2008-06-25 |
Family
ID=19097658
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB028157214A Expired - Lifetime CN100397331C (zh) | 2001-09-07 | 2002-09-06 | 数据处理***以及控制方法 |
Country Status (8)
Country | Link |
---|---|
US (1) | US7380100B2 (zh) |
EP (1) | EP1443392A4 (zh) |
JP (1) | JP4152319B2 (zh) |
KR (1) | KR100960518B1 (zh) |
CN (1) | CN100397331C (zh) |
CA (1) | CA2459411C (zh) |
TW (1) | TWI238317B (zh) |
WO (1) | WO2003023602A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102232213A (zh) * | 2008-12-01 | 2011-11-02 | 美光科技公司 | 启用不同数据集合的识别的***及方法 |
CN101983373B (zh) * | 2008-01-31 | 2013-04-17 | 富士施乐株式会社 | 可重构装置 |
Families Citing this family (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2459411C (en) | 2001-09-07 | 2013-04-02 | Ip Flex Inc. | Data processing system and control method |
US7715377B2 (en) * | 2002-01-03 | 2010-05-11 | Integrated Device Technology, Inc. | Apparatus and method for matrix memory switching element |
US7937557B2 (en) | 2004-03-16 | 2011-05-03 | Vns Portfolio Llc | System and method for intercommunication between computers in an array |
US7941794B2 (en) | 2004-08-30 | 2011-05-10 | Sanyo Electric Co., Ltd. | Data flow graph processing method and processing apparatus provided with reconfigurable circuit |
US7447725B2 (en) * | 2004-11-05 | 2008-11-04 | International Business Machines Corporation | Apparatus for controlling rounding modes in single instruction multiple data (SIMD) floating-point units |
JP4810090B2 (ja) | 2004-12-20 | 2011-11-09 | キヤノン株式会社 | データ処理装置 |
WO2006083137A1 (en) * | 2005-02-07 | 2006-08-10 | Samsung Electronics Co., Ltd. | Method of generating usage rule information for broadcast channel |
US7668979B1 (en) * | 2005-03-25 | 2010-02-23 | Tilera Corporation | Buffering data in a parallel processing environment |
US7904695B2 (en) * | 2006-02-16 | 2011-03-08 | Vns Portfolio Llc | Asynchronous power saving computer |
JP4596538B2 (ja) * | 2005-09-05 | 2010-12-08 | 京セラミタ株式会社 | 情報処理装置、記録媒体、およびプログラム |
US7966481B2 (en) | 2006-02-16 | 2011-06-21 | Vns Portfolio Llc | Computer system and method for executing port communications without interrupting the receiving computer |
US7934075B2 (en) * | 2006-02-16 | 2011-04-26 | Vns Portfolio Llc | Method and apparatus for monitoring inputs to an asyncrhonous, homogenous, reconfigurable computer array |
US7904615B2 (en) | 2006-02-16 | 2011-03-08 | Vns Portfolio Llc | Asynchronous computer communication |
JP4782591B2 (ja) * | 2006-03-10 | 2011-09-28 | 富士通セミコンダクター株式会社 | リコンフィグラブル回路 |
JP4866194B2 (ja) * | 2006-09-29 | 2012-02-01 | 富士通セミコンダクター株式会社 | 集積回路及びリコンフィギュラブル回路の入力データ制御方法 |
JP5487966B2 (ja) * | 2007-07-03 | 2014-05-14 | 日本電気株式会社 | データ暗号化/復号化処理方法およびデータ処理装置 |
JP4962305B2 (ja) * | 2007-12-26 | 2012-06-27 | 富士通セミコンダクター株式会社 | リコンフィギュラブル回路 |
JP5711889B2 (ja) * | 2010-01-27 | 2015-05-07 | スパンション エルエルシー | リコンフィギュラブル回路および半導体集積回路 |
JP2011203935A (ja) * | 2010-03-25 | 2011-10-13 | Olympus Corp | 分散処理システム、制御部、演算部、分散処理方法、及びプログラム |
JP5197804B2 (ja) * | 2011-06-08 | 2013-05-15 | キヤノン株式会社 | データ処理装置及びその制御方法 |
EP2963824B1 (en) * | 2013-03-01 | 2020-08-19 | Axion Research Inc. | Data processing device and control method therefor |
US9698790B2 (en) * | 2015-06-26 | 2017-07-04 | Advanced Micro Devices, Inc. | Computer architecture using rapidly reconfigurable circuits and high-bandwidth memory interfaces |
JP2018165908A (ja) * | 2017-03-28 | 2018-10-25 | 富士通株式会社 | 情報処理装置、情報処理方法及びプログラム |
JP6824806B2 (ja) * | 2017-04-10 | 2021-02-03 | 東芝デベロップメントエンジニアリング株式会社 | 管理装置 |
IT201700062830A1 (it) | 2017-06-08 | 2018-12-08 | Stmicroelectronics Application Gmbh | Sistema di elaborazione, relativo circuito integrato, dispositivo e procedimento |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1992006436A2 (en) * | 1990-10-03 | 1992-04-16 | Thinking Machines Corporation | Parallel computer system |
TW330265B (en) * | 1994-11-22 | 1998-04-21 | Hitachi Ltd | Semiconductor apparatus |
WO1997003444A1 (en) * | 1995-07-10 | 1997-01-30 | Xilinx, Inc. | System comprising field programmable gate array and intelligent memory |
US5887146A (en) * | 1995-08-14 | 1999-03-23 | Data General Corporation | Symmetric multiprocessing computer with non-uniform memory access architecture |
US5778439A (en) | 1995-08-18 | 1998-07-07 | Xilinx, Inc. | Programmable logic device with hierarchical confiquration and state storage |
US5784636A (en) * | 1996-05-28 | 1998-07-21 | National Semiconductor Corporation | Reconfigurable computer architecture for use in signal processing applications |
US5838165A (en) * | 1996-08-21 | 1998-11-17 | Chatter; Mukesh | High performance self modifying on-the-fly alterable logic FPGA, architecture and method |
US6122719A (en) | 1997-10-31 | 2000-09-19 | Silicon Spice | Method and apparatus for retiming in a network of multiple context processing elements |
US6108760A (en) | 1997-10-31 | 2000-08-22 | Silicon Spice | Method and apparatus for position independent reconfiguration in a network of multiple context processing elements |
DE19807872A1 (de) * | 1998-02-25 | 1999-08-26 | Pact Inf Tech Gmbh | Verfahren zur Verwaltung von Konfigurationsdaten in Datenflußprozessoren sowie Bausteinen mit zwei- oder mehrdimensionalen programmierbaren Zellstruktur (FPGAs, DPGAs, o. dgl. |
JP2000324102A (ja) | 1999-05-12 | 2000-11-24 | Toshiba Corp | 伝送装置および伝送システム |
WO2000079394A1 (en) | 1999-06-21 | 2000-12-28 | Bops Incorporated | Methods and apparatus for providing manifold array (manarray) program context switch with array reconfiguration control |
CA2459411C (en) | 2001-09-07 | 2013-04-02 | Ip Flex Inc. | Data processing system and control method |
-
2002
- 2002-09-06 CA CA2459411A patent/CA2459411C/en not_active Expired - Lifetime
- 2002-09-06 WO PCT/JP2002/009108 patent/WO2003023602A1/ja active Application Filing
- 2002-09-06 JP JP2003527588A patent/JP4152319B2/ja not_active Expired - Fee Related
- 2002-09-06 KR KR1020047000161A patent/KR100960518B1/ko active IP Right Grant
- 2002-09-06 EP EP02767916A patent/EP1443392A4/en not_active Withdrawn
- 2002-09-06 CN CNB028157214A patent/CN100397331C/zh not_active Expired - Lifetime
- 2002-09-06 US US10/399,360 patent/US7380100B2/en not_active Expired - Lifetime
- 2002-09-09 TW TW091120505A patent/TWI238317B/zh not_active IP Right Cessation
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101983373B (zh) * | 2008-01-31 | 2013-04-17 | 富士施乐株式会社 | 可重构装置 |
CN102232213A (zh) * | 2008-12-01 | 2011-11-02 | 美光科技公司 | 启用不同数据集合的识别的***及方法 |
CN102232213B (zh) * | 2008-12-01 | 2015-07-08 | 美光科技公司 | 启用不同数据集合的识别的***及方法 |
Also Published As
Publication number | Publication date |
---|---|
KR100960518B1 (ko) | 2010-06-03 |
JP4152319B2 (ja) | 2008-09-17 |
CN100397331C (zh) | 2008-06-25 |
KR20040027871A (ko) | 2004-04-01 |
JPWO2003023602A1 (ja) | 2004-12-24 |
EP1443392A1 (en) | 2004-08-04 |
CA2459411A1 (en) | 2003-03-20 |
US7380100B2 (en) | 2008-05-27 |
TWI238317B (en) | 2005-08-21 |
EP1443392A4 (en) | 2007-08-15 |
US20040030815A1 (en) | 2004-02-12 |
WO2003023602A1 (fr) | 2003-03-20 |
CA2459411C (en) | 2013-04-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1541355A (zh) | 数据处理***以及控制方法 | |
CN1148647C (zh) | 数据处理***及其控制方法 | |
US10310894B2 (en) | Method and device for generating configuration information of dynamic reconfigurable processor | |
CN1716227A (zh) | 操作装置及操作装置控制方法、程序和计算机可读介质 | |
US9519884B2 (en) | Data driven dynamic workflow | |
US7249351B1 (en) | System and method for preparing software for execution in a dynamically configurable hardware environment | |
CN1713185A (zh) | 数据流图处理方法、可重构电路及处理装置 | |
CN1172240C (zh) | 多处理器***及程序最佳化方法 | |
CN1153948A (zh) | 序列控制用编程***和执行序列控制程序的控制单元 | |
EP1372084A2 (en) | Method for hardware-software multitasking on a reconfigurable computing platform | |
CN1121014C (zh) | 具有risc结构的八位微控制器 | |
CN1517903A (zh) | 地图数据处理装置及中心*** | |
CN1434380A (zh) | 图像处理装置和方法以及用于该装置的编译程序 | |
US6675289B1 (en) | System and method for executing hybridized code on a dynamically configurable hardware environment | |
CN1804799A (zh) | 单片机在线加载升级方法及*** | |
CN1212400A (zh) | 数据处理装置 | |
JP2003500716A (ja) | エミュレーションシステム上における複数の回路設計の同時エミュレーションのための方法及び装置 | |
CN102804170A (zh) | 利用虚拟化的大规模并行可编程硬件来搜索正则表达式 | |
CN86106826A (zh) | 数据处理*** | |
CN111860804B (zh) | 分形计算装置、方法、集成电路及板卡 | |
Marconi | Online scheduling and placement of hardware tasks with multiple variants on dynamically reconfigurable field-programmable gate arrays | |
CN1310116C (zh) | 具有功率控制功能的微处理器以及指令转换装置 | |
CN112540779A (zh) | 显示装置局部调光方法、显示装置及存储介质 | |
CN1838094A (zh) | 串行接口电路 | |
CN1716182A (zh) | 地址创建器和算术电路 |
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 | ||
ASS | Succession or assignment of patent right |
Owner name: FUJI XEROX CO., LTD. Free format text: FORMER OWNER: IP PHILLY CO., LTD. Effective date: 20100420 |
|
C41 | Transfer of patent application or patent right or utility model | ||
TR01 | Transfer of patent right |
Effective date of registration: 20100420 Address after: Tokyo, Japan Patentee after: Fuji Xerox Co.,Ltd. Address before: Tokyo, Japan Patentee before: IP Flex Inc. |
|
CX01 | Expiry of patent term | ||
CX01 | Expiry of patent term |
Granted publication date: 20080625 |