点击下方名片,关注公众号

我们在开始分享今天的内容之前,先思考一下,为什么 Intel 会做行业第一?因为它有掌握成本结构的 IDM 模式,有符合摩尔定律的 Tick-Tock 策略,这些都对。

但除此之外,还有一个非常重要的因素。

那就是Intel掌握了x86指令集

想想为什么 AMD 能与 Intel 常年竞争?AMD 甚至在濒临破产的边缘,连总部大楼都卖了还能起死回生,重新来个 AMD YES?

就是因为 AMD 和 Intel 分享了 x86 的指令集。

专栏里讲硬件的内容偏多,今天,我们就聊聊指令集。其实如果要把指令集讲清楚,估计能开设一个新的专栏,这里我把它作为拓展阅读,就简单聊聊 ARM 和 RISC-V 这两个在业内比较有话题性的指令集吧。

先来说说定义,什么叫指令集呢?

业界泰斗、ACM 和 IEEE 两院院士、2017 年图灵奖得主、 RISC-V 基金会的董事会副主席 David Patterson 给了非常通俗易懂的定义:软件通过一个专业词汇上称为指令集的东西和硬件讲话。

换句话说,指令集是软硬件之间沟通的桥梁。如果在晶体管、集成电路和摩尔定律之外,再给一个重点概念,那就是指令集了。

可能你平时看新闻,看 ISA、架构、指令集这些词都混在一起用,觉得有些疑惑,其实ISA=指令集=架构,都是一个意思。而实现了一个指令集的CPU叫微架构。

我给你举个例子,ARMv,这是一个指令集,也是一个架构版本。
ARM 的 Cortex-A72 处理器,就是一个实现了ARMv8 指令集的具体 CPU,是一个微架构。
ARM 的 Cortex-A72 是一个支持 ARMv8 指令集的 CPU IP,就是一堆 RTL 代码。

瑞芯微的 RK3399 芯片就是一个集成了2个 Cortex- A72 之后的芯片,是一个物理体,这个芯片支持 ARMv8 指令集。凡是支持 ARMv8 的软件,都可以在 RK3399 上运行。

当我们说ARM的时候,我们不太关注这个拥有 6000 员工,总部在英国但被软银收购后已经成为一家日本公司的企业故事,或者是在网上可以公开看到的那本 5000 多页的 [ARMv8指令集手册]。

我们更多提到的是硬件侧高通的骁龙、联发科的天玑、华为的麒麟、三星的 Galaxy、AWS 的 Graviton、苹果的全家桶,和软件侧的 Android、iOS、Red Hat、Ubuntu、SUSE、麒麟 OS,等等,它们都在 ARM 的生态系统里

我们关注的是整个 ARM 生态系统。

类似的,我们在说 x86 的时候,也不仅仅指的是 Intel 和 AMD ,还有在 x86 生态系统里的微软、Linux、Oracle、SAP 等等。

但是 x86,并不是一个公开授权的指令集,虽然并不仅仅有 Intel 和 AMD 两家,但是对于新入局者来说,做 x86 指令集的机会几乎微乎其微。

相对来说,ARM 和 RISC-V 都是开放授权的指令集。

  • ARM 是商业授权指令集;

  • RISC-V 是开源的指令集。

至于 CPU 核,也就是微架构,两家都是商业授权模式,就是要付费的。

2017年,以微处理器分析闻名的行业分析公司 Linley Group 在一次 RISC-V 会议上做开场主题演讲时展示过一页最受欢迎的指令集,如果按照支持不同指令集的 CPU 个数来看,ARM 是最多的,从饼图上看,这是压倒性的优势。

但是如果按照营收来算,x86 因为高单价(ASP,平均销售价格)是最赚钱的指令集。也就是说目前这两个最流行的指令集,一个赚了钱场,一个赚了人场。

当年 Intel 推出 x86 指令集的时候,已是万人大厂,还拿下了 PC 这个关键市场,而彼时微软才刚刚创立,不足 10 人,因此这是一个先建硬件再建软件的历程。

而 ARM 是靠着自己的灵活授权模式,搭着当年德州仪器的大船杀入到手机市场,并在功能机年代拿下手机这个关键市场的。

然后先有诺基亚的手机操作系统塞班,然后再有的 Android。

在移动互联网时代,ARM 也是运气好,Intel 没有答应苹果的定制要求,因此苹果就选了 ARM这个现成的 CPU IP,也采用了既有的指令集,再搭建 iOS 系统。

因此 ARM 赶上的是硬件统一,软件分裂,然后对齐到硬件上的过程

那么开始于 2010 年的 RISC-V 呢?

我推荐你读一下中国科学院计算技术研究所包云岗老师的解读和介绍。包老师团队翻译了 RISC-V 手册,副标题是《一本开源指令集的指南》。

