具有同步控制器的多处理器系统以及维持同步的方法技术方案

技术编号:11833692 阅读:67 留言:0更新日期:2015-08-05 20:21
本公开涉及具有同步控制器的多处理器系统以及维持同步的方法。公开了可包括多个处理器和控制器的多处理器阵列的实施例。每个处理器可包括多个处理器端口和sync适配器。每个sync适配器可包括多个适配器端口。每个控制器可包括多个控制器端口和配置端口。所述多个处理器和所述多个控制器可被按照散布布置耦合在一起,并且控制器可不同于处理器。每个处理器可被配置为通过它的适配器端口将同步信号发送给一个或多个控制器,并且在等待来自所述一个或多个控制器的响应的同时暂停程序指令的执行。

【技术实现步骤摘要】
【国外来华专利技术】
本公开涉及计算机系统和数字信号处理器(DSP),并且更具体地讲,涉及多处理器系统。
技术介绍
本申请涉及电子系统(尤其是数字电子系统,诸如计算机、数字信号处理器(DSP))和嵌入在更大系统中的这些系统。更具体地讲,该构思涉及数字电子系统内的信号网络,并且尤其涉及多处理器阵列(MPA)内的同步信号网络。MPA包括一组处理元件(PE)、支持存储器(SM)、以及支持PE和存储器之间的高带宽数据通信的主互连网络(PIN)。PE具有用于缓冲输入数据和输出数据的寄存器、指令处理单元(IPU)和用于对数据执行算术和逻辑功能的逻辑/电路以及用于与该系统的其它部分通信的许多开关和端口。IPU从存储器获取指令,对指令进行解码,并且设置用于将数据移入处理器和从处理器移出数据以及用于执行算术和逻辑功能的合适的控制信号。以分级体系组织用于计算机和DSP的存储器,快速存储器位于顶部,并且较慢但更高容量的存储器位于沿着分级体系向下的每个梯级。在MPA中,位于分级体系的顶部的支持存储器布置为与每个PE相邻。每个支持存储器可专用于仅保存指令或仅保存数据。用于特定PE的支持存储器可专用于该PE或与其它PE共享。MPA首先被配置为电路板上的数字集成电路(IC)的阵列,每个IC包含一个处理器,并且该电路板提供用于将处理器互连的数据通信链路。基于具有更细的加工规格的互补金属氧化物硅(CMOS)晶体管电路的超大规模集成(VLSI)技术的不断进步已导致每个硅IC芯片的逻辑和存储器电路的密度的极大增加。今天,在单个IC芯片上,制作具有一百个或更多处理器及其支持存储器和互连网络的MPA。这些MPA芯片可在电路板上进一步互连以制作更大的系统。仅仅因为每个MPA芯片的大量的PE,适合MPA的PE可具有比通用处理器(GPP)高的能效,并且额外的能量变为额外的余热并且它的去除增加了芯片封装和操作成本。
技术实现思路
公开了多处理器阵列的各种实施例。广泛地讲,设想一种电路和一种方法,其中多个处理器和多个控制器被以散布方式耦合在一起。每个处理器包括多个处理器端口和一个sync(同步)适配器,sync适配器包括多个适配器端口。每个适配器端口被耦合到多个控制器之一的控制器端口,每个控制器包括多个控制器端口和一个配置端口。每个处理器被配置为通过一个或多个适配器端口将同步信号发送给相应的一个或多个控制器,并且还被配置为根据从所述一个或多个控制器接收到响应来暂停程序指令的执行。在另一实施例中,每个控制器可包括配置端口。配置端口可被配置为接收一个或多个配置数据位。在另一非限制性实施例中,每个控制器还可被配置为根据所述一个或多个配置位发送响应。附图说明图1是表示计算系统的实施例的方框图。图2A是表示计算系统的软件和硬件分级体系的实施例的方框图。图2B是表示测试和开发系统的方框图。图3是表示多处理器集成电路的实施例的方框图。图4是表示多处理器阵列的实施例的方框图。图5是表示同步控制器的实施例的方框图。图6是表示同步网络的另一实施例的方框图。图7是表示同步适配器的实施例的方框图。图8是表示同步控制器的实施例的方框图。图9是表示同步链条的方框图。图10是描述用于操作多处理器阵列的方法的实施例的流程图。图11是描述用于操作多处理器阵列的另一方法的实施例的流程图。图12是表示多处理器阵列的两个处理元件之间的同步的方框图。图13是描述用于同步多处理器系统的处理元件的方法的实施例的流程图。图14是表示多处理器系统的三个处理元件之间的同步的方框图。图15是描述用于操作多处理器系统中的同步控制器的方法的实施例的流程图。图16是描述用于同步多处理器系统中的两组处理器的方法的实施例的流程图。图17是描述用于同步多处理器系统中的两组处理器的方法的实施例的流程图。图18是描述用于同步多处理器系统中的两组处理器的方法的实施例的流程图。图19是描述用于设计用于多处理器系统的软件的方法的实施例的流程图。尽管本公开容易具有各种变型和替代形式,但在附图中作为例子示出其特定实施例并且将在这里详细地描述其特定实施例。然而,应该理解,附图及其详细描述并不意图将本公开限制于示出的特定形式,而是相反地,意图包括落在如所附权利要求所定义的本公开的精神和范围内的所有变型、等同物和替代物。这里使用的标题仅用于组织目的,而非意图用于限制该描述的范围。如在整个本申请中所使用,在容许意义(即,意味着具有可能性)而非强制性意义(即,意味着必须)下使用词语“可”。类似地,词语“包括”、“包含”和“具有”表示包括但不限于。各种单元、电路或其它部件可被描述为“被配置为”执行一个任务或多个任务。在这种语境中,“被配置为”是结构的宽广叙述,通常表示“具有”在操作期间执行所述一个任务或多个任务的“电路”。如此,即使当单元/电路/部件当前未启动时,单元/电路/部件也能够被配置为执行任务。通常,形成与“被配置为”对应的结构的电路可包括硬件电路。类似地,为了描述中的方便,各种单元/电路/部件可被描述为执行一个任务或多个任务。这种描述应该被解释为包括短语“被配置为”。叙述被配置为执行一个或多个任务的单元/电路/部件明确地意图不针对该单元/电路/部件援引35U.S.C.§112第六款解释。更一般地讲,叙述任何元件明确地意图不针对该元件援引35U.S.C.§112第六款解释,除非具体地叙述语言“用于...的装置”或“用于...的步骤”。具体实施方式通过引用包括专利技术人是Michael B.Doerr、William H.Hallidy、David A.Gibson和Craig M.Chase的标题为“Processing System With Interspersed Stall Propagating Processors And Communication Elements”的第7415594号美国专利的全部内容通过引用包含于此,就好像在这里充分而完整地阐述该专利。专利技术人是Michael B.Doerr、Carl S.Dobbs、Michael B.Solka、Michael R Trocino和David A.Gibson的于2011年10月14日提交的标题为“Disabling Communi本文档来自技高网
...

