A53 cache的架构解读

news2024/10/9 18:26:25

快速链接:

  • 【精选】ARMv8/ARMv9架构入门到精通-[目录] 👈👈👈

引流关键词:缓存,高速缓存,cache, CCI,CMN,CCI-550,CCI-500,DSU,SCU,L1,L2,L3,system cache, Non-cacheable,Cacheable, non-shareable,inner-shareable,outer-shareable, optee、ATF、TF-A、Trustzone、optee3.14、MMU、VMSA、cache、TLB、arm、armv8、armv9、TEE、安全、内存管理、页表…

快速链接:
.
👉👉👉 个人博客笔记导读目录(全部) 👈👈👈

  • ARMv8/ARMv9架构精选系列–目录 👈👈👈
  • ARMV8/ARMV9/Trustzone/TEE安全课程👈👈👈

目录

        • 1. A53使用经典的 `bit-LITTLE`架构
        • 2. A53的cache配置
        • 3. cache的层级结构:
        • 4. L2 memory System系统介绍
        • 5. 多cluster之间的缓存一致性
        • 6. CCI的介绍(以CCI-550为例)
        • 7. 经典示例框图

1. A53使用经典的 bit-LITTLE架构

以下是一张比较早期的经典的bit-LITTLE的架构图
在这里插入图片描述
在这里插入图片描述

2. A53的cache配置

L1 I-Cache

  • 可配:8KB, 16KB, 32KB, or 64KB
  • cacheline:64bytes
  • 2路组相连
  • 128-bit的读L2 memory的接口

L1 D-Cache

  • 可配:8KB, 16KB, 32KB, or 64KB
  • cacheline:64bytes
  • 4路组相连
  • 256-bit的写L2 memory的接口
  • 128-bit的读L2 memory的接口
  • 64-bit的读L1到datapath
  • 128-bit的写datapath到L1

L2 memory System

  • 集成了SCU( Snoop Control Unit ),做多可以连接4个core
  • SCU内重复拷贝了 L1 Data Cache的TAGs
  • L2 memory system对外的接口,可以是ACE 或 CHI,128-bit宽度

L2 cache

  • 可配置的: 128KB, 256KB, 512KB, 1MB and 2MB.
  • cacheline:64bytes
  • Physically indexed and tagged cache(PIPT)
  • 16路组相连的结构

L1 data cache TAG
A53的L1 Data cache遵从的是MOESI协议,如下所示在L1 data cache的tag中存有MOESI的标记位
在这里插入图片描述
MOESI state
在这里插入图片描述

L1 Instruction cache TAG
L1 instruction cache是只读的,所以也就无需硬件维护的多core之间instruction cache的一致性,所以也就无需组从MOESI协议,以下展示了*L1 Instruction cache的TAG,其中标记为很少,无MESI标记位。
在这里插入图片描述

3. cache的层级结构:
  • L1 cache是private的在core中
  • L2 cache是share的在cluster中

在这里插入图片描述

4. L2 memory System系统介绍

bit.LITTLE架构中中,在Cluster中,有一个SCU单元,SCU单元主要是执行和维护L1 cache的一致性(MESI协议 或 其变体如MOESI协议)。
在这里插入图片描述
在L2 Memory System的中,除了包含L2 cache,也会包含L1 Duplicate tag RAM(这里指的其实是L1 Data Cache Tags)。
在这里插入图片描述

5. 多cluster之间的缓存一致性

cluster和外界的接口,可以是ACE或CHI(目前常用的是ACE,后面的趋势可能是CHI)

在这里插入图片描述

  • 如果使用的是ACE,那么多cluster之间的一致性,依靠CCI + ACE 来维护
  • 如果使用的是CHI,那么多cluster之间的一致性,依靠CMN + CHI来维护

在这里插入图片描述

6. CCI的介绍(以CCI-550为例)

CCI-550 包含一个包容性监听过滤器(snoop filter),用于记录存储在ACE 主缓存。

侦听过滤器可以在未命中的情况下响应侦听事务,并侦听适当的主控只有在命中的情况下。Snoop 过滤器条目通过观察来自 ACE 主节点的事务来维护以确定何时必须分配和取消分配条目。

