达芬奇架构和arm架构有什么区别

提起芯片架构 , 有大名鼎鼎的ARM、英特尔 , 还有真正自研的苹果 , 魔改之王的高通 , 后起之秀的华为 。

达芬奇架构和arm架构有什么区别

文章插图
那么究竟谁更技高一筹?华为达芬奇架构又有哪些厉害之处?和ARM架构有哪些区别呢?
什么是架构?架构到底有多重要?
提起芯片大家都能说上几句 , 但是一旦具体到芯片架构、指令集这类的东西 , 很多人都哑口无言了 , 那么究竟什么是架构呢?
达芬奇架构和arm架构有什么区别

文章插图
有人说架构就是指令集 , 其实二者还是有些区别的 。
【达芬奇架构和arm架构有什么区别】架构就是芯片厂商制定的一个规范 , 目的就是为了区分不同类型芯片的标示 。例如:intel系列、AMD系列、ARM系列等等 。
指令集就是指示和命令的集合 , 一系列的指令就形成一个程序 。只有指令集和芯片完美配合 , 才能发挥出强大的性能 。从现阶段的主流体系结构讲 , 指令集可分为复杂指令集和精简指令集两部分 。
我们可以用蒸米饭来形象的解释 。
达芬奇架构和arm架构有什么区别

文章插图
我们要蒸米饭肯定是要按照顺序来的 , 整体来说包括以下几个:买米、淘米、放水、开火、蒸好后再关火、盛饭、摆桌 。
无论最终有多少个步骤、米淘的干净与否、大米选购的好与坏 , 最终是可以蒸出一锅米饭的 。
这些步骤和每一个细分的步骤 , 合起来就是指令集 。每一个小步骤汇集起来 , 一步步的完成就会得到想要的结果 。
当然 , 这只是蒸米饭的大体步骤 , 根据实际情况不同 , 个人喜好不同 , 可以微调顺序 , 例如:可以网购大米 , 电饭煲可以不关火就盛米饭(保温状态) 。可以说 , 顺序不同 , “蒸米饭指令集”就不同 。
这也就是为什么今天要讲架构的原因了 , 架构就是为了实现指令集所需要的硬件基础 。说白了 , 指令集就是顺序、规划 , 架构就是实现这些顺序、规划的电路 。
架构重要吗?非常重要!
达芬奇架构和arm架构有什么区别

文章插图
试想一下我们的房子 , 房屋的梁、柱、墙等承重结构重要吗?房屋的设计安全吗?环保吗?节能吗?实用性如何?耐久性如何?经济性如何?所有的这些都是建立在“房屋基础架构”之上的 。
那么一款芯片性能如何?能耗如何?功能是否强大,等等同样也是建立在架构之上的 。
一款芯片由几个核心 , 多少个SIMD处理器 , 几个ALU , 几个FPU , 它们是怎样连接的 , 功能如何实现的 , 都是依靠架构实现的 。
经典的ARM架构
达芬奇架构和arm架构有什么区别

文章插图
2020年9月14号 , 美国芯片巨头英伟达宣布以400亿美金的价格收购全球最大的半导体IP提供商ARM公司 , 这一消息震惊了全球 , 因为ARM一旦被收购 , 全球半导体行业将彻底被美国掌控 。
ARM是全球领先的半导体知识产权 (IP) 提供商 , 成立于1990年 , 总部位于英国剑桥 。
英伟达的收购方案出来后 , 需要全球多个国家(美国、英国、欧盟、中国)批准 , 以确保收购不会造成垄断 。全球第一GPU大厂收购全球第一IP授权公司 , 可想而知它动了多少人的奶酪 , 最终在多方的压力下 , 英伟达放弃收购ARM 。
ARM架构究竟有什么神奇之处 , 可以让全球95%的手机使用 , 收购ARM更需要中、美、英、欧等多国审批?
我们知道芯片有两种架构 , 即:CISC(复杂指令集)和RISC(精简指令集) 。
这两种架构都试图在功耗、运行、编译、算法等方面做出平衡 , 以达到高效节能的目的 , 但是由于设计理念和方法的不同 , 最终形成了很大的差异 。
英特尔x86架构采用CISC(复杂指令集) , ARM采用RISC(精简指令集) 。
达芬奇架构和arm架构有什么区别

