2019年科技行業(yè)有一個(gè)熱點(diǎn)“華為開(kāi)源方舟編譯器”,編譯器這個(gè)名詞開(kāi)始不斷的進(jìn)入國(guó)人的視野。作為民族自主品牌的驕傲,華為為什么投入巨大的人力開(kāi)發(fā)方舟編譯器并將它開(kāi)源,編譯器在華為乃至整個(gè)業(yè)界中到底處于什么樣的地位呢?
撇開(kāi)編譯器,我們先談?wù)?a target="_blank">芯片。提到芯片,一直是國(guó)人痛心的地方,國(guó)內(nèi)的媒體一直提到芯無(wú)力。2018年中國(guó)進(jìn)口總額為14.09萬(wàn)億元,在這14.09萬(wàn)億元的進(jìn)口商品中,進(jìn)口芯片的金額近2.06萬(wàn)億元(具體為20584.1億人民幣),約為全國(guó)進(jìn)口商品總額的14.62%;進(jìn)口石油的總金額是15881.7億人民幣(約為1.59萬(wàn)億元),約為全國(guó)進(jìn)口商品總額的11.28%,進(jìn)口芯片的金額是石油的1.3倍。在最近十年的進(jìn)口數(shù)額統(tǒng)計(jì)中,芯片進(jìn)口的價(jià)值均超過(guò)了石油,缺芯已經(jīng)緊緊的扼住了中國(guó)發(fā)展的咽喉。
為什么需要編譯器
以當(dāng)前最主流的芯片來(lái)看,桌面端CPU被Intel、AMD占據(jù),移動(dòng)端被ARM、Apple統(tǒng)治,即使我們有新的性能相當(dāng)?shù)腃PU出現(xiàn)了,真的就能立即替代這些霸主嗎?
以日常使用的手機(jī)為例。從用戶的角度來(lái)說(shuō),用戶并不關(guān)注手機(jī)里面使用的是什么CPU。評(píng)價(jià)手機(jī)好用與否的第一標(biāo)準(zhǔn)是手機(jī)打開(kāi)APP是否足夠快、網(wǎng)絡(luò)是否足夠順暢等,當(dāng)然如果這個(gè)手機(jī)里面搭載的是中國(guó)芯就更讓我們驕傲了。甚至對(duì)于部分用戶,如果手機(jī)內(nèi)搭載的是國(guó)產(chǎn)CPU,即使性能稍微差一點(diǎn),優(yōu)先也會(huì)選擇國(guó)產(chǎn)CPU的手機(jī)。但是很少用戶會(huì)選擇一款手機(jī):使用國(guó)產(chǎn)CPU、無(wú)法運(yùn)行當(dāng)前主流的APP(想象一下無(wú)法使用微信、支付寶、抖音的生活吧)。
當(dāng)然也許有人會(huì)說(shuō)可以讓阿里、騰訊等這樣的公司針對(duì)國(guó)產(chǎn)CPU進(jìn)行專門的開(kāi)發(fā)。但是針對(duì)特定的硬件架構(gòu)進(jìn)行代碼開(kāi)發(fā)維護(hù)、性能調(diào)試等會(huì)有巨大的開(kāi)銷,大公司也許可以做到,但是還有更多的小公司呢,日常生活中總會(huì)有一些APP屬于比較小眾的那一款,在國(guó)產(chǎn)CPU平臺(tái)上如果無(wú)法支持,或許就會(huì)成為你放棄這個(gè)平臺(tái)的理由。公眾對(duì)國(guó)產(chǎn)CPU平臺(tái)的熱情被千千萬(wàn)萬(wàn)個(gè)小的APP消耗殆盡后,平臺(tái)將會(huì)不可避免的走向滅亡。
這就是現(xiàn)在經(jīng)常說(shuō)的芯片的生態(tài)系統(tǒng)的可怕之處。硬件不再是以單打獨(dú)斗的形式出現(xiàn),而是會(huì)與軟件進(jìn)行捆綁,最終形成自己的生態(tài)系統(tǒng),外來(lái)者很難闖入,這其中最出名的大概就是微軟和Intel組成的Wintel聯(lián)盟了。
什么是編譯器
解開(kāi)生態(tài)系統(tǒng)難題的其中一個(gè)重要的環(huán)節(jié)就是編譯器了。眾所周知,所有應(yīng)用軟件都是使用相應(yīng)編程語(yǔ)言(C/C++/Java等等)進(jìn)行開(kāi)發(fā)的,工程師使用編程語(yǔ)言中固定的詞匯和格式編寫,之后使用編譯器識(shí)別代碼中的詞匯、句子以及各種特定格式,將它們轉(zhuǎn)換成計(jì)算機(jī)能夠識(shí)別并執(zhí)行的二進(jìn)制形式。
編譯也可以理解為“翻譯”,類似于將中文翻譯成英文,它是一個(gè)復(fù)雜的過(guò)程,首先編譯器進(jìn)行語(yǔ)法分析,也就是要把那些字符串分離出來(lái)。然后進(jìn)行語(yǔ)義分析,就是把各個(gè)由語(yǔ)法分析分析出的語(yǔ)法單元的意義搞清楚。然后是性能優(yōu)化、生成可執(zhí)行文件。期間涉及到復(fù)雜的算法和硬件架構(gòu)。之所以復(fù)雜, 是由于它們具有處理多種問(wèn)題以及相關(guān)數(shù)據(jù)集的能力。
通過(guò)編譯器,開(kāi)發(fā)人員可以很方便的實(shí)現(xiàn)業(yè)務(wù)平臺(tái)的遷移,不需要修改業(yè)務(wù)代碼,僅需要修改編譯平臺(tái)的配置,做到業(yè)務(wù)邏輯的一致。同時(shí)編譯器內(nèi)部根據(jù)業(yè)務(wù)執(zhí)行的平臺(tái),對(duì)業(yè)務(wù)代碼進(jìn)行特定的優(yōu)化,保證代碼在硬件平臺(tái)上性能達(dá)到最優(yōu)。同時(shí)編譯器不斷升級(jí)維護(hù)也不會(huì)對(duì)上層運(yùn)行的業(yè)務(wù)代碼產(chǎn)生沖擊,這樣所有的APP廠商針對(duì)新平臺(tái)的工作量會(huì)降到比較低的程度,大家的接受意愿才會(huì)更強(qiáng)烈,編譯器最終的目標(biāo)是幫助開(kāi)發(fā)人員實(shí)現(xiàn)一次代碼編寫,跨平臺(tái)運(yùn)行。
國(guó)內(nèi)現(xiàn)狀
當(dāng)前,隨著國(guó)內(nèi)手機(jī)廠商對(duì)系統(tǒng)優(yōu)化的不斷深入,頭部廠商紛紛開(kāi)始針對(duì)編譯器進(jìn)行優(yōu)化。華為最早開(kāi)源了方舟編譯器,vivo有ART++,OPPO也推出了端云智能編譯等。
隨著國(guó)內(nèi)芯片產(chǎn)業(yè)重視程度越來(lái)越高,越來(lái)越多的廠商開(kāi)始真正重視芯片的研發(fā)并且意識(shí)到芯片生態(tài)系統(tǒng)的重要性,編譯器作為其中的重要一環(huán),為未來(lái)自主操作系統(tǒng)的推出起到重要的基礎(chǔ)作用,也越來(lái)越被重視。而且國(guó)內(nèi)計(jì)算行業(yè)的領(lǐng)頭羊華為在516事件后,將打造鯤鵬、昇騰系列芯片的生態(tài)作為重中之重,在可以預(yù)期的未來(lái),國(guó)內(nèi)的計(jì)算行業(yè)將會(huì)迎來(lái)一場(chǎng)變革,也許在這一波變革中我們會(huì)真正建立起自己的生態(tài),在我們這一代人手中徹底打破芯無(wú)力的現(xiàn)狀。
-
芯片
+關(guān)注
關(guān)注
452文章
50206瀏覽量
420914 -
cpu
+關(guān)注
關(guān)注
68文章
10804瀏覽量
210833 -
編譯器
+關(guān)注
關(guān)注
1文章
1617瀏覽量
49015
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論