處理器的核心數以及倍增的線程數,一直是標識其檔次的重要指標,至少從雙核出現的那一天開始就是如此。要問為什么,結論無他,唯性能可解。
早在雙核產品物理上出現之前,多處理器,特別是SMP(對稱式多處理器)平臺就早已出現,而其CPU及平臺價格,可不是核心數增加那么“低廉”,單處理器到雙處理器如此,雙處理器到4處理器更是如此。今天的多核處理器,可以說是多處理器的廉價解決方案,但顯然增加核心數量比增加處理器數量簡單得多,但壞處也非常的明顯,即多核心解決方案的內存和I/O帶寬沒有增加,而多處理器則不然,I/O帶寬與處理器數量同步甚至更高幅度地增長。
回到現實生活中,多線程的應用優化并非始于多核心處理器,多處理器平臺早就跑上了多線程操作系統和應用。不過,多線程優化對指令及數據調度機制有著嚴格的約束,通常考慮到效率因素以及分支預測因素,指令并行性遜色于數據并行性。如同CPU與GPU的差異,前者優先滿足串行應用和通用任務,簡單的說就是十項全能,而后者則為并行優化、專用性越強。于是乎就有了GPU專門用來加速圖形應用,即便近年來流行的GPGPU應用,也需要專門優化并行性和數據結構,以確保并行計算的高度流水化。
在PC應用領域,近十多年來多線程應用的優化進度始終緩于核心數量增加,其根本原因是考慮到兼容性和效率因素,多線程應用通常會將帶有負載的并行線程數量控制在4個以內——當年x86 SMT(對稱式多線程,SMP衍生而來)+Windows平臺處理器數量最多4個,再往上就是RISC+UNIX的世界了。同時,OS也會嚴格控制應用“控制”線程的數量,或者適當降低該應用資源獲取的優先級,以防止它鎖死資源,影響其他應用。想一想,系統假死是使用者最不能接受的狀態,除了跑分之外,有誰能面對“死機”不用Reset大法呢。
無論是出于市場的考慮還是從實際出發,主流PC平臺很有節操地保持了四核的規模,英特爾8/10的LGA 2011平臺實質是閹割了Xeon E3部分可靠性設計到PC市場擺形象來了,若非具有原生高并行性的渲染類和密集計算類應用,都難有超越同門四核高頻處理器的表現。
隨著AMD新一代處理器Ryzen 7上市,新一輪有關頻率和線程的爭論又開始了。Ryzen 7放棄了此前AMD在推土機(Bulldozer)架構上使用的CMT(Cluster-Based Multi-threading,集群化多線程)架構,其直接好處就是每核心雙線程及簡單線程并行效率提升,在實際測試中,最高端的Ryzen 7 1800X在極高并行度優化的Cinebench R15等應用中并行效率接近11x,略優于其對標產品Core i7-6900K,總成績1800X也略優于6900K,但單線程狀態下情勢翻轉了,而且反轉不僅是出現在同樣有著8核和低頻率的6900K,核心及線程數更少的Core i7-7700K在1~8線程、Core i3-7350K在1~4線程上更是大幅度領先!要知道后者只有1250元左右,只有1800X的1/4,而且還是帶散熱器又超頻潛力巨大的喲。

核心數量和頻率的對比,巨大反差也出現在不同測試中。
SMT架構的另一優勢是如果不出現數據瓶頸,單線程處理性能與頻率線性相關。由此不難看出,如果沒有完全為5~8核心優化,并且能跑滿16線程的應用,1800X空有多核心卻難有用武之地,在專業領域如此,在主流桌面領域更是如此。不僅7700K頻率領先超頻潛力有限的的Ryzen 7 1800X 10%以上,而且7350K也有頻率上的優勢,因此在主流桌面應用上挑翻1800X也在情理之中。根據有關統計數據顯示,目前PC應用以使用強度負載(Σ應用強度×優化線程數)計,線程數量約為2.4個,以數量計單雙線程應用更是占據絕大多數,多線程普及任重道遠呀。
這也不難理解,為什么從英特爾到AMD,都在增加核心數量的同時,不斷使用超頻、Turbo Boost、XFR等技術提升核心運行頻率,哪怕一個核心頻率搞上去,也能帶來相當不錯的性能提升感受。