当前位置:网站首页>ARM 的 缓存一致性
ARM 的 缓存一致性
2022-06-21 23:14:00 【__pop_】
文章目录
简介
缓存一致性 关注的是 "同一个数据" 在 "高速缓存1"和"高速缓存2" ... 和"内存" 中的 一致性 问题
存在 不一致的 这种问题 ,该如何解决.有三种解决方案:
1. 关cache,不用cache
2. 硬件提供指令 ,软件维护缓存一致性
3. 硬件维护缓存一致性 ,软件不需要任何操作
arm 采用 2 和 3
single core的 缓存一致性问题
DMA 和 高速缓存 一致性问题
问题描述
解决方案
自修改代码问题
问题描述
指令高速缓存和数据高速缓存不一致
数据高速缓存为新代码,指令高速缓存为老代码. 导致无法执行新代码
解决方案
2. 硬件提供指令,软件维护缓存一致性
软件调用高速缓存维护指令 : dc ic
修改页表
问题描述
tlb 保存的数据过时,导致索引到错的物理地址
解决方案
2. 硬件提供指令,软件维护缓存一致性
刷新tlb
multi core 新增问题
cpu0 和 cpu1 一致性问题
问题描述
cpu0 读 了内存地址A的值 , 缓存到 cpu0 的 l1 cache , 并修改了 该值 // 造成了内存地址A的两个副本
之后
cpu1 要读内存地址A的值 , 从哪里读
解决方案
3. 硬件维护缓存一致性,软件不需要任何操作
什么硬件:
基于 MESI 协议 的 SCU(Snoop control unit)
multi cluster 新增问题
cluster0 和 cluster1 一致性问题
问题描述
cluster0 读 了内存地址A的值 , 缓存到 cluster0 的 l1 cache , 并修改了 该值 // 造成了内存地址A的两个副本
之后
cluster1 要读内存地址A的值 , 从哪里读
解决方案
3. 硬件维护缓存一致性,软件不需要任何操作
什么硬件:
多cluster:基于 (AMBA4)ACE 协议 的 CCI控制器
众cluster:基于 (AMBA5)CHI 协议 的 CCN控制器
边栏推荐
- 数学知识:约数个数—约数
- leetcode 279. Perfect Squares 完全平方数(中等)
- File upload vulnerability shooting range analysis upload_ LABS
- 数据魔术师告诉你整数规划COPT5.0离CPLEX还有多远?
- HarmonyOS应用开发第二次作业笔记
- How to gracefully count code time
- Store API memo
- WMS warehouse management system source code
- arm汇编DCB、DCW、DCD、DCQ解析
- Npdp| how to do well in product life cycle management?
猜你喜欢
随机推荐
Npdp| how to do well in product life cycle management?
客户端建设及调优实践
唐太宗把微服务的“心跳机制”玩到了极致!
Getting started with go web programming: validators
How to gracefully count code time
Xshell连接虚拟机只能输入public key解决方案【亲测】
Shenzhen Data Analyst Certification (CPDA) in the second half of 2022, [enter to view]
【微信小程序】微信小程序使用表单的一些坑和注意事项
Go Web 编程入门:验证器
MySQL性能分析工具的使用
leetcode 279. Perfect Squares 完全平方數(中等)
[PHP] MVCs concept (easy to understand)
buuctf pwn ciscn_2019_n_8
【Try to Hack】nmap
TCP/IP--路由选择
If a programmer goes to prison, will he be assigned to write code?
一文看尽物体检测中的各种FPN
vim自动命令事件大全
Mathematical knowledge: greatest common divisor divisor
珂朵莉树 范围查询 chtholly tree Old driver tree







![[RoarCTF2019]黄金6年](/img/c4/07caf5dc8f27f77b724753b5f87a0a.png)

