多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
在芯片设计中,SoC(System on Chip)和NoC(Network on Chip)是两个不同的架构,它们在内部通信方式、设计理念方面存在着很大的差异。 SoC以紧凑的结构和低功耗著称,适用于小型和低功耗的应用,而NoC则采用分布式通信的方式,能够为大规模的系统和高带宽应用提供高效的通信方式。 随着互联网、物联网等领域的不断发展,NoC架构的芯片技术也将得到更广泛的应用。 本文将探讨SoC和NoC架构的差异以及各自的优势与挑战。 **共享总线:**共享总线(如[ARM](https://www.hqchip.com/app/1378)的AMBA总线和IBM的CoreConnect总线)是SoC中常用的通信机制。 它们支持使用标准[接口](https://m.hqchip.com/app/1787)并允许 IP 重用的模块化设计方法,但随着系统带宽需求的扩大,共享总线结构成为性能瓶颈。 **分层总线:**分层总线涉及使用多个总线或总线段来减轻主总线上的负载。 这种层次结构允许同一总线段上的模块之间进行本地通信,而不会导致总线其余部分拥塞。 这种方法的缺点是降低了灵活性和可扩展性,并且设计过程很复杂。 连接到总线上的内核越多,实现时间收敛和服务质量的难度就越大。 **总线矩阵:**full c[ros](https://m.elecfans.com/v/tag/1004/)sbar系统是片上总线通信的替代方案。 不过,随着参与系统数量的增加,线路的复杂性可能会超过逻辑部分。 当进行系统升级时,接口设计会受到影响,所有连接模块都会受到影响。 尽管受益于亚微米技术,计算和存储使用更小的逻辑单元和内存,但通信的能量并没有按比例减少。 相反,串扰效应、电迁移和互连延迟对时序收敛会产生负面影响。 2000 年代初期,一些技术人员提出使用预定义平台来实现芯片中多个内核之间的通信,这种集成交换[网络](https://m.elecfans.com/v/tag/1722/)能够满足未来系统的可重用性、可扩展带宽和低功耗等关键需求,称为**片上网络(Network-on-Chip,简称NoC)**。 NoC是一种新型的芯片内通信结构,它采用类似计算机网络的设计思想,将片上系统内部的各个[处理器](https://www.hqchip.com/app/1381)、存储器、I/O等单元连接起来,形成一个可重构的、高效的、灵活的[通信网络](https://www.elecfans.com/tongxin/)。 **NoC 与Soc** SoC(System on Chip)是一种在单个芯片上集成多个不同功能的[电子](https://www.hqchip.com/ask/)系统的设计方法。 在SoC中,不同的组件(如处理器核心、内存[控制器](https://m.hqchip.com/app/1716)、图形处理器等)被集成在同一个芯片上,以便于更高效、更紧凑的设计和制造。 根据应用的不同,SoC 设计通常包含存储设备、[RAM](https://www.elecfans.com/tags/ram/)/[ROM](https://www.elecfans.com/tags/rom/)内存块、中央处理器 ([CPU](https://www.elecfans.com/v/tag/132/))、输入/输出[端口](https://www.hqchip.com/app/1808)和外围接口,例如[定时器](https://www.elecfans.com/tags/%E5%AE%9A%E6%97%B6%E5%99%A8/)、内部[集成电路](https://m.elecfans.com/v/tag/123/)、通用异步接收/发送器([UART](https://www.elecfans.com/tags/uart/))、图形处理单元([GPU](https://www.elecfans.com/tags/gpu/))、控制器区域网络([CAN](https://www.hqchip.com/app/2004))、串行外设接口(SPI)等。 此外,根据需要,还可以包括浮点单元或[模拟](https://www.elecfans.com/analog/)/[数字信号](https://www.hqchip.com/app/1381)处理系统。 **3NoC架构** NoC 架构主要由三个模块组成。 第一个也是最重要的,是物理连接节点并实现通信的链路。 第二个是路由器,实现通信协议。 最后一个是网络适配器 (NA) 或网络接口 (NI),在 IP 核和网络之间建立逻辑连接。 目前SoC设计相对比较成熟。 大部分芯片公司[芯片制造](https://m.elecfans.com/v/tag/207/)都采用SoC架构。 然而,随着商业应用开始不断追求指令运行并存性和预测性,芯片中集成的核数目将不断增多,基于总线架构的SoC将逐渐难以不断增长的计算需求。 其主要表现为: **可扩展性差。** SoC系统设计是从系统需求分析开始,确定[硬件](https://www.elecfans.com/v/tag/1751/)系统中的模块。 为了使系统能够正确工作,SoC中各物理模块在芯片上的位置是相对固定的。 一旦在物理设计完毕后,要进行修改,实际上就有可能是一次重新设计的过程。 另一方面,基于总线架构的SoC,由于总线架构固有的仲裁通信机制,即同一时刻只能有一对处理器核心进行通信,限制了可以在其上扩展的处理器核心的数量。 **平均通信效率低。** SoC中采用基于独占机制的总线架构,其各个功能模块只有在获得总线控制权后才能和系统中其他模块进行通信。 从整体来看,一个模块取得总线仲裁权进行通信时,系统中的其他模块必须等待,直到总线空闲。 **单一[时钟](https://www.elecfans.com/tags/%E6%97%B6%E9%92%9F/)同步问题。** 总线结构要求全局同步,然而随着工艺特征尺寸越来越小,工作频率迅速上升,达到10GHz以后,连线延时造成的影响将严重到无法设计全局时钟树的成都,而且由于时钟网络庞大,其功耗将占据芯片总功耗的大部分。 NoC是一种基于网络结构的芯片内通信方式,它使用专门设计的网络拓扑来实现不同组件之间的通信。 与传统的总线结构相比,NoC能够提供更高的带宽、更低的延迟和更好的可扩展性。 **链路:**链路是路由器之间传输数据的物理通道,可以是[电气](https://m.elecfans.com/v/tag/2364/)[信号](https://www.hqchip.com/app/1072)线、光纤、无线信号等。 链路的带宽和延迟是影响NoC性能的重要因素,因此链路的设计需要充分考虑数据传输的速度和可靠性。 **路由器:**路由器是NoC的基本组成部分,用于连接芯片内部的各个处理器、存储器、I/O等单元。 路由器的作用是负责接收来自不同节点的数据,然后根据预先定义的路由算法,将数据转发到目标节点。 路由器通常具有多个输入端口和输出端口,可以同时处理多条数据流。 路由器还包含一个逻辑块,实现流控制策略(路由、仲裁器等),并定义通过NoC移动数据的总体策略。