讓CPU更高效 擴展指令集那點事

電腦愛好者 發佈 2020-03-05T13:08:43+00:00

用一個簡單的例子來說,如果說指令集是讓CPU理解「9×9就是9個9連加」這種基本常識並進行計算的話,擴展指令集就可以看做是乘法口訣表、開方查詢表一類的東西,可以大幅提升效率。

在CPU的一代一代「進化」中,除了頻率、緩存乃至核心結構的變化外,有一個不太起眼的升級經常會被小夥伴們忽略,就是「擴展指令集」。指令集很多小夥伴大概耳熟,它就是指揮CPU工作的指令。不過擴展指令集又是什麼?對我們使用有什麼影響呢?

用一個簡單的例子來說,如果說指令集是讓CPU理解「9×9就是9個9連加」這種基本常識並進行計算的話,擴展指令集就可以看做是乘法口訣表、開方查詢表一類的東西,可以大幅提升效率。比如SSE、AVX指令集就可以提升浮點運算能力,進而提升遊戲速度。

另外還有一些指令集是開啟新功能必不可少的,比如i7-3770的性能不比九代的i3差,但因為缺少FMA3指令集,在玩《怪物獵人世界》、CEMU模擬器時就會出問題。現在很多小夥伴用的虛擬機要想運行更流暢,也需要CPU有指令集和專用單元支持才行。

那讓CPU儘量支持多多的指令集,覆蓋的能力越全面越好唄。這可不行,因為這些指令都需要設置一些專門的編解碼甚至處理電路,會加大晶片的複雜度。要保持晶片的體型,只能挑一些常用或者通用性強的指令。就像我們乘法口訣表背到9×9就好,更大的數字計算用口訣結合計算公式也很方便。

挑選CPU的時候,咱們也不必追求指令集更多更全面,比如現在有些CPU支持面向商用的博銳(vPro)指令集,這個真的是在大型專業商用軟體中才會用,家用、娛樂、遊戲電腦選這些CPU絕對是浪費錢。

可是分清各種指令集真的很難,更不要說這些指令集居然還有版本的不同,比如SSE 4.1和4.2,怎麼知道其中哪些需要哪些不需要呢?其實也很簡單,就和挑選顯卡一樣,在性能、價格類似的情況下,儘量選更新的CPU就好,這樣即使是入門級CPU也可以保證大家用上現在乃至未來一段時間的主流指令集了。

關鍵字: