Intel和Facebook 都看好的技术
据主从模块都连接在同一个互联矩阵上,当有多个模块同时需要使用总线传输数据时,则采用仲裁的方法来确定谁能使用总线,在仲裁中获得总线使用权限的设备则在完成数据读写后释放总线。ARM著名的AXI、AHB、APB等互联协议就是典型的总线型片上互联。 除了总线互联之外,另一种方法是Crossbar互联。总线互联同时只能有一对主从设备使用总线传输数据,因此对于需要较大带宽的架构来说不一定够用。除此之外,在一些系统架构中,一个主设备的数据往往会需要同时广播给多个从设备。在这种情况下,Crossbar就是更好的选择。Crossbar的主要特性是可以同时实现多个主从设备的数据传输,同时能实现一个主设备对多个从设备进行数据广播。然而,Crossbar的主要问题是互联线很复杂,给数字后端设计带来了较大的挑战。 与总线和Crossbar相比,NoC则是一种可扩展性更好的设计。NoC从计算机网络中获取了灵感,在芯片上也实现了一个类似的网络。在NoC架构中,每一个模块都连接到片上路由器,而模块传输的数据则是形成了一个个数据包,通过路由器去送达数 片上使用互联的模块数量增加时,NoC的复杂度并不会上升很多。这也是符合直觉的,因为NoC使用了类似计算机网络的架构,因此可以更好地支持多个互联模块,同时可以轻松地加入更多互联模块——这和我们把一台新的电脑接入互联网而几乎不会对互联网造成影响一样。与NoC相比,片上总线和Crossbar在互联模块数量上升时就显得有些力不从心,尤其是Crossbar的互联复杂性与互联模块的数量呈指数关系,因此一旦加入更多模组其后端物理设计就会要完全重做。当然,NoC为了实现可扩展性,也需要付出路由器逻辑之类的额外开销。因此,在互联模块数量较少时,片上总线和Crossbar因为设计简单而更适合;而一旦片上互联模块数量上升时(如大于30个模块),NoC的优势就得到体现,这时候路由器逻辑和网络协议的开销就可以忽略不计,因此在互联模块数量较多时NoC可以实现更高的性能,同时面积却更小。
NoC纵向的优势则来自于其物理层、传输层和接口是分开的。拿传统的总线为例,ARM的AXI接口在不同的版本定义了不同的信号,因此在使用不同版本的AXI时候,一方面模块的接口逻辑要重写,另一方面AXI矩阵的逻辑、物理实现和接口也要重写,因此造成了IP复用和向后兼容上的麻烦。而NoC中,传输层、物理层和接口是分开的,因此用户可以在传输层方便地自定义传输规则,而无需修改模块接口,而另一方面传输层的更改对于物理层互联的影响也不大,因此不用担心修改了传输层之后对于NoC的时钟频率造成显著的影响。 (编辑:青岛站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |