专利名称:带有集群式ilp处理器的数据处理系统的利记博彩app
技术领域:
本发明涉及一种带有集群式ILP处理器(即集群式指令级并行(Instruction Level Parallelism)处理器)的数据处理系统。
背景技术:
指令级并行(ILP)处理器领域的一个主要问题是寄存器文件资源的扩展性。过去,ILP体系结构是围绕集中式的资源来涉及,以满足需要大量寄存器来保存当前正在执行的所有并行运算操作结果的需求。使用集中式寄存器文件使得功能单元之间的数据共享更为容易,并简化了寄存器分配与调度。但是,由于具有大量端口的庞大的单个寄存器文件很难创建并限制了处理器的周期,所以这种单一的集中式寄存器文件的扩展性是有限的。特别地,增加功能单元的话,由于额外的寄存器文件端口,因此将延长互连的时间并以指数级增大寄存器文件的面积和延迟。因此,这种方法的扩展性有限。
近来VLSI技术和计算机体系结构领域的发展显示,在某些领域中使用分布式的组织结构可能更优越。据预测,未来处理器性能将受通信能力的约束的限制,而不是受计算能力的约束的限制。这一问题的一种解决方案是划分资源并在物理上将这些资源分布在处理器上以避免较长的线路,较长的线路对通信速度以及等待时间都有负面影响。通过集群可以达到这一目的。许多现代的微处理器以超长指令字(Very Large Instruction Word,VLIW)概念的形式采用指令级并行(ILP)。在许多商用处理器中都实现了集群式VLIW的概念,例如HP/STM Lx、TI TMS320C6xxx、Sun MAJC、Equator MAP-CA、BOPSManArray等等。在集群式处理器资源中,类似的功能单元和寄存器文件分布在单独的集群中。尤其对于集群式ILP体系结构,每个集群包含一组功能单元和一个本地寄存器文件。多个集群在一个程序计数器控制下以固定不变的方式操作。集群式处理器的主要思想是,将那些互相作用频繁的计算部分分配在同一个集群中,而将那些只是很少通信或那些非关键通信的部分分配在不同的集群中。但是,问题是如何在硬件级(线路和逻辑)以及软件级(为寄存器分配变量及调度)上处理集群间通信(Inter-Cluster-Communication,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之间的距离远。此外,每两个集群之间可以安排流水线寄存器。
在上述VLIW体系结构中,仍然存在控制信号的线路延迟问题。使用控制信号是为了将操作信息分发到各个集群的功能单元和寄存器文件。这里,VLIW指令在同一周期执行。因此对于各个集群的所有控制信号必须在同一周期内到达这些集群。当某些集群被安排在VLIW处理器的平面图上而远离向所有集群发出控制信号的指令读取/发送单元时,就产生问题。在上述情况下,集群D和C与集群A和B以及指令单元都相距较远,处理器的周期时间将依赖于控制信号从指令读取/发送单元到达最远集群所需的时间间隔。
另一种ICC方案是全局总线连接。多个集群通过总线彼此完全连接,同时与上述具有完全点对点连接拓扑结构的ICC相比,其需要少得多的硬件资源。总线连接容易实现多点传送(multicast)。此外,该方案基于静态调度;因此不需要判优器或对总线的任何控制信号。通过增加总线,ICC的带宽能够容易地增大。此外,ICC的等待时间将由于总线的传播延迟而增加。在这样的ICC方案中,随着集群数量的增加而限制处理器的扩展性,等待时间将进一步增加。因此,通过中央全局总线连接诸如集群A和D这样距离较远的集群可以限制时钟频率。
发明内容
因此,本发明的目的是改进集群式ILP处理器的ICC方案中指令和控制信号的等待时间问题。
通过根据权利要求1所述的数据处理系统和根据权利要求5所述的集群式指令级并行处理器实现了这一目的。
本发明基于指定来自一个VLIW指令中不同周期的操作、并因此使到远端集群的控制连接流水线化的思想。
因此,提供一种数据处理系统。所述系统包括具有多个集群的集群式ILP处理器、以及用于向所述处理器的集群发出控制信号的指令单元,其中每个集群包括至少一个寄存器文件和至少一个功能单元。该指令单元通过各个控制连接而连接到所述多个集群的每一个。此外,根据所述指令单元与各个集群之间的距离,可以在所述控制连接中安排一个或多个流水线寄存器。
因为时钟周期不受由于指令单元和最远集群之间的最大距离而造成的控制信号的最长延迟的限制,所以按照这样的指令集体系结构,可以实现更高的时钟频率。换句话说,可以在到远端集群的控制线路中使用更长的延迟。
根据本发明的另一方面,多个集群通过点对点的连接彼此相连。通过这种点对点集群间通信方案,简化了指令调度。
在本发明的另一方面,所述多个集群通过总线连接彼此相连。这种ICC方案的优点在于需要较少的硬件资源。
在本发明的另一方面中,控制连接作为总线实现。
本发明还涉及集群式ILP处理器,包括多个集群、以及向所述多个集群发出控制信号的指令单元,其中每个集群有至少一个寄存器文件和一个功能单元。所述指令单元通过各个控制连接而连接到所述多个集群的每一个。根据所述指令单元和所述集群之间的距离,可以在所述控制连接中安排一个或多个附加的流水线寄存器。
现在将参考附图更加详细地描述本发明,其中图1示出根据第一个实施例的集群式VLIW体系结构;图2示出根据第二个实施例的基于总线的集群式VLIW体系结构;图3示出根据第三个实施例的点对点集群式VLIW体系结构;图4示出根据第四个实施例的基于总线的集群式VLIW体系结构;图5示出根据现有技术的流水线流程图;以及图6示出根据本发明的流水线流程图。
具体实施例方式
在附图中,虚线代表控制线路,而实线代表数据信号连接。
在图1中,示出了根据第一个实施例的具有完全点对点连接拓扑结构的集群式VLIW的体系结构。该体系结构包括四个集群,即集群A、B、C和D,其中各集群彼此互相连接,且指令读取/发送单元IFD通过控制连接路径CA-CD连接到每个集群A-D。因此,任意两个集群之间都有专用的直接数据信号连接,且每两个集群之间都安排流水线寄存器P。集群间数据传输的等待时间对每个集群间连接都是相同的,而不依赖于片上集群之间的实际距离。集群A和C、以及集群B和D之间的片上实际距离被认为比集群A和D、A和B、B和C、以及C和D之间的距离远。因此,在控制连接路径CC和CD中安排了流水线寄存器P,用于向远端集群C、D流水线传输控制信号。
现有技术的具有两个发送槽(issue slot)的单集群VLIW处理器的指令可实现如下op1 r1,r2→r3nop;nop op2 r3,r10→11;同样的操作在两个集群的VLIW处理器中的实现如下
op1 r1,r2→r3nop;copy r3→r3[B]nop; //从集群A复制r3到集群B中的r3nop op2 r3,r10→11;根据第一个实施例实现相同的代码,其中第一个实施例也就是集群D位于远端,因此需要一个额外的周期进行操作传递,如下op1 r1,r2→r3nop;copy r3→r3[D]op2 r3,r10→11;请注意,由于op2只在周期3中执行,所以尽管op2位于下一个VLIW指令中,但这种调度仍然有效。因此,来自不同周期的操作汇总在一个VLIW指令内。下表1示出集群A和集群D的一些指令,其中集群D与集群A相距较远。
因此,指令1包含op1和op3,分别在周期1和2执行。指令2包含op2和op4,分别在周期2和3执行。指令3包含op4和nop,分别在周期3和4执行。远端集群D中的操作执行是在临近的集群A中的操作之后的一个周期,也就是,在同一周期执行的操作是略带倾向的VLIW指令。
这一指令集体系结构ISA通过使到远端集群D和C的控制连接流水线化来实现。这种ISA对有三个以上集群的集群式ILP处理器尤其有利。
通过上述ISA的实现,由于到远端集群的控制发出的额外的等待时间,因此周期数可能增加。此外,根据图1,为了正确处理VLIW指令中的操作,可能需要对作为编译器一部分的指令调度进行细微修改。通常,ICC通过集群间的复制操作实现。编译器的指令调度器确定两个操作之间的复制能否被调度。优选地,带有流水线控制分配的处理器的编译器应当考虑到周期,其中执行的是消费者操作而不是VLIW指令。
根据第二个实施例的另一种ICC方案是图2中所示的全局总线连接。集群A、B、C、D通过总线100彼此完全连接,其与图1中所示的ICC方案相比需要更少的硬件资源。该方案进一步包括指令读取/发送单元IFD,其通过控制互连110连接到所有集群A-D。在集群B和C之间的控制互连110上安排了一个流水线寄存器P,其中集群C和D远离集群A和B。在真实处理器的多个控制信号的实际实现中,该流水线寄存器P可能需要多个实例。因此,如第一个实施例中那样,ISA通过使到远端集群的控制互连110流水线化来实现。
图3示出根据第三个实施例的点对点集群式VLIW体系结构。该体系结构与根据图1的集群式VLIW体系结构的体系结构十分相似。其包括四个同步运行的集群A、B、C和D,其中该四个集群通过直接的点对点连接彼此完全相连。因此,任意两个集群之间都有一个专用的直接连接,所以提供了一个无死锁ICC。
此外,该体系结构包括指令读取/发送单元IFD,其通过控制连接路径CA-CD分别连接到每个集群A-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的数量可以与各个集群之间的距离成比例或依赖于各个集群之间的距离。此外,在控制路径CC和CD中安排了一个或多个流水线寄存器P。可选地,为了将控制信号流水线传输到远端集群C、D,可以在控制路径CC和CD的每一个中安排一个或多个流水线寄存器P。
该体系结构是具有完全连接的非一致等待时间集群间网络的集群式VLIW体系结构。特别地,ICC连接的等待时间并不一致,这是因为其依赖于片上最终布局上各个集群之间的实际距离。关于这方面,本发明的体系结构与根据图1的集群式VLIW体系结构的体系结构不同。其优点在于,通过更深度地使远端集群之间的集群间连接流水线化,减少了线路延迟问题。根据第三个实施例的VLIW体系结构比根据第一个实施例的集群式VLIW体系结构的优点在于,通过提供非一致等待时间,改进了线路延迟问题。但是另一方面,由于编译器不得不在具有非一致等待时间的网络中调度ICC,所以调度变得比集群式VLIW体系结构更复杂。但是,ISA按照第一个实施例中对于表1所描述的来实现。
图4示出根据本发明第四个实施例的基于总线的集群式VLIW体系结构。第四个实施例的体系结构与根据图2的基于总线的集群式CLIW体系结构相似。诸如集群A和D的远端集群通过中央或全局总线100彼此相连。但是,这将导致对时钟频率的限制。通过提供根据如上第一个实施例所述的VLIW体系结构,可以克服这一缺点。特别地,总线100被流水线化,造成集群间通信的等待时间非一致且依赖于集群之间的距离。例如,如果集群A向集群B发送数据,这将需要一个周期,而由于数据需要经过集群B和D之间安排的附加的流水线寄存器P,所以集群A和远端集群D之间的数据移动需要两个周期。
此外,提供了指令读取/发送单元IFD,其通过控制互连110连接到每个集群A-D。特别地,在集群B和C之间,也就是在临近的集群A、B和远端集群C、D之间,安排了流水线寄存器P。但是,该基于总线的集群式VLIW体系结构的指令调度与根据第一个实施例基于点对点的集群式VLIW体系结构的调度一致。
图5示出一种已知的流水线流程图,其对所有集群都相同。在步骤S1执行一个指令读取操作,在步骤S2执行一个指令解码操作。在步骤S3读取寄存器,而在步骤S4执行各自的操作。最后,在步骤S5进行写回。
图6示出根据本发明原理的流水线流程图。本发明所基于的思想是,对于临近集群和远端集群的流水线体系结构是不同的。因此,对指令读取/发送单元IFD附近的集群,通过图6中左侧的步骤S1-S5实现的流水线与根据现有技术(也就是图5中所示)的流水线相同。但是,对远端集群的流水线(图6中右侧)并入一个附加的流水线级,用于从IFD向集群传输控制信号,也就是步骤S2a。然而,注意流水线的前端(包括指令读取和解密级的步骤S1和S2)对临近的和远端的集群共享。此外,在不改变附近和远端集群使用不同流水线的思想的情况下,图中所示的每个流水线级可能包含几个子级。
请注意,本发明的原理可以应用于VLIW和EPIC(ExplicitlyParallel Instruction Set Computing,显式并行运算指令集计算)处理器,而不能应用于具有不同指令集体系结构的超标量处理器。
权利要求
1.数据处理系统,包括集群式指令级并行处理器,包括多个集群(A-D),其中每个集群包括至少一个寄存器文件和至少一个功能单元;指令单元(IFD),用于向所述多个集群(A-D)发出控制信号,其中所述指令单元(IFD)通过各个控制连接(CA-CD)连接到所述多个集群(A-D)的每一个,并且其中,根据所述指令单元(IFD)和所述多个集群(A-D)之间的距离,在所述多个控制连接(CA-CD)中安排一个或多个附加的流水线寄存器(P)。
2.根据权利要求1所述的数据处理系统,其中所述多个集群(A-D)通过点对点连接彼此相连。
3.根据权利要求1所述的数据处理系统,其中所述多个集群(A-D)通过总线连接(100)彼此相连。
4.根据权利要求3所述的数据处理系统,其中所述多个控制连接(CA-CD)被实现为总线(110)。
5.一种集群式指令级并行处理器,包括多个集群(A-D),其中每个集群包括至少一个寄存器文件和至少一个功能单元;指令单元(IFD),用于向所述多个集群(A-D)发出控制信号,其中所述指令单元(IFD)通过各个控制连接(CA-CD)连接到所述多个集群(A-D)的每一个,并且其中,根据所述指令单元(IFD)和所述多个集群(A-D)之间的距离,在所述多个控制连接(CA-CD)中安排一个或多个附加的流水线寄存器(P)。
全文摘要
本发明基于指定来自一个VLIW指令中不同周期的操作、并因此使到远端集群的控制连接流水线化的思想。因此,提供了一种数据处理系统。所述系统包括具有多个集群的集群式ILP处理器、以及用于向所述处理器的集群发出控制信号的指令单元,其中每个集群包括至少一个寄存器文件和至少一个功能单元。该指令单元通过各个控制连接而连接到所述多个集群的每一个。此外,根据所述指令单元与各个集群之间的距离,可以在所述控制连接中安排一个或多个流水线寄存器。
文档编号G06F9/30GK1771477SQ200480009319
公开日2006年5月10日 申请日期2004年3月29日 优先权日2003年4月7日
发明者安德烈·特雷齐科 申请人:皇家飞利浦电子股份有限公司