Nothing Special   »   [go: up one dir, main page]

CN102356389B - 处理器 - Google Patents

处理器 Download PDF

Info

Publication number
CN102356389B
CN102356389B CN201080012256.4A CN201080012256A CN102356389B CN 102356389 B CN102356389 B CN 102356389B CN 201080012256 A CN201080012256 A CN 201080012256A CN 102356389 B CN102356389 B CN 102356389B
Authority
CN
China
Prior art keywords
processor
message
course
address
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.)
Expired - Fee Related
Application number
CN201080012256.4A
Other languages
English (en)
Other versions
CN102356389A (zh
Inventor
斯蒂芬.F.K.利奇
詹姆斯.A.D.W.安德森
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.)
Individual
Original Assignee
Individual
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 Individual filed Critical Individual
Publication of CN102356389A publication Critical patent/CN102356389A/zh
Application granted granted Critical
Publication of CN102356389B publication Critical patent/CN102356389B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
    • G06F15/17306Intercommunication techniques
    • G06F15/17312Routing techniques specific to parallel machines, e.g. wormhole, store and forward, shortest path problem congestion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
    • G06F15/17337Direct connection machines, e.g. completely connected computers, point to point communication networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing

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)
  • Computer Networks & Wireless Communication (AREA)
  • Software Systems (AREA)
  • Signal Processing (AREA)
  • Mathematical Physics (AREA)
  • Multi Processors (AREA)

Abstract

一种处理系统包括多个处理器(12)和安排为在处理器之间传送消息的通信部件(20),其中每个处理器(12)具有安排为保持存储的操作指令的操作指令存储器字段(32,34,36),操作指令包括改道发送目标地址。每个处理器安排为接收包括操作指令的消息(38),操作指令包含目标地址。当接收消息时,每个处理器安排为检查消息中的目标地址以确定其是否对应于与处理器关联的地址;如果消息中的目标地址对应于与处理器关联的地址,则检查消息中的操作指令以确定是否要改道发送消息;以及如果要改道发送消息,则用存储的操作指令代替消息中的操作指令,并且将消息放置到通信部件,用于传递到改道发送目标地址。

Description

