高速缓存未命中是如何发生的?

问题描述 投票:0回答:1

我正在尝试了解缓存未命中是如何发生的。到目前为止,这是我理解的方式:CPU请求地址x,在其自己的(L1 / L2)缓存中搜索。如果不存在,则表示缓存未命中。现在,这里缺少的是如何准确地找到缓存中不可用的信息?缓存行保留哪些信息?到目前为止,我知道缓存行应包含以下信息:

Address of the information, Data within that address.  

具有此信息,CPU可以找出其高速缓存中是否有地址。当它具有无效的数据副本时,就会出现问题。所以我的问题是:处理器如何确定某些数据有效还是无效?每个高速缓存行中是否存储有标志?是否要求协议提供此信息?如果是这样,协议的信息保存在哪里(缓存/内存/其他地方)?我仍在搜索,但希望对此有任何资源。

-EDIT提出了类似的问题here,但没有答案。似乎没有MESI协议的任何详细信息。任何帮助表示赞赏。

-EDIT2我在MESI CMP Directory中找到了更多信息。它声明“ L2高速缓存控制器片上目录与L2高速缓存中的相应高速缓存块位于同一位置”,但是关于L1高速缓存控制器信息所处的位置无关。

我正在尝试了解缓存未命中是如何发生的。到目前为止,这就是我的理解方式:CPU请求地址x,在其自己的(L1 / L2)缓存中搜索该地址。如果不存在,则为...

caching cpu cache-control
1个回答
1
投票

高速缓存行(L1或L2)包含以下信息:

© www.soinside.com 2019 - 2024. All rights reserved.