我的中(zhōng)國(guó)“芯”,手把手教你設計CPU
|
作(zuò)者:admin 發布時間:2020-09-27 17:23
|
芯片,是整個電(diàn)子信息産(chǎn)業的基石。目前,全球半導體(tǐ)市場規模達3200億美元,全球54%的芯片都出口到了中(zhōng)國(guó),但國(guó)産(chǎn)芯片的市場份額隻占10%。中(zhōng)國(guó)芯片産(chǎn)業每年進口需要消耗2000多(duō)億美元外彙,超過了石油和大宗商(shāng)品,在進口商(shāng)品中(zhōng)占有(yǒu)相當大的比重。 CPU作(zuò)為(wèi)芯片的“心髒”,可(kě)謂“芯中(zhōng)之心”,國(guó)内的産(chǎn)業實力在此方面一直比較薄弱。CPU實現國(guó)産(chǎn)自主化對我國(guó)的發展至關重要,但是CPU的主流指令集架構(譬如x86和ARM)一直為(wèi)國(guó)外公(gōng)司所壟斷,國(guó)内公(gōng)司需要支付高昂的專利費用(yòng)且受制于人。CPU作(zuò)為(wèi)一種特殊的芯片,其要求指令集架構具(jù)有(yǒu)普世的通用(yòng)性且能(néng)夠共享生态系統,因此囿于一國(guó)範圍内發明一套封閉的指令集并不具(jù)備實用(yòng)性,必須走與世界主流架構接軌的道路。在這種背景下,開放的RISC-V架構給中(zhōng)國(guó)CPU芯片産(chǎn)業的發展帶來了巨大的戰略機遇,有(yǒu)希望徹底實現CPU的國(guó)産(chǎn)自主化和架構主流化。 目前,我國(guó)正處于大力發展芯片設計行業的關鍵時期,實現中(zhōng)華民(mín)族偉大複興的重任需要廣大科(kē)研和工(gōng)程工(gōng)作(zuò)者孜孜不倦地努力與拼搏,需要很(hěn)多(duō)像作(zuò)者這樣求真務(wù)實的技(jì )術中(zhōng)堅力量來擔負起國(guó)産(chǎn)芯片振興的重任。而國(guó)内CPU領域人才的奇缺是長(cháng)期制約行業發展的主要因素,《手把手教你設計CPU》作(zuò)者作(zuò)為(wèi)一名(míng)長(cháng)期工(gōng)作(zuò)在一線(xiàn)的資深CPU設計專家,将其經驗撰寫成書,資料翔實,文(wén)字生動。配合作(zuò)者所在公(gōng)司開發的蜂鳥E200系列處理(lǐ)器核作(zuò)為(wèi)實例,非常适合用(yòng)于教學(xué)領域以及愛好者學(xué)習,對于普及CPU的設計技(jì )術具(jù)有(yǒu)十分(fēn)正面的意義。 新(xīn)興的RISC-V架構在全球範圍内已經掀起了一場熱潮,在國(guó)内也引起了廣泛的關注,但是由于沒有(yǒu)很(hěn)好的中(zhōng)文(wén)普及書籍,很(hěn)多(duō)人對于RISC-V仍然是“隻聞其聲,未見其形”。作(zuò)者作(zuò)為(wèi)國(guó)内第一批接觸RISC-V架構,并最早研發成功RISC-V處理(lǐ)器的技(jì )術專家,在工(gōng)作(zuò)之餘将其自研的處理(lǐ)器核開源,并著書詳細解讀其實現細節,體(tǐ)現了作(zuò)者極高的專業水準和推進國(guó)産(chǎn)CPU産(chǎn)業發展的強烈情懷。 ISA請扛起這口鍋——為(wèi)什麽國(guó)産(chǎn)CPU尚未足夠成功 衆所周知,芯片是我國(guó)信息産(chǎn)業發展的核心領域,而CPU則代表了芯片中(zhōng)的核心技(jì )術。在此方面,我國(guó)與發達國(guó)家相比有(yǒu)着明顯的差距。雖然經過多(duō)年的努力,技(jì )術差距已經有(yǒu)了顯著的縮小(xiǎo),但是在民(mín)用(yòng)商(shāng)業領域内,仍然沒有(yǒu)看到太多(duō)國(guó)産(chǎn)CPU的身影。是什麽原因造成國(guó)産(chǎn)商(shāng)業CPU尚未足夠成功這一現狀呢(ne)?接下來,我們便細數一下國(guó)内自主開發CPU的公(gōng)司與現狀,以及它們選擇的指令集流派。通過逐一分(fēn)析其過去與現狀,相信能(néng)夠讓讀者得到答(dá)案。 MIPS系——龍芯和君正 新(xīn)興的RISC-V架構在全球範圍内已經掀起了一場熱潮,在國(guó)内也引起了廣泛的關注,但是由于沒有(yǒu)很(hěn)好的中(zhōng)文(wén)普及書籍,很(hěn)多(duō)人對于RISC-V仍然是“隻聞其聲,未見其形”。作(zuò)者作(zuò)為(wèi)國(guó)内第一批接觸RISC-V架構,并最早研發成功RISC-V處理(lǐ)器的技(jì )術專家,在工(gōng)作(zuò)之餘将其自研的處理(lǐ)器核開源,并著書詳細解讀其實現細節,體(tǐ)現了作(zuò)者極高的專業水準和推進國(guó)産(chǎn)CPU産(chǎn)業發展的強烈情懷。 1.龍芯 龍芯CPU由中(zhōng)國(guó)科(kē)學(xué)院計算技(jì )術所龍芯課題組研制,由中(zhōng)國(guó)科(kē)學(xué)院計算技(jì )術所授權的北京神州龍芯集成電(diàn)路設計公(gōng)司研發。以下是龍芯CPU芯片的相關簡介。 龍芯1号的頻率為(wèi)266MHz,最早在2002年開始使用(yòng),如圖1-3所示。龍芯2号的頻率最高為(wèi)1GHz。 龍芯3A系列是國(guó)産(chǎn)商(shāng)用(yòng)4核處理(lǐ)器。最新(xīn)龍芯3A3000基于中(zhōng)芯28nm FDSOI工(gōng)藝,設計為(wèi)4核64位,主頻為(wèi)1.5GHz,功耗僅為(wèi)30W,非常适合筆(bǐ)記本平台。 龍芯3B系列是國(guó)産(chǎn)商(shāng)用(yòng)8核處理(lǐ)器,主頻超過1GHz,支持向量運算加速,峰值計算能(néng)力達到128GFLOPS,具(jù)有(yǒu)很(hěn)高的性能(néng)功耗比。龍芯3B系列主要用(yòng)于高性能(néng)計算機、高性能(néng)服務(wù)器、數字信号處理(lǐ)等領域。2.君正 國(guó)内的MIPS系還有(yǒu)另外一家公(gōng)司——北京君正。君正和龍芯同屬于MIPS陣營,與龍芯着力于桌面PC處理(lǐ)器不同,北京君正是國(guó)内較早專注于可(kě)穿戴、物(wù)聯網領域的本土IC設計公(gōng)司之一。由于嵌入式芯片的軟件一般按需求定制。這導緻在智能(néng)可(kě)穿戴市場,相當一部分(fēn)可(kě)穿戴産(chǎn)品和應用(yòng)軟件具(jù)有(yǒu)專用(yòng)性,軟件生态鏈相對較短,加上應用(yòng)需求的多(duō)樣化,因此不能(néng)用(yòng)一套通用(yòng)方案來滿足所有(yǒu)人的要求,所以在這個領域沒有(yǒu)某個廠商(shāng)可(kě)以實現壟斷。因此,在智能(néng)穿戴市場不容易出現PC和移動手機市場那樣被x86與ARM架構壟斷的情況。 智能(néng)穿戴芯片和物(wù)聯網芯片對性能(néng)要求不高,大部分(fēn)應用(yòng)場景更關注低功耗、廉價和尺寸等因素,君正的産(chǎn)品完全滿足性能(néng)要求,x86處理(lǐ)器不可(kě)能(néng)應用(yòng)于該領域,ARM陣營IC設計公(gōng)司受制于相對較高的授權費,在芯片産(chǎn)量較小(xiǎo)的情況下,并不具(jù)備價格上的競争力。君正擁有(yǒu)十多(duō)年的芯片設計經驗和技(jì )術積累,其最大的特點就是具(jù)有(yǒu)較高的性能(néng)功耗比。國(guó)内第一批上市的智能(néng)手表包括果殼的第一代智能(néng)手表、土曼一代、土曼二代智能(néng)手表等都采用(yòng)了君正的方案。 x86系——北大衆志(zhì)、兆芯和海光 1.北大衆志(zhì) 北京北大衆志(zhì)微系統科(kē)技(jì )有(yǒu)限責任公(gōng)司成立于2002年11月,是國(guó)家集成電(diàn)路設計行業的重要骨幹企業。2005年,AMD與中(zhōng)國(guó)政府達成了協議,科(kē)技(jì )部指定北大微電(diàn)子中(zhōng)心接收AMD Geode-2處理(lǐ)器的技(jì )術授權,AMD的處理(lǐ)器無疑是x86架構,中(zhōng)國(guó)因此獲得了x86技(jì )術。不過Geode處理(lǐ)器屬于AMD嵌入式處理(lǐ)器,因此AMD授權給北大的x86技(jì )術屬于嵌入式架構。 2.兆芯 另外一家使用(yòng)x86架構的國(guó)内企業——兆芯,也許被更多(duō)的人所熟知。衆所周知,核心的x86架構是 Intel和AMD公(gōng)司的核心技(jì )術,美國(guó)政府也會嚴格控制其技(jì )術的授權。不過,除了Intel和AMD,另外一家中(zhōng)國(guó)台灣公(gōng)司威盛(VIA)也曾經擁有(yǒu)x86架構授權。據稱,如圖1-8所示,兆芯自主研發的ZX-C處理(lǐ)器于2015年4月量産(chǎn),28nm工(gōng)藝,4核處理(lǐ)器,主頻可(kě)達2.0GHz,并且支持國(guó)密算法加密。2017年兆芯宣布其最新(xīn)一代ZX-D系列4核和8核通用(yòng)處理(lǐ)器已經成功流片,并透露将在2018年推出16nm的ZX-E 8核CPU。 3.海光 除了上海兆芯,還有(yǒu)一家誕生不久的新(xīn)銳公(gōng)司——天津海光。2016年,AMD宣布與中(zhōng)國(guó)天津海光投資公(gōng)司達成了協議,将x86技(jì )術授權給海光公(gōng)司,獲得授權費,并且雙方還會成立合資公(gōng)司,授權其生産(chǎn)服務(wù)器處理(lǐ)器。據稱,為(wèi)了打開中(zhōng)國(guó)高性能(néng)服務(wù)器市場,AMD這次授權給中(zhōng)國(guó)公(gōng)司的x86很(hěn)可(kě)能(néng)是最尖端的x86技(jì )術。對于海光的表現,也值得我們拭目以待。 Power系——中(zhōng)晟宏芯 藍色巨人IBM的Power架構一直是高性能(néng)的代言。IBM于2013年聯合NVIDIA等公(gōng)司成立OpenPower開放聯盟,其他(tā)公(gōng)司也可(kě)以獲得Power架構授權。此後還推動成立了中(zhōng)國(guó)POWER技(jì )術産(chǎn)業生态聯盟,與多(duō)家中(zhōng)國(guó)公(gōng)司簽署了授權協議,中(zhōng)晟宏芯就是其中(zhōng)的一家。中(zhōng)晟宏芯成立于2013年,相信宏芯能(néng)用(yòng)若幹年的時間實現技(jì )術的消化吸收和推陳出新(xīn)。 Alpha系——申威 申威處理(lǐ)器或申威CPU,簡稱“SW處理(lǐ)器”。 申威對自主的Alpha架構在不斷深化升級,在雙核Alpha基礎上拓展了多(duō)核架構和SIMD等特色擴展指令集,主要面向高性能(néng)計算、服務(wù)器領域,在2016年國(guó)際超算大會評比中(zhōng),基于申威26010處理(lǐ)器的“神威太湖(hú)之光”超級計算機系統(如圖1-9所示)首次亮相并奪冠,其峰值性能(néng)達每秒(miǎo)12.5×108億次浮點運算,成為(wèi)世界首台運行速度超109億次的超級計算機。 ARM系——飛騰、華為(wèi)海思、展訊和華芯通 為(wèi)了更好地理(lǐ)解本節的内容,有(yǒu)必要先對ARM的授權模式進行介紹。簡而言之,ARM公(gōng)司的主要授權模式可(kě)以分(fēn)為(wèi)兩種。 授權“ARM處理(lǐ)器IP”給其他(tā)的芯片生産(chǎn)商(shāng)(合作(zuò)夥伴),後者直接使用(yòng)ARM處理(lǐ)器IP設計SoC芯片。授權“ARM架構”給其他(tā)的芯片生産(chǎn)商(shāng)(合作(zuò)夥伴),後者基于ARM架構自研其處理(lǐ)器核,然後使用(yòng)自研處理(lǐ)器核設計SoC芯片。1.飛騰 飛騰公(gōng)司是中(zhōng)國(guó)國(guó)防科(kē)技(jì )大學(xué)高性能(néng)處理(lǐ)器研究團隊建立的企業,國(guó)防科(kē)大多(duō)年來在CPU領域的耕耘積累了雄厚的技(jì )術實力。2016年天津飛騰公(gōng)布了最新(xīn)産(chǎn)品FT2000,它最早亮相于2015年的HotChips大會,代号“火星”,定位于高性能(néng)服務(wù)器、行業業務(wù)主機等。FT2000采用(yòng)ARMv8指令集,但是使用(yòng)自研内核,不同于市面上ARMv8的Cortex-A53\A57\A72(直接購(gòu)買于ARM公(gōng)司的内核)。 FT2000之所以引人注目還因為(wèi)它在性能(néng)方面,包括高達64個FTC661處理(lǐ)器核,其公(gōng)布的Spec 2006測試中(zhōng),成績為(wèi)整數672、浮點585,足以和Xeon E5-2699v3相媲美。這也是國(guó)産(chǎn)服務(wù)器芯片第一次在性能(néng)上追平Intel,存儲器控制芯片總聚合帶寬為(wèi)204.8GB/s,超過目前的E5V3和E7V3,接近IBM POWER8(230GB/s)。跑分(fēn)與Intel的Xeon E5-2699v3相媲美意味着飛騰2000對于很(hěn)多(duō)商(shāng)業應用(yòng)來說已經完全夠用(yòng)了,隻要軟件生态跟得上,完全可(kě)以在商(shāng)業市場上取代Intel的某些産(chǎn)品。 2.華為(wèi)海思 華為(wèi)海思目前是我國(guó)技(jì )術最強大的芯片開發商(shāng)之一。華為(wèi)的麒麟芯片在性能(néng)上與高通、三星這些領先的芯片企業處于一個水平。同時華為(wèi)目前也是國(guó)内四大服務(wù)器提供商(shāng)之一,華為(wèi)、聯想、浪潮等國(guó)産(chǎn)服務(wù)器企業占有(yǒu)中(zhōng)國(guó)服務(wù)器市場的份額已經超過65%。華為(wèi)在幾年前便已經購(gòu)買了ARM指令集架構授權,開始研發自有(yǒu)的處理(lǐ)器核,主攻服務(wù)器市場。 在“十二五”科(kē)技(jì )創新(xīn)成就展上,華為(wèi)展出了其第一台ARM平台服務(wù)器“泰山(shān)”,配備自主研發ARM架構64位處理(lǐ)器“Hi1612”,采用(yòng)台積電(diàn)16nm工(gōng)藝,擁有(yǒu)多(duō)達16個核心,兼容ARMv8-A指令集。憑借華為(wèi)強大的研發實力與市場運作(zuò)能(néng)力,相信一定會有(yǒu)不俗的表現。 3.展訊 除華為(wèi)之外,展訊是另一家國(guó)内手機芯片的翹楚。2016年展訊的芯片出貨達到67000萬套,2017年6月宣布成功研發其自主的ARM架構處理(lǐ)器,展訊宣稱在SC9850 4核(Cortex-A7)芯片同樣大的面積上實現了6核的設計,功耗和性能(néng)都可(kě)以按照自己的需求調配,标志(zhì)着展訊成為(wèi)了除蘋果、三星兩家智能(néng)手機廠商(shāng)之外(三星和蘋果的自主芯片主要都是自用(yòng)),繼高通之後,第二家擁有(yǒu)自主ARM CPU關鍵技(jì )術的手機芯片廠商(shāng)。 4.華芯通 2016年,高通與中(zhōng)國(guó)貴州政府合資在華成立了一家芯片公(gōng)司——華芯通半導體(tǐ),旨在專門為(wèi)中(zhōng)國(guó)市場設計與開發服務(wù)器專用(yòng)芯片的公(gōng)司。華芯通已獲ARM v8-A架構授權,并表示中(zhōng)國(guó)成為(wèi)全球第二大數據中(zhōng)心市場,該授權将幫助華芯通半導體(tǐ)在快速擴張的中(zhōng)國(guó)服務(wù)器市場推出先進服務(wù)器芯片組技(jì )術,幫助中(zhōng)國(guó)企業在本土市場提供基于ARM的服務(wù)器技(jì )術,從而推動高效服務(wù)器解決方案的大規模部署。 背鍋俠ISA 從上述幾個章節中(zhōng),我們已經了解了國(guó)内CPU設計的英雄榜。但是如前文(wén)所述,目前在民(mín)用(yòng)商(shāng)業領域内,仍然沒有(yǒu)看到太多(duō)國(guó)産(chǎn)CPU的身影。可(kě)以說,國(guó)産(chǎn)處理(lǐ)器在民(mín)用(yòng)商(shāng)業領域至今尚未足夠成功的主要原因在于ISA,這口鍋ISA必背無疑。 論述了指令集架構(ISA)對于CPU的重要性,那麽對于一款CPU而言,絕對的硬件技(jì )術水平不是最重要的。 目前商(shāng)業主流的指令集架構在不同的領域已經各自出現了明顯的霸主格局。 x86架構統治着桌面PC與服務(wù)器領域。ARM架構統治着移動手持領域,同時對桌面PC和服務(wù)器領域全面進軍。ARM在嵌入式領域占據絕對優勢。因此作(zuò)者之前一直認為(wèi),隻有(yǒu)依附于x86與ARM陣營的商(shāng)業公(gōng)司,才能(néng)夠真正地實現全面的商(shāng)用(yòng)化。相信這也是為(wèi)什麽在近幾年來國(guó)内CPU設計的英雄榜上湧現出來的大多(duō)為(wèi)x86或者ARM系的原因。 但是,國(guó)産(chǎn)自主對我國(guó)的國(guó)計民(mín)生又(yòu)至關重要,追求國(guó)産(chǎn)自主安(ān)全可(kě)控是我國(guó)在戰略上必須堅持的方向。從這個角度上來看,選擇x86或者ARM架構終究也有(yǒu)其局限性,分(fēn)别論述如下。 1.x86架構 · 由于Intel與AMD本身是芯片公(gōng)司而不是知識産(chǎn)權(IP)公(gōng)司,因此x86架構是其生命線(xiàn),假設其他(tā)得到授權的芯片公(gōng)司使用(yòng)x86架構生産(chǎn)的芯片對Intel和AMD造成了實質(zhì)威脅時,Intel與AMD完全可(kě)以拿(ná)起專利的大棒停止授權。 · x86架構的授權費用(yòng)極為(wèi)高昂,遠(yuǎn)非普通公(gōng)司或者組織能(néng)夠染指。 2.ARM架構 · ARM架構的局面會樂觀很(hěn)多(duō),因為(wèi)ARM架構雖然也是屬于ARM公(gōng)司且受專利保護的架構,但是ARM公(gōng)司的商(shāng)業模式是以開放共赢為(wèi)基本原則。ARM公(gōng)司是ARM生态的主導者和核心規則的制定者,通過基礎架構授權、IP核授權等方式獲得經濟收益。而生态系統中(zhōng)大量的上下遊軟硬件企業則遵循ARM統一制定的标準規範,對接衆多(duō)客戶需求而實現經濟利益的獲取。 · 國(guó)内基于ARM生态的CPU産(chǎn)業已有(yǒu)較好基礎,華為(wèi)海思、展訊、聯芯和飛騰等衆多(duō)企業均已累積多(duō)年的ARM芯片研發經驗,在移動終端領域我國(guó)芯片設計技(jì )術已與國(guó)際主流水平同步,國(guó)外的巨頭高通、三星和谷歌等也屬于ARM生态系統陣營的成員。因此,從全球範圍來看,國(guó)内外的芯片公(gōng)司能(néng)夠在開放共赢的生态下進行公(gōng)平的競争。基于上述原因,國(guó)内CPU英雄榜上使用(yòng)ARM架構的CPU公(gōng)司,其成就更加令人可(kě)期。 · 盡管如此,ARM架構畢竟屬于ARM公(gōng)司,一方面需要為(wèi)ARM公(gōng)司支付極其高昂的授權費(一次數千萬美金),另一方面被軟銀收購(gòu)後ARM現在屬于一家日本公(gōng)司。因此,從絕對的自主可(kě)控的角度來看,受制于人那是在所難免的。 所謂“成也蕭何,敗也蕭何”,讀到此處,讀者可(kě)能(néng)要問,難道就沒有(yǒu)一種ISA具(jù)備如下幾個特點嗎? (1)它開源共享,不屬于某一家商(shāng)業公(gōng)司私有(yǒu),因此也就不會有(yǒu)受制于人與自主可(kě)控的隐憂,更加不需要向商(shāng)業公(gōng)司支付高昂的授權費。 (2)它以開放共赢為(wèi)基本原則,有(yǒu)一個統一的非盈利組織作(zuò)為(wèi)主導者和核心規則的制定者,任何公(gōng)司和個人都可(kě)以永久免費地使用(yòng)其架構。 生态系統中(zhōng)大量的上下遊軟硬件企業應遵循該組織統一制定的标準規範,對接衆多(duō)客戶需求而實現經濟利益的獲取。 同樣從全球範圍來看,國(guó)内國(guó)外的芯片公(gōng)司能(néng)夠在此開放共赢的生态下進行公(gōng)平的競争。相信很(hěn)多(duō)人都與作(zuò)者一樣,在很(hěn)長(cháng)的一段時間内,非常期待有(yǒu)這樣一種ISA的出現,業界甚至出現過希望由國(guó)家主導指定一種國(guó)家标準ISA,從而統一國(guó)内CPU各ISA派系的聲音。然而,國(guó)家标準ISA這種被局限在一國(guó)範圍内的技(jì )術在當今全球化的趨勢下,必然是格格不入且不可(kě)能(néng)成功的。于是所有(yǒu)人都認為(wèi)不可(kě)能(néng)出現這樣一種ISA了,作(zuò)者作(zuò)為(wèi)一名(míng)CPU設計的老兵,也不得不用(yòng)一首詩來表達一下彼時的心情:“死去元知萬事空,但悲不見九州同。王師北定中(zhōng)原日,家祭無忘告乃翁”。 然而在2016年,有(yǒu)一位叫做RISC-V的新(xīn)生突然自帶光環登場。它完全符合上述提到的兩個條件,屬于全人類的免費開放架構,無任何專利的桎梏,衆多(duō)國(guó)際知名(míng)大公(gōng)司均加入其中(zhōng),将以開放共赢的生态下進行公(gōng)平的競争。作(zuò)者隐隐感到,如果這個ISA真能(néng)夠發展起來,這似乎可(kě)能(néng)是國(guó)産(chǎn)CPU崛起的真正機會。剛才我們提到曾有(yǒu)人建議制定一種國(guó)家标準的指令集架構,而當RISC-V誕生不久,我們的鄰國(guó)印度迅速地采用(yòng)了RISC-V作(zuò)為(wèi)其國(guó)家标準的指令集,推薦其國(guó)内的大學(xué)和研究機構均采用(yòng)RISC-V架構,并且已經制定規劃且投入專項資金用(yòng)于開發幾個不同系列的RISC-V處理(lǐ)器。 有(yǒu)道是“山(shān)窮水盡疑無路,柳暗花(huā)明又(yòu)一村”,有(yǒu)關新(xīn)生的RISC-V架構。 人生已是如此艱難,你又(yòu)何必拆穿——CPU從業者的無奈 對于每一個行業的普通從業者而言,都希望所在行業能(néng)夠蓬勃發展、欣欣向榮,能(néng)夠有(yǒu)大量的商(shāng)業公(gōng)司參與并産(chǎn)生大量工(gōng)作(zuò)崗位的需求。倘使所在的行業或是日暮西山(shān),或是走向寡頭化成為(wèi)一潭死水,自然也就無法誕生大量的工(gōng)作(zuò)需求,那普通的從業者們可(kě)能(néng)就隻有(yǒu)“尋尋覓覓,冷冷清清,凄凄慘慘戚戚”,或者“門前冷落鞍馬稀,老大嫁作(zuò)商(shāng)人婦”了。 處理(lǐ)器設計便是一個典型的例子。雖然處理(lǐ)器設計是一門開放的學(xué)科(kē),其所需的技(jì )術均已成熟,很(hěn)多(duō)的工(gōng)程師與從業人員都已經掌握,也具(jù)備開發的處理(lǐ)器的能(néng)力。但是: · 由于處理(lǐ)器架構長(cháng)期以來主要由以Intel(x86架構)與ARM(ARM架構)為(wèi)代表的商(shāng)業巨頭公(gōng)司所掌控,及其軟件生态環境衍生出的寡頭排他(tā)效應,成為(wèi)了普通公(gōng)司與個人無法逾越的天塹。 · 由于寡頭的排他(tā)效應,衆多(duō)的處理(lǐ)器體(tǐ)系結構走向消亡,國(guó)産(chǎn)的商(shāng)用(yòng)CPU也無法足夠成功,從而造成了CPU設計這項工(gōng)作(zuò)變成了極少數商(shāng)業公(gōng)司的“堂前燕”,普通平民(mín)“隻可(kě)遠(yuǎn)觀,而不可(kě)亵玩焉”,國(guó)内長(cháng)期沒有(yǒu)形成有(yǒu)足夠影響力的相關産(chǎn)業與商(shāng)業公(gōng)司。 綜上,作(zuò)者作(zuò)為(wèi)曾經在國(guó)際一流公(gōng)司任職的CPU高級設計工(gōng)程師,竟一度在換工(gōng)作(zuò)時面臨擇業無門的窘境,更扼腕歎息衆多(duō)同仁被迫轉行的情形。正可(kě)謂“曲高者和寡,大音者稀聲”,CPU設計從業者,頗無奈也。讀至此,被迫轉行的同仁們可(kě)能(néng)已經老淚縱橫:“人生已是如此的艱難,你又(yòu)何必拆穿啊”。 好消息是最近幾年來國(guó)内CPU産(chǎn)業的情形終于發生了的改觀,由于中(zhōng)國(guó)的巨大市場與産(chǎn)業支持,國(guó)内湧現出了如上節中(zhōng)我們提到的兆芯、飛騰、華為(wèi)、展訊、海光和華芯通等從事CPU設計的公(gōng)司,且随着《手把手教你設計CPU》介紹的RISC-V架構之誕生,都将催生更多(duō)的市場需求。 東邊日出西邊雨,道是無晴卻有(yǒu)晴——RISC-V登場 RISC-V架構主要由伯克利大學(xué)的Krste Asanovic教授、Andrew Waterman和Yunsup Lee等開發人員于2010年發明,并且得到了計算機體(tǐ)系結構領域的泰鬥David Patterson的大力支持。伯克利大學(xué)的開發人員之所以發明一套新(xīn)的指令集架構,而不是使用(yòng)成熟的x86或者ARM架構,是因為(wèi)這些架構經過多(duō)年的發展變得極為(wèi)複雜和冗繁,并且存在着高昂的專利和架構授權問題。并且修改ARM處理(lǐ)器的RTL代碼是不被支持的,而x86處理(lǐ)器的源代碼根本不可(kě)能(néng)獲得到。其他(tā)的開源架構(譬如SPARC、OpenRISC)均有(yǒu)着或多(duō)或少的問題(第2章将詳細論述)。有(yǒu)感于計算機體(tǐ)系結構和指令集架構已經過數十年的發展非常成熟,但是像伯克利大學(xué)這樣的研究機構竟然“無米下鍋”(選擇不出合适的指令集架構供其使用(yòng))。伯克利大學(xué)的教授與研發人員決定發明一種全新(xīn)的、簡單且開放免費的指令集架構,于是RISC-V架構誕生了。 有(yǒu)關RISC-V的誕生,有(yǒu)興趣的讀者可(kě)以自行到網絡中(zhōng)查閱文(wén)章《伯克利希望将RISC-V開源架構推向主流》。 RISC-V(英文(wén)讀作(zuò)“risk-five”),是一種全新(xīn)的指令集架構。“V”包含兩層意思,一是這是Berkeley從RISC I開始設計的第五代指令集架構;二是它代表了變化(Variation)和向量(Vectors)。 經過幾年的開發,伯克利大學(xué)為(wèi)RISC-V架構開發除了完整的軟件工(gōng)具(jù)鏈以及若幹開源的處理(lǐ)器實例,得到越來越多(duō)的人的關注。2016年,RISC-V基金會(Foundation)正式成立開始運作(zuò)。RISC-V基金會是一個非盈利性的組織,負責維護标準的RISC-V指令集手冊與架構文(wén)檔,并推動RISC-V架構的發展。 RISC-V架構的目标如下。 成為(wèi)一種完全開放的指令集,可(kě)以被任何學(xué)術機構或商(shāng)業組織所自由使用(yòng)。成為(wèi)一種真正适合硬件實現且穩定的标準指令集。RISC-V基金會負責維護标準的RISC-V架構文(wén)檔和編譯器等CPU所需的軟件工(gōng)具(jù)鏈,任何組織和個人可(kě)以随時在RISC-V基金會網站上免費下載(無需注冊)。 RISC-V的推出以及基金會的成立,受到了學(xué)術界與工(gōng)業界的巨大歡迎。著名(míng)的科(kē)技(jì )行業分(fēn)析公(gōng)司Linley Group 将RISC-V評為(wèi)“2016年最佳技(jì )術”,如圖1-12所示。 開放而免費的RISC-V架構誕生,不僅對于高校與研究機構是個好消息;為(wèi)前期資金缺乏的創業公(gōng)司、或成本極其敏感的産(chǎn)品、或對現有(yǒu)軟件生态依賴不大的領域,都提供了另外一種選擇,而且得到了業界主要科(kē)技(jì )公(gōng)司的擁戴,包括谷歌、惠普、Oracle和西部數據等矽谷巨頭都是RISC-V基金會的創始會員,如圖1-13所示。衆多(duō)的芯片公(gōng)司已經開始使用(yòng)(譬如,三星、英偉達等)或者計劃使用(yòng)RISC-V開發其自有(yǒu)的處理(lǐ)器用(yòng)于其産(chǎn)品。 RISC-V基金會組織每年舉行兩次公(gōng)開的專題讨論會(Workshop),以促進RISC-V陣營的交流與發展,任何組織和個人均可(kě)以從RISC-V基金會的網站上下載到每次Workshop上演示的PPT與文(wén)檔。RISC-V第六次Workshop于2017年5月在中(zhōng)國(guó)的上海交大舉辦(bàn),如圖1-14所示,吸引了大批的中(zhōng)國(guó)公(gōng)司和愛好者參與。 簡單就是美——RISC架構的設計哲學(xué) RISC-V架構作(zuò)為(wèi)一種指令集架構,在介紹細節之前,讓我們先了解設計的哲學(xué)。所謂設計的“哲學(xué)”便是其推崇的一種策略,譬如我們熟知的日本車(chē)的設計哲學(xué)是經濟省油,美國(guó)車(chē)的設計哲學(xué)是霸氣等。RISC-V架構的設計哲學(xué)是什麽呢(ne)?是“大道至簡”。 作(zuò)者最為(wèi)推崇的一種設計哲學(xué)便是:簡單就是美,簡單便意味着可(kě)靠。無數的實際案例已經佐證了“簡單即意味着可(kě)靠”的真理(lǐ),反之越複雜的機器則越容易出錯。一個最好的例子便是著名(míng)的AK47沖鋒槍,正是由于簡單可(kě)靠的設計哲學(xué),使其性價比和可(kě)靠性極其出衆,成為(wèi)世界上應用(yòng)最廣泛的單兵武器。 在格鬥界,初學(xué)者往往容易陷入追求花(huā)式繁複技(jì )巧的泥淖,迷信于花(huā)拳繡腿。然而頂級的格鬥高手,最終使用(yòng)的都是簡單、直接的招式。所謂大道至簡,在IC設計的實際工(gōng)作(zuò)中(zhōng),作(zuò)者曾見過簡潔的設計實現其安(ān)全可(kě)靠,也曾見過繁複的設計長(cháng)時間無法穩定收斂。簡潔的設計往往是可(kě)靠的,在大多(duō)數的項目實踐中(zhōng)一次次得到檢驗。IC設計的工(gōng)作(zuò)性質(zhì)非常特殊,其最終的産(chǎn)出是芯片,而一款芯片的設計和制造周期均很(hěn)長(cháng),無法像軟件代碼那樣輕易地進行升級和打補丁,每一次芯片的改版到交付都需要幾個月的周期。不僅如此,芯片的制造成本費用(yòng)高昂,從幾十萬美金到成百上千萬美金不等。這些特性都決定了IC設計的試錯成本極為(wèi)高昂,因此能(néng)夠有(yǒu)效地降低錯誤的發生就顯得非常重要。現代的芯片設計規模越來越大,複雜度也越來越高,并不是要求設計者一味地逃避使用(yòng)複雜的技(jì )術,而是應該将好鋼用(yòng)在刀(dāo)刃上,将最複雜的設計用(yòng)在最為(wèi)關鍵的場景,在大多(duō)數有(yǒu)選擇的情況下,盡量選擇簡潔的實現方案。 作(zuò)者在第一次閱讀RISC-V架構文(wén)檔之時,不禁贊歎。因為(wèi)RISC-V架構在其文(wén)檔中(zhōng)不斷地明确強調其設計哲學(xué)是“大道至簡”,力圖通過架構的定義使硬件的實現足夠簡單。其簡單就是美的哲學(xué),可(kě)以從幾個方面看出,後續小(xiǎo)節将一一加以論述。 無病一身輕——架構的篇幅 如果對ARM的架構文(wén)檔熟悉的讀者應該了解其篇幅。經過幾十年的發展,現在的x86與ARM架構的架構文(wén)檔多(duō)達數千頁(yè),打印出來能(néng)有(yǒu)半個桌子高,可(kě)真是“著作(zuò)等身”。 想必x86與ARM架構在誕生之初,其篇幅也不至于像現在這般長(cháng)篇累牍。之所以架構文(wén)檔長(cháng)達數千頁(yè),且版本衆多(duō),一個主要的原因是其架構發展的過程也伴随了現代處理(lǐ)器架構技(jì )術的不斷發展成熟,并且作(zuò)為(wèi)商(shāng)用(yòng)的架構,為(wèi)了能(néng)夠保持架構的向後兼容性,不得不保留許多(duō)過時的定義,或者在定義新(xīn)的架構部分(fēn)時為(wèi)了能(néng)夠兼容已經存在的技(jì )術部分(fēn)而顯得非常的别扭。久而久之就變成了老太婆的裹腳布——極為(wèi)冗長(cháng),可(kě)以說是積重難返。 那麽現代成熟的架構是否能(néng)夠選擇重新(xīn)開始,重新(xīn)定義一個簡潔的架構呢(ne)?可(kě)以說是幾乎不可(kě)能(néng)。Intel也曾經在推出Itanium架構之時另起竈爐,放棄了向前兼容性,最終Intel的Itanium遭遇慘敗,其中(zhōng)一個重要的原因便是其無法向前兼容,從而無法得到用(yòng)戶的接受。試想一下,如果我們買了一款具(jù)有(yǒu)新(xīn)的處理(lǐ)器的計算機或者手機,之前所有(yǒu)的軟件都無法運行,那肯定是無法讓人接受的。 現在推出的RISC-V架構,則具(jù)備了後發優勢。由于計算機體(tǐ)系結構經過多(duō)年的發展已經是一個比較成熟的技(jì )術,多(duō)年來在不斷成熟的過程中(zhōng)暴露的問題都已經被研究透徹了,因此新(xīn)的RISC-V架構能(néng)夠加以規避,并且沒有(yǒu)背負向後兼容的曆史包袱,可(kě)以說是無病一身輕。 目前的“RISC-V架構文(wén)檔”分(fēn)為(wèi)“指令集文(wén)檔”和“特權架構文(wén)檔”。“指令集文(wén)檔”的篇幅為(wèi)100多(duō)頁(yè),而“特權架構文(wén)檔”的篇幅也僅為(wèi)100頁(yè)左右。熟悉體(tǐ)系結構的工(gōng)程師僅需一兩天便可(kě)将其通讀,雖然“RISC-V的架構文(wén)檔”還在不斷地豐富,但是相比“x86的架構文(wén)檔”與“ARM的架構文(wén)檔”,RISC-V的篇幅可(kě)以說是極其短小(xiǎo)精(jīng)悍。 |