文章插图
在PC盛行的时代 , 英特尔凭借CISC架构击败了ARM公司 , 成为当之无愧的PC芯片霸主 。但是ARM公司并没有因此而颓废 , 反而在移动设备中大放异彩 , 手机、相机、音响、电动机、硬盘、电信基站等都能发现ARM的身影 。
英特尔的CISC架构以性能为目的 , 逐步增加了指令集的复杂度 , 代价就是功耗越来越大 , 设计难度也越拉越大 , 无法适应移动设备 。
ARM的RISC架构则不同 , 采用了简单的架构 , 让整个芯片拥有了更小的体积、更少的指令 , 因此其功耗也就更低 , 但同时还保留了必要的高性能 。此外 , ARM的架构更容易高密度整合 , 例如我们现在使用的手机芯片就是将CPU、GPU、NPU、基带整合在了一起 。
ARM的除了拥有近乎完美的架构设计外 , 其并不参与芯片的整体设计、制造、封装等环节 , 也因此它很少有竞争对手 。于是三星、高通、联发科、华为、德州仪器等芯片大厂纷纷与其合作 , 最终将ARM推上了神坛 。
达芬奇架构和arm架构有什么区别

文章插图
ARM架构整体的优点主要在以下几点:
  • 低功耗 , 电池耗电量少 , 这一点是毫无疑问的;
  • 稳定性高 , 功耗越高的电子元器件要求也就越高 , 同等品质的元件低功耗的使用时间越长 , 系统也更稳定;
  • 发热更低 , 低功耗产生的热量自然更加少 , 在相同的散热条件下 , 自然是发热更低了;
  • 软件开发成本低 , ARM的精简指令集可以有效降低软件开发成本 , 用C或JAVA编写的软件只需在ARM平台的操作系统中编译一下就可以移植过去;
  • 硬件开发成本低 , ARM实际上在CPU芯片中已经整合了几乎所有功能 , 几乎所有线路按原理图直接拉出就可以了 , 需要扩展的部分一般不多 , 所以其开发成本会比较低;
  • ARM实际上在CPU芯片中已经整合了几乎所有功能 , 几乎所有线路按原理图直接拉出就可以了 , 需要扩展的部分一般不多 , 所以其开发成本会比较低
整体来看 , ARM的产品在功耗和硬件上具有很大的优势 , 性能也足够使用 , 并且非常适合应用在移动设备上 , 这也是ARM能够风靡全球的重要原因 。
华为的达芬奇架构
达芬奇架构和arm架构有什么区别

文章插图
最开始华为的手机芯片采用的是中科寒武纪的NPU , 但华为似乎对寒武纪的NPU并不是太感冒 , 从华为发布会就可以感受到 , 华为多次提到HiAI的功效 , 却刻意弱化“寒武纪” , 甚至在发布会上直接说是华为NPU , 就连PPT也是kirin NPU 。我想寒武纪也不会满意华为的做法吧!
之后 , 寒武纪在NPU的设计理念、架构等方面与华为不合 , 而华为又是一家以狼性著称的企业 , 忧患意识非常的强 , 不可能把自己的命脉交给别人 , 于是很快就开始自研NPU了 , (或许更早) 。
2019年6月 , 华为发布麒麟810 , 这款处理器不再使用寒武纪的NPU , 首次采用了华为自研的达芬奇架构NPU , 实现了世界级领先的AI算力 , 同时也将搭载麒麟810的华为手机带进了TOP3 。那么 , 华为自研的达芬奇架构究竟如何呢?
随着AI时代的来临 , 各大巨头纷纷布局 , 华为也不例外 。根据华为的预测 , 2025年 , 全球将有400亿台智能终端 , 智能助理的普及率将达到90% , 企业数据的使用率将达到86% 。为了享受这一盛宴 , 华为集中精力开发了达芬奇架构 。
达芬奇架构和arm架构有什么区别

文章插图
用徐直军的话说:“构建新架构来支持人工智能芯片 , 是因为这是基于华为对人工智能的理解 , 基于端管云对对人工智能的需求自然产生的 。”
达芬奇架构主要是把计算乘加器(MAC)按照不同类型的计算 , 组织成不同的计算方式 , 并搭配对应的数据缓存 。
严格意义的来讲 , 华为达芬奇更像是GPU架构 , 而非CPU架构 , 因为它采用了部分ARM架构 , 同时以外围张量运算加速 , 这种方式都是优化AI智能计算 。
但GPU并非专门为AI计算设计的 , 因此在神经网络推理上达芬奇架构更具优势 。
达芬奇架构的优势:
  • 专门针对AI计算开发的 , 具有高算力、高能效、灵活可裁剪的特性;
  • 采用3D Cube针对矩阵运算做加速 , 大幅提升单位功耗下的AI算力;
  • 单个AI Core可以在一个时钟周期内实现4096个MAC操作 , 比传统的CPU和GPU实现数量级的提升;
华为达芬奇架构可以说是华为的一个小型的“黑科技” , 还是不能够和ARM架构相提并论的 。
达芬奇架构和ARM架构有什么区别?
达芬奇架构和arm架构有什么区别