处理器
技术领域
本发明涉及处理器之间的通信。
背景技术
典型地,处理器之间的通信安排为由报头和数据组成的分组的传输。分组从单个的源处理器发送,并且可以发送到单个的目的地处理器、固定数量的目的地处理器(通常两个)、处理器的非循环图(树状结构)中的所有处理器、处理器的循环图(环状结构)中的所有处理器,或者其可以按照一些处理器准备接收分组的预期广播到任意图中的所有处理器。当处理器在存储器中存储数据时,通信还可以经由存储器,并且处理器从存储器取回数据。
现在将描述一些现有技术的系统。这些系统使用大量的公共原理,识别其中的七个,并且描述使用相同原理的系统的特征由从(i)到(vii)的相同参考标号标识。当分组从其源发送到单个目的地时,报头可以编码目的地和/或源。源处理器可以(i)在没有修改分组的情况下转发分组。可替代地,他们可以使用报头中的信息以查找中间目的地。分组随后可以(ii)直接发送到位于中间目的地的处理器。这意味着源处理器接入到中间处理器的专用路线。可替代地,在分组经由(ii)专用或(iv)可广泛接入的路线在其路径上发送之前,(iii)中间处理器的地址可以添加到报头。将信息添加到报头使得报头更长。可以看出,使用现有技术中已知的方法从单个源向单个目的地发送分组是(i)固定的操作,或者(ii)其意味着具有专用的路线,或者(iii)其意味着报头有可变的大小。从单个源到固定数量的目的地的分组的发送实质上是类似地。
当分组从其源发送到树状结构中的所有处理器时,其可以(ii)在专用路线上发送,或者(iii)在该树状结构中的所有目的地可以编码在可变长度的报头中。这些可替代选择(ii)和(iii)与上述的相同。从单个源到环状结构中的所有处理器的分组的发送实质上是类似的。
当分组从其源广播到图中的所有处理器时,(v)将分组传递到许多处理器,但是通常只有一些处理器接收分组。这通常意味着浪费了到不接收处理器的一些或全部路线。
当处理器发送数据到存储器时,其通常经由(iv)可广泛接入的路线将数据发送到目的地地址。处理器可以发送数据到单个地址,或者可以经由第二和第三区别地址间接发送数据。原则上,(vi)可以使用任何数量的在源固定和已知的间接。但是,在本领域中,这没有超过三个地址:两个间接地址和一个最终地址,所有这些地址是不同的。可替代的选择(iv)与上述的相同。从存储器取回数据是类似的。
处理器还可经由一系列高速缓存将数据发送到存储器。在该情况下,(i)由地址和数据构成的分组是未修改的,并且(ii)经由到固定的一系列高速缓存的直接路线发送,直到处理器事务完成。这些可替代的选择(i)和(ii)与上述的相同。经由一系列高速缓存从存储器取回数据实质上是类似的。
在上述所有通信方法中,(vii)分组可以传递到中间处理器,和/或可传送到后继处理器。然而,在我们自己的设计的计算机架构的一些实施例中,我们已经在软件中模拟了该设计,我们提出一种用于在处理器之间进行通信的装置,我们发现与本领域中已知的上述通信方法的任何组合相比,该装置将我们的并行计算机执行给定程序所需的指令数目减少达30%。更一般地,我们的发明的一些实施例改进一类并行计算机的性能。我们的装置的一些实施例允许修改分组或者(i)固定分组、经由(ii)专用或(iv)可广泛接入的路线发送分组到一个或多个处理器,但是不要求报头(iii)的大小改变,他们允许(v)广播分组。他们允许使用不必是不同的任何数量的间接,与(vi)相比,该数量在源不是已知的或固定的。他们允许(vii)将分组传递到中间处理器和/或后继处理器。简言之,在我们的发明的一些实施例中,通过使用内容可以修改的固定大小的报头,并且通过允许通常在源不是固定的或已知的多个间接,这些间接不必是不同的,允许本领域已知的许多通信方法,但是使其对于并行计算中的应用更有效率。以这种可以遵循有具有固定长度的报头的消息的方式,定义任意复杂的路线。
发明内容
因此,本发明提供一种处理系统,其包括多个处理器和安排为在处理器之间传送消息的通信部件。每个处理器可以具有操作指令存储器字段,该字段安排为保持存储的操作指令,操作指令可以包括改道发送(re-routing)目标地址。每个处理器还可以安排为接收包括操作指令的消息,操作指令可以包括目标地址。在接收消息时,每个处理器可以安排为执行以下步骤中的任意一个或多个:检查消息中的目标地址以确定其是否对应于与处理器关联的地址;如果消息中的目标地址对应于与处理器关联的目标地址,则检查消息中的操作指令以确定是否要改道发送消息;以及如果要改道发送消息,则用存储的操作指令代替消息中的操作指令,并且将消息放置在通信部件上,用于传送到改道发送的目标地址。
目标地址可以包括处理器地址,或者可以包括与特定处理器关联的寄存器或其它存储器字段的地址。例如,其可以包括指示处理器的高级地址字段,以及可以指示处理器中的寄存器或其它存储器字段、或者可以不与处理器中的任何具体寄存器或存储器字段关联的低级地址字段。在此情况下,其包括处理器地址和寄存器或存储器字段地址二者。
本发明进一步提供一种处理器系统,包括:可以形成阵列的多个处理器;以及可以作为管道的通信部件,其安排为在处理器之间传送消息,其中每个处理器具有安排为保持处理器地址的改道发送地址存储器字段。每个处理器还可以具有安排为保持传递指令的传递指令存储器字段。每个处理器可以安排为接收包括目标地址和改道发送指令的消息。每个处理器在接收消息时,安排为检查目标地址以确定其是否对应于处理器自身的地址。如果目标地址对应于处理器自身的地址,则处理器可以安排为检查改道发送指令,以确定是否要改道发送消息。如果要改道发送消息,则处理器可以安排为将改道发送地址安置到消息中。这可以代替消息中的改道发送地址。处理器可以安排为将传递指令安置到消息中以指示在改道发送地址的处理器是否要改道发送消息。其可以随后代替通信部件上的消息用于传递到改道发送地址。
如果要改道发送消息,则每个处理器可以安排为用改道发送地址代替消息中的可以是处理器地址并且可以是已用地址的地址。已用地址可以是处理器自身的地址,或者与处理器关联。消息可以包括保持用于在发送消息中使用的至少一个地址的发送地址字段,至少一个地址可以包括处理器地址,该消息包括目标地址,并且如果要改道发送消息,则安排处理器用改道发送地址代替的地址可以是保持在发送地址字段的地址。当消息在处理器之间发送时,这使得消息的长度可以保持相同,例如,包括可以是一个字段或多个字段的固定数量的地址字段,地址字段包含又可以是一个或多个的固定数量的地址。因此消息的长度可以独立于其要跟随的路线的长度。如果只有一个地址字段,则在该字段的中地址通常将是目标地址,并且处理器可以安排为用改道发送地址代替接收的消息中的目标地址,目标地址将通常是其自身地址或与其关联,使得改道发送地址形成改道发送消息中的目标地址。如果消息中存在多于一个的地址字段,则存储在处理器中的改道发送地址可以代替处理器自身的地址作为目标。可替代地,其可以替代另一地址,例如之前已经用作目标地址的地址。换言之,改道发送地址可以用于形成改道发送消息的目标地址,或者可以在随后的改道发送中插入到消息中用作目标地址。
消息中的操作或传递指令可以包括改道发送指令。存储的操作指令可以包括进一步的改道发送指令。如果要改道发送消息,则每个处理器可以安排为用来自操作或传递指令存储器字段的进一步的改道发送指令,代替消息中的可以是已用的改道发送指令的改道发送指令。
操作或传递指令可以包括指示消息是否要存储在改道发送地址上的处理器的存储指令。
每个处理器可以安排为从消息确定是否要存储消息,并且如果要,则至少存储消息的一部分。每个消息可以安排为从接收的消息中的传递指令或操作指令确定是否要存储消息。操作指令和传递指令可以包括改道发送指令。
每个处理器还可以安排为使用作为输入的消息的一部分执行指令。
处理器可以具有安排为保持进一步的改道发送地址的进一步的地址存储器字段,并且如果要改道发送消息,处理器可以安排为将消息安置在通信部件上,用于传递或改道发送到进一步的改道发送地址。
传递指令或改道发送指令可以具有固定数量的可能的状态,该状态优选独立于存储指令的处理器和指令要发送到的改道发送地址,指示是否要在改道发送地址上的处理器改道发送消息。传递指令或存储指令还可以优选以类似一致的方式,指示是否要在改道发送地址上的处理器存储消息。
通信部件可以包括管道(pipe),并可以包括多个框架(frame),并且安排为在框架之间移动数据和/或控制权标(token)以沿通信部件移动它们。每个处理器可以具有一个或多个与其关联的框架,从框架数据可以写入到处理器。
数据可以以数据权标的形式在通信部件上传送。
每个处理器可以安排为执行与每个其它处理器相同的指令。每个处理器可以安排为只执行一个指令。每次每个处理器执行其指令时,其可以能识别没有、一个或多个数据目标处理器,以及没有、一个或多个控制目标处理器。这能使处理器并行发送数据到多个处理器。通信部件可以安排为发送结果到识别的数据目标处理器,使得结果可以写入到数据目标处理器。
每个处理器可以安排为通过将控制权标与其要发送到的控制目标处理器的地址一起写入通信部件,来发送控制权标。每个处理器可以能在执行指令时,识别其可以将控制权标并行发送到的多个控制目标处理器。
每个处理器优选安排为当其已经发送结果和控制权标到任何识别的目标处理器时,放弃对其控制权标的拥有,使得其将不再次执行指令,直到其接收另一控制权标。
指令可以是a×b+c→r’形式的多重叠加。
每个处理器可以安排为基于结果r’选择选择任何控制处理器。例如,每个处理器可以安排为确定结果r’是否小于零、等于零、大于零或无效(如在J.A.D.W.Anderson、NorbertVδlker、AndrewA.Adams的VisionGeometryXV中的“PerspexMachineVIlI:AxiomsofTrarisrealArithmetic”所定义,编辑LonginJanLateki、DavidM.Mount、AngelaY.Wu,SPIE会议文集6499卷(2007)),并且相应地选择任何控制目标处理器或数据目标处理器。
每个处理器可以包括其中可以存储对指令的输入的多个存储器单元,可以通过通信部件接收指令。每个处理器可以包括其中可以存储控制目标处理器的地址的多个存储器单元。在每个处理器中的所有存储器可以在上电时设置成固定值,使得处理器不执行任意程序,因为在上电时会不同地有设置任意值的情况。
处理器可以安排为每个在一系列操作周期的每个中执行一次指令,并且通信部件可以包括多个管道,每个管道安排为在各个方向发送数据。每个处理器以包括多个输出部件,每个输出部件安排为以权标的形式输出数据到管道的各个之一。至少一个输出部件可以安排为在处理器的一个操作周期输出两个权标到相同的管道。
实际上,本发明进一步提供一种处理系统,该系统包括:多个处理器,每个处理器安排为在一系列的操作周期的每一个中执行一次指令,以及安排为在处理器之间传送消息的通信部件,其中通信部件包括多个管道,每个管道安排为在各个方向发送数据,并且每个处理器包括多个输出部件,每个输出部件安排为以权标的形式输出数据到管道中各个之一,至少一个输出部件安排为在处理器的一个操作周期中输出两个权标到相同的管道。
每个管道可以包括多个存储器框架。通信部件可安排为在相邻管道框架之间传送权标,使得以管道频率传送消息,管道频率可以高于处理器的操作周期的频率。
处理器可以安排为在处理器的操作周期中以不同的时间输出两个权标到相同的管道框架,并且通信部件可以安排为在第二权标输出到管道之前,发送权标中的第一个到另一管道框架。
本发明还提供建立根据本发明的处理器系统的方法。该方法可以包括加载各个改道发送地址到多个处理器的改道发送存储器字段。该方法可以包括加载各个传递指令到多个处理器的传递指令存储器字段。从而,该方法可以定义能够沿着其在多个处理器之间通信数据的路线。
附图说明
现在将参考附图仅以示例的方式描述本发明的优选实施例,其中:
图1是根据本发明实施例的处理器芯片的示意图;
图2是图1的芯片一个处理器和管道的各部分的示意图;
图3是图1的芯片各管道之一的一部分的示意图;
图4是示出图2的处理器的输入和改道发送输出的图;
图5是示出在不同模式中操作的图2的处理器12的输入和输出的图;
图6是形成本发明进一步的实施例的部分的处理器的示意图;以及
图7是根据本发明进一步的实施例的处理系统的示意图;
具体实施方式
参考图1,处理器芯片10包括各处理器12的二维矩形阵列。每个处理器或元组12具有由正交坐标轴x,y定义的地址。主阵列具有限大小,其中地址具有中心在原点并且从-ymax伸展到+ymax的y坐标,并且具有中心也在原点并且从-xmax伸展到+xmax的x坐标。各处理器12的主阵列的每行和每列的每一端是具有-∞或+∞的x坐标或者-∞或+∞的y坐标的输出/输出处理器或I/O设备14。在图1中仅示出芯片10的四分之一,其是处于坐标系统的正象限。多个芯片可以组合以形成单个机器,其中数据经由I/O设备14从一个芯片移动到下一个芯片。
在各处理器12之间按矩形网格布置一系列管道20。在各处理器12的每个列之间,存在一对在y方向延伸的管道,一个+Y安排为在正Y方向传送数据,另一个-Y安排在负Y方向传送数据。在各处理器12的每个行之间,存在一对在X方向延伸的管道,一个+X安排为在正X方向传送数据,另一个-X安排在负X方向传送数据。每对管道20在图1中示出为单线,但在图2中示出各个管道20的各部分围绕各处理器12的之一。图2因此示出形成跨芯片10重复以建立整个芯片的基本单元的单个处理器块22。每个处理器12连接到在其四边与其相邻的四个管道20的每个。使得每个处理器可以将数据安置到合适的管道,用于在四个方向中的任意方向发送数据。
参考图3,每个单向管道20包括每个由多个存储器单元构成的一系列管道框架(frame)24、以及每个由相同数量的存储器单元构成的并行系列临时框架26。每个临时框架26连接到两个相邻的管道框架24,使得临时框架可以从其中之一接收数据,并且输出数据到其中的另一个。因此,数据可以通过在管道方向从一个管道框架24传送到下一个,经由适当的临时框架26沿管道发送。每个处理器12连接到邻近其传送的每个管道上的管道框架24之一,使得处理器可以从管道接收数据,并且将数据写入在该点的管道。每个处理器12具有允许处理器安置两个输出到管道上的两个输出通道29a、29b,使得将在不同的管道框架24中发送输出。这些示意地示出为与邻近的管道框架24通信的由平行线形成的并行通道,但是实际上可以是使用时间复用发送两个输出以提供两个通道的单线的形式。在该安排中,处理器安排为在处理器的操作周期中在不同的时间输出两个权标到相同的管道框架,并且管道安排为在输出第二权标到管道之前,发送权标的第一个到另一管道框架。
所有的处理器12以及所有的管道框架24和临时框架26连接到其上发送时钟信号的公共时钟线28。这用于调整沿管道20和在管道20与处理器12之间传送的数据的时序,以及通过处理器的指令的执行。在管道框架中的数据经由临时管道框架在每个时钟瞬间复制到其相邻的管道框架。通常,各管道框架24之间的数据移动以高于每个处理器12执行其指令的频率的频率出现。这允许处理器12在一个处理器操作周期中沿单个管道发送多于一个的数据,每个数据经由输出通道29a、29b的各个之一安置到管道20。处理器每个可以在每个操作周期执行其指令一次。所有的处理器具有相同的操作周期长度,或者长度等于两个或多个管道时钟瞬间的“处理器时钟瞬间”。除了制造错误外,处理器12具有在任一侧的毗邻元组,并且I/O元组在确定一侧具有毗邻元组。
每个处理器12安排为执行其指令,指令可以是用于所有处理器的相同单个指令,具有如国际专利申请PCT/GB2008/001821中所述的形式:
uxv+w→r’
write(r’,r)
jump(r’,l,z,g,n)
可替代地,处理器12可以执行不同的指令,并且每个处理器可以安排为执行多于一个的指令。
每个处理器12具有从管道20接收权标的缓冲器。当处理器12计算时,其将缓冲复制到内部寄存器,并在内部寄存器上运算。
管道20上的消息以权标的形式发送。该实施例中的每个权标如由权标中适当的一个或多个标志所指示,是数据权标或控制权标或者二者。每个处理器12安排为接收数据权标形式的数据,并且当接收控制权标时执行其指令。当处理器已经执行其指令时,每个处理器12可以将作为权标形式的输出消息的一部分的数据以数据权标的形式转送到一个或多个其它处理器12,该权标可以包括指令的结果,并且使用控制权标向一个或多个其它处理器12传递控制。因此,将可以预期每个处理器12需要能够在每次执行其指令时(即,在每个处理器操作周期中),输出两个或多个权标到各管道20。这些权标可以放置在要在不同方法发送的不同管道20上,但是他们可以放置在用于相同方向的发送的相同管道20上,并且通过多个输出通道29a、29b实现。在一些情况下,在处理器的每个边缘可以要求多于两个的输出通道。
参考图4,每个处理器12包括其中可以存储接收的数据的存储器存储50,以及安排为执行产生结果的指令的处理组件52,结果可以包含在用于发送到另一处理器的处理输出消息54中。处理输出消息的格式可以与接收消息相同,但是通常将包括报头ho和数据do。除了其执行一个或多个指令以生产处理输出的能力,每个处理器安排为对接收的权标执行改道发送功能。为了实现这一点,每个处理器12包括其中存储自身地址a1的“自身地址”存储器字段30、其中可以存储跳跃地址a2的跳跃地址存储器字段32、包括存储指令字段34和跳跃指令字段36的传递指令字段34、36,其中每各包含具有两个状态的一位标志:“置位”状态和“清除”状态。更一般地,传递指令可以视为可以具有固定数量的状态的任一的单个指令,固定数量的状态在该情况下是四个,其指示消息在下一处理器是否要跳跃(改道发送),以及消息在下一存储器是否要存储。传递指令独立于在其存储消息的存储器和其要发送到的改道发送地址。
处理器12安排为接收权标38形式的消息,其包括包含数据d的数据字段46和保持指示处理器要对数据执行什么操作的操作指令的报头。报头包括地址字段40、包括存储指令字段42和跳跃指令字段44的传递指令字段。可以视为目标地址字段的地址字段40包括权标正发送到的目标处理器的地址a1,存储指令字段42包含在该情况下作为一位标志形式的存储指令,该标志可以是置位或清除,指示数据是否要存储在目标处理器,并且跳跃指令字段44包含在该情况下作为一位标志形式的跳跃指令,该标志可以是置位或清除,指示数据是否要“跳跃”,即从目标处理器转送到另一处理器。
因此安排每个处理器,使得其可以用作“路标(signpost)”,其接收寻址到其的消息,以及指示消息是否要转送的标志。如果消息要转送,则处理器将新地址插入到消息中,将进一步的传递指令插入到指示消息是否要存储和/或再从下一处理器转送的消息中,并且转送消息到下一处理器。为了实现这一点,当消息38到达处理器12时,处理器12安排为比较消息的地址字段40中的地址a1与其自身地址。如果这些地址不匹配,则消息不寻址到该处理器,所以简单地允许消息沿管道继续移动。如果地址匹配,则处理器12检查接收的消息中的存储指令字段42和跳跃指令字段44。如果置位存储指令标志s1,指示消息中的数据要存储,则处理器12在其自身的存储器50中存储数据,例如使得其可以使用处理组件52对接收数据执行指令,以产生也可以作为用于发送到另一处理器的“处理输出”54放置在管道上的结果。如果存储指令标志s1是清除,指示不要存储数据,则不存储数据。如果置位跳跃指令标志h1,指示数据要跳跃到另一存储器,则处理器12安排为将地址a2从其跳跃地址字段32插入到消息中,作为地址字段40中的新目标地址,代替那里当前的其自身地址a1,并且将传递指令从其传递指令字段34、36插入到消息中。具体地,这包括通过将存储指令标志s2从其存储指令字段34和将跳跃指令标志h2从其跳跃指令字段36插入到消息的合适字段,来更新消息的报头40、42和44,以代替那里当前的传递指令。随后,处理器12安排为将消息作为改道发送输出放置到各管道20的合适的之一,用于传递到在跳跃地址字段中指明的处理器。目标处理器地址a2和存储与跳跃指令s2与h2保持在处理器12的合适的存储器字段中,使得以处理器为目标的任何进一步的权标也可以沿相同的路线改道发送。
如果接收的消息中的跳跃指令标志h1是清除,指示消息不要发送到另一处理器,则处理器12既可以根本不重新发送消息到另一处理器,也可以将消息作为空权标放置到管道上,用于发送到另一处理器并由另一处理器重新使用。将重新发送的权标的跳跃指令字段和存储指令字段二者标记为清除可以用于将权标标记为空。
消息的格式可以变化,但是在该情况下,其仅包括一个地址字段40、一个存储指令字段42和一个跳跃指令字段44。因此,当由处理器接收和转送消息时,在消息中该处理器的地址简单地由从跳跃地址字段32得到的新目标处理器地址a2代替,并且在进入的消息中存储指令标志和跳跃指令标志由从存储器字段34、36得到的新存储和跳跃指令代替。这意味着随着路线的长度的增大,消息可以沿处理器之间的任意长的路线发送,消息的大小不增大,因为每次其放置到管道上时,其只需要包括用于沿路线的下一处理器的地址和传递指令。而且,因为每个处理器可以产生两个输出消息,一个处理输出包括对接收数据执行其指令的结果,以及一个改道发送或跳跃输出,其将接收的数据改道发送到另一处理器,这允许通过处理器的通信线的分支。更一般地,处理输出和跳跃输出可以发送到多个处理器,例如每个类型的输出的任何数量的副本可以发送到不同的处理器,可以在相同的方向或在不同的方向送出。处理器的每个边缘的输出通道的数量如果需要可以大于二。这支持宽范围的并行编程用语,并行处理语言的编译器可以支持该用语。
将认识到,使用存储在跳跃地址字段32中的地址a2和存储在传递指令字段34、36中的传递指令,可以定义从处理器之一到另一处理器的经由任何数量的中间处理器的路线。路线可以是任意复杂和任意长度,因为由存储在路线上的处理器中的数据定义路线,在传送仅定义路线的固定的小部分(通常,一步或两步)的数据的任何一次,权标沿路线传送。在该实施例中,芯片10是可编程的,并且存储在跳跃地址字段32中的地址a2和存储在传递指令字段34、36的传递指令s2、h2可以按要求设置。在一些程序中,通过编译器固定路线,使得由路线中的第一处理器发送到第二处理器的任何数据,使用转送数据的跳跃指令,将沿着到在路线末端的最终目标处理器的路线进行。在其它程序中,编译器产生可以重写地址和传递指令的程序,以便切换数据流。例如,可以实现这一点以当已经检测到数据流中的一些目标数据时,转移数据流。以该方式,普通计算机的串处理功能可以在并行计算机中实施。
在其它实施例中,如在现场可编程门阵列(FPGA)系统或专用集成电路(ASIC)中,虽然程序运行,但是路线保持固定,使得由路线中的第一处理器发送到第二处理器的任何数据,使用转送数据的跳跃指令,将沿到在路线末端的最终目标处理器的路线进行。然而,芯片可以通过将不同组的地址和传递指令加载到处理器的适当字段重新编程,使得不同程序可以运行。在其它实施例中,芯片可以是非可编程的,具有固定的存储地址和传递指令。
在其它实施例中,可以使消息更复杂。例如,消息可以包括发送地址字段中的两个地址字段,每个地址字段保持一个处理器地址。随着沿路线从处理器到处理器发送消息,两个地址可以随后交替地更新。类似地,可以存在两个传递指令字段,每个传递指令字段与可以交替更新的地址字段之一关联。这仍通过用新的地址和传递指令代替已用的地址和传递指令,来保持消息的发送部分为固定长度。在该情况下,处理器中的改道发送地址可以不代替处理器自身的地址,但是可以代替已经用作目标地址的之前的地址。可替代地,可以插入改道发送地址,以使不在即刻重新发送的消息中形成目标地址,但是以便用作随后的跳跃中的目标地址,用于即刻重新发送的目标地址已经存在消息中。因此,处理器可以将消息放置在用于直接或间接传递到改道发送地址的管道上。
参考图5,在进一步的实施例中,任一处理器12可以安排为作为两个单独的消息或权标66、68将接收的消息重新发送到两个目标处理器,其可以在相同或不同的管道上。这为系统中的通信线提供了到分支的进一步的机制。为了做到这一点,每个处理器包括可以包含两个单独目标处理器的地址a2、a3的两个跳跃地址/指令字段62、64,以及用于各个目标处理器的两个关联的两部分传递指令s2、h2、s3、h3。在该情况下,如果接收的消息具有标志的跳跃指令字段,则处理器12安排为将两个输出权标放置在管道上,一个寻址到通过存储在两个地址/指令字段62、64中的地址标识的每个目标处理。将认识到,在这样的安排中,依据消息要“跳跃”或重新发送到多少个处理器,接收的消息的大小不需要改变。接收消息的每个处理器只需要消息标记其是否要跳跃,并且如果要,则执行重新发送需要的所有信息存储在处理器。
参考图6,在另一实施例中,处理器12具有的内部寄存器的数量在该情况下,示出为四个71、72、73、74。这些中的三个71、72、73用于存储对安排处理器执行的指令的输入,一个74安排为存储指令的结果。每个寄存器具有其自身的地址a1x,其中a1是处理器12的地址,并且x指示寻址处理器中的哪个寄存器。处理器12还包括安排为执行指令的处理组件76,以及安排为存储形式为a2x的跳跃地址的跳跃地址字段78,其中a2标识权标要转发到的目标处理器,并且x指示权标要寻址的目标处理器中的寄存器。每个接收的权标84包括目标地址a1x和数据d。当接收寻址到处理器12的权标时,处理器将权标复制到缓冲器80中。如果权标寻址到寄存器71、72、73任一,则其复制到该寄存器。如果其寻址到结果寄存器74,则其不复制到该寄存器中,但是通过用跳跃地址字段78中存储的地址代替权标中的目标地址,向另一处理器转发权标。因此每个处理器的结果寄存器地址用作宿寄存器地址。这意味着通过转发或跳跃,重复的利用宿地址可以使权标跟随任意长和复杂的路线,在该情况下,路线上的每个处理器的结果寄存器地址用作跳跃地址。当非宿寄存器的目标地址(如图6的处理器中的寄存器1到3)插入到权标中时,其插入的处理器将是路线中的倒数第二个处理器,并且权标将传递到路中的最终处理器上的最终目标寄存器,并且将不进一步转发。因此,在该实施例中,作为存储和插入到权标的完整的寄存器地址包括标识权标要发送到的处理器的一个高等级部分,以及确定权标是否要跳跃或存储,及如果要存储在哪个寄存器中二者的另一低等级部分。因此这能实现权标中的数据要沿任何长度和复杂度的路线转发,但是不需要传递到沿路线的任何处理器,除了最终的一个处理器。
在图6的实施例的修改中,每个处理器具有包含跳跃指令的传递指令存储器字段,跳跃指令可以是如图4的实施例的单个位。在该情况下,每个进入的权标包括目标寄存器地址、跳跃指令和数据。跳跃指令确定数据是否继续跳跃到另一处理器。目标寄存器地址将是针对非宿寄存器之一,在该情况下处理器安排为将数据存储在适当的寄存器中,目标寄存器地址将或是宿寄存器地址,在该情况下将不存储数据。因此,默认是将数据存储在权标寻址到的寄存器中,但是如果是宿寄存器,则将不存储数据。因此,在该安排中,作为在权标中传送的和在用于插入到权标的每个处理器中存储的完整的寄存器地址,包括标识权标要转发到的处理器的高等级部分,以及确定权标是否存储,及如果要存在则在哪个寄存器中的低等级部分。因此,该安排利用在沿路线的任何处理器上的存储数据的选项,允许数据沿任意复杂的路线转发。
将认识到,图6的系统和上述对该系统的修改二者使用在每个处理器中宿寄存器的存在,进入的数据将不再需要输入到每个寄存器。如果不存在这样的宿寄存器,则每个处理器可以仍具有与其关联的宿地址,其等价于寄存器地址,但是不与任何具体的寄存器关联。处理器因此具有比其具有的寄存器更多的与其关联的寄存器地址。可替代地,可以使用如图4的系统的系统,其中使用传递指令,其中一位用于控制存储,并且一位用于控制跳跃。
通过包括权标的取回位(f)或更长的取回指令,其指示处理器是否用处理器的存储器位置之一的内容代替外发权标中的数据,可以修改上述每个实施例。在该情况下,每个处理器安排为包括取回指令存储器字段,使得当沿路线转发权标时,如果适当,则处理器可以将取回指令插入到具有目标地址及跳跃和存储指令的权标中。
类似地,可以修改上述任何实施例,使得权标包括指示权标寻址到的处理器是否执行其指令或程序的控制位(c)。在该情况下,每个处理器也具有包含控制指令的控制指令存储器字段,当沿路线转发控制指令时,控制指令可以插入到权标中。
将认识到,上述实施例是更一般情况的示例,在该情况下可以使用形成权标的一部分并安排为指令其寻址到的处理器执行关联操作的任何操作代码,要转发到路线上每个处理器的操作代码存储在前一处理器中。当沿路线传递权标到处理器时,当转发权标时,或者当传递权标到路线的最终目的地时,可以对权标或其包含的一些数据执行操作。
上述改道发送或“跳跃”方法可以用于执行处理系统内的多个功能。最简单的处理是在处理器12之一改道发送权标,以改变权标行进的方向。例如,在简单的方形处理器阵列中,利用在方向改变点的处理器执行改道发送功能,理论上消息可以通过在X方向行进要求的距离和随后在Y方向行进要求的距离,从任何处理器发送到任何其它处理器。清楚地,可以按要求布置更复杂的路线。
其它应用利用存储接收的数据和生成包括接收的数据的改道发送输出的双重功能。改道发送功能的一个这样的应用是初始化处理器的向量或线性行为相同的数据。这可以通过利用针对每个处理器的传递指令从行(或列)的一端发送消息来实现,以存储来自消息的数据,并将消息转送到行(或列)中的下一处理器。通过利用在一长行发送的消息进一步产生来自初始行中的每个处理器的改道发送输出,处理器的二维阵列可以以类似的方式初始化,并且该行中的每个处理器安排为存储数据、沿该行发送消息、以及还在正交方向沿各个列向下改道发送消息。
参考图7,在另一应用中,处理器12a之一指定为工作处理器,另一处理器12b指定为标记处理器。工作处理器12a安排为执行指令以产生结果,并发送结果到例如用于进一步的处理的另一处理器12c,并且还转送结果到标记处理器12b(其地址存储在工作处理器12a中)。三个处理器12a、12b、12c示出为彼此相邻,但是他们还可以彼此分离。标记处理器12b安排为检查其接收的结果,并依据结果以多种方式之一响应。例如,如果结果符合一个或多个条件,则标记处理器12b可以安排为将消息发送回工作处理器12a以停止其输出任何进一步的结果。可替代地,标记处理器12b可以安排为如果结果符合一个或多个条件,则发送消息到进一步的处理器。在该应用中使用上述实施例的优点是结果可以存储并发送到标记处理器12b,不需要任何消息报头,以包括至多由两位构成的多于一个的地址和传递指令。

