袁怡男
對于IT行業(yè)來說,8月初是一年里相對平淡的日子。這時候正適合回頭看看,研究一下技術(shù)發(fā)展的軌跡。本期,我就來聊聊這些年CPU的發(fā)展情況。大家知道,現(xiàn)在CPU主要是x86和ARM兩大架構(gòu)各領(lǐng)風(fēng)騷,其架構(gòu)變化之路既有相同之處,也有各自靈光乍現(xiàn)之時。
早期CPU的發(fā)展有很多相同之處。比如:開始大家都是單核,雖然各家的內(nèi)部架構(gòu)也有差異,但主要的競爭通常都會歸于頻率低向頻率高的提升。隨后,一方面,制程逐漸成為頻率提升的瓶頸,另一方面,CPU內(nèi)部架構(gòu)設(shè)計思路的不同帶來的性能差別也很大。比如,在AMD很困難的那10年里:一方面自家工廠的生產(chǎn)工藝不如對手,另一方面是創(chuàng)新的想法帶來了激進(jìn)的CPU內(nèi)部架構(gòu),浮點性能上不去,頻率也上不去。而英特爾的酷睿架構(gòu)則稱霸了10年P(guān)C市場。
再向后發(fā)展,頻率和功耗的平衡往往成為難題。早期在CPU內(nèi)部架構(gòu)通常每8~10年才會有大變化的前提下,日益高漲的性能需求對于單核頻率的提升要求會不斷提高,但制程的進(jìn)步速度沒那么快,強(qiáng)行提升頻率必然帶來高功耗,頻率終歸是有瓶頸的。在PC的歷史上,這樣的瓶頸不止一次,比如1GHz、2GHz、3GHz、4GHz和5GHz都曾經(jīng)是數(shù)年難以突破的桎梏。在手機(jī)端,歷史上的情況也差不多,2GHz附近曾經(jīng)是性能與功耗控制的平衡點,哪怕是現(xiàn)在7nm制程的高通驍龍865+,單核3.1GHz左右基本也是性能與功耗平衡的極限了。
縱向提升性能遇到壁壘,要想進(jìn)一步提升綜合性能,就只能走并行路線。坦率地說,在很長一段時間里,PC級別的軟件對多線程的需求并不高,但CPU廠商要戰(zhàn)勝競爭對手,總得有新賣點,所以支持多線程就成了必然選擇。早期PC的x86架構(gòu)核心因為內(nèi)部架構(gòu)中有兩套寄存器,所以開始選擇用兩套寄存器來存儲兩個線程指令,當(dāng)一個執(zhí)行線程因等待數(shù)據(jù)處于停頓時,立即執(zhí)行另一個線程,避免處理器計算資源閑置,提升效率,這就是“超線程”技術(shù)。不過通過減少閑置時間來實現(xiàn)的多線程畢竟性能提升不夠高,所以后來更直接的選擇就是雙核、三核。再往后,核心數(shù)量越來越多,大約是以2的倍數(shù)增長,而類似“超線程”的技術(shù)也沒浪費(fèi),高端型號就加上它。雖然也鬧過所謂“真假多核”的爭吵,但AMD和英特爾其實一直在互相學(xué)習(xí),誰的選擇更好,另一個的選擇終歸也會靠過去。
核心數(shù)量越多,最遠(yuǎn)兩個核心之間在數(shù)據(jù)同步時的性能損耗就越大,因為需要同步數(shù)據(jù)時的延遲越來越高,所以多核心的內(nèi)部架構(gòu)設(shè)計逐漸成了難題。雙核的時候,直接用總線連上,然后再協(xié)調(diào)一下就好;四核、八核的時候,交叉連上,再M(fèi)CM封裝。但更多核心的時候,當(dāng)時領(lǐng)先的英特爾就選擇了環(huán)狀總線;再多,用兩個環(huán)狀總線,用CrossBar連接兩個環(huán)......還要更多核心,上Mesh結(jié)構(gòu),最大核心數(shù)量擴(kuò)展到28個!而AMD一直通過MCM多芯片封裝技術(shù)來實現(xiàn)多核處理器,在Zen2架構(gòu)時更靈機(jī)一動:4個核心組成一個CCX,每兩個CCX再組成一個CCD,然后每個CCD都連上中間的I/O模塊,大大降低延時!不但把一個封裝里的最大核心數(shù)提升到64顆,在數(shù)量上超過了英特爾的56個,較之前Zen架構(gòu)時32顆核心的性能也大幅提升!
另一方面,ARM架構(gòu)主要用在手機(jī)上,所以更關(guān)心的是功耗控制。更多的核心就意味著更多的耗電,你看蘋果之前就很不喜歡加核心。于是ARM陣營的“big.LITTLE”組合創(chuàng)意橫空出世:區(qū)分大小核心,讓性能需求高的任務(wù)用大核心,性能需求低的任務(wù)用小核心。ARM架構(gòu)的CPU生產(chǎn)商還進(jìn)一步區(qū)分了“大、中、小”三級核心,進(jìn)一步提升效率。甚至連英特爾也看到了這種架構(gòu)的好處,在Lakefield混合處理器上就選擇了“1個酷睿+4個凌動”的組合。這對于需要續(xù)航能力的超輕薄筆記本來說應(yīng)該是個很好的解決方案,后續(xù)我們很快也會有實際測試。
綜合來看,在CPU的發(fā)展前行之路上,除了制程是一個硬桎梏以外,競爭者之間靈光一現(xiàn)的創(chuàng)新往往就會帶來領(lǐng)先,但各家公司的選擇也很靈活,如果證明是好的思路,很快就會去學(xué)習(xí),殊途同歸。所以長期來看,終歸是各領(lǐng)風(fēng)騷那么幾年。