【ARM CoreLink 系列 1 -- SoC 片上互联介绍】

文章目录

    • 概述
    • 1.1 片上互连架构的发展
      • 1.1.1 BUS 共享总线结构
      • 1.1.2 Crossbar 结构
      • 1.1.3 Ring 结构
      • 1.1.4 Mesh 网格结构
    • 1.2 ARM 总线互联特点小结
      • 1.2.1 NOC 总线互联的特点

下篇文章:【ARM CoreLink 系列 1.1 – CoreLink 系列 产品介绍】

概述

在摩尔定律的推动下,集成电路工艺取得了高速发展,单位面积上的晶体管数量不断增加。片上系统(System-on-Chip,SoC)具有集成度高、功耗低、成本低等优势,已经成为大规模集成电路系统设计的主流方向,解决了通信、图像、计算、消费电子等领域的众多挑战性的难题。随着片上系统SoC的应用需求越来越丰富,SoC需要集成越来越多的不同应用的IP(Intellectual Property)。另外,片上多核系统MPSoC(MultiProcessor-System-on-Chip)也已经成为必然的发展趋势。

随着SoC的高度集成以及MPSoC的高速发展,对片上通信提出了更高的要求。片上网络技术(Network-on-Chip,NoC)在这个时候也得到了极大的应用,它本质上就是提供一种解决芯片内不同IP或者不同核心之间数据传输的片上通信方案。

1.1 片上互连架构的发展

片上互联架构的发展主要经历了三个阶段:共享总线(Bus)、Crossbar以及片上网络(NoC)。

1.1.1 BUS 共享总线结构

传统的SoC片上通信结构一般采用共享总线的方式。在共享总线结构中,所有的处理器和 IP 模块共享一条或多条总线。当有多个处理器同时访问一条总线时候需要有仲裁机制来决定总线的所有权。共享总线片上通信系统结构一般比较简单,且硬件代价也小。但是带宽有限,而且带宽也没法随着IP的增多而进行扩展。1996年,ARM公司提出的AMBA总线广泛应用于嵌入式微处理器的片上总线,现在已经成为事实上的工业标准。
在这里插入图片描述

图 1-1 典型的AMBA总线系统

1.1.2 Crossbar 结构

对于传统的共享总线,当多个处理器同时去访问不同的 IP 的时候,因为需要仲裁机制去决定总线的所有权,所以传统的总线方式在这种情况下就会造成一定的瓶颈,最大的问题就是访问的延时。在这种情况下,为了满足多处理同时访问的需求和提高整个系统的带宽,一种新的解决方案Crossbar孕育而生,如图 1-2 就是一个典型的 Crossbar 结构。
在这里插入图片描述

图 1-2 典型的单向8x8 Crossbar

Crossbar 结构 可以同时实现多个主从设备的数据传输,也能实现一个主设备对多个从设备进行数据广播,如图1-3 所示。
在这里插入图片描述

图 1-3 Crossbar

Crossbar 主要面向对超高带宽要求的系统,或者是主设备有经常向多个从设备发送广播数据需求的系统。如果互连组件太多,这种结构的内部走线会非常多,不利于物理实现,对数字后端设计带来很大挑战。比较常见的 Crossbar 类型 IP 如 ARM 公司的 NIC-400。

1.1.3 Ring 结构

环型(Ring)结构,将网络中的节点首尾相连,形成一个环状,各个模块之间交互方便,不需要主控中转,功能单元通过网络接口将信息送上环,消息在环上逐个节点进行传递,每次只能前进一个节点,消息到达与目的功能单元连接的节点后被送下环,转到网络接口,进而传递给目的功能单元。

环型互联进一步划分为单环双环,单环只有一个方向(顺时针或逆时针),如图1-4所示,即使是相邻节点,也可能需要经过所有节点才能到达;
在这里插入图片描述

图 1-4 Single Ring

而双环有两个方向(顺时针和逆时针),如图1-5 所示:
在这里插入图片描述