文章插图
首先明确一点 , 华为的达芬奇架构与ARM架构有着本质的区别 。
华为麒麟芯片的核心采用了ARM 76架构 , 一切CPU、GPU、NPU都要在这个架构的基础上进行“魔改” , 包括达芬奇架构 。
达芬奇架构只是NPU架构 , 而ARM架构包含了CPU、GPU、NPU等等 。一款芯片最重要的是CPU、其次是GPU、最后是NPU 。你研发出了NPU架构 , 但是距离GPU、CPU还有很远 。
号称“魔改”第一人的就是美国高通 , 高通处理器的架构是自主研发的Kryo架构 , 但是这也是根据ARM76魔改的 , 那华为的达芬奇呢?也一样是建立在ARM架构基础上的 。如果没有ARM , 也就没有高通骁龙 , 同样没有华为达芬奇 。
正因如此 , 华为如果不想一直受制于人 , 就要开发属于自己的架构 , 并且把它做大做强 。
华为研发达芬奇架构 , 尽管现在来看没有太多的黑科技 , 但是在未来一定会越来越好 , 越来越强大 , 甚至有可能和ARM架构平起平坐 。
华为的架构需要分两步走才能实现与ARM平起平坐 。
达芬奇架构和arm架构有什么区别

文章插图
第一步:在ARM v8架构基础上进行研发 , 对该架构独立完成升级工作 。
ARM遍布手机、移动设备 , 很多AI芯片架构也是ARM结合的 , 在这种情况下 , 直接单独开发一个架构 , 即便性能不错 , 也不会有哪个大厂会使用的 , 因为生态问题 。
其次 , 公版制造进度更快 , 更能搭载在新款手机上 , 更快地抢占手机市场 。
最后 , 使用公版可以减少核心搭配、总线设计等电路布局 , 也不用担心“误操作”影响整个处理器 , 甚至影响整批手机 。
达芬奇架构和arm架构有什么区别

文章插图
第二步:完全丢弃ARM架构 , 研发出自己的芯片架构 。
华为为什么一定要自研芯片架构呢?因为随着美国对华为持续的打压 , ARM已经宣布同华为中断合作 , 预计下一代ARM架构v9将和华为无缘 。
尽管现在华为已经购买了ARM v8永久地使用权 , 影响较小 。但当大家都使用了v9架构时 , 你再拿着v8继续玩 , 恐怕消费者都不愿买账了 。
此外 , 看看研发能力强大的苹果 , 自主研发的A系列芯片 , 真的是所向无敌 , 4+64G可以吊打安卓8+128G , 那么同样实力非凡的华为呢?会不会也能做到呢?
问答总结
华为自研的达芬奇架构和ARM架构的区别主要在以下几点:
  • 华为达芬奇架构是NPU架构 , ARM架构是CPU、GPU架构;
  • 达芬奇架构是建立在ARM架构基础上的 , 没有ARM , 达芬奇就如同大树失去了土壤;
  • (达芬奇)NPU架构研发简单 , 而(ARM)CPU架构难度很大;
  • ARM架构广泛应用在各大品牌智能手机、移动设备上 , 达芬奇架构只应用在华为自己的手机上 , 生态系统不是一个级别的 。
对比一下 , 那种说法正确?
说法①:
处理器架构 , 对应的是两套指令集 , X86使用的是CISC复杂指令集、而ARM使用的是RISC精简指令集 , 只不过ARM主要用在移动端 。精简指令集缩写为RISC 。NPU跟GPU有异曲同工之妙 , 大家都知道GPU就是在CPU基础上发展起来的特殊功能芯片 , 主要用来负责图形处理 , 而NPU就是用来处理人工智能计算 。
达芬奇架构的NPU也就是跟GPU同一种属性的 , 基于CPU发展出来拥有某种功能特性的芯片 。GPU负责图形处理部分 , NPU复制处理人工智能计算部分 。
说法②:
所谓NPU即神经网络处理器 , 采用“数据驱动并行计算”的架构 , 特别擅长处理视频、图像类的海量多媒体数据 。可以简单的将NPU处理器理解为只处理单一领域 , 而CPU则处理所有领域 , NPU一般也可称为是协处理器 。
因此 , 该NPU本质上依旧是遵循RISC指令集的 , 可以理解为采用传统的ARM处理器+AI加速器 , 其AI加速器就是达芬奇核心 。
华为自研的达芬奇架构更多的比较对象应该是其他的人工智能芯片架构 , 例如Nvidia的GPU和Google的TPU , 而不是与CPU架构做比较 。
简单来说 , 无论是GPU还是TPU以及NPU目前更多都是协处理器 , 承担部分领域的边缘计算 , 这与ARM或者是X86有着本质的区别 。

    推荐阅读