0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

编译器对芯片行业到底有什么意义

Wildesbeast 来源:今日头条 作者:芯动力 2020-02-20 14:22 次阅读

2019年科技行业有一个热点“华为开源方舟编译器”,编译器这个名词开始不断的进入国人的视野。作为民族自主品牌的骄傲,华为为什么投入巨大的人力开发方舟编译器并将它开源,编译器在华为乃至整个业界中到底处于什么样的地位呢?

撇开编译器,我们先谈谈芯片。提到芯片,一直是国人痛心的地方,国内的媒体一直提到芯无力。2018年中国进口总额为14.09万亿元,在这14.09万亿元的进口商品中,进口芯片的金额近2.06万亿元(具体为20584.1亿人民币),约为全国进口商品总额的14.62%;进口石油的总金额是15881.7亿人民币(约为1.59万亿元),约为全国进口商品总额的11.28%,进口芯片的金额是石油的1.3倍。在最近十年的进口数额统计中,芯片进口的价值均超过了石油,缺芯已经紧紧的扼住了中国发展的咽喉。

为什么需要编译器

以当前最主流的芯片来看,桌面端CPUIntelAMD占据,移动端被ARM、Apple统治,即使我们有新的性能相当的CPU出现了,真的就能立即替代这些霸主吗?

以日常使用的手机为例。从用户的角度来说,用户并不关注手机里面使用的是什么CPU。评价手机好用与否的第一标准是手机打开APP是否足够快、网络是否足够顺畅等,当然如果这个手机里面搭载的是中国芯就更让我们骄傲了。甚至对于部分用户,如果手机内搭载的是国产CPU,即使性能稍微差一点,优先也会选择国产CPU的手机。但是很少用户会选择一款手机:使用国产CPU、无法运行当前主流的APP(想象一下无法使用微信、支付宝、抖音的生活吧)。

当然也许有人会说可以让阿里、腾讯等这样的公司针对国产CPU进行专门的开发。但是针对特定的硬件架构进行代码开发维护、性能调试等会有巨大的开销,大公司也许可以做到,但是还有更多的小公司呢,日常生活中总会有一些APP属于比较小众的那一款,在国产CPU平台上如果无法支持,或许就会成为你放弃这个平台的理由。公众对国产CPU平台的热情被千千万万个小的APP消耗殆尽后,平台将会不可避免的走向灭亡。

这就是现在经常说的芯片的生态系统的可怕之处。硬件不再是以单打独斗的形式出现,而是会与软件进行捆绑,最终形成自己的生态系统,外来者很难闯入,这其中最出名的大概就是微软和Intel组成的Wintel联盟了。

什么是编译器

解开生态系统难题的其中一个重要的环节就是编译器了。众所周知,所有应用软件都是使用相应编程语言(C/C++/Java等等)进行开发的,工程师使用编程语言中固定的词汇和格式编写,之后使用编译器识别代码中的词汇、句子以及各种特定格式,将它们转换成计算机能够识别并执行的二进制形式。

编译也可以理解为“翻译”,类似于将中文翻译成英文,它是一个复杂的过程,首先编译器进行语法分析,也就是要把那些字符串分离出来。然后进行语义分析,就是把各个由语法分析分析出的语法单元的意义搞清楚。然后是性能优化、生成可执行文件。期间涉及到复杂的算法和硬件架构。之所以复杂, 是由于它们具有处理多种问题以及相关数据集的能力。

通过编译器,开发人员可以很方便的实现业务平台的迁移,不需要修改业务代码,仅需要修改编译平台的配置,做到业务逻辑的一致。同时编译器内部根据业务执行的平台,对业务代码进行特定的优化,保证代码在硬件平台上性能达到最优。同时编译器不断升级维护也不会对上层运行的业务代码产生冲击,这样所有的APP厂商针对新平台的工作量会降到比较低的程度,大家的接受意愿才会更强烈,编译器最终的目标是帮助开发人员实现一次代码编写,跨平台运行。

国内现状

当前,随着国内手机厂商对系统优化的不断深入,头部厂商纷纷开始针对编译器进行优化。华为最早开源了方舟编译器,vivo有ART++,OPPO也推出了端云智能编译等。

随着国内芯片产业重视程度越来越高,越来越多的厂商开始真正重视芯片的研发并且意识到芯片生态系统的重要性,编译器作为其中的重要一环,为未来自主操作系统的推出起到重要的基础作用,也越来越被重视。而且国内计算行业的领头羊华为在516事件后,将打造鲲鹏、昇腾系列芯片的生态作为重中之重,在可以预期的未来,国内的计算行业将会迎来一场变革,也许在这一波变革中我们会真正建立起自己的生态,在我们这一代人手中彻底打破芯无力的现状。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 芯片
    +关注

    关注

    452

    文章

    50150

    浏览量

    420496
  • cpu
    cpu
    +关注

    关注

    68

    文章

    10798

    浏览量

    210704
  • 编译器
    +关注

    关注

    1

    文章

    1615

    浏览量

    49007
