社区
驱动开发/核心开发
帖子详情
Windows内核怎么让高速缓存(Cache)失效??
Vinx911
2016-07-19 12:01:10
Windows内核怎么让高速缓存(Cache)失效??
DMA传输后数据总是不对,怀疑是内存与高速缓存(Cache)不一致引起的
...全文
1756
2
打赏
收藏
Windows内核怎么让高速缓存(Cache)失效??
Windows内核怎么让高速缓存(Cache)失效?? DMA传输后数据总是不对,怀疑是内存与高速缓存(Cache)不一致引起的
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
2 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
curious_cat
2018-02-25
打赏
举报
回复
不要轻易的去怀疑操作系统; DMA传输设计到硬件、驱动程序(这些都是自定义的),其中的任何一个环节有问题,就会导致跟预期不一致; 所以你要做的是去排除硬件(是标准的桥片,比如PLX,还是自己设计的FPGA)和驱动程序(自己设计的驱动,还是第三方软件,比如windriver生成的框架)方面的BUG。
weixin_41730101
2018-02-13
打赏
举报
回复
请问使用的是bus-master,还是system DMA,该问题最后是如何解决的
讲解Linux
内核
高速缓存
(
cache
)原理(图例解析)
之后,2 号核心需要修改变量 B,此时 2 号核心的
Cache
中对应的
Cache
Line 是已
失效
状态,另外由于 1 号核心的
Cache
也有此相同的数据,且状态为「已修改」状态,所以要先把 1 号核心的
Cache
对应的
Cache
Line 写回到内存,然后 2 号核心再从内存读取
Cache
Line 大小的数据到
Cache
中,最后把变量 B 修改到 2 号核心的
Cache
中,并将状态标记为「已修改」状态。▪ CPU 首先在
cache
中查找想访问的数据,而不是直接访问主存。
Linux
内核
设计与实现 第十六章 页
高速缓存
与页回写
页
高速缓存
(
cache
) 是Linux
内核
实现磁盘缓存。它主要用来减少对磁盘的I/0操作。具体地讲,是通过把磁盘中的数据缓存到物理内存中,把对磁盘的访问变为对物理内存的访问。这一章将页回写:将页
高速缓存
中的变更数据刷新回磁盘的操作。磁盘
高速缓存
之所以在任何现代操作系统中尤为重要源自两个因素:第一,访问磁盘的速度要远远低于(差好几个数量级)访问内存的速度一ms 和ns的差距,因此,从内存访问数据比从磁盘访问速度更快,若从处理器的L1和L2
高速缓存
访问则更快。
【Linux
内核
】CPU
高速缓存
行及MESI 协议
基于https://www.cnblogs.com/jokerjason/p/9584402.html 单核CPU: 多核CPU: 大致关系:CPU
Cache
--> 前端总线 FSB (下图中的Bus) --> Memory内存 CPU 为了更快的执行代码。于是当从内存中读取数据时,并不是只读自己想要的部分。而是读取足够的字节来填入
高速缓存
行。根据不同的 CPU ,
高速缓存
行大小不同。如 X86 是 32BYTES ,而 ALPHA 是 64BYTES 。并且始终...
CPU
高速缓存
(
Cache
Memory)
文章目录CPU
高速缓存
多CPU多核缓存架构缓存一致性(
Cache
coherence)缓存一致性的要求写传播(Write Propagation)事务串行化(Transaction Serialization)一致性机制(Coherence mechanisms)总线仲裁机制总线锁定缓存锁定总线窥探(Bus Snooping)工作原理窥探协议类型一致性协议(Coherence protocol)MESI协议伪共享的问题linux下查看
Cache
Line大小避免伪共享方案 CPU
高速缓存
CPU缓存即高速缓
CPU结构、
高速缓存
、总线锁、缓存锁、缓存一致性协议、StoreBuffer、指令重排序、内存屏障
CPU结构 任务管理器CPU部分右下中会展示
高速缓存
(L1、L2、L3): 总线锁 总线层面解决数据一致性问题。 缓存锁 解决
高速缓存
中数据一致性问题(简称:缓存一致性问题)。避免多核CPU的线程中,复制的主内存数据不能及时同步。一个CPU
内核
的
高速缓存
中的数据更新,会让其他CPU内存的
高速缓存
中相同数据的缓存
失效
。然后此CPU
内核
的
高速缓存
中的数据同步到主内存,其他CPU
内核
的
高速缓存
中相同数据从主内存重新复制。 缓存一致性协议: MSI、MESI、MOSI... MES...
驱动开发/核心开发
21,597
社区成员
21,709
社区内容
发帖
与我相关
我的任务
驱动开发/核心开发
硬件/嵌入开发 驱动开发/核心开发
复制链接
扫一扫
分享
社区描述
硬件/嵌入开发 驱动开发/核心开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章