【ARM】CCI缓存一致性整理

目录

1.CCI500提供的功能

2.CCI500在SOC系统中所处的位置​编辑

3.CCI500内部结构​编辑

4.功能描述


1.CCI500提供的功能

2.CCI500在SOC系统中所处的位置

3.CCI500内部结构

Transaction Tracker(TT)是用来解决一致性和ordering问题的,它是non-blocking的并且可以根据QoS的需求来reorder requests。

TT使用一个snoop filter来决定发送snoop requests的位置。为了最大化吞吐量:

  • snoop filter有四个partitions。
  • 读数据和写数据的interconnects是fully-connected的crossbars。
  • 写响应也使用crossbar interconnect,并且reorder buffer帮助CCI-500在不stalling requests的情况下满足ordering requirements。
  • 每个interface都有一个可配置的number of register stages,每个interface至少有一个stage。

4.功能描述

CCI-500 是一种一致性互连,它能够实现硬件一致性。在硬件一致性系统中,操作系统可以在多个处理器集群上运行,而无需复杂的缓存维护软件。这是高级 ARM big.LITTLE 处理模型(如全局任务调度,GTS)的基本要求。

除了 AXI 和 ACE 接口外,CCI-500 提供了用于各种系统操作的接口,例如:

  • 使用 APB4 接口对 CCI-500 内部寄存器进行编程、调试和性能监控。
  • 使用 P-Channel 和 Q-Channel 控制时钟和电源状态,以在低带宽时最小化功耗。
  • 用于制造测试的逻辑和 RAM 测试。

CCI-500 包括了窥探功能,允许对 ACE 接口进行窥探。窥探过滤器通过记录附加的 ACE 主机缓存中存储的地址,提供高效的窥探事务管理。这意味着窥探过滤器通常可以解决一致性消息,而不是向所有 ACE 接口广播。这种机制可以提供系统功耗节省,并在数据不在任何上游缓存中时减少延迟。

性能监控单元(PMU)提供了指示 CCI-500 运行时性能的事件和计数器。PMU 寄存器提供互连状态的信息,您可以使用这些寄存器帮助调试系统死锁。此外,CCI-500 提供了一组服务质量(QoS)调节和控制机制。

CCI-500 支持安全和非安全操作,可以在使用 ARM TrustZone 提供安全、非安全和受保护状态的系统中使用。

CCI-500 还支持缓存维护操作和独占访问。

内部包含Performance Monitor Unit和DBG monitor用来检测传输和做debug用。

可以通过将non-TrustZone aware master的AxPROT[1] tie low,来允许这样的master访问secure的数据。

CCI的error可以分为precise的error和imprecise的error。

CCI有单独的QoS regulation和control机制。

5.QoS机制

CCI-500 使用服务质量(QoS)值作为请求仲裁的优先级指示器。QoS 值可以来自一个从属接口的输入,也可以被一个编程值覆盖。

CCI-500 在选择要放入主事务队列的请求时使用 QoS 值。具有最高 QoS 值的请求具有最高优先级,除非激活了反饥饿机制。

当两个或更多事务共享最高优先级时,CCI-500 使用最近最少授予(LRG)方案。仲裁器具有避免饥饿的机制,以防止高带宽请求无限期地阻塞低优先级请求。

CCI-500 传播 QoS 值。这决定了当下游互连和从属设备对 QoS 值敏感时的服务速率。NIC-400 网络互连对 QoS 值敏感。

注意: 确保您平衡所有从属接口的相对优先级。例如,将每个接口设置为最高 QoS 值将仲裁降低到 LRG,并且使用 QoS 值没有优势。

拓展阅读:
扩展系统一致性 - 第 3 部分 - 性能提升和 CoreLink CCI-500 简介 - 中文社区博客 - 中文社区 - Arm Community

【ARM】CCI500_execution_tb-CSDN博客

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

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

相关文章

MES系统在装备制造行业核心应用场景介绍

MES软件在企业中有着广泛的应用场景,主要包括生产计划排程、生产过程监控、质量管理、设备管理、库存管理、数据分析等领域。 通过实时监控生产过程、收集数据、进行分析,MES软件可以帮助企业实现生产过程可视化、透明化,提高生产效率&#…

Java | Leetcode Java题解之第229题多数元素II

题目&#xff1a; 题解&#xff1a; class Solution {public List<Integer> majorityElement(int[] nums) {HashMap<Integer, Integer> cnt new HashMap<Integer, Integer>();for (int i 0; i < nums.length; i) {if (cnt.containsKey(nums[i])) {cnt.…

【Tomcat目录详解】关于Tomcat你还需要了解的详细内容

希望文章能给到你启发和灵感&#xff5e; 如果觉得文章对你有帮助的话&#xff0c;点赞 关注 收藏 支持一下博主吧&#xff5e; 阅读指南 开篇说明一、基础环境说明1.1 硬件环境1.2 软件环境 二、Tomcat的文件结构2.1 bin目录2.1.1 startup和shutdown2.1.2 Catalina2.1.3 serv…

Java高级重点知识点-25-Stream流、方法引用

文章目录 Stream流流式思想概述获取流常用方法 方法引用方法引用符通过对象名引用成员方法通过类名称引用静态方法通过super引用成员方法通过this引用成员方法类的构造器引用数组的构造器引用 Stream流 通过循环遍历来讲解流的优势&#xff1b; 要求&#xff1a;筛选所有姓张的…

记一次若依框架和Springboot常见报错的实战漏洞挖掘

目录 前言 本次测实战利用图​ 1.判段系统框架 2.登录页面功能点测试 2.1 弱口令 2.2 webpack泄露信息判断 2.3 未授权接口信息发现 3.进一步测试发现新的若依测试点 3.1 默认弱口令 3.2 历史漏洞 4.访问8080端口发现spring经典爆粗 4.1 druid弱口令 4.2 SwaggerU…

HumanoidBench——模拟仿人机器人算法有未来

概述 论文地址&#xff1a;https://arxiv.org/pdf/2403.10506 仿人机器人具有类似人类的外形&#xff0c;有望在各种环境和任务中为人类提供支持。然而&#xff0c;昂贵且易碎的硬件是这项研究面临的挑战。因此&#xff0c;本研究开发了使用先进模拟技术的 HumanoidBench。该基…

【鸿蒙学习笔记】关系型数据库概述

目录标题 关系型数据库的运行机制样例代码共通方法 DBUtilsIndex 代码效果 关系型数据库的运行机制 1、 关系型数据库对应用提供通用的操作接口&#xff0c;底层使用SQLite作为持久化存储引擎&#xff0c;支持SQLite具有的数据库特性&#xff0c;包括但不限于事务、索引、视图…

代理IP池:解析与应用

代理IP大家都了解不少了&#xff0c;代理IP池又是什么呢&#xff1f;下面简单介绍一下吧&#xff01; 1. 概述 代理IP池就是由多个代理IP地址组成的集合&#xff0c;用于实现更高效的网络访问和数据获取。这些IP地址通常来自不同的地理位置和网络提供商&#xff0c;经过动态管…

谷粒商城实战笔记-24-分布式组件-SpringCloud Alibaba-Nacos配置中心-命名空间与配置分组

文章目录 一&#xff0c;命名空间1&#xff0c;简介1.1&#xff0c;命名空间的主要功能和特点1.2&#xff0c;使用场景1.3&#xff0c;如何指定命名空间 2&#xff0c;命名空间实战2.1&#xff0c;环境隔离2.2&#xff0c;服务隔离 二&#xff0c;配置集三&#xff0c;配置集ID…

LabVIEW的Actor Framework (AF) 结构介绍

LabVIEW的Actor Framework (AF) 是一种高级架构&#xff0c;用于开发并发、可扩展和模块化的应用程序。通过面向对象编程&#xff08;OOP&#xff09;和消息传递机制&#xff0c;AF结构实现了高效的任务管理和数据处理。其主要特点包括并发执行、动态可扩展性和强大的错误处理能…