收藏 人收藏

    评论

    相关推荐

    C7000优化C/C++编译器

    电子发烧友网站提供《C7000优化C/C++编译器.pdf》资料免费下载
    发表于 10-30 09:45 0次下载
    C7000优化C/C++<b class='flag-5'>编译器</b>

    RTOS与Linux到底有什么区别

    很多做嵌入式开发的小伙伴都存在这样的疑惑:RTOS与Linux到底有什么区别?
    的头像 发表于 10-29 09:53 172次阅读

    Keil编译器优化方法

    我们都知道,代码是可以通过编译器优化的,有的时候,为了提高运行速度或者减少代码尺寸,会开启优化选项。
    的头像 发表于 10-23 16:35 222次阅读
    Keil<b class='flag-5'>编译器</b>优化方法

    CMOS运放的输入阻抗到底有多高呢?

    都说CMOS运放输入阻抗高,到底有多高呢?可有一个量化指标?
    发表于 09-06 06:59

    AI编译器技术剖析

    随着人工智能技术的飞速发展,AI编译器作为一种新兴的编译技术逐渐进入人们的视野。AI编译器不仅具备传统编译器的功能,如将高级语言编写的源代码转换为机器可执行的代码,还融入了人工智能技术
    的头像 发表于 07-17 18:28 1392次阅读

    人工智能编译器与传统编译器的区别

    人工智能编译器(AI编译器)与传统编译器在多个方面存在显著的差异。这些差异主要体现在设计目标、功能特性、优化策略、适用范围以及技术复杂性等方面。以下是对两者区别的详细探讨,旨在全面解析其内在差异。
    的头像 发表于 07-17 18:19 1589次阅读

    Meta发布基于Code Llama的LLM编译器

    近日,科技巨头Meta在其X平台上正式宣布推出了一款革命性的LLM编译器,这一模型家族基于Meta Code Llama构建,并融合了先进的代码优化和编译器功能。LLM编译器的推出,标志着Meta在人工智能领域的又一重大突破,将
    的头像 发表于 06-29 17:54 1418次阅读

    SEGGER编译器优化和安全技术介绍 支持最新C和C++语言

    SEGGER编译器是专门为ARM和RISC-V微控制设计的优化C/C++编译器。它建立在强大的Clang前端上,支持最新的C和C++语言功能。 除其他外,其主要功能包括: 1) 尺寸优化:通过调整
    的头像 发表于 06-04 15:31 1344次阅读
    SEGGER<b class='flag-5'>编译器</b>优化和安全技术介绍 支持最新C和C++语言

    QT开发学习笔记1(安装交叉编译器

    QT安装交叉编译器
    的头像 发表于 02-18 10:02 829次阅读
    QT开发学习笔记1(安装交叉<b class='flag-5'>编译器</b>)

    网线到底有多少种连接

    我们在谈论网线的时候,聊得最多的,一定是它的连接,它在连接过程中扮演着极为重要的角色。网线到底有多少种连接?本期我们将从工业级使用出发,来看看这根似乎普通的网线,在连接上有多么努
    的头像 发表于 01-26 10:06 543次阅读

    AD7280AWBSTZ和AD7280ABSTZ之间到底有什么区别?

    替代吗?在网上找到的两个芯片的相关数据都是一样的,AD7280AWBSTZ和AD7280ABSTZ之间到底有什么区别?
    发表于 01-08 06:36

    COB与SMD到底有什么不同?

    COB与SMD到底有什么不同?  COB和SMD是两种常见的电子元器件封装技术。它们在电子行业中被广泛应用,尤其在LED照明领域。虽然它们都用于将芯片连接到电路板上,但它们在封装技术和应用方面有一些
    的头像 发表于 12-29 10:34 1608次阅读

    Triton编译器的原理和性能

    Triton是一种用于编写高效自定义深度学习原语的语言和编译器。Triton的目的是提供一个开源环境,以比CUDA更高的生产力编写快速代码,但也比其他现有DSL具有更大的灵活性。Triton已被采用
    的头像 发表于 12-16 11:22 2607次阅读
    Triton<b class='flag-5'>编译器</b>的原理和性能

    TVM编译器的整体架构和基本方法

    将近两个月没有学习一些新东西,更新一下博客了。一直在忙公司的一个项目,是做一款支持LSTM和RNN的通用架构加速IP。自己恰好负责指令编译工作,虽然开始的指令比较粗糙,没有一套完整的编译器架构
    的头像 发表于 11-30 09:36 2182次阅读
    TVM<b class='flag-5'>编译器</b>的整体架构和基本方法

    编译器的优化选项

    这一点,需要了解编译器的能力和限制;第三,要了解硬件的运行方式,针对硬件特性进行优化。本文着重展开第二点和第三点。 简单认识编译器 要写出高性能的代码,首先需要对编译器基础的了解,原
    的头像 发表于 11-24 15:37 834次阅读
    <b class='flag-5'>编译器</b>的优化选项