其實我只是在跟你說 cache 「大小」所造成的差異而已,所以才找來資料說 P4, K8 在 cache 的 access time, latency 上是差不多的,因此以大小決勝負,而且 L2 的 latency 太高,所以 L1 的大小影響比較大,就這樣而已。
我第一次發文就是基於這樣的論點,所以我才說二者擇一,我不過是省略了「不刻意提高 cache latency 來造成時脈上升」這句話而已。
但你卻故意挑我語病,為反駁我而反駁,這篇我已經不知道你的主旨在說什麼了。我不是在跟你討論誰的 cache 精良,也不是在說 K7/K8 還有 FX 有什麼差別,我只是在說 P4 和 K8 的差別。
而且電晶體愈多並不會對時脈的阻礙(當然是看多在哪裡),反而應該會愈多愈快,莫爾定律每十八個月電晶體密度變兩倍,很多人誤傳成時脈變兩倍,其實是差很多的,即使現在 Intel 放棄高時脈策略,莫爾定律仍然不會變。
我說了,你卻沒看到 L1 影響時脈的原因,是因為它是 "Design in core," 可以直接與 pipeline 存取,這是 L2 望塵莫及的,也是 L1 阻礙時脈上升的原因。
你自己說的話卻又自打嘴巴,加大全速的 L2/L3 只要提高 latency 何來阻礙時脈之理?L1 和 L2/L3 在設計上根本是不一樣的東西。而且 Intel 推出 P4EE 是因為逼不得已,他是沒得玩了才這樣玩,不然出個貴得要死又沒多強良率超低熱量驚人的 CPU 有什麼用?K8 FX 就把它巴死了。
AMD 以大 L1 來爭取效能,Intel 則是玩高時脈路線。如果增加 L1 和高時脈沒衝突,K8 何不大增加時脈到和 P4 一樣,把 Intel 打入萬劫不復的深淵?或為什麼Prescott 拚死要玩高時脈,而不把 L1 加到和 K8 一樣,這樣 L2 和 Northwood 一樣就好了(電晶體少很多,熱量也會少很多),肯定也比現在強很多 (因為 L2 access time 是 L1 的十倍)。但事實是 K8 在這樣低時脈良率都有問題了,Prescott pipline 太多,時脈高效能卻普普。但好在它增大的 L1, L2 並沒有讓他太難看。
這樣我的重點你明白了嗎?我要比的,只有「大小」而已。
Size does matter! OK?
引用:
Originally posted by Reich 唐
我當然了解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)。
|