為什麼即使進行大規模運算,CPU 速度也會改變?

為什麼即使進行大規模運算,CPU 速度也會改變?

我意識到即使我的 CPU 計算量很大,它的速度也不是恆定的。在任務管理器中,速度從 ~4,2 GHz 變化到 ~4,4GHz。為什麼?

我有兩個定理:

  • 這是平均速度,即使在大量 CPU 使用期間,也會有一些時隙,我們在這些時隙中等待記憶體/IO,並且速度會跳回到基本速度一段時間。
  • CPU主時脈產生誤差(抖動/漂移),而測量使用高精度時脈。
  • 其他...?

在此輸入影像描述

我用的是Win10

答案1

現代CPU 中的時脈速度管理最重要的是熱管理:從基本頻率開始,可以透過長時間的最佳冷卻來維持,如果CPU 的所有部分不是全部都可以「提升」到更高的時脈速度,那麼CPU 可以「提升」到更高的時脈速度。

您的螢幕截圖給人的印像是六核心 CPU,只有一個核心全速運行。在這種情況下,熱管理能夠將時脈頻率從基礎 3.2 GHz 提高到 4.2 GHz 以上:雖然一個核心產生大量熱量,但其他核心基本上處於空閒狀態,很可能部分關閉。此時脈速度無法無限期地維持,並且當另一個核心必須承擔一些負載(後台任務等)時,必須降低活動核心的提升。

由於每秒多次(IIRC 的數百倍)根據熱量和負載數據點重新評估升壓/節流,因此當前時脈速度將波動相當大。這是正常現象,也是可以預料的。

答案2

您的 CPU 的基本速度為 3.19 GHz(官方報道可能為 3.2 GHz)。如果可能的話,它會運行得更快。決定是否可以運行得更快的因素取決於CPU的功耗和溫度。它還取決於載入了多少個 CPU 核心。

最有可能的是,速度的變化是由於工作對 CPU 施加負載的方式所造成的。當它向更多核心施加負載時,速度會下降以將功耗保持在配置的限制內。請注意,它下降的速度仍然遠高於宣傳的基本速度。

相關內容