在这里我就简单从我的角度聊聊 RISC-V。

RISC-V 诞生于美国 UC Berkeley 大学,最初是个开放为教学服务的指令集。但 RISC-V 因为有着精简、高效、低能耗、模块化、可拓展、免费开放、无历史负累低效指令等优势,很快就出圈了,因此 RISC-V 团队在认识到它的价值之后,就决定将之推出市场进行商业化探索。

RISC-V 架构秉承简单的设计哲学,完全抛弃历史包袱,从轻上路,借助计算机体系结构,经过多年的发展已经成为比较成熟的技术。

RISC-V 基础指令集则只有 40 多条,加上其他的模块化扩展指令总共几十条指令。RISC-V 的规范文档仅有 145 页,而“特权架构文档”这样重要的内容,篇幅也仅为91页。

如果说 ARM 借助IP授权的商业模式,降低了 CPU 设计难度,让信息技术世界进入泛处理器时代,那么 RISC-V 就是以免费开放的开源指令集模式,降低了 CPU IP的设计门槛,让芯片行业进入到一个满是 CPU IP 的时代。

RISC-V 目前已经有 200 多家成员,你可以看这张大厂logo 云集图片,这张图来自 RISC-V 基金会。

不过所有的技术或者商业模式优势,最终还是要转化成商业成功。目前所有参与 RISC-V 的企业,其实还是小公司居多,或者是大公司的小项目有涉及,还没有特别赚钱的。

那什么算是商业成功呢?

依据我的经验以及总结 ARM 成功的历史,我列了三条 RISC-V 作为指令集的成功标志:

  1. 最新工艺的 SoC 量产

  2. 有软件支持的里程碑

  3. 支持杀手级应用或者说核心市场的 25% 市场份额

我觉得达到任意一个即可,当然最终肯定都会有,但是成功的起点是拿下其中之一。

