這篇文章怪怪的 ....
當初 Intel 推 NetBurst 就是為了玩時脈大戰
因為那時後, INTEL 人多, 製程技術又領先, 所以 Marketing 的人就順勢規劃
以時脈論英雄, 打算用數字遊戲打死 AMD.
有一點要先說明的, 高時脈不是原罪,
因為要處理大項資料, 只有兩個方法 1.高時脈 2. 一次處理多筆 (ex: 64 bit or 128 bit)
SSE/MMX
這東西是多媒體用的, 多媒體有些特性,
1. 運算本身不複雜
2. 資料量大
3. 不太需要很高的精準度(因為誤差人不易分辨)
所以 SIMD 符合這個需求,
但是科學運算就不行用這類多媒體指令, 因為很多科學運算需要高精確度
超長管線
超長管線對分支預測是很傷的, 因為只要預測錯誤, 所有資料都要放棄要重新載入.
而從 386 的時代(有些人認為 386 不算), 管線對 performance 的改善幫助很大
但是, 前提是管線是正常運作(管線塞滿資料), 而 "分支" 就是會讓管線會重新載入(清空)的主要兇手
如果有基礎的機算機慨念就知道 "分支" 在程式出現的很頻繁, 例如; 迴圈, IF 判斷式
迴圈是有可能預測, 但是 IF 判斷式就不行(比較難)
所以 NetBurst 遇到多媒體資料沒問題, 因為多媒體資料的分支以迴圈為主.
遇到遊戲(一般應用程式), 為因為分支多為 IF 判斷式, 性能自然下降.