【ARM CoreLink 系列 2 -- CCI-400 控制器简介】

news2024/11/25 3:39:02

文章目录

    • CCI-400 介绍
      • DVM 机制介绍
      • DVM 消息传输过程
      • TOKEN 机制介绍

下篇文章:ARM CoreLink 系列 3 – CCI-550 控制器介绍

CCI-400 介绍

CCI(Cache Coherent Interconnect)是ARM 中 的Cache一致性控制器。
在这里插入图片描述

CCI-400 将 Interconnect 和coherency 功能结合到一个模块中。它支持多达两个ACE master 点的interface,例如:

Cortex®-A7 processor
Cortex-A15 processor
Cortex-A17 processor
Cortex-A53 processor
Cortex-A57 processor

FeatureDetails
AMBA specificationsAMBA 4 ACE and ACE-Lite
ACE Slave interfaces2 for fully coherent processors including Arm Cortex
ACE-Lite slave interfaces1-3 for IO coherent devices such as Mali processors, accelerators and IO
Memory and system master interfaces1-2 memory interfaces 1 system interface
CoherencyBroadcast snoop protocol
Memory map40 bit Physical, configurable address map 44 bit DVM

CCI-400还支持多达三个ACE-Lite主站,例如,ARM MaliTM-T600系列图形处理器单元(GPU)。
所有这些接口都有可选的DVM消息支持,以管理分布式内存管理单元(MMU),例如CoreLink MMU-400。这些单元可以通过CCI-400与最多三个ACE-Lite从机进行通信。

硬件管理的一致性可以通过共享片上数据来提高系统性能和降低系统功耗。

CCI-400 cache一致性控制器实现了ACE协议,demo系统框图如下所示:
在这里插入图片描述
CCI-400cache一致性控制器是一个基础设施组件,支持以下内容:

  • 在最多两个 ACE 主站和三个ACE-Lite主站之间的数据一致性,有三个独立的序列化点(PoS)和全屏障支持。

  • 主站和最多三个从站之间的高带宽、跨栏互连功能。

  • 主站之间的DVM消息传输,DVM消息主要用于通知系统中的其他处理器,一段内存的缓存状态发生了变化。例如,当一个处理器需要写入一段内存时,它会通过发送DVM消息,通知其他处理器该内存的缓存需要被更新或者失效。

  • QoS虚拟网络(QVN):本质上是一种 Virtual 的 Network,我们知道从一个 master 到一个slave,它中间走的实际路线叫做physical network,在physical network上根据需要还可以设置多个virtual 的 network,在 virtual network之间,通过类似于token这种机制(只有一个master获得了token,它才有资格去往下发送它的一些传输的请求)。QVN 机制使用这种 virtual network,使用这种基于token的机制去传输数据能够很好的避免系统拥塞。

  • 服务质量(QoS)调节:QoS机制可认为是一种资源分配的机制,比如根据 outstanding 的能力,去限制某一个端口发送数据的能力。还可以根据发送速率或者传输的latency来分配transaction,这些都是QoS-400能够做到的。

  • 性能监测单元(PMU),统计与性能有关的事件。

DVM 机制介绍

Distributed Virtual Memory(DVM)机制是一种用于实现分布式虚拟内存的技术。它允许多个处理器共享同一块物理内存,并通过高速网络连接进行通信。

DVM机制的核心思想是将物理内存划分为多个虚拟内存空间,并将这些虚拟内存空间分配给不同的处理器。每个处理器只能访问自己的虚拟内存空间,但可以通过网络与其他处理器进行通信和共享数据。

