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

电子说

1.3w人已加入

描述

最近和几个行业内的朋友聊天,聊到了近两年比较火的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对我们搞底层硬件的来说可能还有一点距离,但是电子行业的发展永远都是迅速的,说不准我们今天用的STM32、GD32、i.MX会不会在未来几年被某些RISC-V主控所替代,想当年飞思卡尔当红主控coldfire系列在ARM内核的主控来临以后便迅速落寞淘汰。

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

RISC-V

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

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分