news 2026/4/15 15:36:43

关于CPU的介绍(四)----CMO(Cache Maintenance Operations)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
关于CPU的介绍(四)----CMO(Cache Maintenance Operations)

在阅读ACE协议spec的时候,有关于CMO的介绍,下面详细介绍下CMO操作:

一、CMO 的定义

CMO(Cache Maintenance Operations,缓存维护操作)是一套硬件指令或总线事务,用于主动管理缓存的状态,解决缓存与主存、多核心缓存之间的数据一致性问题,是复杂 SoC 中保证系统正确性的关键机制。


二、两类核心 CMO 操作

1. Cache cleaning(缓存清理)
  • 核心作用:将缓存中 “脏”(Dirty)的缓存行内容写回主存,确保这些写入操作对非一致性代理(Non-coherent agents,如 DMA、外设)可见。
  • 触发场景
    • 当需要让外设(非一致性代理)读取最新数据时,必须先清理缓存,将脏数据同步到主存。
    • 系统休眠、复位前,清理缓存以避免数据丢失。
  • 关键特点
    • 仅对脏缓存行(被修改过、与主存不一致的缓存行)执行写回。
    • 写回后,缓存行仍保留在缓存中(状态变为 “干净” Clean),后续读操作仍可命中缓存。
2. Cache invalidation(缓存失效)
  • 核心作用:使缓存中的指定缓存行失效,确保后续对该地址的加载操作会直接从主存读取,而非使用缓存中的旧数据。
  • 触发场景
    • 外设(非一致性代理)向主存写入数据后,需要使 CPU 缓存中对应地址的缓存行失效,避免 CPU 读取旧数据。
    • 多核心场景下,其他核心修改了共享数据,需要使本核心缓存中的对应行失效。
  • 关键特点
    • 失效操作会直接标记缓存行为 “无效”,不会写回数据(因此若缓存行是脏的,需先清理再失效)。
    • 失效后,所有代理(一致性 / 非一致性)都可以安全地更新该地址的数据。

三、两类操作的核心区别

操作类型目标对脏缓存行的处理缓存行最终状态典型使用场景
Cache cleaning同步缓存到主存写回主存保留在缓存中,状态变为 Clean让外设读取最新数据、系统休眠前数据持久化
Cache invalidation丢弃缓存中的旧数据不写回(需提前清理)从缓存中移除 / 标记为 Invalid外设写入后让 CPU 读主存、多核心共享数据更新

四、典型组合场景

在实际系统中,这两个操作经常配合使用:例如,当 DMA 需要读取 CPU 写入的数据时,流程为:

  1. Cache cleaning:CPU 将脏缓存行写回主存,确保数据对 DMA 可见。
  2. DMA 从主存读取数据。
  3. DMA 写入数据到主存后,触发Cache invalidation:使 CPU 缓存中对应地址的缓存行失效。
  4. CPU 后续读取该地址时,会直接从主存加载最新数据。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/16 12:20:41

【SPIE出版】2026计算机科学与量子信息技术国际会议(CSQIT 2026)

2026 计算机科学与量子信息技术国际会议(CSQIT 2026)将于 2026 年 3 月 27-29 日在南京召开,聚焦计算机与量子技术交叉创新,征稿覆盖量子计算与算法创新、量子软件与系统工程、量子通信与网络安全、量子光学与光子计算硬件四大方向…

作者头像 李华
网站建设 2026/4/5 8:29:06

哥伦比亚大学团队推出全球首个网络音视频文化理解基准

这项由哥伦比亚大学领导、联合伊利诺伊大学香槟分校、华盛顿大学、约翰霍普金斯大学等多所知名学府的研究发表于2026年1月,论文编号为arXiv:2601.17645v1。有兴趣深入了解的读者可以通过该编号查询完整论文。当你在朋友圈看到一段熟悉的音乐响起,瞬间想起…

作者头像 李华
网站建设 2026/4/15 8:20:12

计算机毕业设计springboot中国非物质文化遗产宣传管理系统 基于Spring Boot的中华传统非物质文化遗产数字化保护与推广平台 面向Web的华夏非遗文化资源智能管理与多维度展示系统

计算机毕业设计springboot中国非物质文化遗产宣传管理系统1w2qg44q (配套有源码 程序 mysql数据库 论文) 本套源码可以在文本联xi,先看具体系统功能演示视频领取,可分享源码参考。中国作为历史悠久的文明古国,拥有极其丰富的非物质…

作者头像 李华
网站建设 2026/4/9 17:09:17

基于plc的四层电梯自动控制系统设计SIEMENS/西门子(设计源文件+万字报告+讲解)(支持资料、图片参考_相关定制)_文章底部可以扫码

1.引言 1.1研究背景1.2设计的目的和意义2.总体设计2.1控制要求2.2接口设备选型3.硬件设计3.1-PLC选择.3.2主电路设计.3.3电源电路设计3.3控制电路设计3.5-PLC输入和输出分配.3.6-PLC输入和输出接线图.4.2.PLC内部使用地址4.3梯形图程序6.总结 4程序设计基于plc的四层电梯自动控…

作者头像 李华
网站建设 2026/4/16 11:10:50

量子计算+AI融合:开发者必须跟上的新浪潮

在数字化转型的深水区,算力瓶颈已成为企业核心竞争力的关键制约因素。经典计算架构(如CPU/GPU)虽支撑了AI模型的指数级增长,但其物理极限已日益显现,尤其在处理超大规模组合优化或混沌系统时效率低下。量子计算凭借量子…

作者头像 李华
网站建设 2026/4/10 12:04:55

我算是见识到26年前端岗的面试难度了.....

现在的前端面试已经从“怎么用”深入到“为什么”。常被追问底层原理与实现机制,如框架源码、浏览器工作原理、手写核心API。 甚至几场面试下来你会发现知识面需覆盖全链路。从JS/TS、工程化、安全、性能,到AI应用、微前端、Serverless等新趋势都可能涉…

作者头像 李华