田 斌 張 偉
(上海高性能集成電路設(shè)計(jì)中心 上海 201204)(tianb@icdc.org.cn)
關(guān)于核心技術(shù)自主創(chuàng)新、信息技術(shù)安全可控[1]發(fā)展,習(xí)主席有一系列重要指示要求.習(xí)主席指出:“要搞清楚哪些是可以引進(jìn)但必須安全可控的,哪些是可以引進(jìn)消化吸收再創(chuàng)新的,哪些是可以同別人合作開(kāi)發(fā)的,哪些是必須依靠自己的力量自主創(chuàng)新的.”[2]
處理器和操作系統(tǒng)是信息技術(shù)的核心和基石,核心技術(shù)必須掌握在我們自己手里,使我國(guó)重要信息基礎(chǔ)設(shè)施建立在國(guó)產(chǎn)處理器和操作系統(tǒng)上,這已經(jīng)形成共識(shí).進(jìn)一步,通過(guò)核心技術(shù)突破,掌握信息產(chǎn)業(yè)技術(shù)發(fā)展的主導(dǎo)權(quán)也是我們追求的目標(biāo).
在處理器領(lǐng)域,正是我國(guó)對(duì)自主發(fā)展的明確而迫切的要求,催生了目前百花齊放、百家爭(zhēng)鳴的格局.當(dāng)前國(guó)際上主流處理器廠家都在國(guó)內(nèi)建立了各自的合作發(fā)展模式,有授權(quán)模式、技術(shù)合作模式等等.這是好事,意味著我國(guó)在這個(gè)領(lǐng)域發(fā)展有了非常豐富的可選項(xiàng).同時(shí),通過(guò)分析在國(guó)內(nèi)落地的各主要處理器廠家的公報(bào)可以發(fā)現(xiàn),所有合作方案都有“面向中國(guó)(大陸)市場(chǎng)定制”的定位或限制.一些交流宣傳活動(dòng)所透露的信息表明各處理器引進(jìn)合作方案大多表達(dá)了最終實(shí)現(xiàn)自主發(fā)展的信心,有些還有明確的發(fā)展路線圖.這說(shuō)明國(guó)家的要求、我們的努力目標(biāo)都是一致的,即實(shí)現(xiàn)國(guó)產(chǎn)處理器自主可控發(fā)展,實(shí)現(xiàn)“技術(shù)先進(jìn)、產(chǎn)業(yè)領(lǐng)先、安全可靠、自主可控、不受制于人”[3].國(guó)產(chǎn)處理器的一個(gè)理想的目標(biāo)狀態(tài)是:處理器自主研發(fā)(擁有自主知識(shí)產(chǎn)權(quán)),掌握創(chuàng)新發(fā)展的主導(dǎo)權(quán);圍繞自主處理器的軟硬件生態(tài)極大豐富,基于自主處理器的軟硬件產(chǎn)品成為主流,掌握產(chǎn)業(yè)發(fā)展的主導(dǎo)權(quán);自主處理器在國(guó)內(nèi)完成流片封裝測(cè)試等工作,獲得厚實(shí)的工業(yè)基礎(chǔ)支撐,掌握可持續(xù)發(fā)展的自主權(quán).
本文試圖對(duì)開(kāi)展國(guó)產(chǎn)處理器自主研發(fā)所要具備的要素進(jìn)行分析探討,希望為如何牢牢把握國(guó)產(chǎn)處理器自主可控發(fā)展方向提供一些參考.
“十一五”期間,國(guó)產(chǎn)處理器發(fā)展的基調(diào)是“自主可控”.隨著認(rèn)識(shí)的深化拓展,相關(guān)表述逐漸演進(jìn)為“安全可控”.筆者認(rèn)為,自主可控更多強(qiáng)調(diào)的是能力建設(shè),安全可控更多強(qiáng)調(diào)的是目標(biāo)和效果.要實(shí)現(xiàn)關(guān)鍵信息基礎(chǔ)設(shè)施的安全可控,其核心芯片和核心軟件必須是自主研發(fā)的,即所謂“自主不一定安全,不自主一定不安全”.
有一種說(shuō)法認(rèn)為掌握了一款處理器核心的全部RTL 源碼就滿足了安全可控的要求.筆者認(rèn)為,這只是達(dá)到了一種“安全透明”的狀態(tài),有了可以進(jìn)一步分析消化的基礎(chǔ)(先不討論可行性).這里強(qiáng)調(diào)的是“全部RTL 源碼”,類(lèi)比于C程序中的全部源碼,不能“開(kāi)天窗”,更不能有不可讀懂的“黑模塊”.即使如此,在對(duì)源碼特別是涉及安全性的源碼進(jìn)行徹底的分析消化之前,該處理器不能認(rèn)為是安全可控的.
處理器技術(shù)發(fā)展到今天,經(jīng)過(guò)了長(zhǎng)期演進(jìn),其內(nèi)部架構(gòu)和邏輯關(guān)系已經(jīng)變得錯(cuò)綜復(fù)雜,可謂牽一發(fā)動(dòng)全身.即使能拿到一個(gè)成熟的處理器的完整源碼,要分析透徹也非常困難,不僅需要一定規(guī)模的高水平專(zhuān)業(yè)團(tuán)隊(duì),往往還需要數(shù)年時(shí)間.這就回到了發(fā)展自主可控能力的命題上.沒(méi)有現(xiàn)代處理器設(shè)計(jì)研發(fā)基礎(chǔ),即使拿到源碼也難以看懂理清.更何況處理器面臨升級(jí)換代和創(chuàng)新發(fā)展,針對(duì)別人發(fā)展道路上的一個(gè)產(chǎn)品的源碼進(jìn)行改進(jìn)提升又對(duì)自身自主能力提出了更大的挑戰(zhàn).一旦更新?lián)Q代跟不上需求發(fā)展,隨著時(shí)間推移很可能落到不斷買(mǎi)進(jìn)原廠新款設(shè)計(jì)的境地.這顯然不是我們所希望的,也滿足不了安全可控的要求.
因此,國(guó)產(chǎn)處理器要自主發(fā)展必須立足自身能力的發(fā)展,否則只能是跟隨發(fā)展.因此可以說(shuō)安全可控是目標(biāo),自主可控是實(shí)現(xiàn)途徑[4-5].
當(dāng)前,處理器技術(shù)授權(quán)已經(jīng)成為一種通行的合作發(fā)展模式.典型的包括架構(gòu)授權(quán)、軟核授權(quán)、硬核授權(quán)等.
其中架構(gòu)授權(quán)事實(shí)上是“一紙文書(shū)”,允許被授權(quán)方研發(fā)芯片,兼容授權(quán)方發(fā)展出來(lái)的指令系統(tǒng)架構(gòu),從而獲取授權(quán)方建立的軟件生態(tài)所帶來(lái)的紅利,利于終端用戶的持續(xù)選型應(yīng)用.軟核授權(quán)就是購(gòu)買(mǎi)授權(quán)方提供的處理器核心RTL 源碼,以此為基礎(chǔ)可以快速發(fā)展出SoC芯片,避免了針對(duì)處理器核心的極具挑戰(zhàn)性的大量設(shè)計(jì)與驗(yàn)證工作.硬核是授權(quán)方針對(duì)特定工藝開(kāi)發(fā)完成的固化模塊,直接拼接到用戶的芯片中.相比軟核授權(quán),用戶進(jìn)一步省去了面向工藝的處理器核心物理設(shè)計(jì)和優(yōu)化,可以更快速地完成項(xiàng)目.
從謀求自主發(fā)展的角度看,在考慮獲取處理器技術(shù)授權(quán)時(shí),建議關(guān)注以下幾點(diǎn):
1) 架構(gòu)授權(quán)的有效期.永久性授權(quán)最好,如果有有效期,要認(rèn)真研究延續(xù)授權(quán)的前提條件.有些廠家在授權(quán)時(shí)有嚴(yán)格的商業(yè)條款,尤其是禁止被授權(quán)方面向敏感領(lǐng)域研發(fā)處理器芯片.如果這些條款不能滿足,或者在實(shí)施過(guò)程中違反了這些條款,則很有可能拿不到“續(xù)簽”,前面的投資投入就會(huì)荒廢.
2) 架構(gòu)授權(quán)針對(duì)的領(lǐng)域.例如,有授權(quán)方提出只能用于研發(fā)服務(wù)器處理器,而且對(duì)核數(shù)也有限制等,這將極大制約被授權(quán)方的發(fā)展.有觀點(diǎn)認(rèn)為,可以利用一些灰色定義在一定程度上規(guī)避這些限制,但只有尊重市場(chǎng)、尊重規(guī)則才能獲得長(zhǎng)足的發(fā)展.
3) 指令架構(gòu)的擴(kuò)展權(quán).這是自主創(chuàng)新發(fā)展的基礎(chǔ).在部分處理器架構(gòu)授權(quán)商業(yè)條款中是不允許用戶自主擴(kuò)展的,甚至有些授權(quán)方要求用戶自身所發(fā)展獲得的相關(guān)專(zhuān)利也要與授權(quán)方共享.
4) 軟核授權(quán)的自主修改權(quán).部分公司的授權(quán)條款中是不允許修改軟核的,這就限定了處理器未來(lái)創(chuàng)新發(fā)展的空間.
5) 架構(gòu)授權(quán)加軟核授權(quán)的發(fā)展模式.如果授權(quán)方同時(shí)授權(quán)了指令架構(gòu)和相應(yīng)的軟核設(shè)計(jì),并且允許以此為基礎(chǔ)進(jìn)行優(yōu)化提升,發(fā)展自己的自主處理器,這將“站在巨人的肩膀上”,見(jiàn)效快,風(fēng)險(xiǎn)小.如果只是架構(gòu)授權(quán),自己從零起步開(kāi)始設(shè)計(jì),投入的人力物力巨大,極富挑戰(zhàn)性.但據(jù)了解,這種組合發(fā)展模式似乎行不通.如果關(guān)起門(mén)來(lái)這樣做,那是盜版行為,根本談不上自主可控.
圖1 流片前的前端質(zhì)量檢查
采用現(xiàn)在流行的各種處理器授權(quán)模式,被授權(quán)方拿到數(shù)據(jù)后可以較為便利地構(gòu)建自己的SoC處理器芯片,加快了產(chǎn)品的研發(fā)速度,降低了產(chǎn)品的研發(fā)風(fēng)險(xiǎn),但這只是買(mǎi)到了“魚(yú)”而沒(méi)有買(mǎi)到“漁”.要發(fā)展自主可控處理器,還是需要扎扎實(shí)實(shí)提升發(fā)展自身的研發(fā)能力.
總體看,高端處理器研發(fā)需要具備3種能力.
這不僅涉及到定義完備的指令集、清晰的軟硬件接口,還涉及到設(shè)計(jì)包含高效的流水、仿存、一致性處理、異常處理等功能的處理器微結(jié)構(gòu)[6].此外,一個(gè)成功的處理器結(jié)構(gòu)設(shè)計(jì)還需要綜合考慮產(chǎn)品的定位、工藝的支持、物理設(shè)計(jì)可行性等要素,還要與優(yōu)秀的編譯器研發(fā)團(tuán)隊(duì)進(jìn)行深度合作,才能設(shè)計(jì)出兼顧性能、功耗、成本的處理器產(chǎn)品.買(mǎi)第三方處理器核心源碼進(jìn)行研發(fā)正如買(mǎi)了一整套發(fā)動(dòng)機(jī)的零件圖和裝配圖,只知其然不知其所以然,必然導(dǎo)致核心競(jìng)爭(zhēng)力的缺失.因此架構(gòu)設(shè)計(jì)和微結(jié)構(gòu)設(shè)計(jì)是處理器自主研發(fā)能力的基礎(chǔ)和核心.
微結(jié)構(gòu)設(shè)計(jì)定義完成后,需要以某種形式對(duì)設(shè)計(jì)進(jìn)行描述實(shí)現(xiàn)(如現(xiàn)在流行的Verilog或VHDL,當(dāng)然還有一些定制設(shè)計(jì)).而這種描述是否正確,需要進(jìn)行大量的驗(yàn)證工作.需要制訂詳細(xì)的驗(yàn)證方案,綜合采用模塊級(jí)驗(yàn)證、偽隨機(jī)驗(yàn)證、功能級(jí)形式化驗(yàn)證等手段,對(duì)處理器核心設(shè)計(jì)進(jìn)行深入全面的驗(yàn)證,小到每一個(gè)邏輯表達(dá)式是否正確,大到典型應(yīng)用軟件能否正確高效運(yùn)行[7].在研發(fā)過(guò)程中建立的驗(yàn)證體系、驗(yàn)證課題和驗(yàn)證向量等隨著發(fā)展,逐漸成為處理器系列設(shè)計(jì)的“關(guān)鍵基礎(chǔ)設(shè)施”.這一套驗(yàn)證環(huán)境是經(jīng)過(guò)長(zhǎng)時(shí)間人力、物力和時(shí)間投入不斷積累形成的,是經(jīng)過(guò)大量流片驗(yàn)證的檢驗(yàn)而不斷補(bǔ)充、完善的.沒(méi)有這樣的驗(yàn)證環(huán)境作支撐,很難談得上自主研發(fā)處理器,更談不上創(chuàng)新發(fā)展.圍繞處理器的基礎(chǔ)軟件也是需要這種基礎(chǔ)能力支撐,一旦發(fā)現(xiàn)深層次問(wèn)題,需要回歸到設(shè)計(jì)驗(yàn)證平臺(tái)進(jìn)行查錯(cuò)找錯(cuò),研究規(guī)避辦法.當(dāng)然,如果獲得軟核授權(quán),這些挑戰(zhàn)都可以不考慮,但也談不上自主創(chuàng)新了.流片前的前端質(zhì)量檢查工作如圖1所示.
正如發(fā)動(dòng)機(jī)生產(chǎn)流程中有些零部件可以通過(guò)自動(dòng)化加工獲得,但有些關(guān)鍵部件只能由高水平工程師自己定制加工.處理器設(shè)計(jì)代碼驗(yàn)證完成后,有些可以通過(guò)自動(dòng)工具“編譯”成電路,但關(guān)鍵部位需要自己進(jìn)行定制設(shè)計(jì),更要對(duì)工藝有全面的把握才能實(shí)現(xiàn)全片物理設(shè)計(jì)的整合.
由于高端處理器的復(fù)雜性,在設(shè)計(jì)流程上不可能把代碼設(shè)計(jì)與物理設(shè)計(jì)完全分開(kāi),在關(guān)鍵的時(shí)序優(yōu)化等工作中,必須代碼優(yōu)化和物理優(yōu)化同時(shí)進(jìn)行,有些關(guān)鍵模塊甚至需要做數(shù)十上百個(gè)評(píng)估版本.典型的后端設(shè)計(jì)流程如圖2所示:
圖2 后端設(shè)計(jì)流程概要
為了更好地把控設(shè)計(jì)質(zhì)量,高端處理器設(shè)計(jì)一般需要采取定制設(shè)計(jì)為主、自動(dòng)綜合為輔的設(shè)計(jì)方法學(xué),并與工藝深度結(jié)合,在流片前做大量的設(shè)計(jì)檢查,大小獨(dú)立檢查項(xiàng)達(dá)到數(shù)百種[8].
在大規(guī)模工業(yè)化生產(chǎn)某款處理器芯片時(shí),質(zhì)量一致性成為關(guān)鍵,這對(duì)物理設(shè)計(jì)能力提出了更高的要求.例如,Intel的處理器就可以在電腦城銷(xiāo)售,而不用擔(dān)心用的是某款某型主板.這需要處理器設(shè)計(jì)者建立起覆蓋物理設(shè)計(jì)全流程的、完整的設(shè)計(jì)規(guī)范和質(zhì)量檢查體系來(lái)支撐工業(yè)化設(shè)計(jì)生產(chǎn).與設(shè)計(jì)驗(yàn)證環(huán)境類(lèi)似,這套物理設(shè)計(jì)體系經(jīng)過(guò)大量流片實(shí)踐淬煉迭代而不斷完善,成為自主研發(fā)處理器的關(guān)鍵核心能力之一.
本文簡(jiǎn)要梳理了開(kāi)展國(guó)產(chǎn)處理器自主研發(fā)所要具備的要素.實(shí)現(xiàn)國(guó)產(chǎn)處理器自主可控發(fā)展道遠(yuǎn)路艱,充滿挑戰(zhàn),必須作好長(zhǎng)期努力的準(zhǔn)備.同時(shí)也要看到,只有堅(jiān)持自主可控的發(fā)展路線,以能力建設(shè)為基礎(chǔ),才能最終實(shí)現(xiàn)核心技術(shù)的突破和跨越式發(fā)展.
[1]王秀軍. 到底什么是“安全可控”?[EB/OL].(2017-05-11) [2017-11-06]. http://blog.sina.com.cn/s/blog_4ee4e8170 102x2t8.htm
[2]習(xí)近平在網(wǎng)絡(luò)安全和信息化工作座談會(huì)上的講話[EB/OL]. (2016-04-19) [2017-11-06]. http://news.xinhuanet.com/newmedia/2016-04/26/c_135312437_3.htm
[3]陳君. 互聯(lián)網(wǎng)信息安全的“中國(guó)設(shè)計(jì)”[J]. 今日中國(guó): 中文版, 2014, 1(6): 23-25
[4]涂曉軍. 推進(jìn)信息技術(shù)“自主可控”,保障金融信息安全[J]. 中國(guó)金融電腦, 2014, 3(1): 17-21
[5]黃曉艷. 信息安全不僅僅是技術(shù)問(wèn)題——訪中國(guó)科學(xué)院、中國(guó)工程院院士王越[J]. 高科技與產(chǎn)業(yè)化, 2013, 201(5): 41-45
[6]Patterson D A, Hennessy J L. Computer Organization and Design[M]. San Francisco: Margan Kaufmann, 2004
[7]張珩, 沈海華. 龍芯2號(hào)微處理器的功能驗(yàn)證[J]. 計(jì)算機(jī)研究與發(fā)展, 2006, 43(6): 974-979
[8]李小明. 40nm數(shù)字集成電路后端設(shè)計(jì)實(shí)例及方法研究[D]. 北京: 北京大學(xué), 2012