瀏覽單個文章
superscalar
Senior Member
 

加入日期: Jul 2002
您的住址: 光碟托盤
文章: 1,495
引用:
作者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的設計浪費了很多電晶體,這在四核心時代就會有點...

512KB L2 per core
 
舊 2006-05-17, 10:04 PM #22
回應時引用此文章
superscalar離線中