DVM机制的实现主要依赖于以下几个关键技术:

  • 虚拟内存管理:每个处理器都有自己的虚拟地址空间,通过地址转换机制将虚拟地址映射到物理地址。这样可以实现不同处理器之间的地址隔离和虚拟内存的管理。
  • 数据共享:处理器可以通过网络连接,将自己的虚拟内存中的数据共享给其他处理器。这种数据共享可以通过消息传递、远程存取等方式实现。
  • 一致性维护:由于多个处理器共享同一块物理内存,需要保证数据的一致性。当一个处理器修改了共享内存中的数据时,其他处理器需要及时获得最新的数据,以保证一致性。这通常需要使用一致性协议和缓存一致性机制。

DVM机制的优点是可以充分利用多处理器系统的计算资源,提高系统的性能和可扩展性。它适用于需要高并发和大规模数据共享的应用场景,例如分布式计算、数据中心等。

需要注意的是,DVM机制并非ARM处理器中的内置特性,而是一种通用的分布式计算技术。在ARM处理器中,可以通过软件实现DVM机制,或者使用一些专门的硬件实现,如ARM的CoreLink CCI(Cache Coherent Interconnect)系列产品。这些产品提供了高性能的互连网络和缓存一致性机制,以支持分布式虚拟内存的实现。

DVM 消息传输过程

DVM消息的传输过程如下:

  • 当一个处理器需要改变某段内存的状态时(例如,写入数据),它会生成一个DVM消息,并将其发送到CCI。

  • CCI在收到DVM消息后,会将其转发到其他连接到CCI的处理器。这些处理器在收到DVM消息后,会检查自己的缓存,如果缓存中包含了该内存,那么会根据DVM消息的类型进行相应的操作,例如,更新缓存或者将缓存失效。

  • 当所有的处理器都对DVM消息进行了响应之后,CCI会向原始处理器发送一个确认消息,表示该DVM消息已经被所有的处理器处理完毕。

如下是 DVMop 一个典型的应用:
在这里插入图片描述
在这里插入图片描述

通过DVM消息,处理器可以有效地维护缓存一致性,确保在多处理器系统中,所有的处理器都可以看到最新的数据。这对于提高多处理器系统的性能和可靠性具有重要意义。

需要注意的是,DVM消息的具体实现可能会因ARM的不同产品而有所不同。具体的细节,如DVM消息类型、格式和传输过程,需要参考相关的硬件文档和规范。

TOKEN 机制介绍

在多个设备同时访问总线时,如果不进行流量控制,可能会导致数据冲突和混乱。为了避免这种情况,ARM引入了总线token机制。

总线token机制基于一个令牌(token)的概念。令牌可以理解为一种权限,只有持有令牌的设备才能在总线上进行数据传输。当一个设备需要访问总线时,它必须请求令牌。如果当前总线上没有令牌可用,设备必须等待,直到有令牌可用为止。一旦设备获得令牌,它就可以在总线上进行数据传输。当传输完成后,设备释放令牌,使其可供其他设备使用。

总线token机制具有以下特点:

  • 确保数据传输的有序性:每次只有一个设备可以持有令牌,这样可以保证数据传输按照请求的顺序进行。
  • 控制总线的带宽:通过令牌管理,可以控制总线上的设备数量,以控制总线的带宽使用情况,避免过多设备同时访问总线导致的性能下降。
  • 提高系统的可靠性:总线token机制可以避免数据冲突和竞争,从而提高系统的可靠性和稳定性。

总线token机制是ARM处理器中用于管理总线上的数据传输的一种重要机制,能够保证数据传输的有序性和可靠性。在多设备同时访问总线的情况下,总线token机制可以有效地管理和控制数据传输。

下篇文章:ARM CoreLink 系列 3 – CCI-550 控制器介绍

推荐阅读
https://blog.51cto.com/qmiller/5285105

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

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

相关文章

【Hello Algorithm】贪心算法

本篇博客介绍: 简单介绍下贪心算法 贪心算法 介绍贪心算法最小字典序的字符串拼接最多会议数切棍子的最小成本IPO灯塔问题 介绍贪心算法 贪心算法是一种极具有自然智慧的算法 它会使用以一种局部最功利的标准来做出一个当前看来最好的选择 如果说我们根据局部最优…

