具有同步指令的处理系统的制作方法

文档序号:8501112阅读:325来源:国知局
具有同步指令的处理系统的制作方法
【技术领域】
[0001]本公开涉及计算机系统和数字信号处理器(DSP),并且更具体地讲,涉及多处理器系统。
【背景技术】
[0002]本申请涉及电子系统(尤其是数字电子系统,诸如计算机、数字信号处理器(DSP))和嵌入在更大系统中的这些系统。更具体地讲,该构思涉及数字电子系统内的信号网络,并且尤其涉及多处理器阵列(MPA)内的同步信号网络。MPA包括一组处理元件(PE)、支持存储器(SM)、以及支持PE和存储器之间的高带宽数据通信的主互连网络(PIN)。
[0003]PE具有用于缓冲输入数据和输出数据的寄存器、指令处理单元(IPU)和用于对数据执行算术和逻辑功能的逻辑/电路以及用于与该系统的其它部分通信的许多开关和端口。IPU从存储器获取指令,对指令进行解码,并且设置用于将数据移入处理器和从处理器移出数据以及用于执行算术和逻辑功能的合适的控制信号。
[0004]以分级体系组织用于计算机和DSP的存储器,快速存储器位于顶部,并且较慢但更高容量的存储器位于沿着分级体系向下的每个梯级。在MPA中,位于分级体系的顶部的支持存储器布置为与每个PE相邻。每个支持存储器可专用于仅保存指令或仅保存数据。用于特定PE的支持存储器可专用于该PE或与其它PE共享。
[0005]MPA首先被配置为电路板上的数字集成电路(IC)的阵列,每个IC包含一个处理器,并且该电路板提供用于将处理器互连的数据通信链路。基于具有更细的加工规格的互补金属氧化物硅(CMOS)晶体管电路的超大规模集成(VLSI)技术的不断进步已导致每个硅IC芯片的逻辑和存储器电路的密度的极大增加。今天,在单个IC芯片上,制作具有一百个或更多处理器及其支持存储器和互连网络的MPA0这些MPA芯片可在电路板上进一步互连以制作更大的系统。
[0006]仅仅因为每个MPA芯片的大量的PE,适合MPA的PE可具有比通用处理器(GPP)高的能效,并且额外的能量变为额外的余热并且它的去除增加了芯片封装和操作成本。

【发明内容】

