首页 > 其他分享 >cached地址和uncached地址的区别

cached地址和uncached地址的区别

时间:2023-04-10 09:57:45浏览次数:34  
标签:DMA 缓存 cached uncached 地址 内存 IO CPU

cached地址和uncached地址的区别是

对cached地址的访问是委托给CPU进行的,也就是说你的操作到底是提交给真正的外设或内存,还是转到CPU缓存,是由CPU决定的。CPU有一套缓存策略来决定什么时候从缓存中读取数据,什么时候同步缓存。

对unchached地址的访问是告诉CPU忽略缓存,访问操作直接反映到外设或内存上。 对于IO设备一定要用uncached地址访问,是因为你的IO输出操作肯定是希望立即反映到IO设备上,不希望让CPU缓存你的操作;

另一方面,IO设备的状态是独立于CPU的,也就是说IO口状态的改变CPU是不知道,这样就导致缓存和外设的内容不一致,你从IO设备读取数据时,肯定是希望直接读取IO设备的当前状态,而不是CPU缓存的过期值。

一般只有对主内存的访问才用cached地址,因为内存里的数据一般是通过CPU来改的,它不会自己变,所以CPU知道什么时候可以用缓存代替内存,什么时候应该同步。当然一个重要的例外是DMA,DMA显然也会不通过CPU而改变内存数据。也就是说,DMA在内存和内存之间,或者内存和外设之间搬运数据时,也会导致缓存和内存数据的不一致。这个不一致可以由硬件方法或软件方法解决,硬件方法是说DMA搬运数据时自动通知CPU把相关缓存设为无效,软件方法是程序员要在启动DMA前自己清缓存。

标签:DMA,缓存,cached,uncached,地址,内存,IO,CPU
From: https://www.cnblogs.com/FireLife-Cheng/p/17301843.html

相关文章

  • .NET Core 离线 生成 Tron 波场私钥和地址笔记
    NuGet引入依赖库PM>Install-PackageTron.Wallet.Net随机生成私钥和对应的地址usingTron.Wallet.Net;namespaceConsoleApp1{internalclassProgram{staticasyncTaskMain(string[]args){vartronECKey=TronECKey.GenerateKey(TronN......
  • IP地址分类
                            ......
  • PVE 修改IP地址
    1.修改网卡ipnano/etc/network/interfaces#保存ctrl+xYEnter 2.修改管理后台ipnano/etc/issue 3.修改hostnano/etc/hosts 4.重启reboot ......
  • linux ssh登录源地址限制,H3C交换机配置SSH源地址登录限制和SNMP源地址限制的方法...
    本文转载至https://blog.csdn.net/weixin_42411545/article/details/116913844需求1:对SSH远程管理进行限源,仅允许10.0.1.0/24,210.1.0.0/24段ip进行登录;需求2:对SNMP管理进行限源,仅允许210.1.0.200-210.1.0.202这3个ip进行访问。配置方法:ssh登录后,输入:sysaclnumber2000matc......
  • 力扣-93-复原IP地址
    直达链接之前我写过一次IP地址转二进制好吧,读完题发现好像和这题没什么关系给一串数字中加.,返回所有的能够构成合法IP地址的结果有点回溯的味道,但是却又和之前的排列组合不太一样:其实相当于划分4个空往里填数字,但是这里每个空中的数字长度是不确定的填入数字是会有额外的两......
  • 根据地址查询经纬度
    有时候需要根据具体位置查询该地址对应的经纬度,然后将其保存到数据库中......importandroid.location.Address;importandroid.location.Geocoder;/** *根据地址查询经纬度 *@paramstrSearchAddress查询地址 *@return */ privateAddress......
  • 支付宝网站支付即时到帐(一) 参数的文档地址
    必备物品:企业支付宝账号官网: https://open.alipay.com/platform/home.htm第一步 创建网站应用 并完善信息 这一步很简单添加上网站支付的功能第二步 找到即时到帐的文档https://docs.open.alipay.com/62/103566上面有获取pid的方法https://docs.open.alipay.com/common/10473......
  • jmeter模拟多IP地址访问
    1.前言:今天一同事在压测时提到怎么用jmeter里虚拟多个ip来发送请求,我想了一下以前用LR时用过虚拟ip地址,jmeter还没有使用过。想着原理应该是相通的,既然LR都能支持的话,那Jmeter应该也是支持,于是就有了jmeter虚拟化IP地址的研究。在网上也查找了相应的资料,摸索参考着实践了一把,坑吃......
  • jmeter模拟多IP地址访问
    1.前言:今天一同事在压测时提到怎么用jmeter里虚拟多个ip来发送请求,我想了一下以前用LR时用过虚拟ip地址,jmeter还没有使用过。想着原理应该是相通的,既然LR都能支持的话,那Jmeter应该也是支持,于是就有了jmeter虚拟化IP地址的研究。在网上也查找了相应的资料,摸索参考着实践了一把,坑吃......
  • 《操作系统原理、实现与实践》实践项目5&6:信号量&地址映射与共享
    教员布置的操作系统的第一个大作业,其中有一些知识相对而言比较重要,包括一些操作过程都具有重复实验的价值;所以写一个blog记录一下,方便一下以后重复这个大实验或是复现。分为三个部分:实验环境的配置、实验5的实现、实验6的实现。实验环境的配置:KylinOS应该是可以实现的,实现的原......