侦听过滤器可以响应多个一致性请求,而无需向所有人广播ACE 接口。例如,如果地址不在任何缓存中,则监听过滤器会以未命中和将请求定向到内存。如果地址在处理器缓存中,则请求被视为命中,并且指向在其缓存中包含该地址的 ACE 端口。

在这里插入图片描述
在这里插入图片描述

7. 经典示例框图

在这里插入图片描述


关注"Arm精选"公众号,备注进ARM交流讨论区。

1138106487-65f6cf311889c.png

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

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

相关文章

精准扶贫管理系统|基于Springboot的精准扶贫管理系统设计与实现(源码+数据库+文档)

精准扶贫管理系统目录 目录 基于Springboot的精准扶贫管理系统设计与实现 一、前言 二、系统功能设计 三、系统实现 1、管理员模块的实现 (1)用户信息管理 (2)贫困户信息管理 (3)新闻类型管理 &a…

【Java EE】关于Maven

文章目录 🎍什么是Maven🌴为什么要学Maven🌲创建⼀个Maven项目🌳Maven核心功能🌸项目构建🌸依赖管理 🍀Maven Help插件🎄Maven 仓库🌸本地仓库🌸私服 ⭕总结 …

Unity类银河恶魔城学习记录12-3 p125 Limit Inventory Slots源代码

Alex教程每一P的教程原代码加上我自己的理解初步理解写的注释,可供学习Alex教程的人参考 此代码仅为较上一P有所改变的代码 【Unity教程】从0编程制作类银河恶魔城游戏_哔哩哔哩_bilibili Inventory.cs using Newtonsoft.Json.Linq; using System.Collections; us…

Linux 线程:线程互斥、互斥量、可重入与线程安全

目录 一、线程互斥 1、回顾相关概念 2、抢票场景分析代码 多个线程同时操作全局变量 产生原因 如何解决 二、互斥量 1、概念 2、初始化互斥量: 方法1:静态分配 方法2:动态分配 3、销毁互斥量: 4、加锁和解锁 示例抢…

多忽悠几次AI全招了!Anthropic警告:长上下文成越狱突破口,GPT羊驼Claude无一幸免

ChatGPT狂飙160天,世界已经不是之前的样子。 新建了免费的人工智能中文站https://ai.weoknow.com 新建了收费的人工智能中文站https://ai.hzytsoft.cn/ 更多资源欢迎关注 大模型厂商在上下文长度上卷的不可开交之际,一项最新研究泼来了一盆冷水—— Cl…

计算机网络-HTTP相关知识-HTTP的发展

HTTP/1.1 特点: 简单:HTTP/1.1的报文格式包括头部和主体,头部信息是键值对的形式,使得其易于理解和使用。灵活和易于扩展:HTTP/1.1的请求方法、URL、状态码、头字段等都可以自定义和扩展,使得其具有很高的…

Golang 内存管理和垃圾回收底层原理(一)

一、这篇文章我们来聊聊Golang内存管理和垃圾回收,主要注重基本底层原理讲解,进一步实战待后续文章 1、这篇我们来讨论一下Golang的内存管理 先上结构图 从图我们来讲Golang的基本内存结构,内存结构可以分为:协程缓存、中央缓存…

Redis的高可用(主从复制、哨兵模式、集群)的概述及部署

目录 一、Redis主从复制 1、Redis的主从复制的概念 2、Redis主从复制的作用 ①数据冗余: ②故障恢复: ③负载均衡: ④高可用基石: 3、Redis主从复制的流程 4、Redis主从复制的搭建 4.1、配置环境以及安装包 4.2所有主机…

chabot项目介绍

项目介绍 整体的目录如下所示: 上述的项目结构中出了model是必须的外,其他的都可以根据训练的代码参数传入进行调整,有些不需要一定存在data train.pkl:对原始训练语料进行tokenize之后的文件,存储一个list对象,list的每条数据表…

解密AI人工智能的整体分层架构:探索智能科技的未来之路

随着人工智能技术的迅猛发展,AI已经渗透到我们生活的方方面面。而支撑AI人工智能系统运作的核心是其整体分层架构。本文将深入探讨AI人工智能的整体分层架构,揭示其中的奥秘,探索智能科技的未来之路。 ### AI人工智能整体分层架构的重要性 …

