引用:
作者ianme
51什麼時候有這麼重大的改進.....是增進時脈吧....本來很多就是一個週期,但是要下的命令又不是一個週期就可以完成,改進12倍這個扯了一點。
還有時脈本來就等於效能,但是不同的架構就難以比較,Intel走的是將管線多階化來提高時脈的路線,AMD則是加強原本P3架構,對每一節點作強化。這個就好比Intel他運算能力強了一點,跑10000MB/s,可是他平均工作效率是50%,然後AMD是8000MB/s,因為將Memory Controller內建的關係,等待資料時間大幅減少,變成平均效率80%,所以這樣比起來Intel產品必需拿出叫高時脈才能平衡,不過高時脈對P4本來就是特色,所以說誰優誰劣這是各有千秋,當然實際上不可能這麼簡單,不過我這樣說明不知道能否讓你明白了解。
|
最早的 8051 最少要 12 cycle 一個指令,現今還是有許多產品是 12-cycle 的,但是有許多廠商把 RISC 的 pipeline 觀念導入,有些 8051 是 1-cycyle、4-cycle 等等,性能當然就增加 12 倍。
時脈等於效能不是一定的,如果你有超過頻,一定知道,即使是同一顆處理器,高外頻與低倍頻,性能往往會勝過低外頻與高倍頻,即使工作頻率低了一點。在幾乎所有條件被限制下,同樣時脈才有機會與效能成正比,更遑論不同的 cpu,所以才會有 SPEC benchmark 的出現。
基本上 k8 性能強,是因為與 p3/pm/powerpc 等大部分處理器一樣,走高 ipc 路線,p4 走低 ipc(就是低效率),以高時脈來換取性能。
至於為什麼 IPC 會有高低,與 ALU/AGU/FPU 設計、pipeline stage、superscaler(pipeline 數量,out-of-order/in-order 設計)、cache(架構,size,latency,bandwidth)、TLB、分支預測演算法、uop 與 decoder 設計、microcode, embedded memory controller 等等有關。
P4 的性能差,主因在為了高時脈,使用太深的管線,因為分支預測錯誤而大大損失效能,在簡單的運算可能有很高性能,但是一但扯到資料相依性或演算法較複雜,分隻預測錯誤發生機率高,做白工而性能大降,這也就是為什麼許多 benchmark,像是 SANDRA 測出性能很強,可是大部分真實程式慘敗給 k8/pm 的主因。