【技术保护点】
一种系统,包括:多个处理器,其中所述多个处理器中的每个处理器包括多个处理器端口和一个同步适配器,其中所述同步适配器包括多个适配器端口;多个控制器,其中所述多个控制器中的每个控制器包括多个控制器端口,其中所述多个控制器端口中的每个控制器端口被耦合到所述多个处理器中的邻近处理器的适配器端口;其中所述多个处理器中的每个处理器被配置为:选择性地通过一个或多个适配器端口将同步信号发送给所述多个控制器中的相应的一个或多个控制器;以及根据来自所述一个或多个控制器的响应,暂停程序指令的执行;其中所述多个控制器中的每个控制器被配置为:从所述多个处理器中的相应的一个或多个处理器接收一个或多个同步信号;以及根据接收的一个或多个同步信号将响应发送给所述多个处理器中的相应的一个或多个处理器中的每个处理器。

【技术特征摘要】
【国外来华专利技术】2012.12.06 US 61/734,1901.一种系统,包括:
多个处理器,其中所述多个处理器中的每个处理器包括多个处理
器端口和一个同步适配器,其中所述同步适配器包括多个适配器端
口;
多个控制器,其中所述多个控制器中的每个控制器包括多个控制
器端口,其中所述多个控制器端口中的每个控制器端口被耦合到所述
多个处理器中的邻近处理器的适配器端口;
其中所述多个处理器中的每个处理器被配置为:
选择性地通过一个或多个适配器端口将同步信号发送给所述
多个控制器中的相应的一个或多个控制器;以及
根据来自所述一个或多个控制器的响应,暂停程序指令的执
行;
其中所述多个控制器中的每个控制器被配置为:
从所述多个处理器中的相应的一个或多个处理器接收一个或
多个同步信号;以及
根据接收的一个或多个同步信号将响应发送给所述多个处理
器中的相应的一个或多个处理器中的每个处理器。
2.如权利要求1所述的系统,其中所述多个控制器中的每个控制
器包括被配置为接收一个或多个配置数据位的配置端口。
3.如权利要求2所述的系统,其中为了将响应发送给所述相应的
一个或多个处理器中的每个处理器,所述多个控制器中的每个控制器
还被配置为根据所述一个或多个配置数据位将响应发送给所述相应的
一个或多个处理器。
4.如权利要求1所述的系统,其中所述多个控制器中的每个控制
器包括寄存器。
5.如权利要求4所述的系统,其中用于所述多个控制器中的每个
控制器的所述一个或多个配置位被存储在每个控制器的寄存器中。
6.一种用于操作多处理器系统的方法,其中所述多处理器系统包
括多个处理器和多个同步控制器,其中所述多个处理器中的每个处理
器包括同步适配器,所述方法包括:
设计用于处理器的一个或多个组中的每个组的配置数据和软件,
其中处理器的所述一个或多个组中的每个组包括所述多个处理器的子
集,并且其中设计配置数据和软件包括:
识别处理器的所述一个或多个组中的给定组、和用于插入同
步屏障的所述给定组的每个处理器的软件中的至少一个位置;
识别与所述给定组的每个处理器的每个同步适配器耦合的所
述多个同步控制器中的同步控制器;
根据耦合到识别的同步控制器的每个同步适配器的方向,确
定用于识别的同步控制器的配置数据,其中所述配置数据能够实现识
别的同步控制器和所述给定组的选择的处理器的同步适配器之间的多
个同步信号的传输;以及
将同步屏障插入到用于所述给定组的每个处理器的软件中的
识别的位置中的每个位置中,其中每个同步屏障包括一个或多个同步
指令的序列,其中每个同步指令包括一个或多个变元,并且其中所述
一个或多个变元中的每个变元根据所述给定组的每个处理器的同步适
配器指定识别的同步控制器的一个或多个方向中的给定方向;
将设计的配置数据和软件加载到多处理器系统中;
执行加载的软件;
响应于所述给定组的每个处理器执行插入的同步指令中的给定的
一个同步指令,暂停所述给定组的每个处理器的执行;以及
响应于确定所述给定组的所有处理器已执行插入的同步指令中的
相应的一个同步指令,恢复所述给定组的每个处理器的执行。
7.如权利要求6所述的方法,其中确定的配置数据包括多个配置
数据位,与所述多个配置数据位的每个组合对应的每个数据模式对应
于耦合到识别的同步控制器的所述给定组的处理器中的给定处理器的
同步适配器的方向。
8.如权利要求7所述的方法,其中将配置数据加载到所述多处理
器系统中包括:将所述多个配置数据位存储在识别的同步控制器的寄
存器中。
9.如权利要求6所述的方法,其中恢复所述给定组的每个处理器
的执行包括:由识别的同步控制器使停止信号变为无效。
10.如权利要求6所述的方法,其中暂停所述给定组的每个处理
器的执行包括:由所述给定组的每个处理器的同步适配器使同步请求
信号变为有效。
11.一种同步控制器,包括:
寄存器,被配置为存储多个配置位,其中所述多个配置位对多个
数据模式进行编码,其中所述多个数据模式中的每个数据模式对应于
耦合方向的多个子集中的给定子集;
一个或多个逻辑电路,其中所述一个或多个逻辑电路中的每个逻
辑电路被配置为:
接收一个或多个同步请求信号;以及
根据接收的一个或多个同步请求和所述多个数据模式中的对
应数据模式来产生用于至少一个处理器的停止信号,其中所述至少一
个处理器被沿耦合方向的所述多个子集中的对应的一个子集的给定方
向耦合到该同步控制器。
12.如权利要求11所述的同步控制器,其中所述一个或多个条目
中的每个条目包括锁存器。
13.如权利要求11所述的同步控制器,其中为了根据接收的一个
或多个同步请求和所述多个数据模式中的对应数据模式来产生停止信
号,每个逻辑电路还被配置为产生与耦合方向的所述多个子集中的对
应的一个子集的方向对应的一个或多个停止信号。
14.如权利要求11所述的同步控制器,其中为了根据接收的同步
请求和所述多个数据模式中的对应数据模式来产生停止信号,每个逻
辑电路还被配置为响应于接收的同步信号中的选择的一个同步信号变
为有效来产生停止信号,其中接收的同步信号中的选择的一个同步信

\t号对应于所述多个数据模式中的对应数据模式的方向。
15.如权利要求14所述的同步控制器,其中为了根据接收的同步
请求和所述多个数据模式中的对应数据模式来产生停止信号,每个逻
辑电路还被配置为响应于确定剩余的接收的同步信号未变为有效而产
生停止信号。
16.一种系统,包括:
多个处理器,其中所述多个处理器中的每个处理器包括同步适配
器,其中所述同步适配器包括多个适配器端口;
多个数据存储器路由器,以散布布置耦合到所述多个处理器,其
中所述多个数据存储器路由器中的每个数据存储器路由器包括:
本地存储器,耦合到所述多个处理器的子集;
至少一个路由引擎;以及
同步控制器,耦合到所述多个处理器的所述子集中的每个处
理器的所述多个适配器端口中的至少一个适配器端口;
其中每个同步适配器被配置为:
选择性地通过所述多个适配器端口中的给定的一个适配器端
口将至少一个同步信号发送给至少一个同步控制器;
在发送同步信号之后暂停程序指令的处理器执行;
根据来自所述至少一个同步控制器的对同步信号的响应,恢
复程序指令的执行;
其...

【专利技术属性】
技术研发人员:C·S·多布斯A·M·马里克K·R·福克纳M·B·索尔卡
申请(专利权)人:相干逻辑公司
类型:发明
国别省市:美国;US

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1