Linux上安装DM8(达梦数据库),SpringBoot集成达梦

1.达梦数据库在Linux上的安装 官方手册:https://eco.dameng.com/document/dm/zh-cn/start/install-dm-linux-prepare.html 1.1下载安装包 官网:https://www.dameng.com/list_103.html 点击”服务与合作”--> “下载中心” 这里选择对应的cpu和操作系统(举个例子:windows版本…

Java基础 - 代码练习

第一题&#xff1a;集合的运用&#xff08;幸存者&#xff09; public class demo1 {public static void main(String[] args) {ArrayList<Integer> array new ArrayList<>(); //一百个囚犯存放在array集合中Random r new Random();for (int i 0; i < 100; …

JimuReport 积木报表

一款免费的数据可视化报表&#xff0c;含报表和大屏设计&#xff0c;像搭建积木一样在线设计报表&#xff01;功能涵盖&#xff0c;数据报表、打印设计、图表报表、大屏设计等&#xff01; Web 版报表设计器&#xff0c;类似于 excel 操作风格&#xff0c;通过拖拽完成报表设计…

从零到百万富翁:ChatGPT + Pinterest

原文&#xff1a;Zero to Millionaire Online: ChatGPT Pinterest 译者&#xff1a;飞龙 协议&#xff1a;CC BY-NC-SA 4.0 在社交媒体上赚取百万美元 - 逐步指南&#xff0c;如何在线赚钱版权 献给&#xff1a; 我将这本书&#xff0c;“从零到百万富翁在线&#xff1a;Chat…

【御控物联】JavaScript JSON结构转换(18):数组To对象——多层属性重组

文章目录 一、JSON结构转换是什么&#xff1f;二、案例之《JSON数组 To JSON对象》三、代码实现四、在线转换工具五、技术资料 一、JSON结构转换是什么&#xff1f; JSON结构转换指的是将一个JSON对象或JSON数组按照一定规则进行重组、筛选、映射或转换&#xff0c;生成新的JS…

基于PHP的校园招聘管理系统

有需要请加文章底部Q哦 可远程调试 基于PHP的校园招聘管理系统 一 介绍 此校园招聘管理系统基于原生PHP开发&#xff0c;数据库mysql&#xff0c;前端bootstrap。系统角色分为个人用户&#xff0c;企业和管理员三种。 技术栈&#xff1a;phpmysqlbootstrapphpstudyvscode 二…

JS——判断节假日(假日包括周末,不包括调休上班的周末)

思路&#xff1a;创建两个数组&#xff0c;数组1为节假日数组&#xff0c;数组2为是周末上班日期数组。如果当前日期&#xff08;或某日期&#xff09;同时满足2个条件&#xff08;1.在节假日数组内或在周末。2.不在周末上班日期数组&#xff09;即为节假日&#xff0c;否则即为…

Mybatis-Plus05(分页插件)

分页插件 MyBatis Plus自带分页插件&#xff0c;只要简单的配置即可实现分页功能 1. 添加配置类 Configuration MapperScan("com.atguigu.mybatisplus.mapper") //可以将主类中的注解移到此处 public class MybatisPlusConfig {Bean public MybatisPlusIntercepto…

LeetCode-105. 从前序与中序遍历序列构造二叉树【树 数组 哈希表 分治 二叉树】

LeetCode-105. 从前序与中序遍历序列构造二叉树【树 数组 哈希表 分治 二叉树】 题目描述&#xff1a;解题思路一&#xff1a;暴力搜索解题思路二&#xff1a;哈希查找解题思路三&#xff1a; 题目描述&#xff1a; 给定两个整数数组 preorder 和 inorder &#xff0c;其中 pr…

通过vite创建项目

一、VUE3官网 Vue.js - 渐进式 JavaScript 框架 | Vue.js (vuejs.org) 二、通过Vite创建项目 1、在cmd窗口下&#xff0c;全局安装vite //使用国内镜像源 npm config set registryhttps://registry.npmmirror.com//安装最新版vite npm install -g vitelatest Vite | 下一代…