具有散布处理器DMA‑FIFO的处理系统技术方案

技术编号:16365455 阅读:90 留言:0更新日期:2017-10-10 21:28
公开了多处理器阵列的实施例,所述多处理器阵列可以包括多个处理器、本地存储器、能配置的通信元件、和直接存储器访问(DMA)引擎、以及DMA控制器。每个处理器可以耦接到本地存储器中的一个,并且所述多个处理器、本地存储器和能配置的通信元件可以以散布的方式耦接到一起。DMA控制器可以被配置为控制所述多个DMA引擎的操作。

Has the system spread FIFO processor DMA

The embodiment of multi processor array is disclosed, the multi processor array can include multiple processor, local memory, configuration of communication components, and direct memory access (DMA) engine, and DMA controller. Each processor may be coupled to one of the local memories, and the plurality of processors, local memory, and communication elements that can be configured can be coupled together in a distributed manner. The DMA controller can be configured to control the operation of the plurality of DMA engines.

【技术实现步骤摘要】
具有散布处理器DMA-FIFO的处理系统本申请是申请号为201380060488.0、申请日为2013年03月08日、专利技术名称为“具有散布处理器DMA-FIFO的处理系统”的专利技术专利申请的分案申请。
本专利技术涉及计算机系统和数字信号处理器(DSP),更特别地,涉及多处理器系统。
技术介绍
以加快的速度执行软件任务的需求产生了对并行计算的需求。并行计算可以加速诸如电信、遥感、雷达、声纳、视频、影院和医疗成像等之类的应用中的多个复杂信号的处理。并行计算还可以提供更大的计算吞吐量并且可以克服串行计算方法的某些限制。计算系统的能力可以通过通常针对一组指定测试算法的性能度量来比较。所关注的主要性能度量一直为每秒计算量。但是,对于电池供电的或散热受限的装备,把每秒计算量除以能耗的度量可能更优选。在理论上考虑,并行计算机或信号处理器可以由多个处理器、多个存储器以及一个或更多个互连通信网络组成。这些部件已经组合在论述并行处理器计算也称为多重处理的文献中介绍的许多不同的拓扑结构中。所有这些部件由于与导体迹线(电线)的充放电有关的内部延迟以及传输线效应而具有输入到输出的等待时间(latency),其中所述传输线效应之一是信号不可能行进得比光速快。因此,更小的部件相比于体形更大的部件一般呈现更短的等待时间,并且具有更少部件的系统相比于具有更多计算部件的系统将呈现更短的平均等待时间。尽管系统中的更多部件可能增加平均等待时间,但是存在着布置计算以利用相邻元件之间的短等待时间的通信的技术,诸如流水线和脉动处理(systolicprocessing)。近年来,在集成电路制造上的进展使得可以制作日益小型化的并行计算机部件。通过小型化,部件以更低的功耗、更高的速度和更短的等待时间运行。因此数百个处理元件(PE)和支持存储器(SM)连同高带宽互连网络(IN)可以被装配在单个多处理器的集成电路(IC)芯片上。可以用这种多处理器芯片构建各种各样的并行计算机系统,范围从使用部分芯片的小系统到包括高速高容量存储器芯片的多芯片系统。诸如计算机、数字信号处理器(DSP)和封闭装备中所嵌入的系统之类的数字电子系统越来越多地采用一个或更多个多处理器阵列(multi-processorarray,MPA)。MPA可以宽松地定义为多个处理元件(PE)、支持存储器(SM)和高带宽互连网络(IN)。如本文所使用的,术语“处理元件”是指处理器或者中央处理器(CPU)、微处理器、或处理器内核。MPA中的阵列一词在其最宽泛的意义上用来意指由网络互连的多个计算单元(每个都包含处理和存储器资源),其中所述网络具有在包括圆形维度(圈或环)的一个、二个、三个或更多个维度中可用的连接。注意,更高维度的MPA可以映射到具有更少维度的制造介质上。例如,具有四维(4D)超立方体形状的MPA可以映射到硅集成电路(IC)芯片的3D堆叠上,或者映射到单个2D芯片或甚至计算单元的1D线上。低维度的MPA也可以映射到更高维度的介质。例如,计算单元的1D线可以以蜿蜒的形状布置在IC芯片的2D平面上,或者绕进芯片的3D堆叠中。MPA可以包含多种类型的计算单元以及处理器和存储器的散布的布置。在宽泛意义上,MPA还包括MPA的层次或嵌套布置,尤其是由互连的IC芯片组成的MPA,其中IC芯片包含也可以具有更深的层次结构的一个或更多个MPA。一般来说,用于计算机和数字信号处理器(DSP)的存储器按这样的层次组织:顶部是快速存储器,层次向下每级是更慢却更高容量的存储器。在MPA中,在层次顶部的支持存储器位于每个PE附近。每个支持存储器可以专门只保持指令或只保持数据。特定PE的支持存储器可以对该PE是私有的或者与其他PE共享。存储器层次再向下可以具有更大的共享存储器,该共享存储器典型地由半导体同步动态随机存取存储器(SDRAM)组成,SDRAM具有比与每个PE相邻的支持存储器的位容量大许多倍的位容量。存储器层次再向下是闪存、磁盘和光盘。如上所述,多处理器阵列(MPA)可以包括处理元件(PE)、支持存储器(SM)以及支持PE和/或存储器之间的高带宽数据通信的主互连网络(PIN或仅仅IN)的阵列。在图1和图2中例示了MPA的各种实施例,下面会进行描述。一般地,PE具有用于缓冲输入数据和输出数据的寄存器、指令处理单元(IPU)以及用于对数据执行算术和逻辑功能的装置,外加用于与系统的其他部分通信的若干交换机和端口。IPU从存储器取得指令,对它们进行解码,并设置适当的控制信号以移动数据进出PE以及对数据执行算术和逻辑功能。仅因为包含大MPA的每个IC芯片的PE数量大,所以适合于大MPA的PE一般比通用处理器(GPP)能效更高。如本文所使用的,术语MPA覆盖了相对同构的处理器阵列以及在所谓的“平台IC”芯片上集成的通用和专用处理器的异构集合这两者。平台IC芯片可以包含典型地与共享存储器或许还有芯片上的网络互连的从几个到许多个处理器。在MPA和“平台IC”芯片之间可以存在或可以不存在差异。但是,“平台IC”芯片可以被推销为针对特定垂直市场中的特定技术需求。互连网络(IN)可以为完全连接的或者交换的。在完全连接的网络中,所有输入端口都硬接线到所有输出端口。但是,完全连接的网络中的电线的数量按N2/2增加,其中N为端口数量,因此对于甚至中等规模的系统,完全连接的网络也很快变得不实际。交换的网络由链路和交换节点组成。链路可以包括接线、传输线、波导(包括光学波导)或无线接收机-发射机对。交换节点可以如在时窗期间到总线的连接那样简单,也可以如具有许多端口和缓冲队列的交叉开关那样复杂。单级网络是其中所有输入端口和输出端口都驻留在一个大交换节点上的网络。多级网络是其中数据移动穿过第一个交换节点、第一个链路、第二个交换节点以及可能更多的链路-节点对以到达输出端口的网络。例如,传统的有线电话系统是多级网络。并行计算机的互连网络在规模、带宽和控制方法上变化很大。如果网络提供了从输入到输出的数据路径或电路并且在被请求拆除之前不管它,则可以称之为“电路交换”。如果网络提供长度只够把数据包从输入传递到输出的路径,则可以称之为“包交换”。控制方法在完全确定性的(可以通过对与主时钟同步的每个步骤编程来实现)到完全反应性的(可以通过异步地响应端口输入处的数据移动请求来实现)之间变化。对于单级网络,请求/授权协议是控制交换机的普通方式。请求信号被提供到输入端口并且在争用检测电路中与来自所有其他输入端口的请求信号进行对比。如果不存在争用,则IN以授权信号响应。该端口发送地址,IN设置交换机来连接输入与输出。当检测到争用时,仲裁电路(或“仲裁器”)将决定请求端口中的哪一个得到授权信号。没有授权信号的端口将必须等待。在一个周期中没有成功的端口可以在后续周期中再次尝试。在仲裁器中使用各种优先级/轮流方案以确保每个端口得到至少某种服务。对于多级网络,可以使用被称为“虫孔路由(wormholerouting)”的特定协议。虫孔路由是基于这样的想法:消息可以被形成为字的系列或串,所述字的系列或串具有用于导航的头部、携带有效载荷数据的主体和用于关闭路径的尾部。消息如下地“曲折行进”通过网络。假设网络被布置为笛卡尔网格;并且交换节点和存储器位于网格的每个结本文档来自技高网...
<a href="http://www.xjishu.com/zhuanli/55/201710413773.html" title="具有散布处理器DMA‑FIFO的处理系统原文来自X技术">具有散布处理器DMA‑FIFO的处理系统</a>

