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