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

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

3天内不再提示

浅谈RISC-V指令集架构的来龙去脉

汽车玩家 来源:HACK实验室 作者:HACK实验室 2020-01-24 17:42 次阅读

最近和几个行业内的朋友聊天,聊到了近两年比较火的AI人工智能,并向我推荐了一款目前在小范围内比较火的国产处理器,我查了一下该处理器是采用的开源RISC-V指令集架构。曾有人将RISC-V比作“半导体行业的Linux”,今天就和大家聊聊RISC-V架构的来龙去脉。

RISC-V的由来

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

关于CPU的指令集架构,我们最熟悉的应该就是X86和ARM了,需要注意的是它们都不免费。Intel的X86指令集架构除了自家以外只授权给了AMD和威盛(VIA),ARM稍微好一点不过价格也是不菲,一直有“天下苦ARM久矣”的玩笑。那除了它们俩之外还有其他指令集架构吗?答案当然是有,我们今天说的RISC-V就是一个,而且还是开源免费的。

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

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(用户模式)两种模式。

RISC-V在中国

说了RISC-V的缘起与优势,大家一定想知道它对我国芯片行业的影响。我国芯片行业一直处于被压制状态,主流的指令集架构X86和ARM都是受美国控制,今年五月份更是发生了美国政府限制ARM公司向华为提供新技术授权的事件。这时候RISC-V就显得更为弥足珍贵了。

目前国家大力支持推广RISC-V,上海成为国内第一个将RISC-V列入政府扶持对象的城市,并发布了《上海市经济信息化委关于开展2018年度第二批上海市软件和集成电路产业发展专项资金项目申报工作的通知》。对RISC-V相关芯片设计企业提供政策资金帮助,鼓励基于RISC-V自主处理器的研发及产业化。

大家应该对小米生态链企业华米科技不会感到陌生,在2017年华米科技成立了人工智能实验室,并启动了他们的人工智能智能可穿戴芯片研究项目,投身 RISC-V 芯片研发,并最终在去年 9 月推出了第一款芯片“黄山一号”。据介绍,这款采用RISC-V架构设计的芯片是是全球首款集成AI神经网络模块的处理器,能本地化处理AI任务,对心率、心电、心律失常等进行实时监测与分析。今年6月“黄山一号”已流片量产,主要用于华米穿戴智能设备AMAZFIT的主控芯片。

阿里旗下平头哥半导体(前杭州中天微)在今年7月25日,正式发布采用RISC-V指令集架构的玄铁910(XuanTie910)。据介绍,玄铁910可以用于设计制造高性能端上芯片,应用于5G、人工智能以及自动驾驶等领域。在性能方面,玄铁910支持16核,主频达到2.5GHz,比目前业界最好的RISC-V处理器性能高40%以上。

RISC-V目前的问题

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

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

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

总结

文章写到这里相信大家应该对RISC-V有了一个更清晰的认识。目前来说RISC-V对我们搞底层硬件的来说可能还有一点距离,但是电子行业的发展永远都是迅速的,说不准我们今天用的STM32GD32、i.MX会不会在未来几年被某些RISC-V主控所替代,想当年飞思卡尔当红主控coldfire系列在ARM内核的主控来临以后便迅速落寞淘汰。

这里交代一下我在文章最开头提到的这段时间有点小火的国产主控芯片是Kendryte的勘智K210,边缘AI芯片,感兴趣的朋友可以玩一玩。

浅谈RISC-V指令集架构的来龙去脉

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

    关注

    68

    文章

    10824

    浏览量

    211088
  • AI
    AI
    +关注

    关注

    87

    文章

    30072

    浏览量

    268336
  • RISC-V
    +关注

    关注

    44

    文章

    2227

    浏览量

    46000
