引用:
作者orakim
你這個理很怪,怎麼照啊? XD
執行緒平均分到4M 明顯資源較多(獨享)的
怎麼可能跟
執行緒塞在2M 部分資源要共享一樣快
|
Single task with 4 threads
4M/4C 跟 2M/4C 的差異在於 4M/4C是 1 core 獨佔Decoder & FP unit & L2Cache
而2M/4C 是兩個完整的執行單位∼ 共用同一個Decoder & FP unit & L2Cache
所以除非該task是大多數都是 FP unit 運算 要不然
按照設計原理∼兩個執行單位 在同一個模組裡面∼ 跟兩個執行單位~
分散在不同模組裡面∼要跑的一樣快∼
目前的情況卻是∼分散在四個模組的四個執行單位跑的比較快
這不合理~
假設效能瓶頸在Fetch & Decode & 分支預測 單位 ~ 所以當只有1 core的執行效率
比2個core的執行效率好∼ 這百分之兩千萬是 Hardware bug / Defect
同理如果1個core 的 L2 cache Hit 比2個cores 使用的時候更好∼
那這百分之兩千萬也是 Hardware bug / Defect
如果兩個執行單位合在一起成一個模組效能比兩個執行單位分開還差∼那為什麼要
合起來?這大大的違反邏輯
當初Bulldozer的設計理念就是∼與其花大筆金錢時間去提升單執行緒10%效能
我今天可以很簡單的靠著模組化的設計∼讓整體效能+50%
當初那AMD號稱比X1100 快50%怎麼算出來的?
X1100 有 6 cores 假設每個core 100 Score Makes it 600 Score
Bulldozer 一個模組要有 180 Score Makes it 720 Score
And Bulldozer Clock speed is 25 % faster then X1100 720*1.25 = 900
這個美好數據的前提是
AMD Bulldozer 的執行單元 要跑的跟 X1100一樣快∼
當然∼這是絕對是夢幻話唬爛∼
後來又宣稱Bulldozer只比X1100 快 33 % 600*1.33 = 798
也就是AMD 一個模組要有 160 Score 640 total * 1.25 = 800
悲劇般的事實就是∼
AMD Bulldozer 一個模組只有130~140 Score 520~560 Score * 1.25 = 650~700
只比 X1100 快0~15% (好吧 有些20%)
Source
比較有趣的是
4M/4C 推土機 3.6GHz Cinebench 11.5 是 3.52
Source
X975 K10 3.6GHz Cinebench 11.5 是 4.24
Source
3.52 / 4.24 = 0.830188679 XD
的確有達到當初設計的預期
整體來說∼推土機比X1100 快 20~30% 甚至 50% 是有可能的
所以這個故事告訴我們∼能等的人等推土機2代吧