多核心處理器中的 GHz 是如何計算的?

多核心處理器中的 GHz 是如何計算的?

可能的重複:
雙核心處理器中每個核心的速度有多快?

我正在兩個系統之間進行辯論(為了簡單起見):

(1)2.9GHz 雙核心處理器

(2)2.3 GHz 四核心處理器

現在,當我考慮這個問題時,我有幾個具體問題想回答。

首先,「數字」(頻率)是如何計算的以及它們的意義是什麼?對於 2.9 GHz 雙核心,這是否意味著每個核心的時脈頻率約為 2.9 GHz,或者是否意味著每個核心的時脈為 2.9/2 = 1.45 Ghz?同樣,四核心是否提供「淨」2.3 GHz 速度,或者每個核是否提供「淨」2.3 GHz 速度?字面上地頻率為 2.3 GHz?

我從網路上閱讀的內容中得到的直覺是,每個核心實際上都以指定的速度運行(我知道你無法從四核心 3 GHz 系統獲得 12 GHz,除非你的程式碼在平行化方面完全線性)。

我的另一個問題是,假設您有純粹並行運行的程式碼。在什麼情況下,僅僅因為作業系統(和其他後台任務)幹擾較少,額外的核心就可以使程式碼運行得更快?

例如,如果我可以選擇 2.6 GHz 雙核心或 2.5 GHz 四核,即使對於單身的對於線程程序,我認為 2.5 四核會運行得更快,因為單線程被其他程序(包括作業系統)中斷的情況會更少。

答案1

對於 2.9 GHz 雙核心,這是否意味著每個核心的時脈頻率約為 2.9 GHz,或者是否意味著每個核心的時脈為 2.9/2 = 1.45 Ghz?同樣,四核心的「淨」速度是 2.3 GHz 還是每個核心的速度都是 2.3 GHz?

你永遠、永遠、曾經以這種方式增加速度。兩輛汽車每輛以每小時 50 英里的速度行駛並不能使任何東西以每小時 100 英里的速度行駛,就這樣。如果CPU的核心速度為2.9 GHz,則表示您可以將其時脈頻率設定為2.9 GHz,也就是說,其時脈每秒可以循環29億次。

例如,如果我可以選擇 2.6 GHz 雙核或 2.5 GHz 四核,即使對於單線程程序,我也會假設 2.5 四核會更快,因為單線程被其他程序(包括操作系統)。

這是一個無意義的問題。您無法根據時脈速度來比較不同的 CPU。這就像在說“你有一輛帶有 10 加侖油箱的車輛和一輛帶有 12 加侖油箱的車輛,哪一輛車加一箱油可以走得更遠?”嗯,這取決於它們的重量、引擎有多大等等。

切勿根據時脈速度來比較 CPU,除非它們在其他方面相同。顯然,雙核和四核有很大不同。

如果您想像兩個 CPU 的差異僅在於一個是 2.6 GHz 雙核,另一個是 2.5 GHz 四核,那麼假設系統沒有被其他程式負載過重,那麼執行單執行緒程式可能不會有顯著差異。作業系統開銷不太可能使核心耗盡,在任何一種情況下,您都至少有一個核心可用於磁碟 I/O 和中斷等作業系統任務。例如,如果限制因素是記憶體頻寬,那麼更多的核心也無濟於事。

也就是說,在其他條件相同的情況下,更多的核心幾乎總是比更少的核心更好。對於桌上型電腦,我看不出雙核心有什麼意義。而且,展望未來,越來越多的軟體將知道如何利用更多核心。

相關內容