距離Intel著名的64bit處理器Core 2 Duo(酷睿2)發(fā)布已經(jīng)整整十年,從普及型的E6400到旗艦級(jí)的Core2 Extreme X6800,這一系列由Intel 65nm工藝打造的處理器中有太多的經(jīng)典產(chǎn)品。可以說(shuō),酷睿2是桌面平臺(tái)處理器的轉(zhuǎn)折點(diǎn),引用Anandtech當(dāng)年的評(píng)價(jià)就是:“這是半導(dǎo)體有史以來(lái)最振奮人心的產(chǎn)品”。
酷睿2的發(fā)布大幅改變了處理器的版圖,過(guò)去Netburst家族以Northwood和Prescott核心為首的Pentium4和Pentium D處理器一味飆主頻的路線已經(jīng)走火入魔,半導(dǎo)體的發(fā)展方向一再偏離效率,帶來(lái)了巨大的發(fā)熱和功耗問(wèn)題,在90nm遇到嚴(yán)重瓶頸后(進(jìn)入90nm工藝后,業(yè)界發(fā)現(xiàn)之前摩爾定律一貫的工藝提升,功耗下降的規(guī)律失靈了,prescott處理器因?yàn)榘l(fā)熱過(guò)大無(wú)法按既定路線突破4Ghz,甚至引發(fā)了散熱器大規(guī)模換代),對(duì)手AMD的Athlon 64X2處理器同時(shí)在性能和效率加冕為王。
當(dāng)時(shí)的intel被迫做出重大修正,微架構(gòu)上拋棄了對(duì)主頻飆升有利的超長(zhǎng)流水線設(shè)計(jì),引入大量來(lái)自Pentium PRO和Pentium M的技術(shù),但并不是僅僅在Yonah的微架構(gòu)上增加一些新功能或者譯碼器那么簡(jiǎn)單(在十年前盛傳酷睿2僅僅是Yonah的增強(qiáng)版)。是時(shí)候來(lái)回顧一下酷睿2帶來(lái)的震撼了。
十年前發(fā)布的Conroe有如下五款產(chǎn)品:
旗艦產(chǎn)品X6800主頻高達(dá)2.93Ghz,支持更高的前端總線頻率,芯片面積143平方毫米,比前代Pentium D的162平方毫米更小,由于不集成GPU,十年前的處理器比今天的產(chǎn)品小得多。
當(dāng)年X6800的價(jià)格為999美元,跟今天8核的Core i7-5960X相當(dāng),而E6400則為224美元,和Core i5-6600一致,有意思的是,不知道是不是為了快點(diǎn)跟昨天說(shuō)再見(jiàn),intel把昨天還是次旗艦產(chǎn)品的3.4Ghz的Pentium D 945砍到比E6300還低的163美元,這是intel桌面處理器歷史上獨(dú)一無(wú)二的事件。
一切盡在預(yù)?。≒refetch)
CPU執(zhí)行的指令來(lái)自譯碼器,數(shù)據(jù)取自高速緩存(Cache),在理想環(huán)境中,數(shù)據(jù)和指令都可以從底層緩存中獲?。ㄒ患?jí)緩存,L1 Cache),延遲極低,不存在瓶頸?,F(xiàn)實(shí)環(huán)境可沒(méi)那么樂(lè)觀,延遲完全靠猜,核心預(yù)測(cè)所需數(shù)據(jù)并且在用到它們之前放入底層緩存的能力決定了現(xiàn)實(shí)環(huán)境的延遲,這項(xiàng)技術(shù)就是預(yù)取。
酷睿2微架構(gòu)增加了多重預(yù)取,這是過(guò)去在消費(fèi)級(jí)處理器中從沒(méi)出現(xiàn)過(guò)的,并且改進(jìn)了預(yù)取算法,每個(gè)核心有兩個(gè)數(shù)據(jù)和一個(gè)指令預(yù)取,加上二級(jí)緩存的兩個(gè)預(yù)取,在雙核酷睿2中總共有8個(gè)預(yù)取來(lái)維持處理器高效執(zhí)行。
另一方面,預(yù)取還是為緩存索引做查找標(biāo)簽,數(shù)據(jù)預(yù)取這么做是為了避免程序運(yùn)行的時(shí)候出現(xiàn)高延遲,數(shù)據(jù)預(yù)取是通過(guò)存儲(chǔ)端口(store port)進(jìn)行緩存索引,因?yàn)樵瓌t上載入操作(Load)的頻度是存儲(chǔ)操作(Store)的兩倍,intel在酷睿2中巧妙的把存儲(chǔ)端口這一相對(duì)空閑給利用起來(lái)。
緩存,多多益善離開(kāi)了低延遲數(shù)據(jù)和指令存取,快速核心將會(huì)一文不值,所以最貴的SRAM作為一級(jí)緩存被用在離執(zhí)行單元最近的位置,這里寸土寸金,限制了一級(jí)緩存的容量,所以CPU中的高速緩存都被設(shè)計(jì)成嵌套的結(jié)構(gòu),容量大得多的二級(jí)緩存(L2 Cache)被放在外圍,一級(jí)緩存不命中(Cache Miss)就得到二級(jí)緩存甚至內(nèi)存中查找數(shù)據(jù),這些操作會(huì)帶來(lái)延遲,影響執(zhí)行速度。因此,緩存容量,多多益善,酷睿2擁有比前代產(chǎn)品以及競(jìng)爭(zhēng)對(duì)手都要多的緩存。
酷睿2的緩存設(shè)計(jì)較前代Pentium4的變化體現(xiàn)在一級(jí)緩存大幅增加到32KB,,延遲降低到3個(gè)時(shí)鐘周期,二級(jí)緩存則為雙核共享的4MB,延遲降低到12~14時(shí)鐘周期。對(duì)手AMD的K8雖然有更大容量的一級(jí)緩存,內(nèi)置內(nèi)存控制器的設(shè)計(jì)相比Pentium4有較大優(yōu)勢(shì),但帶寬偏小,二級(jí)緩存容量也有明顯差距,實(shí)測(cè)表明,酷睿2一級(jí)緩存帶寬為K8的2倍,二級(jí)緩存則達(dá)到2.5倍。
譯碼,四發(fā)射與融合譯碼器的作用是對(duì)指令進(jìn)行解碼,并且將這些長(zhǎng)度為1~15字節(jié)不等的指令翻譯成類RISC的定長(zhǎng)指令便于執(zhí)行,在酷睿2中,稱之為微操作(micro-op)。預(yù)取配合譯碼是當(dāng)代X86處理器設(shè)計(jì)的核心,酷睿2中有四組譯碼器,其中三組為簡(jiǎn)單譯碼器,一組是復(fù)雜譯碼器,前者能將指令翻譯成一條微操作,功耗更低晶體管更少,而后者則可以轉(zhuǎn)換出四條(長(zhǎng)指令的利器)。這就是俗稱的四發(fā)射,酷睿2是X86桌面處理器中引領(lǐng)了四發(fā)射的潮流。
此外,酷睿2加入了宏操作融合(Macro-op Fusion),這樣兩條常規(guī)X86指令(或者宏操作)會(huì)被同時(shí)譯碼以增加并發(fā),同時(shí)允許一條微指令包含兩條計(jì)算機(jī)指令,這使得四個(gè)譯碼器單周期最多可以解析5條指令,相當(dāng)于增加了譯碼帶寬,這樣也降低了亂序執(zhí)行(OoO)所需要的緩沖大小。在當(dāng)時(shí),經(jīng)典的X86程序,20%的宏操作可以被這樣融合,由此可以帶來(lái)11%的性能提升。
另一項(xiàng)特別的技術(shù)是指令直接跟內(nèi)存地址融合,在經(jīng)典的RISC規(guī)范中,需要添加寄存器查找內(nèi)存地址的指令,所以傳統(tǒng)上要用到3條微操作:
但從Banias核心的Pentium M開(kāi)始,由于有了新技術(shù),表中的前兩條微操作可以被融合,這稱為微操作融合(micro-op fusion),在預(yù)譯碼階段就辨識(shí)出可以融合的宏操作能夠提升并發(fā)、降低對(duì)緩沖的壓力,提高效能,配合SSE/SSE2效果更佳,這是酷睿2壓倒AMD K8的主要原因。
AMD也有微操作跟宏操作,不過(guò)定義跟Intel是不同的,因?yàn)锳MD的譯碼器是三組復(fù)雜譯碼器,通過(guò)直連路徑(Direct PATH)可以像簡(jiǎn)單譯碼器那樣快速處理,通過(guò)矢量路徑(Vector Path)就是復(fù)雜譯碼器模式,差距在于,AMD沒(méi)有宏操作融合,在執(zhí)行SSE指令的時(shí)候需要更多的時(shí)鐘周期,加上譯碼器數(shù)量3對(duì)4,譯碼并發(fā)3對(duì)5,在前端曾經(jīng)風(fēng)光無(wú)限的AMD K8已經(jīng)輸了一截。
亂序執(zhí)行OOOE
預(yù)取、高速緩存和譯碼上的努力要通過(guò)亂序執(zhí)行來(lái)發(fā)揮,亂序執(zhí)行本身的增強(qiáng)靠的是增加執(zhí)行單元和亂序記錄緩存來(lái)實(shí)現(xiàn)。
對(duì)比AMD K8,酷睿2的亂序執(zhí)行的優(yōu)勢(shì)體現(xiàn)在三點(diǎn)上,一是記錄緩存96 ENTRY VS 72 ENTRY,酷睿2的前端有更高的并發(fā),記錄緩存也有4:3的優(yōu)勢(shì)。二是調(diào)度管理方面相比AMD拆分為24-ENTRY整型跟36-entry浮點(diǎn),酷睿2為統(tǒng)一的32entry保留站,三是SSE執(zhí)行單元數(shù)量達(dá)到三個(gè),能夠最大化利用到宏操作融合的優(yōu)勢(shì),另外,酷睿2的SSE執(zhí)行單元是128bit位寬,AMD只有64bit,在執(zhí)行128bit SSE指令時(shí)候酷睿2有壓倒性優(yōu)勢(shì)
存取也瘋狂酷睿2強(qiáng)大的前端跟亂序執(zhí)行帶來(lái)的是更大的數(shù)據(jù)吞吐需求,Intel發(fā)現(xiàn)如果允許下一次載入(Load)在存儲(chǔ)(Store)之前操作,就可以實(shí)現(xiàn)載入提速和降低延遲,其風(fēng)險(xiǎn)在于,存在需要載入尚待存儲(chǔ)數(shù)據(jù)的可能(大約1~2%的幾率),這時(shí)候就需要浪費(fèi)20個(gè)時(shí)鐘周期等待重新載入,為此,在酷睿2中加入預(yù)測(cè)器可以避免這一場(chǎng)景出現(xiàn)。
預(yù)測(cè)器(Predictor)允許在數(shù)據(jù)存儲(chǔ)之前載入,同時(shí)沖突檢測(cè)邏輯(Conflict logic)會(huì)掃描亂序緩沖區(qū)(Memory reorder Buffer MOB)查找問(wèn)題,一旦發(fā)現(xiàn)立即執(zhí)行重載入,在最壞的情況下性能會(huì)有所損失。根據(jù)Intel的說(shuō)法性能提升幅度可以達(dá)到40%,實(shí)際執(zhí)行環(huán)境中也能有10~20%的增速,在整型操作中優(yōu)勢(shì)尤為明顯。
超線程不再,也沒(méi)有內(nèi)置內(nèi)存控制器十年后的今天,超線程(HT)和內(nèi)置內(nèi)存控制器(IMC)是X86處理器的最基本屬性,在當(dāng)時(shí),前任Pentium4引領(lǐng)過(guò)超線程的潮流,對(duì)手AMD則率先將內(nèi)置內(nèi)存控制器引入了PC領(lǐng)域,但酷睿2一個(gè)都沒(méi)有。
同步超線程技術(shù)(Simultaneous Hyper-Threading SMT)需要在高速緩存中開(kāi)出更大的緩沖區(qū)來(lái)滿足多出一倍的資源的要求,酷睿2引領(lǐng)時(shí)代的前端設(shè)計(jì)已經(jīng)是對(duì)當(dāng)時(shí)工藝的極限的挑戰(zhàn),超線程實(shí)在是心有余而力不足,內(nèi)置內(nèi)存控制器AMD靠的是SOI工藝的的先天優(yōu)勢(shì)實(shí)現(xiàn),一旦工藝允許,超線程自然會(huì)回來(lái),內(nèi)置內(nèi)存控制器也不是問(wèn)題,后來(lái)的nehalem不就是這么做的么?(原文以超線程優(yōu)勢(shì)體現(xiàn)在服務(wù)器上和有FB-DIMM內(nèi)存為由洗地理由并不充分)
廉頗老矣尚能飯否?
在2006年,即使是最弱的E6300,都可以在很多測(cè)試中輕松放倒之前的旗艦產(chǎn)品Pentium XE 965,中堅(jiān)產(chǎn)品E6600則成功擊敗AMD最新的旗艦產(chǎn)品FX-62,而旗艦產(chǎn)品X6800更是比E6300強(qiáng)了近一半。
今天的214美元產(chǎn)品I5-6600 VS當(dāng)年同價(jià)位的E6400,十年來(lái)我們的CPU足足快了一倍,就連入門級(jí)產(chǎn)品G1620也輕而易舉的戰(zhàn)勝了E6400,但是不要忘記這是2.13Ghz的E6400跟一群主頻接近4Ghz的產(chǎn)品作對(duì)比,事實(shí)上很多酷睿2用戶后來(lái)升級(jí)到Sandy bridge后就再也沒(méi)有換代過(guò)。
回顧十年前酷睿2發(fā)布后發(fā)現(xiàn),在當(dāng)今的skylake處理器中依舊延續(xù)了酷睿2的框架:四發(fā)射、操作融合、大容量共享高速緩存等,當(dāng)然,隨著工藝的進(jìn)步,intel在nehalem加入了內(nèi)存控制器、北橋功能和三級(jí)高速緩存,在Sandy Bridge中引入了微操作融合緩存(micro-op cache)和eDRAM,酷睿2的故事仍然沒(méi)有結(jié)束。
而那個(gè)在酷睿2時(shí)代被一舉拿下的對(duì)手AMD在十年間一蹶不振,K10和bulldozer麻煩不斷,幾乎完全退出了中高端領(lǐng)域的競(jìng)爭(zhēng),直到最近才借著新核心Zen喊出“我回來(lái)了”,然而仔細(xì)看Zen的PPT,仍然沒(méi)有看到類似當(dāng)年酷睿2那樣石破驚天的變化,所以,AMD也許能重返中端,但論挑戰(zhàn)似乎還很遠(yuǎn)。
展望未來(lái)后10至15年的半導(dǎo)體路線圖在conroe十周年紀(jì)念的日子里正值國(guó)際半導(dǎo)體技術(shù)路線圖報(bào)告(International Technology Roadmap for Semiconductors ITRS)出爐,這份由全球各大洲的半導(dǎo)體工業(yè)的專家共同起草的長(zhǎng)達(dá)500頁(yè)的雙年報(bào)告,是廣大從業(yè)者的重要參考。報(bào)告從設(shè)備調(diào)試、工藝集成、射頻(RF)、微機(jī)電(MEMS)、光刻、封裝測(cè)試、改善良品率等多方面深入探討半導(dǎo)體工業(yè)的未來(lái)。
在過(guò)去,報(bào)告準(zhǔn)確的預(yù)測(cè)過(guò)現(xiàn)在流行的finfet技術(shù)的流行,但也忽視過(guò)半導(dǎo)體的很多瓶頸,比如以下這份1993年的報(bào)告(也就是最早的報(bào)告):
實(shí)際的特征線寬的發(fā)展表面超越了1993年的預(yù)測(cè),2001年就開(kāi)始的130納米工藝在預(yù)測(cè)中被放到了2004年,而這時(shí)候正是intel撞上了90nm大墻。互連層則落后不少,預(yù)測(cè)中2004年將采用6層互連,實(shí)際上2002年AMD消費(fèi)級(jí)的Thoroughbred B處理器就用到了9層銅互連。功率問(wèn)題恐怕是整個(gè)業(yè)界的始料未及,2001年40瓦的功耗早已被主頻大戰(zhàn)拋在腦后,正如本文開(kāi)頭所述,半導(dǎo)體偏離了正軌,讓高功耗時(shí)代提早到來(lái),經(jīng)歷過(guò)那個(gè)時(shí)代的玩家都知道,2001年的高端散熱器放在2004年根本小菜一碟,因?yàn)楦鶕?jù)長(zhǎng)期預(yù)測(cè),散熱大規(guī)模引入熱管可以等到2004年,這就是偏離的后果。
至于芯片大小方面,如果用熟知的CPU、GPU來(lái)判斷的話1250平方毫米可能是天方夜譚了,畢竟就算到了今天,14/16nm時(shí)代,150億晶體管,610平方毫米的NVIDIA P100處理器幾乎到了認(rèn)知極限。但這畢竟是整個(gè)行業(yè)的報(bào)告,就拿圖像傳感器來(lái)說(shuō),全幅CIS的尺寸大致是864平方毫米,業(yè)界量產(chǎn)的時(shí)間也正好是2000~2001年,如今,索尼已經(jīng)能夠量產(chǎn)33X44幅面的傳感器(面積接近1500平方毫米),所以面積一說(shuō)相當(dāng)準(zhǔn)確。
廢話了這么一長(zhǎng)串只是想表達(dá),每一期的報(bào)告,都是相當(dāng)有技術(shù)含量的存在,值得參考,那么,未來(lái)10年~15年會(huì)是怎么一個(gè)狀況呢?
450毫米晶圓和2nm制程
450毫米晶圓(18寸)是十年前就在討論的概念,然而由于這十年間半導(dǎo)體世界被各種障礙搞得團(tuán)團(tuán)轉(zhuǎn),以至于更大的晶圓都被人遺忘了,此次ITRS給出了新的時(shí)間表,2021年的DRAM工藝上會(huì)用到450毫米大晶圓,還要等五年。
到了2021年,DRAM的核心面積將縮小到780平方納米,當(dāng)今的數(shù)字為3480,2021將是最后的finfet(鰭式場(chǎng)效應(yīng)晶體管),在2030年會(huì)看到2nm工藝。
今天的當(dāng)紅小生Finfet還有5年的發(fā)展期,進(jìn)入7nm的時(shí)間表是2019年,2021年在5nm上終結(jié)。讓Athlon64大紅大紫的SOI工藝(絕緣體上硅)則會(huì)在2017年終結(jié),末代皇帝將是10nm FDSOI,取代Finfet的將是VGAA(vertical gate all-around),2021年登場(chǎng),預(yù)計(jì)會(huì)在2030年進(jìn)入2nm制程,這時(shí)候的核心電壓僅為0.4V。制程的未來(lái)之路是坎坷的,5nm以后會(huì)怎樣仍然有很大變數(shù)。
NAND閃存,大家不要慌,不會(huì)有什么QLC了,前些年在剛引入TLC NAND(3bit)的時(shí)候業(yè)界還在預(yù)測(cè)QLC(4bit)的存在,經(jīng)過(guò)這些年的發(fā)展可能業(yè)界自己對(duì)QLC的可行性已經(jīng)失去信心,畢竟TLC已經(jīng)是毒瘤般的表現(xiàn),于是ITRS的預(yù)測(cè)中完全沒(méi)有看到QLC的存在,萬(wàn)幸。
未來(lái)NAND仍然得靠3D堆疊來(lái)實(shí)現(xiàn)擴(kuò)容,當(dāng)前單封裝密度為三星850EVO上48層堆疊的256Gbit,到了2022年可以達(dá)到128層1Tbit,2030年到512層4Tbit,這時(shí)候就會(huì)看到64TB的SSD了。
手持平臺(tái)32核8K顯示是未來(lái)?
ITRS對(duì)手持平臺(tái)的預(yù)測(cè)是基于當(dāng)前手機(jī)SOC蓬勃發(fā)展的,2016年6核CPU 12核GPU,26.9Gbps內(nèi)存帶寬,4.42瓦功耗的數(shù)據(jù)實(shí)際已經(jīng)開(kāi)始偏離效率,從2014年開(kāi)始手機(jī)SOC對(duì)先進(jìn)工藝的渴望就趕上了臺(tái)式機(jī)CPU,以至于近年臺(tái)積電不斷表示10nm要比intel早,intel也毫不在乎。到2019年也許還能看到18核3.2Ghz,49GPU核心的怪物,但2024年真能看到3.8Ghz 32核CPU 189核GPU輕松實(shí)現(xiàn)8K應(yīng)用的怪物么?值得懷疑,畢竟今天的表現(xiàn)都已經(jīng)是對(duì)當(dāng)前工藝的深度榨取。
傳統(tǒng)意義上的摩爾定律早已消亡,但在今年的ITRS報(bào)告中依舊可以清楚的看到摩爾定律的影子,尤其是那張移動(dòng)SOC的發(fā)展路線圖,樂(lè)觀程度堪比沒(méi)有撞上90nm大墻時(shí)候的intel,這就是所謂的永生吧。