Claims (30)

1.一种处理系统,包括连接到发送时钟信号的公共时钟线的多个处理器和安排为在处理器之间传送消息的通信部件,其中每个处理器安排为通过所述时钟信号调整的指令的执行,并且具有安排为保持包括改道发送目标地址的存储的操作指令的操作指令存储器字段,并且每个处理器安排为接收包括包含目标地址的操作指令的消息,并且当接收消息时:
检查消息中的目标地址以确定其是否对应于与处理器关联的地址;
如果消息中的目标地址对应于与处理器关联的地址,则检查消息中的操作指令以确定是否要改道发送消息;以及
如果要改道发送消息,则用存储的操作指令代替消息中的操作指令,并且将消息放置到通信部件,用于传递到改道发送目标地址。
2.根据权利要求1的系统,其中消息包括保持包含目标地址的至少一个地址的操作指令字段,并且如果要改道发送消息,则处理器安排为用改道发送目标地址代替操作指令字段中的地址。
3.根据权利要求1或2的系统,其中消息中被代替的地址是与处理器关联的地址。
4.根据权利要求1的系统,其中消息中的操作指令包括指示是否要在处理器改道发送消息的改道发送指令。
5.根据权利要求4的处理系统,其中如果要改道发送接收的消息,则每个处理器安排为用来自操作指令存储器字段的改道发送指令代替消息中的使用的改道发送指令。
6.根据权利要求1的系统,其中消息中的操作指令包括指示是否要在与改道发送目标地址关联的处理器存储消息的存储指令。
7.根据权利要求1的系统,其中每个处理器安排为从消息确定消息是否要存储,如果要存储,则至少存储消息的一部分。
8.根据权利要求1的系统,其中每个处理器具有多个与其关联的地址,地址之一是宿地址。
9.根据权利要求8的系统,其中如果消息中的目标地址是其宿地址,则每个处理器安排为改道发送消息。
10.根据权利要求8的系统,其中如果消息中的目标地址是不同于宿地址的与处理器相关联的地址之一,则每个处理器安排为在目标地址至少存储消息的一部分。
11.根据权利要求10的系统,其中每个处理器安排为产生作为执行指令的结果的输出,并且将输出放置在通信部件上,用于传递到另一处理器。
12.根据权利要求1的系统,其中每个处理器的操作指令存储器字段包括安排为保持进一步的改道发送目标地址的进一步的地址存储器字段,并且如果要改道发送消息,则还将消息放置在通信部件上,用于传递到在进一步的地址存储器字段中存储的任何进一步的改道发送地址。
13.根据权利要求12的系统,其中每个处理器具有进一步的改道发送指令存储器字段,并且如果要改道发送消息,则将来自进一步的改道发送指令存储器字段的任何进一步的传递指令插入到消息中,以指示在进一步的改道发送地址的处理器如何传递消息。
14.根据权利要求4的系统,其中改道发送指令具有固定数量的可能状态,所述状态独立于存储改道发送指令的处理器和改道发送指令要发送到的改道发送地址,指示是否要在改道发送地址的处理器改道发送消息。
15.根据权利要求1的系统,其中每个处理器安排为在一系列操作周期中的每个执行一次指令,并且通信部件包括多个管道,每个管道安排为在各个方向发送数据,并且每个处理器包括多个输出部件,每个输出部件安排为以权标的形式输出数据到管道的各个之一,至少一个输出部件安排为在处理器的一个操作周期输出两个权标到相同的管道。
16.一种在处理系统的处理器之间通信消息的处理方法,其中所述处理系统包括连接到发送时钟信号的公共时钟线的多个处理器和安排为在处理器之间传送消息的通信部件,其中每个处理器安排为通过所述时钟信号调整的指令的执行,并且具有安排为保持包括改道发送目标地址的存储的操作指令的操作指令存储器字段,并且每个处理器安排为接收包括包含目标地址的操作指令的消息,并且当接收消息时,所述方法包括:
检查消息中的目标地址以确定其是否对应于与处理器关联的地址;
如果消息中的目标地址对应于与处理器关联的地址,则检查消息中的操作指令以确定是否要改道发送消息;以及
如果要改道发送消息,则用存储的操作指令代替消息中的操作指令,并且将消息放置到通信部件,用于传递到改道发送目标地址。
17.根据权利要求16的方法,其中消息中被代替的地址是与处理器关联的地址。
18.根据权利要求17的方法,其中接收的消息中的操作指令包括改道发送指令。
19.根据权利要求18的方法,包括确定是否要改道发送消息,并且如果要改道发送消息,则用进一步的改道发送指令代替消息中的改道发送指令。
20.根据权利要求16到19任一的方法,其中消息中的操作指令包括指示消息是否要在处理器存储的存储指令。
21.根据权利要求20的方法,包括确定是否要存储消息,如果要,则至少存储消息的一部分。
22.根据权利要求16的方法,还包括使用作为输入的消息的一部分执行指令。
23.根据权利要求22的方法,包括产生作为执行指令的结果的输出,并且将输出传递到另一处理器。
24.根据权利要求16的方法,还包括如果要改道发送消息,则将进一步的改道发送目标地址插入到消息的副本中,以使能到进一步的改道发送目标地址的消息的传递。
25.根据权利要求24的方法,还包括如果要改道发送消息,则将进一步的改道发送指令插入到消息的副本中,以指示在进一步的改道发送目标地址的处理器是否要在该处理器改道发送消息。
26.根据权利要求18或19的方法,其中消息中的改道发送指令具有固定数量的可能状态,所述状态独立于存储消息中的改道发送指令的处理器和消息中的改道发送指令要发送到的改道发送地址,指示是否要在改道发送地址的处理器改道发送消息。
27.一种建立根据权利要求1到14任一的处理系统的方法,该方法包括将各自的改道发送目标地址加载到多个处理器的改道发送地址存储器字段,从而定义能够沿着其在多个处理器之间通信数据的路线。
28.一种处理系统,该系统包括多个处理器,每个处理器安排为在一系列操作周期的每一个执行一次操作指令,以及安排为在处理器之间传送消息的通信部件,其中通信部件包括多个管道,每个管道安排为在各个方向发送数据,并且每个处理器包括多个输出部件,每个输出部件安排为以权标的形式输出数据到管道的各个之一,每个处理器具有包含两个单独目标处理器的地址和用于各个目标处理器的传递指令的两个指令字段,并且至少一个输出部件安排为在处理器的一个操作周期输出两个权标到相同的管道,在接收消息时,一个权标寻址到通过存储在指令字段中的地址标识的每个目标处理器。
29.根据权利要求15或28的处理系统,其中每个管道包括多个管道框架,并且通信部件安排为在相邻的管道框架之间传送权标,以便以高于处理器的操作周期的频率的管道频率传送数据。
30.根据权利要求29的处理系统,其中处理器安排为在处理器的操作周期中的不同时间,输出两个权标到相同的管道框架,并且通信部件安排为在第二权标输出到管道之前,发送权标中的第一个到另一管道框架。
CN201080012256.4A 2009-01-16 2010-01-15 处理器 Expired - Fee Related CN102356389B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
GBGB0900667.7A GB0900667D0 (en) 2009-01-16 2009-01-16 Processors
GB0900667.7 2009-01-16
PCT/GB2010/050064 WO2010082067A2 (en) 2009-01-16 2010-01-15 Processors

