CN1732435A - 群集的ilp处理器 - Google Patents
群集的ilp处理器 Download PDFInfo
- Publication number
- CN1732435A CN1732435A CNA2003801079241A CN200380107924A CN1732435A CN 1732435 A CN1732435 A CN 1732435A CN A2003801079241 A CNA2003801079241 A CN A2003801079241A CN 200380107924 A CN200380107924 A CN 200380107924A CN 1732435 A CN1732435 A CN 1732435A
- Authority
- CN
- China
- Prior art keywords
- trooping
- bus
- troop
- inter
- cluster
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000004891 communication Methods 0.000 description 59
- 230000004087 circulation Effects 0.000 description 11
- 230000011218 segmentation Effects 0.000 description 8
- 238000000034 method Methods 0.000 description 7
- 230000005540 biological transmission Effects 0.000 description 5
- 238000013461 design Methods 0.000 description 3
- 230000003068 static effect Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 241001310295 Baruna Species 0.000 description 1
- 240000000233 Melia azedarach Species 0.000 description 1
- 208000008765 Sciatica Diseases 0.000 description 1
- 230000002411 adverse Effects 0.000 description 1
- 230000001351 cycling effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 239000006185 dispersion Substances 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 239000013598 vector Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3885—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Multi Processors (AREA)
- Controls And Circuits For Display Device (AREA)
Abstract
本发明的基本构思是,根据具有不一致的等待时间的完全连接的群集间网络提供群集的ILP处理器。,提供一种群集的指令级并行处理器。所说的处理器包括多个群集(C1-C6),每个群集包括至少一个寄存器文件(RF)和至少一个功能单元(FU),其中所说的群集(C1-C6)是完全相互连接的;并且其中在所说群集(C1-C6)之间的连接的等待时间取决于在所说群集(C1-C6)之间的距离。
Description
技术领域
本发明涉及群集的指令级并行处理器。
背景技术
在指令级并行(ILP)处理器领域中的一个主要的问题是寄存器文件资源的可扩展性。在过去,ILP体系是围绕集中的资源进行设计的,其目的在于覆盖大量寄存器用于保持当时执行的所有并行操作结果的需要。集中式寄存器文件的使用使得在各个功能单元之间的数据共享很容易并且简化了寄存器分配和调度。然而,这样一种单个的集中式寄存器的可扩展性受到了限制,因为具有大量端口的巨大的单片寄存器文件难以建立,并且限制了处理器的循环时间。具体来说,附加的功能单元将延长了相互的连接,并且由于额外的寄存器文件端口使寄存器文件所占面积和延迟都按指数增加。因此,限制了这种方法的可扩展性。
在超大规模集成电路技术和计算机体系结构的最近发展建议:在某些区域下,分散的组织可能是优选的。可预言,未来的处理器的性能受到通信约束的限制而不是受到计算约束的限制。这个问题的一个解决方案是分割资源并且在处理器上按照物理的方式分配这些资源以避免长的写入,长的写入对通信速度以及等待时间都有不利的影响。可通过群集来实现这一点。许多现代的微处理器利用了“超长指令字(VLIW)”概念形式的“指令级并行运算(ILP)”。在许多商业处理器中实现了这种群集的VLIW概念,例如像HP/STM Lx、TITMS320C6xxx、Sun MAJC、Equator MAP-CA、BOPS ManArray等。在一个群集的处理器资源中,在分开的群集上分配类似的功能单元和寄存器文件。具体来说,对于群集的ILP体系结构,每个群集包括一组功能单元和一个本地寄存器。所说的群集在一个程序计数器控制下锁步操作。支持群集处理器的主要思路是,在相同的群集上分配经常相互作用的这些计算部分,而在不同的群集上分配那些很少进行通信或者那些通信并非关键的部分。然而,问题是如何在硬件水平(接线和逻辑电路)以及软件水平(向寄存器分配变量以及调度)上处理群集间通信ICC。
已知的VLIW体系结构具有完全的点到点连接的拓扑结构,即,每两个群集具有一个专用的连线以便进行数据交换。一方面,具有完全连接性的点到点的群集间通信(ICC)简化了指令调度,但在另一方面,由于所需的连线数量是N(N-1)限制了可扩展性,N是群集的数量。因此,连线的二次方的增长将可扩展性限制为2-10个群集。这样一种体系结构包括4个群集,即,群集A、B、C、D,这些群集是完全的相互连接。因此,在任何两个群集之间总是存在专用的直接连接。对于每个群集间的连接,数据在群集间传输的等待时间总是相同的,与芯片上两个群集之间的实际距离无关。可以认为,在群集A和C之间以及群集B和D之间在芯片上的实际距离大于群集A和D、A和B、B和C、以及C和D之间的距离。进而,在每两个群集之间安排流水线寄存器。
进而,在W.Lee,R.Baruna等人的“在原始设备上指令级并行的时-空调度”(关于编程语言和操作系统的体系结构支持的第8次国际会议的会议录,San Jose,California,1998)中,详细描述了用于点到点的群集间通信方案的一个部分连接的网络的一个例子,即所谓RAW体系结构。在那里,群集没有连接到所有其它的群集(没有完全连接),而是例如只连接到相邻的群集。为了与非相邻的群集进行通信,需要几个群集间复制操作。例如,通过先从群集A向群集B复制数据然后从群集B向群集C复制数据,可以在群集A和群集C之间通信。通过编译器静态调度复制操作并且通过群集的切换执行复制操作,其中数据仅从一个群集向一个循环内的下一个群集移动。因此,在相邻的和非相邻的群集之间通信的等待时间将是不同的,这个等待时间取决于在这些群集之间的实际距离,从而导致不一致的群集间等待时间。虽然减小了连线的复杂性,但编程处理器的问题增加了,因为与群集的VLIW体系结构的编译相比,这样一种群集间通信方案的编译比较复杂。在编译期间的主要困难在于调度群集间通信路径和避免死锁定。
下一种群集间通信方案是全局总线连接。群集是经过一个总线相互完全连接的,同时与以上所述的具有完全的点到点连接拓扑结构的群集间通信相比,要求少得多的硬件资源。此外,这个方案允许值组播,即,相同的值可以同时发送到几个群集,或者,换言之,几个群集通过同时读取总线可以得到相同的值。进而,这个方案依据的是静态调度;因此,既不需要仲裁器又不需要控制信号。由于总线构成了一个共享的资源,所以每个循环只可能完成一次传输,因而限制了通信带宽,这个通信带宽极窄。况且,由于总线的传播延迟,群集间通信的等待时间将要增加。由于群集数目的增加,等待时间还要进一步增加,这样就限制了采用这样群集间通信方案的处理器的可扩展性。因此,经一个中央全局总线来连接远距离的群集如群集A和D,可以限制时钟频率。
在另外的群集间通信的通信方案中,使用本地总线。这种群集间通信方案是所谓的ReMove体系结构,是一个部分连接的基于总线的通信方案。对于有关这样一种体系的更多信息,请参照S.Roos,H.Corporaal,R.Lamberts的“有关移动的群集”(有关大规模并行计算系统的第四次国际会议,2002年4月,意大利,Ischia)。本地总线一次只连接一定数量的群集而不是连接所有的群集,例如,群集A到C连接到一个本地总线,群集B到D连接到第二个本地总线。这种方案的缺点是编程比较困难,因为需要具有更加复杂的调度的编译器来避免死锁定。例如,如果要将一个值从群集A传送到群集D,在一个循环内不可能直接传送,至少需要两个循环。
因此,可以将已知的群集间通信的优点和缺点总结如下。点到点拓扑结构具有高的带宽但布线的复杂性随着群集数目的平方增加。进而,组播即一个值传送到几个其它的群集是不可能的。另一方面,总线拓扑结构由于复杂性随群集的数目线性地增加所以具有较小的复杂性,而且还允许进行组播,但具有较低的带宽。群集间通信方案可以是完全连接的或者是部分连接的。完全连接的方案具有较高的带宽和较低的软件复杂性,但存在较高的布线复杂性和较低的可扩展性。部分连接的方案结合了好的可扩展性与较低的硬件复杂性,但具有较低的带宽和较高的软件复杂性。
发明内容
因此,本发明的目的是改善用于群集的ILP处理器的群集间通信方案的等待时间问题。
这一目的通过根据权利要求1所述的群集的指令级并行处理器实现。
本发明的基本构思是,根据具有不一致的等待时间的完全连接的群集间网络提供群集的ILP处理器。
按照本发明,提供一种群集的指令级并行处理器。所说的处理器包括多个群集A、B、C、D,每个群集包括至少一个寄存器文件RF和至少一个功能单元FU,其中所说的群集A、B、C、D是完全相互连接的;并且其中在所说群集A、B、C、D之间的连接的等待时间取决于在所说群集A、B、C、D之间的距离。
即使对于远距离或远端的群集的通信,也要提供直接的点对点的连接,从而可以提供完全没有死锁定的群集间通信网络。进而,通过提供具有不一致的等待时间的群集间通信网络,实现在远端或远距离群集间的较深的流水线连接。
按照本发明的一个方面,群集A、B、C、D可以经过点到点的连接或者经过总线连接100相互连接,允许在处理器的设计期间有较大的自由度。
按照本发明的一个优选方面,所说的总线连接100包括多个总线分段100a、100b、100c。所说的处理器进一步还包括开关装置200,开关装置200安排在相邻的总线分段100a、100b、100c之间,用于连接或断开相邻的总线分段100a、100b、100c。
通过分割总线100使之成为不同的分段100a、100b、100c,可以改善在一个总线分段100a、100b、100c内的总线等待时间。虽然整个总线的总的等待时间(即所有的开关200闭合)仍然随着群集数目线性地增加,与在多个总线分段上的数据移动(即在几个开关200a、200b上移动)相比,在本地的或相邻的群集之间的数据移动可以具有较小的等待时间。通过打开开关200可以避免由于总线群集间通信的全球互连要求引起的本地通信的减慢,即在相邻群集之间的本地通信的减慢,从而可以实现具有较小等待时间的较短的总线,即总线分段100a、100b、100c。进而,加入开关是廉价的,容易实现的,同时还增加了总线的可用带宽,减小了由长的总线引起的等待时间问题,同时还不用放弃完全连接的群集间通信。
附图说明
现在参照附图更加详细的描述本发明,其中:
图1表示群集的VLIW体系结构;
图2表示一个RAW状的体系结构;
图3表示基于总线的群集的体系结构;
图4表示ReMove体系结构;
图5表示按照第一实施例的点对点的群集的VLIW体系结构;
图6表示按照第二实施例的基于总线的群集的VLIW体系结构;
图7表示按照第三实施例的经过分段总线的群集间通信方案;
图8表示按照第四实施例的经过分段总线的群集间通信方案;
图9表示按照第五实施例的经过分段总线的群集间通信方案;
具体实施方式
在图1中,表示具有完全的点对点连接的拓扑结构的群集的VLIW体系结构。这个体系结构包括4个群集,即群集A、B、C、D,它们是完全的相互连接的。因此,在任何两个群集之间总是存在一个专用的直接连接。对于每个群集间的连接,数据的群集间传输的等待时间总是相同的,与芯片上群集间的实际距离无关。在群集A和C之间的以及在群集B和D之间的芯片上的实际距离被认为是大于群集A和D、A和B、B和C、以及C和D之间的距离。进而,在每两个群集之间安排流水线寄存器P。
在图2中,表示用于点对点的群集间通信的另一个可能的部分连接的网络。这样一种群集间通信方案的一个例子是以上所述的所谓RAW体系结构。在这里,群集A、B、C、D不是连接到所有其它的群集(不是完全连接),而是例如只连接到相邻的群集。为了向非相邻的群集A、B、C、D通信,需要几次群集间的复制操作。例如,在群集A和群集C之间的通信可以通过先从群集A向群集B复制数据,然后从群集B向群集C复制数据实现。复制操作通过编译器静态调度并且通过群集的切换执行,其中的数据只能从一个群集向一个循环内的下一个群集移动。因此,在相邻的群集和非相邻的群集之间的通信等待时间将是不同的,并且取决于在这些群集间的实际距离,因而导致不一致的群集间等待时间。
下一个群集间通信方案是如图3所示全局总线连接。群集A、B、C、D经过一个总线100完全地相互连接,与图1所示的群集间通信方案相比,这种方案需要的硬件少得多。此外,这个方案还允许进行值组播,即,同一个值可以同时传送到几个群集A、B、C、D,或换言之,几个群集通过同时读出总线可以得到相同的值。
在另一个群集间通信方案中,使用如图4所示的本地总线。这个群集间通信方案是以上所述的ReMove体系结构,并且是一个部分连接的基于总线的通信方案。本地总线110、120、130、140一次只连接一定数量的群集A、B、C、D而不是连接全部群集,例如群集A到C连接到一个本地总线120,群集B到D连接到第二个本地总线130。
图5表示按照本发明的第一个实施例的点对点的群集的VLIW体系结构。这个体系结构十分类似于按照图1的群集的VLIW体系结构。它包括4个同步运行的群集A、B、C、D,群集A、B、C、D经过直接的点对点的连接完全相互连接。因此,在任何两个群集之间总是存在一个专用的直接连接,从而可以提供完全没有死锁定的群集间通信。在群集A和C之间以及在群集B和D之间的芯片上的实际距离被认为是大于群集A和D、A和B、B和C、以及C和D之间的距离。进而,在群集A和B、B和C、C和D、D和A之间都安排一个流水线寄存器P,同时在远端群集A和C之间以及在远端群集B和D之间安排两个流水线寄存器P。因此,流水线寄存器P的数量可与对应的群集间的距离成比例,或者依赖于对应的群集间的距离。
按照第一实施例的体系结构可以称之为超级群集VLIW体系结构,即具有完全连接的不一致的等待时间的群集间网络的群集VLIW体系结构。这个体系结构的可扩展性位于如图1所示的群集VLIW体系结构和如图2所示的RAW状体系结构的可扩展性之间。具体来说,群集间通信连接的等待时间是不一致的,因为这个等待时间取决于芯片的最终布局上的对应的群集之间的距离。在这个方面,本发明的体系结构不同于按照图1的现有技术的群集的VLIW体系结构。其优点是,通过在远端群集之间的较深的流水线群集间连接,可以减小连线延迟问题。超级群集VLIW体系结构优于群集VLIW体系结构之处在于:通过提供不一致的等待时间使连线延迟问题得以改善。但在另一方面,与群集VLIW体系结构相比,调度变得更加复杂,因为编译器必须在网络内利用不一致的等待时间来调度这个群集间通信。
按照本发明的该体系结构与按照图2的RAW状的体系结构的差别在于完全连接的群集间网络,而RAW状的体系结构只是基于部分连接的网络,即,群集只连接到相邻的群集。超级群集的VLIW体系结构比RAW体系结构的优越之处在于可以提供比较紧凑的代码,因为不需要切换指令并且不可能发生死锁定。但在另一方面,由于超级群集的VLIW体系结构是完全连接的,硬件资源例如连线随着群集的数目按照二次方增长。
图6表示按照本发明的第二实施例的基于总线的群集的VLIW体系结构。第二实施例的体系结构类似于按照图3的基于总线的群集的VLIW体系结构。远端的群集如群集A和D经过一个中央的或全局总线100相互连接。然而,这将导致时钟频率的限制。这个缺点可以通过提供以上所述的按照第一实施例的超级群集的VLIW体系结构来克服。具体来说,总线100是流水线式的,使群集间通信的等待时间不一致,并且使所说的等待时间取决于群集间的距离。
例如,如果群集A发送数据到群集B,这需要一个循环,而数据在群集A和远端群集D之间移动则需要两个循环,因为数据必须通过安排在群集B和D之间的附加的流水线寄存器P。然而,这个基于总线的超级群集的VLIW体系结构的指令调度对应于按照第一实施例的基于点对点的超级群集的VLIW体系结构的调度。
编译器复杂性 | #群集间布线数 | #流水线寄存器数 | 群集间网络 | 典型群集数 | 群集间通信等待时间 | |
VLIW | 低 | 0循环 | ||||
群集的VLIW | 中等 | N(N-1) | N(N-1) | 完全连接 | 2-4 | 均匀 |
超级群集的VLIW | 中等 | N(N-1) | >=N(N-1) | 完全连接 | 2-25 | 不均匀 |
ReMove | 高 | 任意 | N | 部分连接 | >2 | 不均匀 |
RAW | 高 | 4 | 4 | 部分连接 | >2 | 不均匀 |
表1:不同的VLIW处理方法的比较
如从表1可以看见的,特定的体系结构的选择,即,VLIW、群集的VLIW、超级群集的VLIW、ReMove、或RAW,取决于对于特定应用所需的群集的数目,N就是群集的数目。例如,多媒体应用和通用代码是一个十分不规则的应用,所提供的ILP速率大约为每个指令16次操作。因为最近的研究表明群集的数目不应太小,如果我们使用的是每个群集有2-4个功能单元,这将导致4-8个群集。因此,超级群集的VLIW体系结构似乎很好适合这些应用。
图7表示按照第三实施例的经过分段总线进行群集间通信的群集间通信方案。所说的群集间通信方案还可以另外加入到按照第二实施例的超级群集的VLIW处理器中。这个方案包括4个群集C1-C4,4个群集C1-C4经过总线100和分段总线100的一个开关200相互连接。当开关200打开时,可以在一个循环内在群集1C1和群集2C2之间和/或在群集3C3和群集4C4之间实现一次数据的移动。另一方面,当开关200闭合时,可以在一个循环内从群集1C1或群集2C2向群集3C3或者群集4C4移动数据。
虽然按照第三实施例的群集间通信方案只表示出单个总线100,但本发明的原理很容易地应用到多总线群集间通信方案和使用本地总线的群集间通信方案。只是需要加入某些开关到多总线或本地总线中以便实现总线的分割或分段。
图8表示按照第四实施例的经过分段总线进行群集间通信的群集间通信方案,这个方案基于所说的第三实施例。所说的群集间通信方案可以附加到按照第二实施例的超级群集的VLIW处理器中。在这里,更加详细地表示了群集C1-C4以及开关控制。每个群集C1-C4包括一个寄存器文件RF和一个功能单元FU,并且经过一个接口连接到1比特的总线100,所说的接口的每一位只包括3个或门G。按照另一种方式,可以使用与门、与非门、或者或非门G作为接口。然而,显然,每个群集C1-C4可以包括不止一个寄存器文件RF和一个功能单元FU。功能单元FU可以是专用于任何总线操作的专用功能单元。进而,还可以有向总线写入的几个功能单元。
在这里省去了对寄存器文件的旁路逻辑电路的表示,因为它对于按照本发明理解分割的或者分段的总线并不重要。虽然只表示出1个比特的总线字,然而显而易见的是,总线可以有任何期望的字的大小。况且,按照本发明的第二实施例的总线的每个比特是利用两条线实施的。一条线携带从左到右的值,而另一条线携带从右到左的总线值。然而,其他的总线实施方案也是可能的。
对于每个总线,总线分段开关200可以用几个MOS晶体管M1、M2来实施。
总线的存取控制可由群集C1-C4发出一个local_mov操作或者一个global_mov操作来完成。这些操作的变元是源寄存器和目标寄存器。local_mov操作只通过打开总线分割开关使用总线的一段,而global_mov操作通过闭合总线分割开关使用整个总线。
按照另一种方式,为了允许实现组播,移动数据的操作可以接受属于不同群集C1-C4的不止一个目标寄存器,即一列目标寄存器。这还可以通过在一个比特矢量中的寄存器/群集的掩码来实现。
图9表示按照本发明的第五实施例的经过一个分段总线进行群集间通信的群集间通信方案,第五实施例是基于第三实施例的。所说的群集间通信方案可以另外加入到按照第二实施例的超级群集的VLIW处理器中。图7表示出6个群集C1-C6、具有3个分段100a、100b、100c的一个总线100、和两个开关200a、200b,即,两个群集与每个总线分段关联。显然,群集、开关、和总线分段的数目可以与这个例子不同。可以按照参照图8在第四实施例所述的实施群集与总线以及开关的接口。在第五实施例中,认为这些开关是通过一个缺省值实现闭合的。
通过群集的一个发送操作或者一个接收操作可以实现总线存取。在群集需要发送数据的情况下,即经过总线完成到另一个群集的数据移动,所说的群集完成一次发送操作,其中所说的发送操作有两个变元,即源寄存器和发送方向,所说的发送方向即要发送数据的方向。所说发送方向可以是“左”或“右”,并且,为了实现组播,发送方向还可以是“全部”,即“左”和“右”。
例如,如果群集3C3需要向群集1C1移动数据,群集3C3将要发出一个发送操作,其中以源寄存器和发送方向作为变元,所说源寄存器即是存储要移动的数据的寄存器之一,所说的发送方向表示数据要移动的方向。在这里,发送方向是左。因此,在群集4C4和群集5C5之间的开关200b将要打开,因为对于这个数据移动来说不需要具有群集5C5和群集6C6的总线分段100c。或者,用更加一般的术语来说,当群集发出一个发送操作的时候,在最靠近发送方向的相对侧安排的开关打开,由此,总线的使用只限于完成数据移动实际需要的那些分段,即,在发送群集和接收群集之间的那些分段。
如果群集3C3需要向群集1C1和群集6C6发送数据,即实现组播,则发送方向将是“全部”。因此,在群集3C和群集1C1之间的所有开关以及在群集3C和群集6C6之间的所有开关都将保持闭合。
按照另一个实例,如果群集3C3需要从群集1C1接收数据,群集3C3将要发出一个接收操作,其中以目标寄存器和接收方向作为变元,所说目标寄存器即是存储接收的数据的寄存器之一,所说的接收方向表示数据要被接收的方向。在此,接收方向是左。因此,在群集4C4和群集5C5之间的开关将要打开,因为对于这个数据移动来说不需要具有群集5C5和群集6C6的总线分段。或者,用更加一般的术语来说,当群集发出一个接收操作的时候,在最靠近接收方向的相对侧安排的开关打开,由此,总线的使用只限于完成数据移动实际需要的那些分段,即,在发送群集和接收群集之间的那些分段。
为了实现组播,接收方向还可以未加规定的。因此,所有开关将保持闭合。
按照第六实施例,第六实施例是基于第三实施例的,开关没有作何缺省状态。进而,为了编程开关200,提供开关配置字。所说的开关配置字确定哪些开关200打开以及哪些开关200闭合。可以在每个循环内发送所说的开关配置字,正像例如发送操作/接收操作之类的正常操作一样。因此,通过发送/接收操作和开关配置字完成了总线的存取,与以上按照第五实施例描述的通过以发送方向/接收方向作为变元的发送操作/接收操作完成总线存取是不同的。所说的群集间通信方案可以另外加入到按照第二实施例的超级群集的VLIW处理器上。
Claims (7)
1.一种群集的指令级并行处理器,包括多个群集,每个群集包括至少一个寄存器文件和至少一个功能单元;
其中所说的群集是相互完全连接的;
其中在所说群集之间连接的等待时间取决于所说群集间的距离。
2.根据权利要求1所述的处理器,包括至少一个流水线寄存器,流水线寄存器安排在每两个群集之间。
3.根据权利要求2所述的处理器,其中:在两个群集之间的流水线寄存器的数目取决于所说两个群集之间的距离。
4.根据权利要求1所述的处理器,其中:所说的群集经过点对点的连接相互连接。
5.根据权利要求1所述的处理器,其中:所说的群集经过一条总线连接相互连接。
6.根据权利要求5所述的处理器,其中:
所说总线连接适合于连接所说的群集,并且包括多个总线分段;和
所说的处理器进一步还包括:
开关装置,开关装置安排在相邻的总线分段之间,用于连接或断开相邻的总线分段。
7.根据权利要求6所述的处理器,其中:所说的总线连接是包括至少两个总线的多总线。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP02080589 | 2002-12-30 | ||
EP02080589.1 | 2002-12-30 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN1732435A true CN1732435A (zh) | 2006-02-08 |
Family
ID=32668862
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2003801079241A Pending CN1732435A (zh) | 2002-12-30 | 2003-12-05 | 群集的ilp处理器 |
Country Status (8)
Country | Link |
---|---|
US (1) | US20060101233A1 (zh) |
EP (1) | EP1581864A2 (zh) |
JP (1) | JP2006512659A (zh) |
KR (1) | KR20050095599A (zh) |
CN (1) | CN1732435A (zh) |
AU (1) | AU2003303415A1 (zh) |
TW (1) | TW200506723A (zh) |
WO (1) | WO2004059469A2 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101916239A (zh) * | 2010-08-27 | 2010-12-15 | 上海交通大学 | 提高片上多处理器通信速度的方法 |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2006020298A2 (en) | 2004-07-19 | 2006-02-23 | Blumrich Matthias A | Collective network for computer structures |
US8626957B2 (en) | 2003-08-22 | 2014-01-07 | International Business Machines Corporation | Collective network for computer structures |
EP1614030B1 (en) * | 2003-04-07 | 2015-11-04 | Koninklijke Philips N.V. | Data processing system with clustered ilp processor |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3118266B2 (ja) * | 1990-03-06 | 2000-12-18 | ゼロックス コーポレイション | 同期セグメントバスとバス通信方法 |
US5367642A (en) * | 1990-09-28 | 1994-11-22 | Massachusetts Institute Of Technology | System of express channels in an interconnection network that automatically bypasses local channel addressable nodes |
US5590345A (en) * | 1990-11-13 | 1996-12-31 | International Business Machines Corporation | Advanced parallel array processor(APAP) |
EP0892352B1 (en) * | 1997-07-18 | 2005-04-13 | Bull S.A. | Computer system with a bus having a segmented structure |
GB2359162B (en) * | 1998-11-10 | 2003-09-10 | Fujitsu Ltd | Parallel processor system |
-
2003
- 2003-12-05 KR KR1020057012430A patent/KR20050095599A/ko not_active Application Discontinuation
- 2003-12-05 AU AU2003303415A patent/AU2003303415A1/en not_active Abandoned
- 2003-12-05 WO PCT/IB2003/005784 patent/WO2004059469A2/en not_active Application Discontinuation
- 2003-12-05 US US10/540,702 patent/US20060101233A1/en not_active Abandoned
- 2003-12-05 EP EP03813950A patent/EP1581864A2/en not_active Withdrawn
- 2003-12-05 JP JP2004563441A patent/JP2006512659A/ja not_active Withdrawn
- 2003-12-05 CN CNA2003801079241A patent/CN1732435A/zh active Pending
- 2003-12-26 TW TW092137157A patent/TW200506723A/zh unknown
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101916239A (zh) * | 2010-08-27 | 2010-12-15 | 上海交通大学 | 提高片上多处理器通信速度的方法 |
CN101916239B (zh) * | 2010-08-27 | 2011-09-28 | 上海交通大学 | 提高片上多处理器通信速度的方法 |
Also Published As
Publication number | Publication date |
---|---|
WO2004059469A3 (en) | 2004-12-29 |
AU2003303415A1 (en) | 2004-07-22 |
EP1581864A2 (en) | 2005-10-05 |
US20060101233A1 (en) | 2006-05-11 |
KR20050095599A (ko) | 2005-09-29 |
WO2004059469A2 (en) | 2004-07-15 |
TW200506723A (en) | 2005-02-16 |
JP2006512659A (ja) | 2006-04-13 |
AU2003303415A8 (en) | 2004-07-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1732436A (zh) | 在集群式指令级并行性处理器中访问总线的方法 | |
US5428803A (en) | Method and apparatus for a unified parallel processing architecture | |
US5301340A (en) | IC chips including ALUs and identical register files whereby a number of ALUs directly and concurrently write results to every register file per cycle | |
EP0334943B1 (en) | Enhanced input/ouput architecture for toroidally-connected distributed-memory parallel computers | |
KR100986006B1 (ko) | 마이크로프로세서 서브시스템 | |
US8737392B1 (en) | Configuring routing in mesh networks | |
US7373440B2 (en) | Switch/network adapter port for clustered computers employing a chain of multi-adaptive processors in a dual in-line memory module format | |
US20050204118A1 (en) | Method for inter-cluster communication that employs register permutation | |
Dally | Interconnect-limited VLSI architecture | |
CN1732435A (zh) | 群集的ilp处理器 | |
CN1401101A (zh) | 信号处理设备和将信号处理结果提供给多个寄存器的方法 | |
US7929439B1 (en) | Multiple network interface core apparatus and method | |
Skeie et al. | Flexible DOR routing for virtualization of multicore chips | |
CN109116934A (zh) | 可扩展组合的服务器存储背板 | |
CN116171431A (zh) | 用于加速器中多个并行数据路径通道的存储体式存储器架构 | |
Hamacher et al. | Comparison of mesh and hierarchical networks for multiprocessors | |
CN108255521B (zh) | 一种用于实现线路速度互连结构的方法 | |
CN1771477A (zh) | 带有集群式ilp处理器的数据处理系统 | |
US6624056B2 (en) | Methods and apparatus for providing improved physical designs and routing with reduced capacitive power dissipation | |
Kartashev et al. | Architectures for supersystems of the'80s | |
US5996040A (en) | Scalable, modular selector system | |
US6038626A (en) | Method for controlling data transfers and routing | |
Hahn et al. | SPAX: a new parallel processing system for commercial applications | |
Träff | $ k $-ported vs. $ k $-lane Broadcast, Scatter, and Alltoall Algorithms | |
Kung | iWarp multicomputer with an embedded switching network |
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 |