图 1-5 Dul Ring

消息可以根据源和目的的距离自动选择最近的方向,这样的设计可以保证任意两个节点之间的距离不超过总数的一半。因此,有效降低延迟(相邻节点之间延迟不超过60ns),并极大提高性能(最高吞吐量可达数百G),同时方便扩展(只需在环上增加一个节点即可)。但随着内核数量的增加,环会越来越长,从而导致延迟越来越大,当内核数多于12个以后,整体性能下降明显。比较常见的ring 类型 IP 如ARM公司的CCN。

1.1.4 Mesh 网格结构

二维网格(mesh),这种拓扑结构可以提供更大的带宽,而且是可以模块化,通过增加网格的行或列来增加更多的节点,ARM的CMN-600就是基于mesh的互连IP。
在这里插入图片描述

图 1-5 Mesh

每个节点只与其同行和同列的相邻节点连接。如上图1-6所示,共有16个节点,每个节点连接一个网络接口,16个节点排列成4x4的网格。网格属于多维拓扑,至少是2维,并可以逐步扩展到3维或更高维。

如图1-7所示,IP Core为NoC互连的组件,NI为接入NoC的接口,R为NoC中的路由器,物理链接(Physical link)为路由器之间的连接总线。
在这里插入图片描述

图 1-7 典型的2D mesh的4X4 NOC网络拓扑结构图

NoC的优势主要体现在如下两个方面。

  • 高可扩展性。NoC类似计算机网络的结构,当互连的组件增加时,NoC的互连复杂度并不会增加很多。而传统的简单总线和交叉开关随着互连模块的增多,其互连复杂度呈指数级增加;

  • 分层设计。NoC的物理层、传输层和接口是分开的,用户可以在传输层方便地自定义传输规则,而无须修改模块接口,传输层的更改对物理层互连的影响也不大,因此不会对NoC的时钟频率造成显著影响。

AMBA 5 CHI协议可提供网络和数据中心等基础设施应用所需的性能和规模。AMBA 5 CHI协议可在单个片上系统扩展32个或更多处理器。

还有一种环面(Torus)拓扑,与网格类似,区别在于提供了同行和同列的最远端的两个节点的连线,即每行和每列都是一个环。

1.2 ARM 总线互联特点小结

在以 ARM 为主的 SoC系统,接口层和协议层采用AMBA协议标准、通信层可采用多种拓扑结构,如总线型、Ring型、Crossbar型和Mesh型等。

面向单核系统

  • APB协议,采用总线结构,用于低速外设连接;
  • AHB/AHB-Lite/AXI协议,采用总线结构,用于高速外设连接。

面向多核系统

  • NIC 技术,采用 Crossbar 结构(扩展性较强,latency比较小,因为是点到点,对memory controller对带宽分配不够灵活),没有固定拓扑,不支持一致性,适用于简单场景;
  • NoC 技术,采用 Mesh 结构,没有固定拓扑,采用小路由器作为节点,连线更少频率更高,支持一致性,可以连接大量设备;
  • CCI 技术,采用 Crossbar 结构,固定拓扑,支持一致性,适用于少量处理器;
  • CCN 技术,采用 Ring 结构,通过固定交叉点连成一个环,延迟大但频率高,支持一致性,适用于16核以上处理器;
  • CMN 技术,采用 Mesh 结构,通过固定交叉点形成 NxN 网络,支持一致性,适用于更多处理器核。