Publications (2)

Publication Number Publication Date
CN102356389A CN102356389A (zh) 2012-02-15
CN102356389B true CN102356389B (zh) 2015-11-25

Family

ID=40433381

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201080012256.4A Expired - Fee Related CN102356389B (zh) 2009-01-16 2010-01-15 处理器

Country Status (9)

Country Link
US (1) US10049079B2 (zh)
EP (1) EP2387755A2 (zh)
JP (1) JP5651128B2 (zh)
KR (1) KR20110122104A (zh)
CN (1) CN102356389B (zh)
CA (1) CA2749618C (zh)
GB (2) GB0900667D0 (zh)
HK (1) HK1157032A1 (zh)
WO (1) WO2010082067A2 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9515965B2 (en) 2013-09-18 2016-12-06 International Business Machines Corporation Managing data paths in an operator graph
CN115100016A (zh) * 2015-06-10 2022-09-23 无比视视觉技术有限公司 用于处理图像的图像处理器和方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3755789A (en) * 1972-10-30 1973-08-28 Collins Radio Co Expandable computer processor and communication system
CN1490987A (zh) * 2002-10-18 2004-04-21 ��Ϊ�������޹�˾ 一种在同步数字网上传送数据业务的方法
CN1645352A (zh) * 2004-01-21 2005-07-27 汤姆森许可贸易公司 管理阵列处理器中的数据的方法及执行此方法的阵列处理器
CN1694431A (zh) * 2005-03-04 2005-11-09 中国人民解放军理工大学 在无线网络中建立双向虚电路的方法

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4922408A (en) 1985-09-27 1990-05-01 Schlumberger Technology Corporation Apparatus for multi-processor communications
US4814980A (en) 1986-04-01 1989-03-21 California Institute Of Technology Concurrent hypercube system with improved message passing
JPH063921B2 (ja) 1987-04-22 1994-01-12 東京電力株式会社 信号同期方式
US5105424A (en) * 1988-06-02 1992-04-14 California Institute Of Technology Inter-computer message routing system with each computer having separate routinng automata for each dimension of the network
JPH0296259A (ja) 1988-10-03 1990-04-09 Nec Corp アドレス表更新方式
US5101480A (en) 1989-05-09 1992-03-31 The University Of Michigan Hexagonal mesh multiprocessor system
JPH03229381A (ja) 1990-02-02 1991-10-11 Mitsubishi Electric Corp データ駆動形計算機
US5347633A (en) * 1991-04-30 1994-09-13 International Business Machines, Inc. System for selectively intercepting and rerouting data network traffic
US6625773B1 (en) * 1999-06-09 2003-09-23 International Business Machines Corporation System for multicast communications in packet switched networks
JP3627631B2 (ja) * 2000-07-24 2005-03-09 日本電信電話株式会社 パケット情報転送処理装置とストリーム情報転送処理装置およびストリーム情報転送ネットワークサービス提供方法
EP1323267A2 (en) 2000-09-27 2003-07-02 HRL Laboratories, LLC Method and apparatus for providing directed communications through a networked array of nodes
US6891828B2 (en) * 2001-03-12 2005-05-10 Network Excellence For Enterprises Corp. Dual-loop bus-based network switch using distance-value or bit-mask
US8891549B1 (en) * 2002-10-24 2014-11-18 Rockstar Consortium Us Lp Method and apparatus for content processing application acceleration
TWI351852B (en) * 2003-12-19 2011-11-01 Ibm System and method for communicating on a virtual r
US7808931B2 (en) 2006-03-02 2010-10-05 Corrigent Systems Ltd. High capacity ring communication network
US7656851B1 (en) * 2006-10-12 2010-02-02 Bae Systems Information And Electronic Systems Integration Inc. Adaptive message routing for mobile ad HOC networks
US20080219203A1 (en) 2007-03-09 2008-09-11 Industrial Technology Research Institute. Method for mac process and flexible connection in wireless multi-hop relaying network
WO2008122512A2 (en) * 2007-04-04 2008-10-16 Nokia Corporation Network clustering for improving connection management and re-routing capabilities
GB0710377D0 (en) * 2007-05-31 2007-07-11 Univ Reading The Processors
WO2009086935A1 (en) * 2008-01-10 2009-07-16 Telefonaktiebolaget Lm Ericsson (Publ) Message handling in a communications network
WO2010096122A1 (en) * 2008-10-29 2010-08-26 Adapteva Incorporated Mesh network

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3755789A (en) * 1972-10-30 1973-08-28 Collins Radio Co Expandable computer processor and communication system
CN1490987A (zh) * 2002-10-18 2004-04-21 ��Ϊ�������޹�˾ 一种在同步数字网上传送数据业务的方法
CN1645352A (zh) * 2004-01-21 2005-07-27 汤姆森许可贸易公司 管理阵列处理器中的数据的方法及执行此方法的阵列处理器
CN1694431A (zh) * 2005-03-04 2005-11-09 中国人民解放军理工大学 在无线网络中建立双向虚电路的方法

