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