具有改进的辅互连网络的多处理器系统的制作方法

文档序号:9204236阅读:174来源:国知局
具有改进的辅互连网络的多处理器系统的制作方法
【技术领域】
[0001]本发明涉及多处理器系统,并且更具体地涉及具有多个处理器元件、存储器和主互连网络的多处理器系统中的改进的辅互连网络。
【背景技术】
[0002]计算机和数字信号处理(DSP)系统可包括多个处理元件(PE)、支持性存储器(SM)、数据互连网络(IN)、以及输入和输出(I/O)接口。在多个PE可用的情况下,系统可支持并行算法以更快地完成任务或降低完成任务的能量。并行算法常常需要以很高的速率进出系统以及穿过系统在PE和SM之间来对数据进行流送。在这些系统中,互连网络一般包括至少一个高带宽(高的每秒位吞吐量)主互连网络(PIN)。PIN被优化用于相对较大的消息的高的每秒位吞吐量,但不具有特别低的延迟(点到点的递送延时)。
[0003]包括PIN的至少一个现有技术的多处理器系统还包括附加低带宽辅互连网络(SIN)。被实现为“串行总线”(SB)的高延迟类型SIN先前已被实现在由Coherent Logix公司(本申请的受让人)制造的、被称为HyperX hx3100A的多处理器IC芯片上。图1示出了在HyperX hx3100A上实现的现有技术的串行总线(SB),其还被称为辅互连网络(SIN)。图1所示的现有技术SIN被设计为与PE、SM、PIN、芯片I/O接口、电网和时钟网络一起被嵌入多处理器IC芯片中。如所示出的,该串行总线架构在穿过该芯片曲折反复的长环路中将所有PE和SM互连。这允许SIN用最小的面积和功率消耗来支持有保障的消息递送(GMD)。因此,SIN是首先旨在为应用和系统软件的程序员提供调试支持的片上串行总线(SB)。此夕卜,SB能够在系统启动期间被用于加载存储器和执行通电系统测试。此外,SB可在运行时被用于执行各种系统管理功能,诸如针对个体PE和I/O端口的时钟频率的控制、在PIN中设置安全性屏障以及PE消息传递。最后,SB还可被用于IC测试和评估。
[0004]图1所示的现有技术SIN具有组织为本地接口单元之间的链路的单向菊花链的串行总线(SB)架构,该链的两端均被耦接到串行总线控制器(SBC)单元。如图1所示,典型本地接口单元被称为串行总线从属(SBS)接口单元;之所以这样叫是因为其不能发布命令(如下文所更详细描述的)。每个SBS接口单元被耦接到一个PE、一个SM单元、一个SB输入链路和一个SB输出链路。每个SBS单元被分配唯一的地址值,使得个体消息可被发送给特定的SBS单元。每个SBS接口单元(SBS-1U)包含寄存器和逻辑,以将PE和SM的占主导地位的字并行格式之间的消息格式转换为SB链路的占主导地位的位串行格式。接口单元之间的每条链路是2条并行线,一条线运送数据信号(SBDATA),另一条线运送时钟信号(SBCLK),以在接收器输入触发器处捕获数据。由SBCLK上的多个脉冲来表示存在消息,一个脉冲用于SBDATA上的每个数据位;并且由SBCLK上的恒定值来表示不存在消息。
[0005]在一些实施例中,SBS-1U可配置有缓冲器以接收固定长度的SB消息。首先(在芯片重置时),SBS-1U可进入中继器模式,在该模式中,SBS-1U可接收固定长度的SB消息并将消息头中的地址与其自身的唯一地址进行比较。如果不存在地址匹配,则SBS-1U可将消息传递给该链中的下一个SBS-1U。在地址匹配的情况下,SBS-1U可进入通道模式,在该模式中,随后的消息被认为是可能的命令,直到它接收到返回中继器模式的命令为止。SBS-1U可被配置为对来自适当编码的SB消息的一组命令进行解码。如果SB消息不是针对该组命令中的一个命令适当编码的,则SBS-1U忽略该SB消息。在各个实施例中,命令包括:读取和写入SBS-1U配置寄存器、(重置DMR、重置PE、设置PE的时钟频率、重置I/O电路(如果存在的话)以及设置PIN路由器安全性屏障)、在特定地址或地址块处读取和写入SM、读取和写入在某些情况下包括消息寄存器的PE寄存器、设置PE断点、强制PE中断、单步执行PE、唤醒PE(使运行)、以及启用/禁用PE参与全局中断信令。对于读取命令,SBS-1U可生成包含读出数据的返回SB消息,并将其发送给链中的下一个SBS-1U。返回SB消息可穿过链中的其它SBS-1U (因为它们处于中继器模式);并且可被SBC转发给建立通道的控制器。
[0006]如图1所示,串行总线控制器(SBC)被耦接到SB的两端、调试访问端口(DAP)控制器和启动(Boot)控制器。SBC从DAP和启动控制器接收SB消息,并将返回消息提供回给DAP和启动控制器。SBC的主要目的是防止多于一个控制器同时获得SB访问(这可能产生命令的随机混合以及错误的结果)。如果SB是静止的,则任何一个控制器可发起到SBS-1U的通道。如果通道已经存在,则SBC控制器将忽略任何新的试图发起通道的尝试,直到当前的通道终止为止。如果两个控制器同时试图发起通道,则SBC将作出仲裁使得一个获得访问而另一个SBC被忽略。
[0007]如图1所示,为了允许PE 0,O向SBC发送消息并从SBC接收结果消息,专用于DMR0,O的一些寄存器被耦接到启动控制器。DMR 0,O中的这些专用寄存器不能被PIN访问,也不能被除了 ΡΕ0,O之外的任何PE访问。当DMR 0,O中的特定寄存器被PE 0,0写入时,消息被传送给SBC。来自SBC的返回SB消息数据可被复制到DMR O, O中的特定寄存器。利用SB的PE O, O上的软件程序可能需要包括适当的延时,以等待SB消息传输的相对长的延迟。
[0008]需要改进的辅互连网络(SIN)架构以用于多处理器系统。