Also Published As

Publication number Publication date
EP2387755A2 (en) 2011-11-23
CN102356389A (zh) 2012-02-15
US10049079B2 (en) 2018-08-14
US20120017068A1 (en) 2012-01-19
HK1157032A1 (en) 2012-06-22
CA2749618A1 (en) 2010-07-22
GB2479686B (en) 2013-10-09
GB201113336D0 (en) 2011-09-14
KR20110122104A (ko) 2011-11-09
JP5651128B2 (ja) 2015-01-07
JP2012515387A (ja) 2012-07-05
WO2010082067A2 (en) 2010-07-22
GB2479686A (en) 2011-10-19
WO2010082067A3 (en) 2010-09-10
CA2749618C (en) 2018-12-18
GB0900667D0 (en) 2009-02-25

Similar Documents

Publication Publication Date Title
CN103038760B (zh) 分布式处理器系统中的数据组播的方法、设备及系统
CN101194245B (zh) 具有宽寄存器组体系结构的分组处理器
CN101841471B (zh) 具有连接成多维矩阵的节点的系统及其控制方法以及设备
CN101430652B (zh) 片内网络以及片内网络软件流水线操作方法
US7908461B2 (en) Cellular engine for a data processing system
WO2013054468A1 (ja) 転置演算装置とその集積回路、および転置処理方法
US7502876B1 (en) Background memory manager that determines if data structures fits in memory with memory state transactions map
JP4818920B2 (ja) 複数のプログラム可能なプロセッサを有する集積データ処理回路
US20070150671A1 (en) Supporting macro memory instructions
CN102449961A (zh) 用于分组路由的方法和装置
CN102439910A (zh) 包括分组成单元的节点的层级结构的网络拓扑
CN102439915A (zh) 用于联网设备的寻址方案和消息路由
US10998070B2 (en) Shift register with reduced wiring complexity
CN105359089A (zh) 用于在微处理器中进行选择性重命名的方法和设备
CN102356389B (zh) 处理器
US20020194290A1 (en) Low latency inter-reference ordering in a multiple processor system employing a multiple-level inter-node switch
US20050160253A1 (en) Method for managing data in an array processor and array processor carrying out this method
US20140007035A1 (en) Method and Apparatus to Perform Footprint-Based Optimization Simultaneously with Other Steps
US20220019550A1 (en) Host Connected Computer Network
KR102383903B1 (ko) 메모리 유닛, 및 연산 요구들을 핸들링하는 메모리 유닛의 동작방법
US11907725B2 (en) Communication in a computer having multiple processors
CN102325091B (zh) 内存释放方法和路由系统
US20220019668A1 (en) Hardware Autoloader
CN112988653B (zh) 数据处理电路、装置以及方法
JP3958534B2 (ja) データ駆動型情報処理装置

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
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20151125

Termination date: 20200115