IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 嵌入式 -> 了解RISC-V指令集架构 -> 正文阅读

[嵌入式]了解RISC-V指令集架构

参考资料:
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的未来。

  嵌入式 最新文章
基于高精度单片机开发红外测温仪方案
89C51单片机与DAC0832
基于51单片机宠物自动投料喂食器控制系统仿
《痞子衡嵌入式半月刊》 第 68 期
多思计组实验实验七 简单模型机实验
CSC7720
启明智显分享| ESP32学习笔记参考--PWM(脉冲
STM32初探
STM32 总结
【STM32】CubeMX例程四---定时器中断(附工
上一篇文章      下一篇文章      查看所有文章
加:2021-07-26 12:14:17  更:2021-07-26 12:15:18 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 -2024/12/27 10:30:38-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码
数据统计