0
本文作者: 吳京鴻 | 2019-07-01 17:27 |
【大咖Live】 人工智能與芯片專場第二期,我們邀請到了Imagination高級總監(jiān)時昕,帶來了關于《中國處理器之路-過去、現(xiàn)在、未來》的主題直播分享。目前,本期分享音頻及全文實錄已上線,「AI投研邦」會員可進雷鋒網「AI投研邦」頁面免費查看。
本文對這期分享進行部分要點總結及PPT整理,以幫助大家提前清晰地了解本場分享重點。
分享提綱
1. 處理器:信息產業(yè)鏈皇冠上的寶石;
2. 處理器架構的變遷:分久必合、合久必分;
百花齊放到X86&Arm兩分天下;
聲卡與顯卡等專用處理器;
3 . 處理器的技術趨勢;
4. 中國處理器未來發(fā)展之路的思考。
以下為Imagination高級總監(jiān)時昕的部分直播分享實錄,【AI投研邦】在不改變原意的基礎上做了整理和精編。完整分享內容請關注【AI投研邦】會員內容。
感謝雷鋒網平臺和大家的時間,在現(xiàn)在這個時刻,有機會跟大家探討一下中國發(fā)展處理器的一些想法。
首先,我們先聊聊為什么處理器如此的重要;接下來,我們簡單回顧一下處理器誕生以來,這幾十年架構變遷的歷史,希望對我們展望未來有所幫助;然后,我們在從技術方面觀察一下處理器可能的發(fā)展趨勢;最后,我們談談未來發(fā)展中國處理器時有哪些需要考慮的問題和思路。
一、處理器:信息產業(yè)鏈皇冠上的寶石
我記得我經常跟各行業(yè)的朋友說,芯片是整個信息產業(yè)的基礎。從服務器、云、到桌面到移動設備以及物聯(lián)網設備,所有的這些信息產品,都是要以芯片為基礎的。我們常說現(xiàn)在的世界是信息化社會,也有說法是我們正在進入5G時代,AI時代等等,相對于工業(yè)化和信息化這些巨大的社會進步,AI, 5G這些都是在信息化基礎上實現(xiàn)的新的階段性突破。大的方面來講,我們還是在信息化社會的發(fā)展階段。可能有人會問,信息和數據這兩者之間有什么區(qū)別和聯(lián)系呢?數據是數據采集時提供的,信息是從采集的數據中獲取的有用信息。換句話說,數據是記錄,也是信息的表現(xiàn)形式。所以我們社會信息化的根本是對數據的采集、存儲和處理。對應的技術產品就是各種傳感器、存儲和處理器等各種芯片。
因此我們可以說整個信息產業(yè)的基礎是芯片,而處理器芯片,因為它在所有芯片中的特殊性,包括處理器在系統(tǒng)中的技術地位以及它的技術挑戰(zhàn)等等,處理器被稱為芯片皇冠上的寶石,也是整個信息產業(yè)皇冠上的寶石。這里的處理器不僅是指我們筆記本電腦或服務器上用到的CPU和GPU,其實在手機和各種智能物聯(lián)網產品,數碼娛樂產品等等很多的地方都有無數的處理器在幫我們進行信息的處理。雖然沒有準確的統(tǒng)計數字,但是我們每個人身邊都有至少兩位數的處理器。比方說您所使用的的筆記本,里面不但有用于跑Windows的CPU和GPU,其實像筆記本里的硬盤,wifi等接口也都有小的嵌入式處理器。您的手機上在AP和基帶這兩個之外,也有好幾個小一些的處理器。再加上各種手環(huán),智能家電等等,我們一般人身邊至少有十幾個處理器。整個世界上的處理器更是數以百億記。
二、處理器架構的變遷:分久必合、合久必分
經過前面的簡單介紹,我想大家可能對處理器的重要程度有些感覺了。那么我們現(xiàn)在簡單回顧一下處理器的發(fā)展歷史。
討論處理器,肯定離不開討論計算機。世界上第一臺通用計算機“ENIAC”是1946年2月14日在美國賓夕法尼亞大學誕生的,當時是美國國防部用它來進行彈道計算。當時雖然德國已經投降了,但是這個項目的開始時,還是為了戰(zhàn)爭服務的。這臺計算機,用了18000個電子管,占地150平方米,重量30噸,耗電功率約150千瓦,每秒鐘可進行5000次運算,這在現(xiàn)在看來微不足道,但在當時卻是破天荒的。 因為晶體管的發(fā)明還要在一年以后,ENIAC以電子管作為元器件,所以又被稱為電子管計算機,是計算機的第一代。電子管計算機由于使用的電子管體積很大,耗電量大,而且使用幾十個小時就要對損壞的電子管進行更換,因此工作的時間不能太長。
之后,在1947年,貝爾實驗室的肖克利等人發(fā)明了晶體管,再之后,TI的基爾比發(fā)明了集成電路,并且在1959年2月提交了專利。仙童的諾伊斯等人在幾個月之后申請了另一個平面集成電路專利。之后的數十年,集成電路技術推動著處理器的各項指標不斷提高。再加上人機交互技術如顯示屏、鼠標、觸摸屏等技術的不斷出現(xiàn)于發(fā)展,我們所使用的計算設備也越來越豐富強大。
開始的時候,電腦上只有一個中央處理器,也就是我們大家都知道的CPU,隨著電腦上要執(zhí)行的任務越來越多,更多的處理器設備也逐漸被加入進來。
最典型的包括聲卡和顯卡。當然我們現(xiàn)在的年輕一點的人可能只知道顯卡,也就是GPU,而不太聽說過聲卡了。
開始的計算機上面只有喇叭,只能發(fā)出滴滴滴的警報聲,世界上第一塊聲卡叫做魔奇音效卡,于1984年誕生于英國的ADLIB AUDIO公司??梢哉fADLIB公司是名副其實的“聲卡之父”。那時的技術還很落后,在性能上存在著許多不足之處,就拿這塊聲卡來說,它是單聲道的,而且音質現(xiàn)在看來簡直是爛到極點,但無疑它的誕生,開創(chuàng)了電腦音頻技術的先河。
就在人們對PC音頻滿懷疑慮的時候,真正的聲卡出現(xiàn)了,Sound Blaster(聲霸卡)曾經是IBM個人電腦聲效的非正式標準,由新加坡創(chuàng)新科技有限公司開發(fā)。首張Sound Blaster聲卡在1989年11月面世,其后推出過多代版本,如Sound Blaster 16,被稱為第一張真正的聲卡,這塊卡之所以名為16,是因為它擁有16位的復音數(是指在回放MIDI時由聲卡模擬出所能同時模擬發(fā)聲的樂器數目),該聲卡能較為完美地合成音頻效果,具有劃時代的意義,我們終于能能在電腦上聽到類似于十幾年前的手機上的音效,從而可以把煩人的PC喇叭給拆掉了。之后很多年,聲卡都是電腦中的一個重要配件。然而到了現(xiàn)在,過去曾經非常重要的一個特定加速卡,已經完全被集成在了主板上成為了一個不起眼的小部件。
與聲卡有些類似的還有顯卡,現(xiàn)在的PC和服務器上的顯卡都是基于我們大家都知道的NVIDIA和AMD的GPU來做的,通常我們也對顯卡和GPU不太加以區(qū)分雖然他們不完全是一回事。
獨立顯卡是插在主板上的擴展槽里的(現(xiàn)在一般是PCI-E插槽,此前還有AGP、PCI、ISA等插槽)。此外,Intel和AMD也提供集成顯卡。它主要負責把主機的顯示輸出以顯示器能明白的方式發(fā)送出去。早期的顯卡只是單純意義的顯卡,只起到信號轉換的作用;目前我們一般使用的顯卡都帶有3D畫面運算和圖形加速功能,所以也叫做“圖形加速卡”或“3D加速卡”。
和聲卡不一樣的地方在于,因為我們對顯示的需求永無止境,特別是在游戲和醫(yī)療等行業(yè),對顯示的要求很高,因此,目前在PC和服務器等產品中,高端的GPU還都是獨立顯卡形式存在,而且經常是整個電腦中單價最高的模塊。在手機和Pad等設備上,因為電池供電和散熱的原因,GPU都無法使用NVIDIA和AMD的GPU,而是使用了特別的移動GPU,主要的廠商和產品包括高通的Adreno,這是當初高通從AMD收購的移動GPU,還有Imagination的PowerVR GPU,在所有的蘋果手機pad以及一些android設備上采用的是PowerVR,此外,ARM公司也有移動的GPU產品。
這里我們看到,特定應用的加速用的處理器最終可能會走向兩個結局,一個是停滯發(fā)展之后在整個系統(tǒng)中的重要性逐漸下降如聲卡,另一個則是因為需求不斷的提高,而拉動加速處理器不斷更新提高,一直作為系統(tǒng)的一個重要核心部件而存在。
我們前面提到處理器架構的不斷變遷,但其實我們還沒有討論處理器的架構究竟是什么東西。在左邊的圖中,我們可以看到,整個處理系統(tǒng)從底層的物理材料到頂層的應用軟件通常由很多層構成。其中,我們通常把處理器的指令集架構就是Instruction Set Architecture (ISA)稱為處理器的架構。
在歷史上,處理器架構有很多種,包括大家常聽說的RISC、CISC和VLIW等架構。這是按照類別的一個非常粗的分類。具體到產品層面,歷史上也出現(xiàn)過非常多的處理器架構,包括Inte和AMD的X86架構,ARM公司的CPU架構,IBM的Power架構,Sun公司的Sparc架構,大多數高校里還在以MIPS架構講授處理器架構的課程,等等。但是處理器有一個特點,如果沒有在這些處理器上跑的足夠豐富易用的軟件生態(tài),這個處理器架構就沒有意義。因此我們目前看到很多架構都逐漸消亡或者接近消亡了,目前大家關注的也就是3個架構了,其中的RISC-V架構是當初MIPS架構的設計者,Patterson教授在放棄MIPS之后重新提出的一個新的架構,因為Patterson教授在處理器領域的巨大聲望,因此這個新架構提出后收到了很多的關注,但是他是否能夠獲得成功,還需要時間的檢驗。
我在這里在稍微多講一句,大家經常聽到很多市場宣傳材料里的洗腦,說RISC架構如何具有功耗優(yōu)勢等等,其實這些都是洗腦文,不可全信。在RISC架構剛出現(xiàn)的時候,確實如此,但隨著其支持的應用原來越多,原來的RISC處理器不斷的在增加新的指令,因此,現(xiàn)在其實沒有一個清晰的界限,哪個處理器是CISC,哪個處理器是RISC。
三、處理器的技術趨勢
前面我們簡單回顧了一下歷史上的處理器,現(xiàn)在我們嘗試從技術層面看一下未來。
處理器性能在40年間的增長。這個圖表顯示了程序性能相對于SPEC整數基準測試的性能結果。在上世紀80年代中期之前,處理器性能的增長平均每年約22%,即每3.5年性能翻一番。從1986年開始,這一數字增長到了50%左右,或者說處理器性能每2年增加一倍,這就是大家熟知的摩爾定律。到了2003年以后,由于Dennard Scaling不再有效,我們看到,摩爾定律帶來的性能提升能有大幅下降了。也就是Intel開始被大家戲稱為牙膏廠,因為每年的性能提升像擠牙膏一樣。
Dennard Scaling,Dennard在1974發(fā)了篇論文,預測說晶體管尺寸變小,功耗會同比變小,換句話說相同面積下功耗不變。由于Dennard scaling開始失效,同時我們對于計算的需求越來越多,處理器的功耗在十幾年前的時候就開始成為大家關注的一個焦點。圖片上是一個數據中心,不但有著復雜的供電系統(tǒng),也需要復雜的散熱系統(tǒng),我們可以看到那些管道都是用于散熱的水管。很多的數據中心開始建設在水電或風電充沛的地方,一方面電力便宜,另一方面這些地方的散熱通常也較好處理。在這方面,不管是大型互聯(lián)網公司的數據中心也好,甚至很多的數字加密貨幣的挖礦礦場也是類似。
另外,還有兩個重要的趨勢,一個是處理器的時鐘頻率,另一個是芯片加工工藝。
我們看到,隨著摩爾定律逐漸接近物理極限,這兩方面的增長都在放緩。左邊這張圖顯示,處理器時鐘速率的增長從1978年到1986年,時鐘率每年的提高15%。在1986年至2003年,每年50%的性能改進,時鐘率每年飆升近40%。從那以后,時鐘速度幾乎保持不變,每年的增年增長率僅為個位數。右邊這張圖是ITRS的工藝節(jié)點的預測,International Technology Roadmap for Semiconductors,ITRS是由歐洲、日本、韓國、臺灣、美國五個主要的芯片制造地區(qū)發(fā)起的。在2016年以后,ITRS不再進行工藝節(jié)點的預測了。雖然我們現(xiàn)在在2019年看,這個2015年的預測不完全準確,TSMC已經7nm量產,5nm也開始進入試產。但其揭示的趨勢是沒有問題的,在不遠的將來,摩爾定律將無法繼續(xù)。
在整個系統(tǒng)中,對性能的限制其實在很多時候不是來自處理器的性能,而是來自存儲器,也就是我們常聽說的memory wall,內存墻。因為我們現(xiàn)在的處理器都是馮諾依曼結構的,也就是說,程序和數據都存在存儲器里,處理器從存儲器里取得程序指令和數據,處理完的輸出也有送回存儲器。因此,處理器與內存之間的傳輸常常會是整個系統(tǒng)的瓶頸。為了盡量減小內存速度不夠的影響,現(xiàn)代處理器經常會將70%的硅片面積用于緩存。
這里再簡單介紹一下處理器提高性能的常用技術手段。將一個執(zhí)行通過流水線分成多個步驟,這樣每個步驟執(zhí)行的操作就少了,從而可以進一步提高時鐘頻率。在每一個時刻,流水線硬件上可以執(zhí)行不同指令的特定步驟。流水線是處理器設計的基本內容之一,現(xiàn)代的先進處理器的流水線可達十幾級。但是流水線不能無限細分,因為在程序執(zhí)行過程中會經常有跳轉等,這時就要清空流水,重新取正確程序分支的指令和數據進來。
流水線可以看作從時間層面進行并行處理,另一個常見的提高處理器性能的技術則是空間并行。
就是將任務或數據不想關的處理,放到多個處理器核上同時處理。這就是我們常聽到的多核技術multi core。特別是GPU,可以看作是眾核技術Many Core,一個GPU芯片上經常會有數百乃至數千個小核,同時對很多獨立的任務或數據進行處理。
我們可以看到,在最近的這十幾年中,處理器的核數明顯提高了。然而,CPU的核數在達到最高16核之后幾乎就停止了提高。GPU的核數在達到了2千多個核之后也基本不再增長了。
這是因為,像流水線技術一樣,多核與眾核技術也有很多的限制,在適用的場景下可以極大的提升效率,例如對圖像中的每個像素點,都可以獨立的進行處理,然后很多的任務,是沒有任務并行性或數據并行性的,因此無法獲益于并行處理。
而且,在那些適合進行并行處理的任務中,也有很大的技術挑戰(zhàn)。處理的不好,處理器上并行執(zhí)行的任務將會像早晚高峰時被堵在路上的車輛一樣動彈不得。
最為通用的處理器當然是CPU(比如intel的桌面CPU,ARM的嵌入式CPU),可以運行任何程序,處理各種數據。但問題是CPU對某些應用效率太低(處理能力不夠,無法實時處理,或者是能耗太大)。比如,處理graphic不行,于是出現(xiàn)了GPU;信號處理不行,于是出現(xiàn)了DSP。GPU可以做圖像處理,也可以做DNN的training和inference,但是在處理某些DNN應用的時候效率不高,于是有了專用針對這些應用處理器,也就是大家最近討論的專用AI加速處理器,或者說神經網絡處理器NN Processor。所以說,專用處理器也是個相對概念,相對CPU而言,別的處理器都是專用處理器。而我想討論的專用處理器是相對GPU/DSP而言更為“專業(yè)”的處理器。
做專用處理器的原因或者動力基本就是兩個字,“效率”。拿FFT處理器來看,如果用通用處理器(只有通用的乘加運算),做一個256點的FFT可能需要運行幾千條指令,需要很長時間。這對于很多對時延要求很苛刻的場景是很難忍受的。如果,用一個每周期就能做做一次蝶形運算的專用處理器,那么這個時間會縮短到幾百個周期。當然,一個周期執(zhí)行一次蝶形運算,相當于一次做了好幾個乘法和加法,需要更多的硬件電路。
當然,這個說法只是一個簡單化的說法。實際上衡量處理器效率的標準很多,比如能耗效率。而影響處理器效率的因素和設計優(yōu)化方法也很多,這就是計算機體系結構這個領域研究的內容。不過,一般來說,如果我們明確的知道我們的處理器的目標應用場景(有限的應用),比如只用來做FFT的運算或者CNN(卷積神經網絡)加速,我們在設計中就可以不考慮其它的需求,充分發(fā)掘目標需求的特點,實現(xiàn)最有效的設計。
那么為什么過去專用處理器用的不多呢?因為,專用處理器違背了“不要重新發(fā)明輪子”原則。從某種程度上說,專用處理器就是重新發(fā)明輪子,既不經濟和又有很大風險。另一方面,專用處理器的應用范圍比較窄,其目標市場規(guī)模很有可能無法讓你獲利??偟膩碚f,如果做專用處理器獲得的收益不能超過開發(fā)它花的成本和面臨的風險的話,還是盡早放棄為好。
而現(xiàn)在隨著AI獲得越來越多的應用,因此有很多的AI專用加速處理器出現(xiàn)。例如,Imagination的神經網絡加速處理器,就可以在AI計算方面提供數百近千倍的速度提升,將過去需要幾分鐘才能完成的計算縮短到毫秒級從而滿足實時性的要求。
本文為部分內容和PPT,完整內容和PPT查看可進入雷鋒網「AI投研邦」查看
雷峰網原創(chuàng)文章,未經授權禁止轉載。詳情見轉載須知。