瀏覽單個文章
alience
Power Member
 

加入日期: Mar 2003
您的住址: 台北
文章: 597
引用:
作者sutl
果然L2無法做共享式架構

自K7起,為了提高快取命中率,L1有的資料L2就不會有,讓快取浪費減至最低,K8自然承襲這項設計。

intel一直採用傳統式的設計,L1有的東西L2也會有,所以一直維持小L1也是為了避免浪費。

傳統設計到了多核心時代反而變成好東西,因為L1讀取資料後L2資料還在,所以L2可以共享不會發生事情。

而K7/K8的設計,L2就無法共享了,假設CPU1讀取了一筆資料到L1,於是L2將這筆資料刪除,然後當CPU2要同樣的資料時,發現L2沒有,於是啟動記憶體控制器去讀外部記憶體,這樣會造成性能下降。

看圖可以發現,L2快取小了很多,原本K8的L2是佔去一個核心一半以上的空間的,猜測K8L每個核心的L2大概是128KB。

說真的,這樣的設計跟intel比起來真是非常浪費,因為在同一時間四顆核心所要存取的資料其實差不多,AMD的大L1+L2的設計浪費了很多電晶體,這在四核心時代就會有點...


L2 cache看起來小應該是65nm縮小電晶體的關係吧@@
90nm的Rev.F x2 die size是220平方釐米
2x1MB的L2 cache只有77平方釐米
至於dedicated或是shared
dedicated應該是好做,balance不佳,
shared反而複雜,但balance佳
可是到4core或是更多core時share應該會出現L2頻寬上的瓶頸
因為L2頻寬也是share
除非L2頻寬一直加上去
且4core以上要做share cache的control unit應該比dedicated複雜多了
看不出AMD浪費在哪裡
舊 2006-05-17, 06:07 PM #8
回應時引用此文章
alience離線中