[0007]公开了多处理器阵列的各种实施例。广泛地讲,设想一种电路和一种方法,其中多个处理器和多个控制器被以散布方式親合在一起。每个处理器包括多个处理器端口和一个sync (同步)适配器,sync适配器包括多个适配器端口。每个适配器端口被耦合到多个控制器之一的控制器端口,每个控制器包括多个控制器端口和一个配置端口。每个处理器被配置为通过一个或多个适配器端口将同步信号发送给相应的一个或多个控制器,并且还被配置为根据从所述一个或多个控制器接收到响应来暂停程序指令的执行。
[0008]在另一实施例中,每个控制器可包括配置端口。配置端口可被配置为接收一个或多个配置数据位。
[0009]在另一非限制性实施例中,每个控制器还可被配置为根据所述一个或多个配置位发送响应。
【附图说明】
[0010]图1是表示计算系统的实施例的方框图。
[0011]图2A是表示计算系统的软件和硬件分级体系的实施例的方框图。
[0012]图2B是表示测试和开发系统的方框图。
[0013]图3是表示多处理器集成电路的实施例的方框图。
[0014]图4是表示多处理器阵列的实施例的方框图。
[0015]图5是表示同步控制器的实施例的方框图。
[0016]图6是表示同步网络的另一实施例的方框图。
[0017]图7是表示同步适配器的实施例的方框图。
[0018]图8是表示同步控制器的实施例的方框图。
[0019]图9是表示同步链条的方框图。
[0020]图10是描述用于操作多处理器阵列的方法的实施例的流程图。
[0021]图11是描述用于操作多处理器阵列的另一方法的实施例的流程图。
[0022]图12是表示多处理器阵列的两个处理元件之间的同步的方框图。
[0023]图13是描述用于同步多处理器系统的处理元件的方法的实施例的流程图。
[0024]图14是表示多处理器系统的三个处理元件之间的同步的方框图。
[0025]图15是描述用于操作多处理器系统中的同步控制器的方法的实施例的流程图。
[0026]图16是描述用于同步多处理器系统中的两组处理器的方法的实施例的流程图。
[0027]图17是描述用于同步多处理器系统中的两组处理器的方法的实施例的流程图。
[0028]图18是描述用于同步多处理器系统中的两组处理器的方法的实施例的流程图。
[0029]图19是描述用于设计用于多处理器系统的软件的方法的实施例的流程图。
[0030]尽管本公开容易具有各种变型和替代形式,但在附图中作为例子示出其特定实施例并且将在这里详细地描述其特定实施例。然而,应该理解,附图及其详细描述并不意图将本公开限制于示出的特定形式,而是相反地,意图包括落在如所附权利要求所定义的本公开的精神和范围内的所有变型、等同物和替代物。这里使用的标题仅用于组织目的,而非意图用于限制该描述的范围。如在整个本申请中所使用,在容许意义(即,意味着具有可能性)而非强制性意义(即,意味着必须)下使用词语“可”。类似地,词语“包括”、“包含”和“具有”表示包括但不限于。
[0031]各种单元、电路或其它部件可被描述为“被配置为”执行一个任务或多个任务。在这种语境中,“被配置为”是结构的宽广叙述,通常表示“具有”在操作期间执行所述一个任务或多个任务的“电路”。如此,即使当单元/电路/部件当前未启动时,单元/电路/部件也能够被配置为执行任务。通常,形成与“被配置为”对应的结构的电路可包括硬件电路。类似地,为了描述中的方便,各种单元/电路/部件可被描述为执行一个任务或多个任务。这种描述应该被解释为包括短语“被配置为”。叙述被配置为执行一个或多个任务的单元/电路/部件明确地意图不针对该单元/电路/部件援引35U.S.C.§112第六款解释。更一般地讲,叙述任何元件明确地意图不针对该元件援引35U.S.C.§ 112第六款解释,除非具体地叙述语言“用于...的装置”或“用于...的步骤”。
【具体实施方式】
[0032]通过引用包括
[0033]发明人是Michael B.Doerr、William H.Hallidy、David A.Gibson 和 CraigM.Chase 的标题为“Processing System With Interspersed Stall PropagatingProcessors And Communicat1n Elements”的第7415594号美国专利的全部内容通过引用包含于此,就好像在这里充分而完整地阐述该专利。
[0034]发明人是MichaelB.Doerr>Carl S.Dobbs、Michael B.Solka、Michael R Trocino和 David A.Gibson 的于 2011 年 10 月 14 日提交的标题为“Disabling Communicat1n ina Multiprocessor System”的序列号为13/274138的美国专利申请的全部内容通过引用包含于此,就好像在这里充分而完整地阐述该专利申请。
[0035]术语
[0036]硬件配置程序-包括源文本的程序,该程序能够被编译为二进制映象,二进制映象能够被用于对硬件(诸如,例如集成电路)编程或配置硬件。
[0037]计算机系统-各种类型的计算或处理系统中的任何计算或处理系统,包括个人计算机系统(PC)、大型计算机系统、工作站、网络设备、互联网设备、个人数字助手(PDA)、网格计算系统或其它装置或装置的组合。通常,术语“计算机系统”能够被宽广地定义为包括具有执行来自存储器介质的指令的至少一个处理器的任何装置(或装置的组合)。
[0038]自动地-表示由计算机系统(例如,由计算机系统执行的软件)或装置(例如,电路、可编程硬件元件、ASIC等)执行的动作或操作,而不用直接指定或执行该动作或操作的用户输入。因此,术语“自动地”与由用户手工地执行或指定操作(其中用户提供输入以直接执行操作)形成对比。可通过由用户提供的输入来开始自动过程,但“自动地”执行的随后的动作不由用户指定,即不被“手工地”执行(其中用户指定执行每个动作)。例如,虽然计算机系统需要响应于用户动作更新表格,但通过选择每个字段并且提供指定信息的输入(例如,通过输入信息、选择复选框、单选选择等)来填写电子表格的用户是手工地填写表格。表格可由计算机系统自动地填写,其中计算机系统(例如,在计算机系统上执行的软件)分析表格的字段并且填写表格,而不用指定字段的答案的任何用户输入。如以上所指示,用户可调用表格的自动填写,但不参与表格的实际填写(例如,用户不手工地指定字段的答案,而是它们被自动地完成)。本说明书提供响应于用户已采取的动作而自动地执行操作的各种例子。
[0039]概述
[0040]能够并行处理的计算机系统可包括多个数据处理元件(PE)、支持存储器(SM)单元以及用于在个体PE、SM和系统1/0端口之间和之中移动数据的高带宽互连网络(IN)。为了高带宽和低平均传送时间(延时),这种系统中的主IN(或PIN)可被优化。然而,可不为有保障的传送(消息可能阻挡其它消息,导致“繁忙”信号)优化PIN。作为结果,PIN可能不适合跨越一组PE的任务的同步。在一些实施例中,为了同步的目的,另外的网络可被添加到该计算机系统。这种网络可允许消息的有保障的传送,然而,该网络可能增加计算机系统的复杂性、功率耗散或物理尺寸。附图中示出并且在以下描述的实施例可提供这样的技术:同步计算机系统内的并行处理元件,同时使对计算机系统的复杂性、功率耗散和物理尺寸的影响最小化。
[0041]并行处理
[0042]以前的微处理器和数字信号处理器(DSP)可每次执行一个任务,这通常被称为遵循执行的线程。从处理器的IPU单元观察,执行的线程是指令流。在一些实施例中,响应于指令流产生单个结果流。这种执行模式通常被称为单指令单数据(SISD)。在其它实施例中,可采用多个算术和逻辑单元(ALU),从而允许多个结果流。这种执行模式通常被称为单指令多数据(SMD)。较大的微处理器和DSP可具有SMD能力,并且在各种实施例中,软件可被用于利用这种并行性以提高性能。例如,使用SIMD可加速视频压缩和代码转换、计算机视觉、语音识别和加密。
[004
当前第1页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1