簡體   English   中英

L1數據緩存配置

[英]L1 Data Cache Configuration

我們目前正在處理1級緩存未命中問題,根據在PAPI的幫助下收集的結果,我開始認為我們可能做錯了什么。

我目前正在使用英特爾®酷睿™i3-2370M CPU @ 2.40GHz在筆記本電腦上運行測試。 根據規范,L1數據高速緩存的大小為32 KB,具有8路設置關聯性,而一行則為64字節。 因此,我們得出結論,它有64套,每套有8行。

給定一個32位內存地址,我們認為它在L1緩存中具有以下結構:

TAG |  line id  |   set id   |  line offset
     ----------  ------------  -------------
       3 bits       6 bits       6 bits

這個假設是真的嗎?

不完全是。 “ 8向”的意思是一條特定的內存行可能在8條不同的高速緩存行中的任何一條中。 因此,您的緩存實際上確實包含8組不同的行,每組64行,但是您的標記(此處假設為64位系統)實際上是52位(理論上,假設所有64位都已實現,但並非一成不變) 6位用於標識線路ID,然后是6位偏移。 高速緩存電路將在所有8個不同的組中查找該52位標簽(通常並行或盡可能接近)。 沒有從地址分配位來指定“方式”。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM