引用:
Originally posted by Adsmt
你沒有看明白我的意思,也不明白 L1 cache 的精神, [/B]
|
我當然了解L1 cache是拿來幹嘛的,我只是針對你的這句話:
高時脈和大 L1 是分叉路,只能二者擇一。 這句話作討論,基本上從K6到K7或是PIII到PM就可以知道,L1 cache增大,不會跟高時脈成為分岔路,除非你精細的說是同一個核心,完全不修正的情況下,那L1 cache增大,當然會對時脈造成影響,但那主要還是卡在latency(只要製程夠,增加L1的電晶體並不是很困難的一件事),與電晶體的數量,但就像我講的,如果預期時脈夠高,降低L1的latency是很多CPU設計者採用的方向,反正時脈如果可以因此拉的很高,足以彌補這個部分,CPU設計者也可以採用更多的寫入緩衝區等更新架構,減輕L1 latency造成的影響,其實L1這個問題,基本上只要時脈好賣的話,這種情況會一再出現,何況現在的CPU都內建了強大的全速L1甚至L3。
而CPU塞越多電路,電晶體增加本來就是可預期的,但是製程改進通常就可以改善這個問題,而且這個論點蠻無聊的,塞越多電晶體,本來就可能會造成時脈上生的阻礙,耗用電晶體更多的L2反而影響更大。(L2也是full speed on die啊!),不然Athlon 64 3800+幹嘛把L2降到512K,只是為了跟FX-53做區分嗎?應該不是吧。
CPU設計者不願意輕易修改L1的原因,是因為L1的修正比L1困難,而且加大L2就可以輕易的增加效能,幹嘛去動L1。而且K8這個L1比較精良的論點其實是有問題的,那是因為K7/K8的L2 cache性能比較差,所以要靠較大的L1彌補,Intel的L2設計非常精良,頻寬也比較大,幹嘛浪費電晶體,做那麼大的L1。P-M的設計觀點當然也知道大L1的效力,而是筆記型電腦不能飆高時脈,反正Intel的快取記憶體功力較佳,筆記型電腦市場獲利也比較高,乾脆把L1/L2通通做大一點吧,而且反正架構重新設計一下,擁有64KB L1的P-M,照樣時脈往上狂飆 沒問題。
此外,補充前面的,討論L1/L2的精良度,要考慮一點就是不管P3/P4架構的L1設計再差,Intel的L2 可是非常精良,除了latency低,最重要的是頻寬高達256bit,就算是K8也只有128bit的L2頻寬,intel甚至還有餘力內建高達2MB的L3,所以Intel只是策略考量,否則要比快取記憶體的精良度,Intel其實是更勝一籌的,只要能賺錢的CPU,就可以有較大的快取記憶體(P-M、P4EE)。