Spring基础及IoC容器的理解

Spring概念: 通常所说的Spring指的是Spring Framewprk(Spring框架),它是一个开源的框架。用一句话概括就是:Spring是包含了众多工具方法的IoC容器。 什么是容器? 容器是用来容纳某种物品的装置,在之前的学习中&…

运动蓝牙耳机哪个品牌好、运动蓝牙耳机推荐

随着健康生活理念的广泛普及,对于很多人来说,运动已经成为他们日常生活不可或缺的重要组成部分。在激情四溢的健身运动中,我们既能够放松身心,减轻工作压力,又能够强健身体,增强免疫力,可谓一举…

代码随想录第31天 | 435. 无重叠区间 ● 763.划分字母区间 ● 56. 合并区间

435. 无重叠区间 /*** param {number[][]} intervals* return {number}*/ var eraseOverlapIntervals function(intervals) {intervals.sort((x,y)>(x[1]-y[1]))let r1for(let i0;i<intervals.length-1;i){//重叠if(intervals[i][1]>intervals[i1][0]){intervals[i…

向量数据库Milvus Cloud 2.3 工具升级: 解锁全新的运维功能

Milvus Cloud 2.3 已经发布,并且带来了一系列令人激动的新功能和升级。在这次升级中,Birdwatcher工具也得到了全面升级,为用户提供了更多强大的功能和更便捷的操作方式。在这篇文章中,我们将深入探讨Birdwatcher工具的升级内容,并带您一览Milvus Cloud 2.3的运维新特性。 …

2023数学建模国赛E题黄河水沙监测数据分析完整代码分析+处理结果+思路文档

已经写出国赛E题黄河水沙监测数据分析完整代码分析处理结果思路分析&#xff08;30页&#xff09;&#xff0c;包括数据预处理、数据可视化&#xff08;分组数据分布图可视化、相关系数热力图可视化、散点图可视化&#xff09;、回归模型&#xff08;决策树回归模型、随机森林回…

JAVA培训-核心概念学习

JAVA培训-核心概念 1. SpringBoot 1.1 理清概念(Spring、SpringMvc、SpringBoot、SpringCloud) 1、Spring Spring是一个开源容器框架&#xff0c;可以接管web层&#xff0c;业务层&#xff0c;dao层&#xff0c;持久层的组件&#xff0c;并且可以配置各种bean,和维护bean与…

【用unity实现100个游戏之10】复刻经典俄罗斯方块游戏

文章目录 前言网格生成Block方块脚本俄罗斯方块基类&#xff0c;绘制方块形状移动逻辑限制移动自由下落下落后设置对应风格为不可移动类型检查当前方块是否可以向指定方向移动旋转逻辑消除逻辑游戏结束逻辑怪物生成源码参考完结 前言 当今游戏产业中&#xff0c;经典游戏的复刻…

基于SSM的校园美食交流系统

末尾获取源码 开发语言&#xff1a;Java Java开发工具&#xff1a;JDK1.8 后端框架&#xff1a;SSM 前端&#xff1a;采用Vue技术开发 数据库&#xff1a;MySQL5.7和Navicat管理工具结合 服务器&#xff1a;Tomcat8.5 开发软件&#xff1a;IDEA / Eclipse 是否Maven项目&#x…

开开心心带你学习MySQL数据库之第六篇下

插入查询结果 把查询和新增联合起来. 把查询结果作为新增的数据 例子:把student1表的查询结果作为新增数据插入到student2表中. create table student1(id int, name varchar(20));create table student2(id int, name varchar(20));insert into student1 values(1, 张三), (2…

NFT 合约部署教程

本篇文章主要介绍如何将您的 NFT(ERC-721 Token) 通过智能合约部署到去中心化网络中 Init Project //创建一款ocean的NFT mkdir nft-ocean//进入目录 cd nft-ocean//初始化项目&#xff0c;根据提示填写即可&#xff0c;packname和description填写即可 npm init//添加hardhat…

【JAVA】Object类与抽象类

作者主页&#xff1a;paper jie_的博客 本文作者&#xff1a;大家好&#xff0c;我是paper jie&#xff0c;感谢你阅读本文&#xff0c;欢迎一建三连哦。 本文录入于《JAVASE语法系列》专栏&#xff0c;本专栏是针对于大学生&#xff0c;编程小白精心打造的。笔者用重金(时间和…

批量剪辑神器:AI智剪技巧全攻略

在视频剪辑的工作流程中&#xff0c;效率和质量都是至关重要的。有时候&#xff0c;我们需要对大量的视频进行剪辑&#xff0c;这可能会耗费大量的时间和人力。然而&#xff0c;随着技术的发展&#xff0c;AI智能剪辑工具如固乔智剪软件的出现&#xff0c;大大提高了剪辑的效率…

架构师之如何定位问题

1. 什么是问题 很多人对问题的理解不一样&#xff0c;有人认为问题就是解决方案中的难点&#xff0c;有人认为问题是现实和目标的差距&#xff0c;这些解读我觉得都还不够精确&#xff0c;尝试从毛主席的矛盾论中得到比较合理的解释&#xff1a; 问题就是事物的矛盾。哪里有没…

Ubuntu22.04 安装 MongoDB 7.0

稍微查了一些文章发现普遍比较过时。有的是使用旧版本的Ubuntu&#xff0c;或者安装的旧版本的MongoDB。英语可以的朋友可以移步Install MongoDB Community Edition on Ubuntu — MongoDB Manual&#xff0c;按照官方安装文档操作。伸手党或者英语略差的朋友可以按照本文一步步…

计算机重点学科评级B-,山东省属重点高校考情分析

山东科技大学(B-) 考研难度&#xff08;☆☆&#xff09; 内容&#xff1a;23考情概况&#xff08;拟录取和复试分析&#xff09;、院校概况、23专业目录、23复试详情、各专业考情分析、各科目考情分析。 正文1175字预计阅读&#xff1a;3分钟 2023考情概况 山东科技大学计…

stable diffusion webui升级bug问题解决思路(纯干货)

个人网站&#xff1a;https://tianfeng.space/ 文章目录 一、前言二、个人方案1.扼杀在萌芽中A.解压后点击启动器运行依赖&#xff0c;然后点击A启动器B.更新本体和扩展&#xff08;全部到最新版本&#xff09;C.把controlnet1.1放入stable diffusion 中D.插件转移E.模型转移F…

怎么选动捕设备?惯性动作捕捉还是光学动捕?

动捕设备在3D角色动画、影视制作中使用&#xff0c;通过动捕设备记录真人演员的动作&#xff0c;然后将其转换为数字模型的动作生成三维的计算机动画&#xff0c;使用动捕设备可以让动画角色更逼真地移动。 目前市面上主要分为光学动捕设备与惯性动作捕捉设备&#xff0c;这二…

基于SSM的学生课外知识学习网站

末尾获取源码 开发语言&#xff1a;Java Java开发工具&#xff1a;JDK1.8 后端框架&#xff1a;SSM 前端&#xff1a;采用Vue技术开发 数据库&#xff1a;MySQL5.7和Navicat管理工具结合 服务器&#xff1a;Tomcat8.5 开发软件&#xff1a;IDEA / Eclipse 是否Maven项目&#x…

电水壶上要求亚马逊美国站SOR/2016-181和CSA22.1标准?

电水壶作为一种常见的小家电&#xff0c;受到了广大消费者的喜爱。然而&#xff0c;由于安全问题的日益重视&#xff0c;亚马逊加拿大站决定加强对电水壶产品的审核&#xff0c;以确保消费者的安全和权益。 近日&#xff0c;亚马逊平台发布公告&#xff0c;要求在加拿大站销售…