系统与设计
的意见

OSDN——芯片上的软件定义网络

不只是另一个NoCoff。

受欢迎程度

你必须对自己喃喃自语,“哦,不,不是NoC的另一篇文章!业内术语NoC被用的太多太滥,似乎每个人都声称他们有一个更有说什么吗?”

合理,但请迁就我。实际上,有一些的国有石油公司,但实际上很少有提供一个完整的网络。我提交,一个真正的NoC应该实现所有相同的关键设计元素,广域网。理想情况下,事实上,它应该是一个软件定义网络。为什么?

首先,让我们试着退一步理解为什么network-on-chip概念进入片上互连。的重要驱动因素之一是可伸缩性的必要性为了适应soc的快速发展在数量和集成的IPs的异质性。非常具体,提高soc的复杂性导致了新的挑战的线路拥堵,物理时间关闭,QoS /性能、交通拥堵、频率操作,呆板僵化的体系结构,复杂的系统依赖、可靠性、协议不可知论者、电源管理。纯粹从互连的角度来看问题,需要管理多个ip数据通信中,很容易看到这熟悉的问题,一个熟悉的解决方案。我们需要一个真正的网络解决方案,支持真正的分组,避免死锁,流水线,虚拟渠道,多种路线,身体意识,和可配置性。

真正的分组(减少布线拥挤)
增加的直接副作用之一的IPs数设计大量的电线需要实现的。这会影响到物理设计。最近的一项研究得出的结论是,大约50%的性能和能力在当今芯片被电线。众所周知,线延迟不规模以及逻辑延迟,这增加了挑战。AXI协议,需要五个频道和大量的电线,就几乎不可能路线的所有电线不推迟从物理设计团队。线位置并不是一个微不足道的任务,几乎是不可能达到收敛。当你认为你已经解决了布线拥挤在一个部分,它出现在另一个位置。有network-on-chip公司试图缓解这一问题,提供了一个通过共享相同的物理方法不同通道之间的电线。然而,这只是一个部分解决方案。这样的解决方案仍需要用户有一个完全独立和不相交的请求-响应网络。 These two networks do not share any physical resources and have their own set of switches (logic) and links (wires). One of the reasons this is done is to solve deadlock dependencies between channels. But this is a temporary solution in lieu of a systematic approach to deadlock avoidance, which I will cover in a later section. This translates into having dedicated wires for the WDATA and RDATA, and more overhead. A wire, is a wire, is a wire. PERIOD. If the same wire can carry AR and AW, why can’t it also carry R and W data? A real NoC should be designed to maximize the sharing of wires, and should not force the user to build two disjoint networks that increase not only the wire count, but also logic count within the interconnect.

