0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

編譯器對(duì)芯片行業(yè)到底有什么意義

Wildesbeast ? 來(lái)源:今日頭條 ? 作者:芯動(dòng)力 ? 2020-02-20 14:22 ? 次閱讀

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)看,桌面端CPUIntel、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)狀。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 芯片
    +關(guān)注

    關(guān)注

    452

    文章

    50206

    瀏覽量

    420914
  • cpu
    cpu
    +關(guān)注

    關(guān)注

    68

    文章

    10804

    瀏覽量

    210833
  • 編譯器
    +關(guān)注

    關(guān)注

    1

    文章

    1617

    瀏覽量

    49015
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    C7000優(yōu)化C/C++編譯器

    電子發(fā)燒友網(wǎng)站提供《C7000優(yōu)化C/C++編譯器.pdf》資料免費(fèi)下載
    發(fā)表于 10-30 09:45 ?0次下載
    C7000優(yōu)化C/C++<b class='flag-5'>編譯器</b>

    RTOS與Linux到底有什么區(qū)別

    很多做嵌入式開(kāi)發(fā)的小伙伴都存在這樣的疑惑:RTOS與Linux到底有什么區(qū)別?
    的頭像 發(fā)表于 10-29 09:53 ?208次閱讀

    Keil編譯器優(yōu)化方法

    我們都知道,代碼是可以通過(guò)編譯器優(yōu)化的,有的時(shí)候,為了提高運(yùn)行速度或者減少代碼尺寸,會(huì)開(kāi)啟優(yōu)化選項(xiàng)。
    的頭像 發(fā)表于 10-23 16:35 ?256次閱讀
    Keil<b class='flag-5'>編譯器</b>優(yōu)化方法

    CMOS運(yùn)放的輸入阻抗到底有多高呢?

    都說(shuō)CMOS運(yùn)放輸入阻抗高,到底有多高呢?可有一個(gè)量化指標(biāo)?
    發(fā)表于 09-06 06:59

    AI編譯器技術(shù)剖析

    隨著人工智能技術(shù)的飛速發(fā)展,AI編譯器作為一種新興的編譯技術(shù)逐漸進(jìn)入人們的視野。AI編譯器不僅具備傳統(tǒng)編譯器的功能,如將高級(jí)語(yǔ)言編寫的源代碼轉(zhuǎn)換為機(jī)器可執(zhí)行的代碼,還融入了人工智能技術(shù)
    的頭像 發(fā)表于 07-17 18:28 ?1408次閱讀

    人工智能編譯器與傳統(tǒng)編譯器的區(qū)別

    人工智能編譯器(AI編譯器)與傳統(tǒng)編譯器在多個(gè)方面存在顯著的差異。這些差異主要體現(xiàn)在設(shè)計(jì)目標(biāo)、功能特性、優(yōu)化策略、適用范圍以及技術(shù)復(fù)雜性等方面。以下是對(duì)兩者區(qū)別的詳細(xì)探討,旨在全面解析其內(nèi)在差異。
    的頭像 發(fā)表于 07-17 18:19 ?1610次閱讀

    Meta發(fā)布基于Code Llama的LLM編譯器

    近日,科技巨頭Meta在其X平臺(tái)上正式宣布推出了一款革命性的LLM編譯器,這一模型家族基于Meta Code Llama構(gòu)建,并融合了先進(jìn)的代碼優(yōu)化和編譯器功能。LLM編譯器的推出,標(biāo)志著Meta在人工智能領(lǐng)域的又一重大突破,將
    的頭像 發(fā)表于 06-29 17:54 ?1430次閱讀

    SEGGER編譯器優(yōu)化和安全技術(shù)介紹 支持最新C和C++語(yǔ)言

    SEGGER編譯器是專門為ARM和RISC-V微控制設(shè)計(jì)的優(yōu)化C/C++編譯器。它建立在強(qiáng)大的Clang前端上,支持最新的C和C++語(yǔ)言功能。 除其他外,其主要功能包括: 1)?尺寸優(yōu)化:通過(guò)調(diào)整
    的頭像 發(fā)表于 06-04 15:31 ?1362次閱讀
    SEGGER<b class='flag-5'>編譯器</b>優(yōu)化和安全技術(shù)介紹 支持最新C和C++語(yǔ)言

    QT開(kāi)發(fā)學(xué)習(xí)筆記1(安裝交叉編譯器

    QT安裝交叉編譯器
    的頭像 發(fā)表于 02-18 10:02 ?834次閱讀
    QT開(kāi)發(fā)學(xué)習(xí)筆記1(安裝交叉<b class='flag-5'>編譯器</b>)

    網(wǎng)線到底有多少種連接

    我們?cè)谡務(wù)摼W(wǎng)線的時(shí)候,聊得最多的,一定是它的連接,它在連接過(guò)程中扮演著極為重要的角色。網(wǎng)線到底有多少種連接?本期我們將從工業(yè)級(jí)使用出發(fā),來(lái)看看這根似乎普通的網(wǎng)線,在連接上有多么努
    的頭像 發(fā)表于 01-26 10:06 ?548次閱讀

    AD7280AWBSTZ和AD7280ABSTZ之間到底有什么區(qū)別?

    替代嗎?在網(wǎng)上找到的兩個(gè)芯片的相關(guān)數(shù)據(jù)都是一樣的,AD7280AWBSTZ和AD7280ABSTZ之間到底有什么區(qū)別?
    發(fā)表于 01-08 06:36

    COB與SMD到底有什么不同?

    COB與SMD到底有什么不同?? COB和SMD是兩種常見(jiàn)的電子元器件封裝技術(shù)。它們?cè)陔娮?b class='flag-5'>行業(yè)中被廣泛應(yīng)用,尤其在LED照明領(lǐng)域。雖然它們都用于將芯片連接到電路板上,但它們?cè)诜庋b技術(shù)和應(yīng)用方面有一些
    的頭像 發(fā)表于 12-29 10:34 ?1619次閱讀

    Triton編譯器的原理和性能

    Triton是一種用于編寫高效自定義深度學(xué)習(xí)原語(yǔ)的語(yǔ)言和編譯器。Triton的目的是提供一個(gè)開(kāi)源環(huán)境,以比CUDA更高的生產(chǎn)力編寫快速代碼,但也比其他現(xiàn)有DSL具有更大的靈活性。Triton已被采用
    的頭像 發(fā)表于 12-16 11:22 ?2645次閱讀
    Triton<b class='flag-5'>編譯器</b>的原理和性能

    TVM編譯器的整體架構(gòu)和基本方法

    將近兩個(gè)月沒(méi)有學(xué)習(xí)一些新東西,更新一下博客了。一直在忙公司的一個(gè)項(xiàng)目,是做一款支持LSTM和RNN的通用架構(gòu)加速IP。自己恰好負(fù)責(zé)指令編譯工作,雖然開(kāi)始的指令比較粗糙,沒(méi)有一套完整的編譯器架構(gòu)
    的頭像 發(fā)表于 11-30 09:36 ?2235次閱讀
    TVM<b class='flag-5'>編譯器</b>的整體架構(gòu)和基本方法

    編譯器的優(yōu)化選項(xiàng)

    這一點(diǎn),需要了解編譯器的能力和限制;第三,要了解硬件的運(yùn)行方式,針對(duì)硬件特性進(jìn)行優(yōu)化。本文著重展開(kāi)第二點(diǎn)和第三點(diǎn)。 簡(jiǎn)單認(rèn)識(shí)編譯器 要寫出高性能的代碼,首先需要對(duì)編譯器基礎(chǔ)的了解,原
    的頭像 發(fā)表于 11-24 15:37 ?838次閱讀
    <b class='flag-5'>編譯器</b>的優(yōu)化選項(xiàng)