benny950 wrote:
多工作業細統如Windows 7,可以同時(宏觀上)做很多工作。每個工作又被細分成一或多個更小單位的工作(thread),這些小工作要被排入CPU的線程(thread)裡才能運行。CPU有4線程就表示同時(微觀上)可以有4個小工作被排入CPU一起運行。
以上的每個小工作裡有許多如加減乘除等指令,這些指令一定要送進CPU核心才能執行。如果一核心有兩線程,兩線程會不斷往核心送指令進去,但每一核心一次只能執行一個指令,另一個只能等待。看起來沒什麼好處。但有些時候線程塞給核心指令時會有延誤,如果是一核心一線程,核心只能乾等,若一核心有2線程,核心不必枯等,可以執行由另一個線程塞進來的指令。由此達到加速的目的。
每核心一次只能執行一指令應該改成每核心一次只能執行一線程
雖然作業系統能用單核心系統處理多任務 但是CPU每次只能處理一線程
不是CPU每次只能處理一條指令 CPU一時脈週期能處理的指令可不是1條
許多人在評估處理器的效能時,大多是觀察它的時脈,但是在效能的評估上其實還有另一個重要的指標,那就是IPC(Instruction Per Clock cycle)每一時脈周期可執行的「指令」,筆者利用處理器來做解釋。例如同樣是2GHz的處理器,A處理器的IPC值為「1」、B處理器的IPC值為「2」,就等於2GHz x 1、2GHz x 2,在每一周期的運算下,這兩顆處理器的IPC值就有兩倍差距,因此,就算處理器的時脈較快,仍然會因為IPC值較低,而A、B處理器有不同的效能。
因此,不論是一顆處理器或是顯示晶片,若是要評估它的效能,就不能只看它的時脈,這得要把它的IPC值給算進去才行。而Intel、AMD等等的處理器,也都會在IPC值上做努力
http://www.techbang.com/posts/213-performance-of-ipc-performance