上海外贸建站推广公司,服务专业的网站建设公司,网页游戏排行榜人气,wordpress访问次数前言
NoC#xff1a;On-Chip Networks#xff0c;片上网络。 由于多核乃至众核时代的到来#xff0c;用于连接它们的可扩展、低延迟、大带宽的通信结构变得至关重要。 在核心较少时#xff0c;总线Bus和矩阵/交叉开关Crossbar是主要的互联结构。总线可以提供较低的传输延迟…
前言
NoCOn-Chip Networks片上网络。 由于多核乃至众核时代的到来用于连接它们的可扩展、低延迟、大带宽的通信结构变得至关重要。 在核心较少时总线Bus和矩阵/交叉开关Crossbar是主要的互联结构。总线可以提供较低的传输延迟但是无法提供足够的带宽。Crossbar具有大的带宽和相对较低的延迟但是受限于面积和功耗方面的表现规模扩展性不佳。 因此片上网络正迅速取代总线和矩阵开关成为多核芯片中普遍存在的通信结构。 1.片上网络的演变 片上网络作为广义的互连网络的一个子集可以看作是用于实现节点之间数据传输的可编程系统。片上网络可以被视为一个系统是因为它集成了许多组件,包括通道(channel)、缓冲区(buffer)、交换单元(switch)和控制(control)。 当节点数量很少时可以使用专用的布线来连接它们。然而当片上节点数量激增时使用专用布线是不可行的这是因为直接连接每个节点所需的布线量过高。 在计算核心数量较少的设计中可以采用总线和交叉开关。在传统的多处理器系统和更新的多核架构中基于总线的系统只能扩展连接数量不多的处理器。这种有限的可扩展性是因为添加到总线上的计算核心越多这些计算核心对总线的竞争就越大从而使总线流量迅速饱和。在这种情况下每个连接到总线的处理器很难获得足够大的带宽。而且驱动长距离物理连线的总线所需的功耗也比较大。此外随着计算核心数量的增加集总式仲裁器(arbiter)也会带来额外的仲裁延迟。为了解决这些问题复杂的总线设计采用了分段(segmentation)、分布式仲裁(distributed arbitration)、分离传输(split transactions)等技术使其越来越类似于基于开关结构的片上网络。 交叉开关解决了总线的带宽问题并已用于少量节点的片上互连。但是随着计算核心数量的增加它们需要占用较大的芯片面积并且产生更大的功耗因此其可扩展性并不理想。例如某A处理器采用8×9 的扁平交叉开关互连所有计算核心其存储控制器的面积开销几乎等同于单个计算核心。为了应对该问题,层级交叉开关(hierarchical crossbar)应运而生,其中计算核心采用簇(cluster)的方式进行组织——一个簇构成一个节点并且使用多级较小规模的交叉开关来提供不同层级间的互连。举例来说对于某B架构中的16个计算核心如果使用相同的扁平交叉开关架构则需要一个 17×17的交叉开关其面积开销至少比最终采用5×5的层级交叉开关设计大8倍(5×5的层级交叉开关设计每4个计算核心组成一个簇簇和簇之间通过5×5 的交叉开关进行连接)。这些复杂的交叉开关结构类似于多跳(multi-hop)片上网络其中每一跳完成一层交叉开关内的数据传输。 由于多种原因片上网络是总线和交叉开关最有吸引力的替代方案。首先片上网络为片上通信提供了一种可扩展的解决方案因为它们能够使用较小的面积提供可扩展的带宽并且随着节点数量的增加提供近似线性的带宽增幅。其次片上网络的布线非常高效在相同链路上复用不同的通信流进而提供更大的传输带宽。最后具有规则拓扑结构的片上网络具有固定长度的局部短互连因此可以使用规则的可复用结构进行模块化优化和构建从而减轻了验证的负担。
2.片上网络的基本构建模块 片上网络的设计可以分解为各种构建模块 拓扑、路由、流控、路由器微体系结构以及链路结构。本书的其余部分是按照这些构建模块顺序组织的我们在此简要介绍每一个模块。
1. 拓扑 片上网络由传输通道和路由器(router)节点组成。网络拓扑确定了网络中节点和通道之间的物理布局和连接。
2. 路由 对于给定的拓扑路由算法确定消息从源节点到达其目的节点所通过的网络路径。路由算法平衡流量(或负载)的能力直接影响了片上网络的吞吐量和性能。
3. 流控 流控制是指在消息通过网络时如何为消息分配资源。流控制机制负责为等待的数据包分配(和解除分配)缓冲区和通道带宽。与基于以太网技术的片外网络相比大多数片上网络设计被认为是无损设计①。
4. 路由器微体系结构 常见的路由器微体系结构由以下组件组成输入缓冲区(input buffer)、路由器状态(route r state)、路由逻辑(routing logic)、分配器(allocator)和交叉开关(crossbar)。路由器功能通常设计成流水线结构以提高吞吐量。片上网络中经过路由器产生的延迟是通信延迟的主要部分。因此大量的研究工作通过减少路由器流水线级数来降低网络延迟。
5. 链路结构 大多数片上网络原型使用传统的全摆幅逻辑和带有中继器(repeater)的连线。当传输数据1(高电平)时全摆幅线从0V(接地)提高到电源电压当传输数据0(低电平)时全摆幅线从电源电压降低到0 V(接地)。对于较长的连线降低延迟的有效方法是插入等间隔的中继器(反相器或缓冲区)使延迟能够与中继器的数量(而不是长度的二次方)成线性关系。
3.性能和成本 在讨论不同的片上设计要点和相关研究时重要的是要考虑网络的性能和成本的均衡。性能通常使用网络传输延迟或所接受的流量来衡量。粗略的性能估算经常使用零负载延迟(zero-lo ad latency)作为指标即当网络中没有其他数据包传输时数据包经历网络所需要的时间。零负载延迟提供了平均消息延迟的下限。可以通过平均传输距离(以网络跳数给出)乘以每一跳所需要的延迟来计算零负载延迟的具体数值。 除了提供低延迟的通信网络还必须提供高吞吐量。因此性能也通过其吞吐量来衡量。高饱和吞吐量表明在所有数据包经历非常高的延迟之前(未饱和时)网络可以接受大量的流量维持更大的带宽。下图展示了片上网络的延迟和吞吐量的关系曲线标注了零负载延迟和饱和吞吐量。 与片上网络相关的两个最主要的开销是面积和功耗。