收藏 人收藏

    评论

    相关推荐

    正式的RISC-V基础指令集架构与特权架构规范来了,RISC-V基金会已正式批准

    根据RISC-V基金会官网发布的公告,RISC-V 基金会宣布了批准RISC-V 基础指令集架构与特权
    的头像 发表于 07-11 10:46 9829次阅读

    Microchip发布业界首款基于RISC-V指令集架构的SoC FPGA开发工具包

    免费和开源的 RISC-V 指令集架构(ISA)的应用日益普遍,推动了经济、标准化开发平台的需求,该平台嵌入 RISC-V 技术并利用多样化 RIS
    发表于 09-17 12:56 1454次阅读

    RISC-V开放架构设计之道|阅读体验】RISC-V基础整数指令集RV32I

    。 图1:RV32I指令集 在讲RISC-V各个阶段,横向比较ARM架构,体现出RISC-V的优越性。 ●RV32I寄存器 RISC-V
    发表于 01-28 11:41

    RISC-V开放架构设计之道|阅读体验】RISC-V基础整数指令集

    第2章 RV32I:RISC-V基础整数指令集 本章重点讲解构成RISC-V基础整数指令集的基本指令
    发表于 01-31 21:10

    RISC-V开放架构设计之道|阅读体验】汇编语言和扩展指令集

    RISC-V开放架构设计之道|阅读体验】汇编语言和扩展指令集 汇编语言 将C语言翻译成可执行的机器语言的重要步骤包括编译过程,汇编过程,链接过程。 函数调用约定过程分为六个阶段: 1)将参数存放
    发表于 02-03 13:29

    RISC-V指令集的特点总结

    开源 定义:RISC-V 是完全开源的指令集架构(ISA),意味着任何人都可以查看、使用、修改以及分发其设计,而无需支付版权费用。 优势:这种开源特性促进了全球性的创新和合作。 社区化 定义
    发表于 08-30 22:05

    RISC-V和arm指令集的对比分析

    RISC-V和ARM指令集是两种不同的计算机指令集架构,它们在多个方面存在显著的差异。以下是对这两种指令集的详细对比分析: 一、设计理念
    发表于 09-28 11:05

    RISC-V指令集位宽的几点学习心得

    ,实际上,RISC-V指令集的位宽具有更大的灵活性。 RISC-V指令集的位宽多样性 RISC-V是一种基于精简
    发表于 10-31 22:05

    RISC-V架构简介

    【摘要】 本文首先对RISC-V架构做了简要的介绍,在此基础上实现了LiteOS在RISC-V架构上的适配过程的具体步骤,希望对你有所帮助。1 R
    发表于 07-28 07:46

    RISC-V指令集架构微控制器相关知识

    本系列痞子衡给大家介绍的是RISC-V指令集架构微控制器相关知识。  RISC-V指令集最早要追溯到2010年,是加州大学伯克利分校的一个研
    发表于 12-16 06:24

    RISC-V指令集的起源与发展历史

    压力。RISC-V 开源指令集的出现,引起了产业界的广泛关注,科技巨头很看重指令集架构(CPU ISA)的开放性,各大公司正在积极寻找ARM之外的第二选择,
    发表于 05-02 09:07 7764次阅读
    <b class='flag-5'>RISC-V</b><b class='flag-5'>指令集</b>的起源与发展历史

    risc-v中国峰会直播:如何优化RISC-V指令集架构的代码密度?

    第一届中国峰会在上海举办,以下是小编整理的部分risc-v峰会的内容。主要介绍了影响代码密度的因素以及如何优化RISC-V指令集架构的代码密度?感兴趣的小伙伴可以详细了解一下。
    的头像 发表于 06-23 12:12 3079次阅读
    <b class='flag-5'>risc-v</b>中国峰会直播:如何优化<b class='flag-5'>RISC-V</b><b class='flag-5'>指令集</b><b class='flag-5'>架构</b>的代码密度?

    简单讲讲RISC-V指令集CPU的参数

    本次CPU采用32位RISC-V指令集架构(一代是自己瞎编指令集)。指令集就是程序指令的集合,指
    的头像 发表于 08-07 14:55 3582次阅读
    简单讲讲<b class='flag-5'>RISC-V</b><b class='flag-5'>指令集</b>CPU的参数

    基于精简指令集RISC-V内核的单片机

    RISC-V就不必多说了,详细大家都了解。它是一个基于精简指令集的开源指令集架构。与主流的主流的架构为x86与ARM
    的头像 发表于 10-17 16:49 2211次阅读

    一个基于精简指令集原则的开源指令集架构RISC-V

    我们可以基于x86/ARM/ RISC-V指令集,进行处理器微架构设计和实现形成源代码,并通过流片最终形成芯片产品。
    发表于 01-30 16:28 2813次阅读