缓存到内存的映射

尚卡迪普·穆克吉(Shankhadeep Mukerji)

第一次设计高速缓存时,是将其随机映射到一些内存地址,还是在开始时是空的,并且仅在处理器加载或存储指令之后才填充内存/较低级别的高速缓存数据?

我有这个问题,因为我已经为L1缓存设计了RTL。因此,我应该将其保留为空白,等待任何处理器请求读/写,还是只用一些内存映射数据填充它,然后据此理解命中/未命中?

彼得·科德斯

首先设计?您是说先上电吗?正常的方法是从所有无效标签开始(因此,数据数组中的内容或其他任何地方都没有关系)。

不难想象,如果缓存中的所有数据都是随机初始化的,那么某些行将是有效的,不是肮脏的,并且其内容与RAM / ROM中的实际内容不同,因此显然您不应该这样做。例如,在这个不同步的L1中击中引导ROM代码将是不好的!


如果在开机时将内存的任何部分初始化为已知的内容(如全零),则理论上您可以初始化缓存标签和数据,以便缓存该内存。

如果您将缓存初始化为对于与内存中的内存不匹配的任何地方都有效,则需要将其初始化为脏磁盘,这将在驱逐各行以支持CPU实际需要时触发回写操作,从而使没道理

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

同步内存LRU缓存映射

来自分类Dev

监视页面缓存/内存映射文件的访问

来自分类Dev

<mvc:resources>-它是否缓存到内存?春季4.0.5

来自分类Dev

将PID缓存到端口映射Windows的安全方法

来自分类Dev

将PID缓存到端口映射Windows的安全方法

来自分类Dev

CUDA将数据从全局内存缓存到统一缓存中,以将其存储到共享内存中吗?

来自分类Dev

将numpy内存映射保存到新文件并从该文件加载新内存映射会导致值更改

来自分类Dev

Ruby的CSV.open是否会缓存到内存并一次写入所有内容?

来自分类Dev

强制SQL Server将整个数据库预缓存到内存中

来自分类Dev

使用Dask将大于内存的数据帧缓存到本地磁盘

来自分类Dev

Android 缓存到磁盘

来自分类Dev

Spring缓存,缓存到硬盘而不是ram?

来自分类Dev

缓存和内存

来自分类Dev

Apache引发内存缓存

来自分类Dev

缓存内存块组织

来自分类Dev

JavaScript“缓存”与“内存”

来自分类Dev

缓存的ram /内存泄漏

来自分类Dev

使用缓存。映射技术

来自分类Dev

直接映射的缓存示例

来自分类Dev

使用缓存。映射技术

来自分类Dev

SDWebImage不缓存到磁盘

来自分类Dev

端口映射,内存映射

来自分类Dev

Windbg内存映射?

来自分类Dev

与&映射的可变内存位置

来自分类Dev

远程文件内存映射

来自分类Dev

Android进程内存映射

来自分类Dev

Python内存映射

来自分类Dev

弱映射内存泄漏

来自分类Dev

Windbg内存映射?