gpt4 book ai didi

memory - 为什么将内存区域标记为非缓存?

转载 作者:IT王子 更新时间:2023-10-28 23:32:23 29 4
gpt4 key购买 nike

在嵌入式应用程序中,我们有一个表格,描述了在目标板上有效的各种地址范围。此表用于设置 MMU。
RAM 地址范围标记为可​​缓存,但其他区域标记为不可缓存。这是为什么呢?

最佳答案

这样做是为了让处理器不会因为缓存而使用过时的值。当您访问(常规)缓存 RAM 时,处理器可以“记住”您访问的值。下次您查看相同的内存位置时,处理器将返回它记住的值,而无需查看 RAM。这是缓存。

如果位置的内容可以在处理器不知道的情况下发生变化,如果您有一个内存映射设备(例如,FPGA 返回一些数据包),处理器可能会返回从上一个“记住”的值时间,这是错误的。

为避免此问题,您将该地址空间标记为不可缓存。这样可以确保处理器不会尝试记住该值。

关于memory - 为什么将内存区域标记为非缓存?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/90204/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com