1.2.1 NOC 总线互联的特点

  • 无论所连接的外设是 AXI 的 CPU 或者其他CHI系列的设备,比如 DDR,或者更高协议的外设,NOC 都能够转化为内部的 packet,这些 packet 按照一定的格式在它到的拓扑结构里进行传输,也就是把标准的协议转化为内部的 package。Package 传输就会有一些特点,即使系统变的很复杂,它里面的绕线也比较少。
  • NOC 总线在设计的时候就是为了解决高速信号的传输,因此很多NOC 总线都考虑到 physical awareness 的特性,也就是用工具生成NOC总线的时候,它能根据 Feature上的定义及需求 去做虚拟的 PR;
  • NOC 总线对后端实现比较友好,比如支持多个 Clock domain,power domain,这些特性都是 cross bar 总线可能不具备的。所以NOC 总线可以跑在更高的频点上;
  • NOC 内部 QoS 机制非常好,对带宽的分配,对不同应用场景的满足,相对于Crossbar 来讲更容易实现。

下篇文章:【ARM CoreLink 系列 1.1 – CoreLink 系列 产品介绍】

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/98600.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Linux基础】Linux的基本指令使用(超详细解析,小白必看系列)

👉系列专栏:【Linux基础】 🙈个人主页:sunnyll 目录 💦 ls 指令 💦 pwd指令 💦cd指令 💦touch指令 💦mkdir指令(重要) 💦rmdir指令…

智慧工地:数字革命下的建筑业新趋势

在当今建筑领域,智慧工地正迅速崭露头角。这个概念不仅代表了技术进步,还预示着建筑行业的数字化和智能化未来。从多个角度来看,智慧工地都具有深远的意义,它正在改变着我们建筑的方式和未来。 提高工程效率 智慧工地利用物联网&…

正点原子嵌入式linux驱动开发——Linux内核启动流程

上一篇笔记学习了Linux内核的顶层Makefile,现在来看Linux内核的大致启动流程,Linux内核的启 动流程要比uboot复杂的多,涉及到的内容也更多,因此本章就大致的了解一Linux内核的启动流程。 链接脚本vmlinux.lds 要分析Linux启动流…

2023年10月9日历史上的今天大事件早读

1740年10月09日红溪惨案 1874年10月09日万国邮政联盟成立 1912年10月09日第一次巴尔干战争爆发 1913年10月09日武昌起义元勋蒋翊武被害 1924年10月09日近代翻译家林纾(林琴南)逝世 1934年10月09日南斯拉夫国王遇刺身亡 1936年10月09日红军三大主力会师 1941年10月09日第…

电子招标投标系统 —采购招投标管理一体化系统-

项目说明 随着公司的快速发展,企业人员和经营规模不断壮大,公司对内部招采管理的提升提出了更高的要求。在企业里建立一个公平、公开、公正的采购环境,最大限度控制采购成本至关重要。符合国家电子招投标法律法规及相关规范,以及审…

SSL证书一次性购买多年期,有什么好处?

根据国际标准要求,2020 年 9 月 1 日起,全球信任的SSL证书最长有效期不能超过一年(398天)。一方面SSL证书有效期缩短可以大大提升SSL证书的安全性,但另一方面也意味着,用户每年都需要重复采购、付款、验证等…

数据重整:用Java实现精准Excel数据排序的实用策略

摘要:本文由葡萄城技术团队原创并首发。转载请注明出处:葡萄城官网,葡萄城为开发者提供专业的开发工具、解决方案和服务,赋能开发者。 前言 在数据处理或者数据分析的场景中,需要对已有的数据进行排序,在E…

什么是基于意图的网络(IBN)

基于意图的网络是一种网络技术,它根据业务意图(来自网络管理员的服务请求)配置 IT 基础架构,无需任何人工干预,它不断提供关键的网络见解,并不断调整硬件配置以确保满足意图,它将网络从以设备为…

【重拾C语言】七、指针(一)指针与变量、指针操作、指向指针的指针

目录 前言 七、指针 7.1 指针与变量 7.1.1 指针类型和指针变量 7.1.2 指针所指变量 7.1.3 空指针、无效指针 7.2 指针操作 7.2.1 指针的算术运算 7.2.2 指针的比较 7.2.3 指针的递增和递减 7.3 指向指针的指针 前言 指针是C语言中一个重要的概念正确灵活运用指针 可…

机器学习笔记 - 两个静态手势识别的简单示例

