参考资料:
ARM与RISC-V的恩爱情仇
ARM与RISC-V架构的区别
第五代精简指令集计算机RISC-V你了解多少?
RISC-V能否“重构”芯片产业格局
浅析RISC-V指令集架构


0. 基础知识

CPU的指令集,其实就是指令的合集,那什么是指令呢?就是你吩咐CPU去做的事情。我在这里给大家打个比方:你有一个佣人,你给他下命令做饭、洗碗、端茶、倒水……这就是指令。把所有的指令总结在一起就是指令集。如果指令集里面没有“洗脚”这个命令,那么你下这个命令CPU也不会执行。CPU必须要有指令集才能工作,不同的CPU有不同的指令集,基本上可以分为两种:复杂指令集CISC和精简指令集RISC。

关于CPU的指令集架构,我们最熟悉的应该就是X86和ARM了,需要注意的是它们都不免费。Intel的X86指令集架构除了自家以外只授权给了AMD和威盛(VIA),ARM稍微好一点不过价格也是不菲,一直有“天下苦ARM久矣”的玩笑。

那除了它们俩之外还有其他指令集架构吗?答案当然是有,接下来要介绍的RISC-V就是一个,而且还是开源免费的。

可以说ARM 是商业授权的指令集;RISC-V 是开源的指令集。

想详细了解指令集知识可参考此篇博文:CPU指令集科普:CISC指令集和RISC指令集;ARM指令集和X86指令集对比

1. RISC-V的起源

RISC-V起源于2010年的美国加州大学伯克利分校(USNews世界大学排名第4),当时伯克利研究团队要研发一款CPU,上面我们说过了要研发CPU就需要有指令集,X86指令集授权严格,ARM指令集授权费用昂贵,其他指令集要么老旧要么也需要授权,在这种情况下伯克利研究团队决定从零开始设计一套全新的指令集,也就是我们今天说的RISC-V了。据说当时团队四个人仅用了3个月就完成并发布了第一版指令集。当时第一个版本只包含了不到50条指令,可以用于实现一个具备定点运算和特权模式等基本功能的处理器。

2. RISC-V的特点

  • 完全开源,对指令集使用,RISC-V基金会不收取高额的授权费。开源采用宽松的BSD协议,企业完全自由免费使用,同时也容许企业添加自有指令集拓展而不必开放共享以实现差异化发展。

  • 简单,这也是RISC-V架构的设计哲学。在处理器领域,X86与ARM架构的发展过程也伴随了现代处理器架构技术的不断发展成熟,为了能够保持架构的向后兼容性,其不得不保留许多过时的定义,导致其指令数目多,指令冗余严重,文档数量庞大,所以操作系统或者开发应用门槛就会很高。而RISC-V架构则能完全抛弃包袱,借助计算机体系结构经过多年的发展已经成为比较成熟技术的优势,从轻上路。RISC-V的规范文档仅有145页,而“特权架构文档”的篇幅也仅为91页。

  • 模块化,RISC-V架构不仅短小精悍,而且其不同的部分还能以模块化的方式组织在一起,从而试图通过一套统一的架构满足各种不同的应用场景。用户能够灵活选择不同的模块组合,来实现自己定制化设备的需要,比如针对于低功耗嵌入式场景,用户可以选择RV32IC组合的指令集,仅使用Machine Mode(机器模式);而高性能应用操作系统场景则可以选择譬如RV32IMFDC的指令集,使用Machine Mode(机器模式)与User Mode(用户模式)两种模式。

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

3. RISC-V的现状

RISC-V这几年一直都是比较火的话题,因为同为开源项目,很多人都把他上升到了芯片设计领域的“Linux”地位,在这两年见到的很多芯片设计商业计划书中,RISC-V也是一个频频出现的名词。

依靠开源和免费,RISC-V 非常受大学和科研院所青睐,并有望在教学领域大展拳脚,而这又会给 RISC-V 培养源源不断的后备军。对于商业公司来说,由于 ARM 的授权费昂贵,也有较强的动力去做 RISC-V,避免被绑死在 ARM 上。

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

