CPU性能淺談:並不是主頻越高性能越強
在處理器的歷史中,CPU主頻一直是老生常談的話題,作為與核心數同等重要,衡量處理器性能的重要參數之一。在前幾年,英特爾在市場上獨佔鰲頭的時代,CPU核心數並沒有得到提升,每年更新換代產品都只是提升CPU主頻,因此CPU主頻的高低成為了CPU性能的指標。隨著AMD發布銳龍3000系列處理器,在CPU主頻比英特爾低的情況下,CPU的單核性能和多核性能卻超越英特爾。主頻似乎顯得不那麼重要,那麼CPU主頻能決定CPU性能嗎?
CPU頻率的概念
CPU主頻,即CPU內核工作的時鐘頻率(CPU Clock Speed),單位為GHz。CPU是一個複雜的數字系統,為了確保內部所有硬體單元能夠協同快速工作,CPU架構工程師們往往會設計一套時鐘信號與系統同步進行操作。時鐘信號是由一系列的脈衝信號構成,並且總是按一定電壓幅度、時間間隔連續發出的方波信號,它周期性地在0與1之間往複變化。
很多人認為主頻決定CPU的運行速度,其實是錯誤的,CPU主頻表示在CPU內數字脈衝信號震蕩的速度,與CPU的實際運行速度並沒有直接關係。主頻與實際的運算速度有一定的關係,但沒有去衡量它們之間關係的標準,因為CPU的運算速度還要看CPU的流水線的各方面的性能指標(緩存、指令集,CPU的位數等等)。所以會出現AMD推土機時代的那些高主頻低性能,發熱量還大的令人詬病的產品。
雖然CPU主頻不能代表CPU的速度,但提高主頻對於CPU運算速度卻至關重要。舉個例子,假設某個CPU在一個時鐘周期內執行一條運算指令,當它以100MHz主頻進行運算時,所需時間是20ns,那麼當主頻提高到200MHz是,所需要時間就縮減到10ns。運算速度自然就快一倍。只不過電腦的整體運行速度不僅取決於CPU運算速度,還與其它各分系統的運行情況有關,只有在提高主頻的同時,各分系統運行速度和各分系統之間的數據傳輸速度都能得到提高後,電腦整體的運行速度才能真正得到提高。
除此之外還有外頻與倍頻,它們與主頻之間的關係密切,倍頻是主頻與外頻之比的倍數。主頻、外頻、倍頻之間有一個關係公式:主頻=外頻×倍頻,一般超頻都是指超倍頻,現在很少超外頻了。
大家會覺得複雜難懂,我們只需要知道在不同架構的CPU之間不能以主頻來對比其性能。
那麼銳龍3900x系列是如何在主頻低於i9 9900K的的情況下,單核性能與之持平的?
提高CPU單核性能有兩個途徑:提高主頻和提高每個時鐘周期內執行的指令數(IPC)。處理器微架構的變化可以改變IPC,效率更高的微架構可以提高IPC從而提高處理器的性能。但是,對於同一代的架構,改良架構來提高IPC的幅度是非常有限的,所以英特爾這幾代CPU都是靠主頻來衡量性能。
銳龍3000系列所採用的ZEN2架構,將提高每個時鐘周期內執行的指令數(IPC)提升了15%,對於處理性能來說提升是非常明顯的,它們之間也有一套公式:處理器性能 = 主頻 x IPC。
主頻並不是決定CPU性能的標準,但也是非常直觀的參數。在同代同架構CPU之間作為性能參考是可行的,除此之外,核心數、超線程等也是重要性能指標。