Day1每日编程题日记:数字统计、两个数组的交集、点击消除

前言&#xff1a;该篇用于记录自看。曾回看昨天的做题代码&#xff0c;竟然会觉得陌生&#xff0c;这竟然是我写的&#xff0c;细细读了一下&#xff0c;原来我当时是这么想的。因此我觉得记代码没有实际用处&#xff0c;重点是领悟了思想&#xff0c;这样子代码就在心中&#…

发布:PhonePrompter_PC(手机录视频提词器_电脑版)

PhonePrompter_PC(手机录视频提词器_电脑版) 目 录 1. 概述... 2 2. 应用手册... 3 下载地址&#xff1a;百度网盘 请输入提取码 提取码&#xff1a;8wsa 1. 概述 平时工作和生活中需要用手机竖屏或横屏模式录制造工作、科技、历史、生活等方面的一些视…

web后端开发--请求响应

目录 前言 请求 简单参数 原始方法 Spring方式 Post请求乱码处理 实体参数 简单实体参数 复杂实体参数 ​编辑 数组集合参数 数组参数 ​编辑 集合参数 日期参数 ​编辑 Json参数 ​编辑 传递json数据 json数组 json对象&#xff08;POJO&#xff09; jso…

【Flask从入门到精通:第一课:flask的基本介绍、flask快速搭建项目并运行】

从0开始入手到上手一个新的框架&#xff0c;应该怎么展开&#xff1f;flask这种轻量级的框架与django这种的重量级框架的区别&#xff1f;针对web开发过程中&#xff0c;常见的数据库ORM的操作。跟着学习flask的过程中&#xff0c;自己去学习和了解一个新的框架&#xff08;San…

CSS【详解】长度单位 ( px,%,em,rem,vw,vh,vmin,vmax,ex,ch )

px 像素 pixel 的缩写&#xff0c;即电子屏幕上的1个点&#xff0c;以分辨率为 1024 * 768 的屏幕为例&#xff0c;即水平方向上有 1024 个点&#xff0c;垂直方向上有 768 个点&#xff0c;则 width:1024px 即表示元素的宽度撑满整个屏幕。 随屏幕分辨率不同&#xff0c;1px …

小程序问题

1.获取节点 wx.createSelectorQuery() wx.createSelectorQuery().in(this) //组件中加in(this)&#xff0c;不然获取不到 2.使用实例 wx.createSelectorQuery().in(this).select(#share).fields({node: true,size: true}).exec(async (res) > {const canvas res[0].node;…

如何将Docker镜像源更改为阿里云的镜像加速地址

在使用Docker时&#xff0c;尤其是在国内环境下&#xff0c;由于网络原因&#xff0c;从Docker Hub拉取镜像可能会遇到速度较慢的问题。为了提高拉取速度&#xff0c;我们可以将Docker的镜像源更改为阿里云等国内镜像源。下面详细介绍如何获取并配置阿里云的Docker镜像加速地址…

C++三大特征:多态

1.virtual关键字 1.1何为虚函数 virtual用于在base类中声明一个虚函数&#xff0c;[虚函数]的主要作用是[允许]在派生类&#xff08;也称为子类)中对该函数进行[重写](override) 1.2何为重写 重写就是在drived类中写一个函数(返回类型,名称,参数列表)与base类相同的函数,dr…

C++基础(二)

目录 1.类和对象 1.1类的定义 1.2访问限定符 1.3类域 2.实例化 2.1实例化概念 2.2对象大小 3.this指针 4.类的默认成员函数 4.1构造函数 4.2析构函数 4.5运算符重载 1.类和对象 1.1类的定义 类的定义格式 class为定义类的关键字&#xff0c;Stack为类的名字&…

从零开始实现大语言模型(四):简单自注意力机制

1. 前言 理解大语言模型结构的关键在于理解自注意力机制(self-attention)。自注意力机制可以判断输入文本序列中各个token与序列中所有token之间的相关性&#xff0c;并生成包含这种相关性信息的context向量。 本文介绍一种不包含训练参数的简化版自注意力机制——简单自注意…