不过,RISC-V 也存在一个隐忧,那就是缺乏强有力的主导者,进而导致破碎化的问题。当年的MIPS其实也非常学院派,MIPS阵营的商业公司可以自由添加指令,比如龙芯就以MIPS为基础添加了1000多条新指令,进而形成了自己的指令集 LoongISA。这又使开发软件的时候,即便同样属于MIPS,也必须分为龙芯版和普通MIPS版。

由于RISC-V也允许用户自己加新指令,这就有可能使RISC-V破碎化,也许未来华为、高通、谷歌开发出的 RISC-V 处理器虽然都属于 RISC-V,但却不能跑同样一套软件。毕竟完全开放与自成一脉是一对矛盾,如果无法解决这个问题,恐怕RISC-V很难成长到能与X86和ARM争雄的水平。

4. 总结

最后,引用步日欣老师文章的段落作为最后总结。

关于RISC-V在国内的消息,较为引人关注的是2019年7月,阿里“平头哥”推出的“玄铁910”,属于嵌入式CPU,正是基于RISC-V指令集架构,主要应用场景将会集中在5G、AI人工智能、自动驾驶以及网络通信方面。
当然了,对于一款新型芯片的推出,特别是CPU核心芯片,光有芯片是不够的,更要有产业的支持,形成生态。
生态问题,也是RISC-V同其他RISC,以及CSIC在市场竞争中的焦点所在。这个焦点,也是回答RISC-V究竟面临什么样的机会,能够颠覆或者重构芯片设计行业的终极答案。
就如同Linux,就算功能很完善了,迄今为止也没有颠覆Windows的一统PC的局面。RISC-V也是一样的。
开源,硬件领域的开源,是RISC-V的一个大胆尝试,也是优势所在,借助开源的力量,将从CPU设计、软件开发和支持、外围接口电路,片上系统设计等各个方面促进RISC-V在产业界的推广使用。除了前面提到的“平头哥”,西部数据、英伟达、华米等也都在将RISC-V用在自己的芯片中。
生态正在逐步形成,但任重道远。毕竟面对的竞争对手不但包括独霸天下的X86(CSIC),还有其他RISC强悍厂商(ARM),他们就如同操作系统领域中的微软,已经凭借Windows,建立了稳固的城池。如果没有划时代的产业变革,很难攻城拔寨,只能慢慢渗透。
所以,目前的RISC-V风生水起的,还主要在一些非主流的CPU应用中,比如平头哥的“玄铁910”,属于嵌入式CPU;比如一些低成本、超低功耗应用设计等等。
正如芯原微在招股说明书中说的那样,RISC-V、MIPS和PowerPC相继开放其指令集架构,由于三种指令集各有自己的特色和典型应用领域,三者既有一定的竞争,也可相互依存。这种前所未有的指令集开源模式,给芯片设计者带来了广泛的自由和选择的机会,除了降低芯片的设计门槛,并从一定程度上降低芯片的设计成本之外,会给半导体工业带来前所未有的发展活力,促进半导体设计领域的重大创新和发展。
大而全有其存在的理由,小而精也有其生存空间,这就是RISC-V的未来。

