引用:
作者visionary_pcdvd
回84樓:
一、有關「快取關聯度和快取大小不大相關」,可否請你以K8為例,分析一下為何L1(64K)只有2路關聯,但L2(512K)卻有16路關聯,若不大相關為何要如此設計?
二、「只用部分可以獲得的資訊想去推測整體是不智的」-> 是,但我69樓也說過「AMD及Intel都只會把快取越做越快及越做越大」,所以至少在片面性能的推測上是有跡可尋的,如果我之前的發言讓你認為我是在推測整體,很抱歉我也只能在此稍加澄清了
|
關於第一點會有如此誤解是很合理的
為什麼會如此做牽涉到所謂分層快取的概念
我相信根據前面的解釋大家都知道了 要[大] 要[多路關聯] 要[OOXX]下要快是很難的
所以我們把原本可以一層搞定的快取分層
把第一層快取縮小 這層快取的目的是[在可接受的命中率下盡可能的快]
所以第一層快取儘量降低關聯性 儘量調整快取的大小 來達到較高的速度
而命中率的部份就交給第二或更後面的快取來補足
此時後面這幾層快取注重的是命中率 速度不是第一優先考量[當然還是重要]
所以會有較大容量 以及較高的關聯度
整段的結論就是
[要增加快取命中率 大家通常同時增加關聯度以及快取大小]
但是不代表
[增加快取大小的同時必須增加關聯度 亦或 增加關聯度時必須增加快取大小]
不知這樣的解釋是否可以接受
假設還有疑問的話建議參考WIKI看看有沒分層快取的相關資料
第二點我了解了