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

【Verilog基础】【计算机体系结构】DMA数据搬移产生的cache一致性

文章目录

    • 需要解决什么问题
    • 最简单的方法(nocahe)
    • 软件维护cache一致性
    • 参考

DMA(Direct Memory Access)是指在外接可以不用CPU干预,直接把数据传输到内存的技术。这个过程中可以把CPU解放出来,可以很好的提升系统性能。那么DMA和Cache有什么关系呢?这也需要我们关注?

需要解决什么问题

我们知道DMA可以帮我们在I/O和主存之间搬运数据,且不需要CPU参与。高速缓存是CPU和主存之间的数据交互的桥梁。而DMA如果和cache之间没有任何关系的话,可能会出现数据不一致

例如,CPU修改了部分数据依然躺在cache中(采用写回write-back机制)。DMA需要将数据从内存搬运到设备I/O上,如果DMA获取的数据是从主存那里,那么就会得到旧的数据。导致程序的不正常运行。这里告诉我们,DMA通过总线获取数据时,应该先检查cache是否命中,如果命中的话,数据应该来自cache而不是主存。但是是否先需要检查cache呢?这取决于硬件设计。

在这里插入图片描述

最简单的方法(nocahe)

当我们使

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 【JavaWeb】 Mybatis-02-Mybatis的快速入门
  • 微服务项目:尚融宝(20)(后端搭建:OSS文件上传整合)
  • 【AI】PyTorch入门(二):训练与预测
  • 【网络服务数据库教程】04 Linux文件服务器 - Samba
  • 让我们谈谈密码哈希
  • 写完Numpy100道基础练习题后的错误总结和语法总结
  • 《算法导论》12.3 插入和删除
  • C++与C的区别终于说清楚了!
  • 前端面试知识查漏补缺
  • WEIXIN day_02(8.17) 小程序的组件库
  • 社区交友源码 支持聊天私聊-礼物系统-直播系统-缘分匹配+搭建教程
  • Reactor 之 手把手教你 Spring Boot 整合 Reactor
  • 【42STL-函数对象使用详情】
  • LVS-Nat模式实战
  • java毕业设计基于的测试项目管理平台Mybatis+系统+数据库+调试部署
  • Angular数据绑定机制
  • AWS实战 - 利用IAM对S3做访问控制
  • chrome扩展demo1-小时钟
  • ES学习笔记(10)--ES6中的函数和数组补漏
  • JAVA并发编程--1.基础概念
  • jquery ajax学习笔记
  • nginx 配置多 域名 + 多 https
  • React 快速上手 - 06 容器组件、展示组件、操作组件
  • vue 个人积累(使用工具,组件)
  • 表单中readonly的input等标签,禁止光标进入(focus)的几种方式
  • 更好理解的面向对象的Javascript 1 —— 动态类型和多态
  • 回顾2016
  • 区块链将重新定义世界
  • 全栈开发——Linux
  • 时间复杂度与空间复杂度分析
  • 学习笔记:对象,原型和继承(1)
  • 源码安装memcached和php memcache扩展
  • 追踪解析 FutureTask 源码
  • 最简单的无缝轮播
  • ​Linux Ubuntu环境下使用docker构建spark运行环境(超级详细)
  • ​卜东波研究员:高观点下的少儿计算思维
  • ​一文看懂数据清洗:缺失值、异常值和重复值的处理
  • # Redis 入门到精通(九)-- 主从复制(1)
  • #!/usr/bin/python与#!/usr/bin/env python的区别
  • #WEB前端(HTML属性)
  • $var=htmlencode(“‘);alert(‘2“); 的个人理解
  • (ZT)北大教授朱青生给学生的一封信:大学,更是一个科学的保证
  • (二开)Flink 修改源码拓展 SQL 语法
  • (原創) 系統分析和系統設計有什麼差別? (OO)
  • ***检测工具之RKHunter AIDE
  • **《Linux/Unix系统编程手册》读书笔记24章**
  • .aanva
  • .bat批处理(五):遍历指定目录下资源文件并更新
  • .DFS.
  • .NET BackgroundWorker
  • .Net Core 生成管理员权限的应用程序
  • .Net 高效开发之不可错过的实用工具
  • .NET 中小心嵌套等待的 Task,它可能会耗尽你线程池的现有资源,出现类似死锁的情况
  • [ 云计算 | AWS 实践 ] Java 如何重命名 Amazon S3 中的文件和文件夹
  • [ACTF2020 新生赛]Include