【技术保护点】
一种系统,包括:多个处理器,每个包括多个处理器端口;以及多个能配置的通信元件,以散布的方式耦接到所述多个处理器,其中每个能配置的通信元件包括:多个通信端口;路由引擎,耦接到所述多个通信端口;多个存储器,其中所述多个存储器中的每个存储器耦接到处理器的子集;多个直接存储器访问DMA引擎,其中所述多个DMA引擎中的每个DMA引擎耦接到所述多个通信端口中的相应的一个;其中,所述多个DMA引擎中的第一DMA引擎被配置为对于多个存储器中的特定存储器的至少第一部分计算第一签名;其中,所述多个DMA引擎中的第二DMA引擎被配置为对于所述多个存储器中的所述特定存储器的至少第二部分计算第二签名;并且其中,所述多个处理器中的特定处理器被配置为比较所述第一签名和所述第二签名。

【技术特征摘要】
2012.11.21 US 61/728,9591.一种系统,包括:多个处理器,每个包括多个处理器端口;以及多个能配置的通信元件,以散布的方式耦接到所述多个处理器,其中每个能配置的通信元件包括:多个通信端口;路由引擎,耦接到所述多个通信端口;多个存储器,其中所述多个存储器中的每个存储器耦接到处理器的子集;多个直接存储器访问DMA引擎,其中所述多个DMA引擎中的每个DMA引擎耦接到所述多个通信端口中的相应的一个;其中,所述多个DMA引擎中的第一DMA引擎被配置为对于多个存储器中的特定存储器的至少第一部分计算第一签名;其中,所述多个DMA引擎中的第二DMA引擎被配置为对于所述多个存储器中的所述特定存储器的至少第二部分计算第二签名;并且其中,所述多个处理器中的特定处理器被配置为比较所述第一签名和所述第二签名。2.根据权利要求1所述的系统,其中,为了计算所述第一签名,所述第一DMA引擎进一步被配置为在第一寄存器中存储所述第一签名,并且其中,为了计算所述第二签名,所述第二DMA引擎进一步被配置为在第二寄存器中存储所述第二签名。3.根据权利要求2所述的系统,其中,为了比较所述第一签名和所述第二签名,所述特定处理器进一步被配置为至少访问所述第一寄存器和所述第二寄存器。4.根据权利要求1所述的系统,其中,所述多个能配置的通信元件中的第一能配置的通信元件中包括的特定DMA引擎被配置为对于耦接到该特定DMA引擎的特定存储器的至少一部分计算第三签名,并且其中,所述多个能配置的通信元件中的第二能配置的通信元件中包括的另一DMA引擎被配置为对于耦接到该另一DMA引擎的另一存储器的至少一部分计算第四签名,并且其中,所述多个处理器中的另一处理器被配置为比较所述第三签名和所述第四签名。5.根据权利要求1所述的系统,其中,第三DMA引擎被配置为比较所述第一签名和所述第二签名。6.根据权利要求1所述的系统,其中,所述第一DMA引擎进一步被配置为发出为所述第一签名指定特定目的地的第一路由消息,并且其中,所述第二DMA引擎进一步被配置为发出为所述第二签名指定所述特定目的地的第二路由消息。7.根据权利要求1所述的系统,其中,所述第一DMA引擎进一步配置为:在第一时间计算所...

【专利技术属性】
技术研发人员:C·多比斯M·特罗西诺K·拜恩德洛斯
申请(专利权)人:相干逻辑公司
类型:发明
国别省市:美国,US

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

1