了解RISC-V指令集架构相关推荐

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

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

  2. 计算机组成原理 — CPU — 指令集架构类型

    目录 文章目录 目录 主流 CPU 指令集架构 CISC(复杂指令集计算机) x86 系列处理器 RISC(精简指令集计算机) ARM 系列处理器 PowerPC 系列处理器 MIPS 架构 RISC ...

  3. 计算机架构宗师Patterson与Hennessy 演讲实录,ISA指令集架构回顾——未来指令集架构方向,RISC-V与DSA

    相信所有和计算机体系结构打过交道的朋友们都看过David Patterson与John Hennessy的煌煌巨作,<计算机体系架构:量化研究方法>.两位在计算机架构领域鼎鼎大名的教授,一 ...

  4. 从零开始实现一个基于RISC-V的流水线处理器 (1) :RISC-V指令集架构详解

    目录 基于RISC-V的流水线处理器 RISC-V指令集 RV32I R-Type I-Type J-Type B-Type Load & Store 总结 后记 基于RISC-V的流水线处理 ...

  5. 一种全新的指令集架构RISC-V

    目录 RISC-V指令集架构介绍 通用寄存器模型 RISC-V特权级 RISC-V指令集描述 RISC-V总结 RISC-V指令集架构介绍 RISC-V(英文发音为"risk-five&qu ...

  6. RISC-V指令集架构介绍及国内外厂商介绍

    文章目录 RISC-V架构介绍 ·RISC-V简介 ·CPU主流架构:x86.ARM.RISC-V ·RICS-V的设计理念及优势 ·RISC-V的历史沿革与市场应用 国内外厂商介绍 ·SiFive ...

  7. 自己动手写处理器之第一阶段(3)——MIPS32指令集架构简单介绍

    将陆续上传本人写的新书<自己动手写处理器>(尚未出版).今天是第四篇.我尽量每周四篇 1.4 MIPS32指令集架构简单介绍 本书设计的处理器遵循MIPS32 Release 1架构,所以 ...

  8. 芯片设计“花招”已耍完?无指令集架构颠覆旧套路

    日前,英伟达在GTC大会上发布了最新一代GPU H100,采用台积电4nm工艺,集成了800亿个晶体管.3月初,苹果发布了M1 Ultra芯片,更是集成了高达1140亿个晶体管.显然,头部厂商都在推进 ...

  9. 指令集架构、微架构、处理器架构、CPU架构、内核

    前两天看书碰到了"CPU架构"这个词,脑子里感觉有点模糊不懂.查阅相关资料后又陆续碰到了"指令集架构"."微架构"."处理器架构& ...

  10. 科普 | 处理器RISC和CISC架构分析对比

    点击上方"朱小厮的博客",选择"设为星标" 后台回复"书",获取 后台回复"k8s",可领取k8s资料 CISC(复杂指 ...

最新文章

  1. php获取表字段,使用 php 获取表的字段信息
  2. linux主机操作性日志恢复测试,Linux主机操作系统加固规范标准[详].doc
  3. Altium designer中元器件库(SCHLIB)元件引脚上文字(标号)大小及距离边缘位置设置
  4. WCF4.0 –- RESTful WCF Services (1) (入门)
  5. winform弹出唯一窗体的方法
  6. 解决:-bash: unzip: command not found (Linux 中 unZip/Zip 的安装及使用)
  7. HDU-时间挑战 树状数组
  8. C#修改内存制作外挂
  9. 自建企业邮箱如何选择服务器
  10. diy 扫地机器人 滚刷_无滚刷PK有滚刷:关于保洁机器人两种常见清扫结构的分析...
  11. 字节顺序:大端模式 和 小端模式
  12. java默认收集器_jvm默认垃圾收集器
  13. firefox firbug 的“阻挡”
  14. 【英语语法入门】 第12讲 代词:指示代词和不定代词
  15. Oracle 正则表达式以及常用正则函数
  16. 用javascript求两数之和
  17. 中文最全停用词表(可以直接复制)
  18. 麒麟Kylin-V10-arm64-操作系统永久修改分辨率——趟坑
  19. 职场高调做事低调做人
  20. 快到春节了,我们来用python写一个自动对联生成器,过年在大家面前秀一手

热门文章

  1. 笔记:计算机组成原理
  2. 机械--UG NX2007改变零件的默认颜色
  3. 星巴克二股东为何投资其死敌瑞幸?
  4. 正则表达式深入浅出.pdf
  5. github不稳定时处理办法
  6. C#学习(4)——使用shell调用外部exe应用
  7. Process进程 ProcessStartInfo.UseShellExecute 属性
  8. 谷歌chrome xp_Google多久更新一次Chrome?
  9. 第十代酷睿 I7 IPSEC加密转发性能测试报告
  10. 如何利用计算机计算复杂的定积分,试利用Integration by Parts 计算以下的定积分,然後利用计算机验算答案.PPT...