相关疑难解决方法(0)

C volatile变量和Cache Memory

缓存由缓存硬件透明地控制到处理器,因此如果我们在C程序中使用volatile变量,我的程序如何保证每次从指定的实际内存地址而不是缓存中读取数据.

我的理解是,

  1. Volatile关键字告诉编译器不应优化变量引用,并应按代码中的编程读取.

  2. 缓存由缓存硬件透明地控制,因此当处理器发出地址时,它不知道数据是来自缓存还是来自内存.

因此,如果我需要每次都需要读取一个内存地址,我怎样才能确保它不是从缓存引用而是从所需的地址引用?

有些怎么样,这两个概念并不合适.请说明它是如何完成的.

(想象一下我们在缓存中有回写策略(如果需要分析问题))

谢谢你,Microkernel :)

c computer-science volatile computer-architecture memorycache

33
推荐指数
3
解决办法
2万
查看次数