【发明内容】

[0009]公开了多处理器系统的各种实施例,多处理器系统包括多个处理器、多个存储器和多个路由器。在一个实施例中,每个处理器具有关联的存储器和路由器,并且所述多个处理器、存储器和路由器以散布方式耦接在一起。所述多个路由器被耦接在一起以形成主互连网络。多处理器系统还包括多个接口单元,其中每个相应的处理器/路由器组合具有关联的接口单元。所述多个接口单元和至少一个控制器被親接在一起以形成辅互连网络(SIN)。所述多个接口单元可以以菊花链的方式或以多个环路的方式耦接在一起,以形成辅互连网络。所述至少一个控制器被耦接到SIN外的其它控制器和消息源,并且被配置为从所述源接收消息以访问SIN、将消息返回到所述源并且对来自所述源的请求进行仲裁以防止SIN控制错误。接口单元的多个链可被耦接到SIN控制器,并且接口单元的每个链可被配置为支持单向或双向的消息流。
[0010]指定处理器可被配置为耦接到SIN控制器(在本文中还被称为“总线控制器”)。指定处理器具有关联的指定路由器和关联的至少一个指定接口单元,该指定接口单元被耦接到总线控制器。总线控制器被配置为向所述至少一个指定接口单元发送数据和从所述至少一个指定接口单元接收数据。在一个实施例中,所述至少一个指定接口单元包括两个不同的指定接口单元,每个指定接口单元与相应的处理器关联,其中一个指定接口单元被配置为向总线控制器发送数据,而另一个指定接口单元被配置为从控制器读取数据。
[0011]总线控制器可被配置为在访问所述至少一个指定接口单元的请求之间进行仲裁。换句话说,总线控制器可被配置为从不同逻辑块接收访问指定接口单元的请求,并选择这些请求中的一个提供给指定接口单元。可请求访问指定接口单元的逻辑块可包括处理器接口块和其它块,诸如主机接口、启动控制器和调试访问端口。处理器接口块被耦接到总线控制器,并且还被親接到与所述至少一个指定接口单元关联的指定路由器。处理器接口单元被配置为允许多处理器系统中的多个处理器中的任何一个处理器或者可能是所有处理器使用主互连网络通过指定路由器来访问辅互连网络。处理器接口块可包括用于缓冲辅互连网络消息的一个或多个缓冲寄存器和防止消息丢失或重复的流控制电路。一个或多个缓冲寄存器和流控制电路被用于使任何处理器能够使用主互连网络来访问辅互连网络。
[0012]例如,指定路由器可接收产生于主互连网络的消息。处理器接口块可从指定路由器接收这些消息,并将这些消息提供给总线控制器以提供到辅互连网络上。此外,处理器接口块可通过总线控制器从辅互连网络接收消息,并将这些消息提供给指定路由器以提供到主互连网络上。
[0013]在一个实施例中,多处理器系统中的任何相应的处理器可被配置为:1)在主互连网络上从相应处理器的邻近路由器到指定路由器建立第一通信路径,以创建到辅互连网络的前向路径;以及2)在主互连网络上从指定路由器到相应处理器的邻近路由器建立第二通信路径,以创建从辅互连网络出发的反向路径,以用于与辅互连网络的全双工通信。
[0014]因此,任何相应的处理器可操作为将辅互连网络消息发布到主互连网络上以到达指定路由器,以供通过处理器接口块和总线控制器来提供给辅互连网络。此外,任何这样相应的处理器被配置为从辅互连网络接收结果和/或消息状态信息,该结果和/或消息状态信息通过总线控制器和处理器接口块提供到指定路由器。
[0015]总线控制器可被配置为从两个或更多处理器中的每一个接收命令并将接收到的命令进行比较,然后基于比较采取动作。例如,如果命令被确定为匹配,则总线控制器可被配置为将命令中的一个发送给辅互连网络。如果命令被确定为不匹配,则总线控制器可被配置为向可编程错误处理机发送消息。在一个实施例中,指定处理器具有到总线控制器的分离的通信路径,并且总线控制器被配置为从指定处理器和另一处理器接收命令。总线控制器可被配置为将从指定处理器和另一处理器接收的命令进行比较并执行上述动作。
[0016]在一些实施例中,多芯片系统可包括多个上述多处理器系统,这些多处理器系统被实现在不同的相应芯片上并且通过其各自的主互连网络耦接在一起。在该多芯片系统中,一个芯片上的任何处理器可以能够访问多芯片系统中的任何其它芯片上的辅互连网络。
[0017]用于在多处理器系统中通信的方法可包括以下步骤。首先可以在主互连网络上从第一处理器
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1