当前位置: 首页 > news >正文

AXI-5.4 Protocol errors

5.4.1 Software protocol error

软件协议错误的定义

  • 规则:当对同一内存位置的多次访问使用了不匹配的共享性或缓存性属性时,就会发生软件协议错误。

  • 举例1:多核系统中的缓存一致性问题

    • 场景:一片共享内存区域,用于两个CPU核心(Core A 和 Core B)之间的通信。

    • 错误行为

      • Core A 将这片内存标记为 Write-Back, Inner Shareable(回写,内部可共享),认为数据会在核心集群的缓存之间保持一致。

      • Core B 由于软件bug,将同一片内存标记为 Non-cacheable(不可缓存),直接读写主内存。

    • 后果:Core A 写入的数据可能长期停留在自己的缓存中,而 Core B 从主内存读到的将是旧数据。Core B 的写入会直接更新主内存,但 Core A 可能仍然从自己的缓存中读取旧值。数据一致性被彻底破坏,两个核心无法正常通信。

  • 举例2:DMA 与 CPU 的协同工作失败

    • 场景:一个 DMA 控制器需要与 CPU 共享数据缓冲区。

    • 错误行为

      • CPU 驱动程序错误地将缓冲区标记为 Write-Back(回写可缓存)。

      • DMA 控制器(通常)以 Non-cacheable 属性访问内存。

    • 后果:CPU 计算的结果可能只停留在缓存中,DMA 从主内存读取的是未更新的旧数据。或者,DMA 写入的新数据到了主内存,但 CPU 仍然从缓存中读取旧数据。数据损坏几乎必然发生

协议对系统的要求:不死锁且隔离

普通内存的特殊规则

  • 规则:系统不能因软件协议错误而死锁,且错误必须被限制在 4KB 区域内。

  • 举例

    • 不死锁:即使发生了上述的数据损坏,系统仍然能够继续响应其他事务。CPU 不会因为等待一个永远不会到来的响应而挂起,总线不会卡死。

    • 4KB 隔离:如果地址 0x1000-0x1FFF 的内存因属性不匹配而数据损坏,地址 0x2000-0x2FFF 的内存必须保持完好。这就像船的防水舱室,一个舱室进水不会导致整艘船沉没。

外设访问的特殊规则

http://www.dtcms.com/a/601309.html

相关文章:

  • 动易网站后台帮人做彩票网站有事吗
  • 购物网站php模板周口市网站建设
  • 装饰公司网站模板下载建设网站的内容及实现方式
  • Kubernetes 学习笔记
  • 【自然语言处理】基于统计基的句子边界检测算法
  • 数据智能开发三 数据架构设计
  • 数据治理进阶——解读数据平台数据治理与建设方案【附全文阅读】
  • 基于OpenAI与DashScope的AI知识面试模拟系统实现
  • 嘉兴市南湖区城乡规划建设局网站做年报的网站怎么登不上去了
  • IntelliJ IDEA 2025.2.4 安装 MybatisX 不生效问题记录
  • Java 大视界 -- Java 大数据机器学习模型在自然语言生成中的可控性研究与应用实战
  • Langchain的LCEL组件
  • 南阳网站建设制作价格网站建设实践试卷
  • T型槽平台:工业制造中的多功能基础工装
  • 展示 Ansys 增材制造解决方案
  • PcVue播客系列 - E2 | 智慧制造、人工智能与工业模拟的未来 —— 对话 Andrew Siprelle
  • 广州广告网站建设图片网站源码
  • 有的app不能通过应用商城更新
  • 价格变化的效率问题
  • 仓颉三方库开发实战:sanitize_html 实现详解
  • 逻辑回归以及python(sklearn)详解
  • RESTful规范
  • 四川高端网站建设女生做网站开发
  • PDF转图片:轻松实现工程图纸的高效共享与高清展示
  • 【ZeroRange WebRTC】ICE 服务器列表解析(KVS WebRTC)
  • 【考证资讯】注意!2026 年HCIE实验考试内容重要调整!
  • uni-app中表格分页
  • LeetCode hot100:142 环形链表 II:寻找环的入口节点
  • vue下载依赖报错npm ERR node-sass@4.14.1 postinstall: `node scripts/build.js`的解决方法
  • 二分查找专题(十三):“答案二分”的“三连击”——「制作m束花所需的最少天数」