news 2026/5/1 9:21:47

关于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/5/1 6:25:17

HN2300_N沟道20V5.2A MOSFET场效应管应用场景分析

HN2300 是 SOT-23 封装 N 沟道增强型 MOSFET,主打低压大电流开关应用,性价比高、供应链稳定,广泛用于消费电子与小家电。HN2300典型应用电路(核心场景) 1. 锂电池保护 / 负载开关(最常用) 核心功…

作者头像 李华
网站建设 2026/5/1 6:25:22

小程序毕设选题推荐:基于springboot的文物知识科普“江西文物时讯”微信小程序【附源码、mysql、文档、调试+代码讲解+全bao等】

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

作者头像 李华
网站建设 2026/5/1 7:31:44

在农村,Wi-Fi 7是利器还是摆设?

“听说Wi-Fi 7快得很,但在这很多功能都用不着,是不是浪费了?” 相信这个问题很多人都有,根据百度百科介绍,Wi-Fi 7的理论峰值速率可达30Gbps,相较前代提升4.8倍。 但在农村老家,真的值得为高达…

作者头像 李华
网站建设 2026/4/30 8:57:26

【EAI-JA期刊】第二届能源系统与电气工程国际学术会议(ESEE 2026)

第二届能源系统与电气工程国际学术会议(ESEE 2026)由南华大学主办,将于2026年3月27-29日在衡阳举办。会议主要围绕能源、电气电力领域展开讨论。大会旨在为从事相关行业的专家、科研学者、技术人员共享科研成果和前沿技术,让大家了解学术发展…

作者头像 李华
网站建设 2026/5/1 4:43:53

上海团队让人人都能当“数字城市建造师“

如果说现在的AI能写诗能画画,那么由上海创新研究院、南开大学等多所高校联合推出的World Craft系统,简直就是把这种创造力推到了全新高度。这套在2026年1月发布的系统,让普通人只需要用文字描述,就能创造出一个完整的、可以互动的…

作者头像 李华