文章連結:
1. CPU緩衝效能的重要性
2. 緩衝和記憶體牆的介紹
3. LRU緩衝演算法的錯誤和UcomPower的發現
4. 評述高速CPU設計的兩種常見思路
5. UcomPower的CPU設計新思路
6. 應用新緩衝技術的CPU的市場機會
縮寫(不想一篇篇看就看這個):
目前的記憶體主要採用DRAM. DRAM傳輸速度不斷增加,但訪問延遲較大的問題始終無法解決。
DRAM延遲使得CPU需要花時間等待記憶體訪問完成。這就是“記憶體牆”。“記憶體牆”帶來一系列問題,包括限制CPU效能、增加CPU發熱量等。
UcomPower提出CPU計算時間只佔程式總耗時的不到20%. 剩下的80%多很大一部分由"記憶體牆"引起。因此無論是提高CPU頻率還是增加核心數目對提高效能沒有太大協助。
SRAM儲存密度太低,成本太高,因此DRAM記憶體暫時不可替代。通過改進記憶體技術消除“記憶體牆”目前不可能。
緩衝是目前能夠抵抗“記憶體牆”唯一有效手段。
緩衝的基礎理論是時間局域性原理(Principle of Temporal Locality). 通俗地講就是:最近被訪問到的項目,在較近的未來較有可能被再次訪問到。
LRU是一個體現了時間局域性原理的緩衝替換演算法,一直以來,幾乎所有的CPU緩衝都是採用的LRU及其變種。
實驗/分析後,UcomPower發現時間局域性原理的描述並不準確:記憶體訪問痕迹分布是極其不均衡的,程式的記憶體位址的使用計數呈現出強烈的“長尾”形態。大部分地址只用一次,這些地址完全沒有緩衝的價值。
而LRU認為每一個地址在將來都是有用的,因此會把大量的只用一次的記憶體位址儲存很久,而CPU緩衝中有價值的地址會被排擠出去。
UcomPower發明了一個LRU緩衝替換演算法的改進,稱之為WLRU。WLRU能夠很快地排除只用一次的記憶體位址,從而保護了CPU緩衝中有價值的記憶體位址。
UcomPower認為自己的這項技術有助於製造出具有革命性意義的CPU,進而打敗Intel, nVidia等傳統晶片巨頭。
我的幾點看法:
1. 文章商業味比較重。LRU演算法不能說有錯誤,只能說解決方案不夠優。
2. 沒有提供有力的實驗資料說明WLRU的有效性(WLRU就是他們的命根子,掖著不放可以理解)。
3. 只憑藉WLRU,國產CPU就可以打敗Intel嗎?工藝/其他眾多技術細節怎麼解決?靠ARM/MIPS授權+代工的模式?(做軟體,這一塊我瞭解不多)