看到这里,你如果对RISC-V仍然感兴趣,我建议你去读一下 John Hennessy 和 David Patterson 这两位图灵奖获得者,在 2019 年发表的文章《计算机架构的新黄金时代》(中文版(吴进:2018年图灵讲座:计算机体系结构的黄金时代),你可能会对 RISC-V 有一个全新的认识。

如果把它当通用 CPU,它生得晚了,可是如果把它当作领域专用架构 DSA(Domain Specific Architecture),这种模块化的设计,非常有价值,而且它是先立标准、开源开放,这样碎片化的生态累积起来更灵活更高效,反而更有机会做大。

但是我想说生态始终还是要统一的,要有人掌握灵活和标准之间的平衡,否则软件投资无法得到保障,最终还是一盘散沙。

最后,我用一张 1992 年微处理器论坛的老照片作为结尾。

指令集并不算一个特别有技术难度的项目,1960 年代,IBM 的每台计算机都有自己的指令集和工具。

1992 年,那张图上也是有满满的指令集。都说我们芯片这行做公司容易死,但其实图里的公司,还是剩下了大半,而指令集就剩下两个了。


计算机指令集的发展,是“长坡滚雪球”,要有核心,不能碎,或者说生态不能分裂,还要持续稳定地不停地滚动,即保持演进,与时俱进。

当然还要这个“坡”够长够大,才有后期的如雪山压顶之势,拿到容量够大的核心市场。

最后,我还想聊聊一些题外话,我不知道你在看网上一些信息的时候会不会完全相信别人说的,我是不会。

我们现在看到的一些文章,有相当一部分是某些公司宣传部门写的通稿,并不能直接代表真实情况。因此,一般我在阅读的时候,是会先看一下文章来源和作者背景的。

我也是普通人,在一些理解上也会加我自己的想法,因此你可以再从开篇词里了解一下我,再确定给我加什么样的纠偏系数。

来源:内容来自「知乎」,作者:邵巍,谢谢。

—— The End ——

推荐好文  点击蓝色字体即可跳转

☞ 优雅地用宏实现环形缓冲区

☞ 函数指针,这6点你学会了吗?

☞ 如何通俗易懂地学习网络协议?

☞ 你真的知道C语言里extern "C" 的作用吗?

欢迎转发、留言、点赞、分享给你的朋友,感谢您的支持!

长按识别二维码关注我

你点的每个好看,我都认真当成了喜欢

ARM与RISC-V的恩爱情仇相关推荐

  1. RISC V (RV32+RV64) 架构 整体介绍

    文章目录 riscv 市场 芯片介绍 软件介绍 开发板介绍 PC介绍 riscv 架构 编程模型(指令集/寄存器/ABI/SBI) 运行状态 指令集 寄存器 riscv32和riscv64两者的区别 ...

  2. 服务器CPU X86 ARM PowerPC RISC介绍

    服务器CPU X86 ARM PowerPC RISC RISC是一种执行较少类型计算机指令的微处理器,起源于80年代的MIPS主机(即RISC机),RISC机中采用的微处理器统称RISC处理器.这样 ...

  3. 弘辽科技:美团和阿里的恩爱情仇

    原标题<弘辽科技:美团和阿里的恩爱情仇> 来扯扯最近闹得沸沸扬扬的美团封杀支付宝事件. 事情是这样的,最近呢,有用户在美团支付的时候,突然发现,竟然不能使用支付宝支付. 就在大家议论纷纷的 ...

  4. 计组学习笔记2(RISC v版)

    指令集解释 (规定:R[r]表示通用寄存器r的内容,M[addr]表示存储单元addr的内容,SEXT[imm]表示对imm进行符号扩展,ZEXT[imm]表示对imm进行零扩展) 整数运算类 -U型 ...

  5. 【genius_platform软件平台开发】第八十八讲:arm公司的V架构和内核发展史(整理)

    1. ARM公司简介 ARM(Advanced RISC Machines)有三种含义:它是一个公司的名称.它是一类微处理器的通称.它是一种技术的名称. ARM 公司是微处理器行业的一家知名企业,它是 ...

  6. 安装Ubuntu RISC V toolchain失败(网速、git配置原因)

    git获取大容量工程出错:RPC failed: curl GnuTLS recv error : Decryption has failed. error: RPC failed; curl 56 ...

  7. 【29】CISC和RISC:为什么手机芯片都是ARM?

    [计算机组成原理]学习笔记--总目录 [29]CISC和RISC:为什么手机芯片都是ARM? 引言 一.CISC VS RISC:历史的车轮不总是向前的 1.RISC 架构的 CPU受到追捧的原因[降 ...

  8. 服务器架构:x86、RISC、ARM谁主江湖?

    在当今时代,说互联网支撑起了整个世界的半边天毫不过分.无论金融.工业,还是机关.社会,各行各业都被互联网串联起来.那么你对支撑起互联网的服务器有了解吗?服务器的构架又是怎样的呢? 服务器可不是你的电脑 ...

  9. 嵌入式学习硬件篇------初识ARM

    ARM体系结构的演变与发展 ARM公司简介 ARM(Advanced RISC Machine Limited)于1991年成立于英国剑桥,最早由Acorn.Apple和VLSI合资成立,主要出售芯片 ...

  10. ARM嵌入式体系架构(理论篇)

    [基础知识] (1)电路中的逻辑状态:0代表的是低电平,1代表高电平 (2)半导体元开关: [1]二极管 单向导通性 普通二极管 发光二极管 光敏二极管 稳压二极管 [2]三极管(开关特性) C :集 ...

最新文章

  1. HTML 杨辉三角,杨辉三角 - 哼哼哈嘿 - OSCHINA - 中文开源技术交流社区
  2. I2C总线学习(二)--数据传送格式
  3. vim 插件_vim插件YouCompleteMe配置
  4. cannot resolve symbol ‘springframework‘
  5. redis 附近的人_使用redis—geo api实现搜索附近的人,自己写的一个composer包
  6. php 替换 超链接,php 替换字符串所有url为超链接,并给超链接添加nofollow的简单示例...
  7. 理解 Python 中的线程
  8. 反射--获取构造器,获取父类,获取带泛型的父类,获取实现的接口,获取所在的包,获取注解
  9. Halcon 《机器视觉算法及应用》十例(其四)
  10. java Spring菜鸟教程,只需一篇文章吃透Java多线程技术
  11. TK mybatis 逆向工程
  12. Python数据类型——逻辑值详解
  13. 微信公众号、订阅号、服务号区别
  14. HOOFR: 增强型仿生特征提取器
  15. 服务器网络协议是什么,介绍网络协议,什么是网络协议三要素?
  16. 小团队也能做DDD-中篇
  17. linux git 命令备忘
  18. 不确定度与协方差矩阵的关系
  19. C语言开发数字华容道实现,从技术角度实现实现数字华容道
  20. 计算机组成原理um实验总结,计算机组成原理第三次实验报告.doc

热门文章

  1. ip经济ip猫:「飞海豚」大圣基因/医修鸽的ValueUP | Chain++
  2. Exploiting Sample Uncertainty for Domain Adaptive Person Re-Identification
  3. python网格交易法详解_期货交易技巧:等分网格交易法详解
  4. android 跨进程通信 binder
  5. 服务器微信互通是什么意思,妄想山海微信区和QQ区互通吗,服务器互通数据详解...
  6. CRT查看日志中文乱码问题
  7. 永远的七日之都服务器维护,永远的7日之都5月23日更新内容 七日之都5.23更新公告...
  8. 选择中医 - 养生之道
  9. .bat、python与C++程序进行批量处理的学习与实践
  10. 如何在一周内快速摸清一个行业?