避免死锁
死锁可以发生在不同的层:

  1. 协议层——例如,阿喜渠道之间的依赖关系
  2. 路由层-例如,路由路径之间的依赖关系
  3. 传输层(例如,由于共享资源的依赖性

希望没有死锁在一个设计,但是当一个人发生,不可否认,这是太迟了!更糟的是,它几乎是不可能找到根本原因。

我有一个6岁的女儿,我希望,在几年后,她不回家,说,“爸爸,这是我的男朋友,我计划和他度过剩下的生活。“我的生活不能没有她,她的生活不能没有他,我不能和他一起生活。所以,我们这里有什么?死锁。但我知道比坐在那里和希望。所以,我填满她的头和各种各样的信息如何可怕的男孩和远离他们。我希望她准备和预防情况,我就可以避免这个问题,不需要处理。但是因为这是真实的生活,我也有一个棒球棒在大门后面,以防。

爱因斯坦曾经说过,“知识分子解决问题;阻止他们的天才。“同样,NoC技术没有解决死锁问题,而是需要避免系统通过使用下面的方法:

  • 正式的技术和图论算法;
  • 使用隐式和显式定义Correct-by-construction交通依赖关系;
  • 系统的可伸缩的和健壮的处理复杂的拓扑结构和路由。

以信用为基础的协议(易于流水线为更高的频率)
加快处理流水线的一个通用方法,即几个指令的执行是交叉在相同的硬件上。然而,当流水线实现物理设计周期的后期就会导致性能退化的带宽。这是因为要求/标准协议不利于Rdy握手管道,因此,缓冲区溢出越来越频繁导致带宽退化。此外,昂贵的寄存器片必须添加到实现这些管道。然而,这些问题在很大程度上可以避免如果NoC支持以信用为基础的流量控制,这简化了循环依赖请求和承认之间的解耦。这意味着,如果设计需要管线式,以信用为基础的NoC流控制添加它,使它简单,即使需要在物理设计阶段。

虚拟渠道(通过减少head-of-line阻塞交通隔离)
尽管分包解决了布线情况,它不解决head-of-line阻塞问题,可以出现多个不同优先级和加载的交通流量。缓冲中可用的互连最终被共享的所有流量流经它。真正的网络使用虚拟通道的概念互相孤立的逻辑通道。注意这并不孤立他们身体因为他们仍然可以使用相同的电线(链接),但是使用逻辑上独立的缓冲区。传统的国有石油公司不支持虚拟通道,因此在这方面落后。然而,至少有一个公司现在提供了一个全方位的虚拟频道准备每交通流特性可在粒度、给用户控制性能与区域之间的权衡。虚拟通道允许根据需要使用隔离交通,并确保一个交通流不占用网络带宽。

多个航线(物理隔离)
尽管虚拟通道隔离交通从逻辑上讲,在某些情况下需要物理隔离的交通,没有门或者线被共享。之间不仅适用于从一双不同的主/从交通,但也在主/从一对。传统的NoC解决方案只有一个主/从一对之间的物理路径。他们将使用相同的路径定义的所有事务,因为路线奴隶地址。但除了性能之外,还有其他原因物理隔离路径,其中一个是可靠性。在当今世界的精细几何图形、系统必须能够处理失败,因此避免某些路径有问题。有多个航线能够使系统在极端物理条件下可靠地执行。此外,让用户决定如果控制开关线路,允许系统有效地处理不同的工作负载,实现更好的性能。

物理意识(快定时关闭)
线路拥堵的最大挑战之一是定时关闭。定时关闭的问题通常需要多次返工并通过物理时间收敛迭代循环。不幸的是,大部分的这些迭代发生在芯片设计的后期和可能导致不可预知的时间表和错失市场机会。定时关闭的很多问题是可以避免的,但是,如果NoC身体意识到各种桥梁的位置而言,IPs,路由器等。一个身体知道NoC将用户提供的灵活性的IPs平面布置图。它还将包括津贴让物理位置移动在稍后的阶段,而不需要完全重做互连。增加这些LEF / DEF准备抵押品和细节工艺使片上网络的真正优化SoC的世界。这种方法使设计时间清洁不仅仅在STA水平但更重要的是在布局水平。

netspeed-on-chip-software-defined-network

一个芯片上的软件定义网络

今天的SoC应用程序需要互连解决方案定制,定制的,但仍可配置和优化的动态工作负载。理想情况下,NoC将提供三个关键属性:设计自动化,高度的可配置性,运行时可编程性。

今天大量的IPs的用例,和交通需求,这是不可能的,如果不是不可能建立一个NoC符合规范和安排使用手工方法。不仅是一个耗时的手工工作,它不可行,原因是为所有用例优化。至少一个NoC平台提供了一个自动生成的NoC从系统架构师使用建筑需求。它使用机器学习技术来优化所有用例和图算法,以确保没有死锁。

每个应用程序都有自己的独特的需求,所以NoC平台应该满足这种需要的高度可配置的。NoC平台应该提供工具,允许用户配置NoC的所有功能在设计支持各种SoC-level需求而仍然保持IPs的特定需求和互连的完整性。

系统通常为典型的用例,但他们需要有足够的弹性以支持特定的工作量巨大,在需要时。这个驱动器需要一个健壮的组运行时可编程特性,系统软件可以取决于模具的特点NoC基于系统的状态。

更多信息在身体意识到NoC平台,支持先进的网络功能,访问www.netspeedsystems.com



留下一个回复


(注意:这个名字会显示公开)

Baidu