一、关于手势识别 手势识别方法通常分为两类:静态或动态。 静态手势是那些只需要在分类器的输入处处理单个图像的手势,这种方法的优点是计算成本较低。动态手势需要处理图像序列和更复杂的手势识别方法。 进一步了解可以参考下面链接。 静态手势识别和动态手势识别的区别和技…

【MATLAB源码-第43期】基于matlab的turbo码误码率仿真比较不同迭代次数,采用logmap/sova算法。

操作环境: MATLAB 2022a 1、算法描述 Turbo码是一种前向纠错码 (Forward Error Correction, FEC),在 1993 年由法国的两位研究员 Claude Berrou 和 Alain Glavieux 提出。这种编码技术以其接近 Shannon 极限的高性能而受到广泛关注。以下是关于 Turbo…

手摸手系列之批量修改MySQL数据库所有表中某些字段的类型

在迁移老项目的数据库时,使用Navicat Premium的数据传输功能同步了表结构和数据。但是,发现某些字段的数据类型出现了错误,例如,租户ID从Oracle的NUMBER类型变成了MySQL的decimal(10),正确的应该是bigInt(20)。此外&am…

这道面试题工作中经常碰到,但 99% 的程序员都答不上来

小时候都被问过一个脑筋急转弯,把大象放进冰箱有几个步骤?我们一开始都会抓耳挠腮,去想着该如何把大象塞进冰箱。最终揭晓的答案却根本不关心具体的操作方法,只是提供了 3 个步骤组成的流程,「把冰箱打开,把…

【力扣每日一题】2023.10.7 股票价格跨度

目录 题目: 示例: 分析: 代码: 题目: 示例: 分析: 给我们一个数组表示不同时间的股票的价格,要我们按照顺序返回每天的股票价格跨度,价格跨度就是股票价格小于或等于…

[python 刷题] 76 Minimum Window Substring

[python 刷题] 76 Minimum Window Substring 题目: Given two strings s and t of lengths m and n respectively, return the minimum window substring of s such that every character in t (including duplicates) is included in the window. If there is no …

voc数据集格式与yolo数据集格式的区别及相互转化

Pascal VOC数据集是目标检测领域最常用的标准数据集之一,几乎所有检测方向的论文都会给出其在VOC数据集上训练并评测的效果。VOC数据集包含的信息非常全,它不仅被拿来做目标检测,也可以拿来做分割等任务,因此除了目标检测所需的文…

2023高交会“创新驱动发展·智慧赋能未来”招商工作已接近尾声

第二十五届中国国际高新技术成果交易会(简称“高交会”)将于2023年11月15日至19日在深圳会展中心举行。本届高交会以“创新驱动发展智慧赋能未来”为主题,聚焦战略性新兴产业和未来产业,集中展示中国高新技术成果和创新实力。 作为…

androidStudio第一次运行报错无法运行

安卓第一次运行失败 大家好,我使用androidStudio新建了一个测试demo第一次运行,结果失败了,显示如下图: 然后查了各种方法,都是没有用,最后 历经困难,还是找到了,原来是 gradle的依…

Python 无废话-办公自动化Excel格式美化

设置字体 在使用openpyxl 处理excel 设置格式,需要导入Font类,设置Font初始化参数,常见参数如下: 关键字参数 数据类型 描述 name 字符串 字体名称,如Calibri或Times New Roman size 整型 大小点数 bold …

分类预测 | MATLAB实现POA-CNN鹈鹕算法优化卷积神经网络多特征分类预测

分类预测 | MATLAB实现POA-CNN鹈鹕算法优化卷积神经网络多特征分类预测 目录 分类预测 | MATLAB实现POA-CNN鹈鹕算法优化卷积神经网络多特征分类预测分类效果基本描述程序设计参考资料 分类效果 基本描述 1.Matlab实现POA-CNN鹈鹕算法优化卷积神经网络多特征分类预测&#xff0…