进入 32 位时代,谁能成为下一个8051?

网友投稿 626 2022-05-30

继上文介绍了CPU和ARM体系,本文将介绍重中之重--RISC-V。

上一篇文章链接:https://bbs.huaweicloud.com/blogs/123698

东边日出西边雨,道是无晴却有晴——RISC-V 登场

RISC-V架构主要由美国加州大学伯克利分校(简称伯克利)的Krste Asanovic教授、Andrew Waterman和Yunsup Lee等开发人员于2010年发明,并且得到了计算机体系结构领域的泰斗David Patterson的大力支持。伯克利的开发人员之所以发明一套新的指令集架构,而不是使用成熟的x86或者ARM架构,是因为这些架构经过多年的发展变得极为复杂和冗繁,并且存在着高昂的专利和架构授权问题。并且修改ARM处理器的RTL代码是不被支持的,而x86处理器的源代码根本不可能获得到。其他的开源架构(譬如SPARC、OpenRISC)均有着或多或少的问题(第2章将详细论述)。有感于计算机体系结构和指令集架构已经过数十年的发展非常成熟,但是像伯克利这样的研究机构竟然“无米下锅”(选择不出合适的指令集架构供其使用)。伯克利的教授与研发人员决定发明一种全新的、简单且开放免费的指令集架构,于是RISC-V架构诞生了。

有关RISC-V的诞生,有兴趣的读者可以自行到网络中查阅文章《伯克利希望将RISC-V开源架构推向主流》。RISC-V(英文读作“risk-five”),是一种全新的指令集架构。“V”包含两层意思,一是这是Berkeley从RISC I开始设计的第五代指令集架构;二是它代表了变化(Va r i a t i o n)和向量(Vectors)。

经过几年的开发,伯克利为RISC-V架构开发出了完整的软件工具链以及若干开源的处理器实例,得到越来越多的人的关注。2016年,RISC-V基金会(Foundation)正式成立开始运作。RISC-V基金会是一个非营利性组织,负责维护标准的RISC-V指令集手册与架构文档,并推动RISC-V架构的发展。

RISC-V架构的目标如下。成为一种完全开放的指令集,可以被任何学术机构或商业组织所自由使用。

成为一种真正适合硬件实现且稳定的标准指令集。

RISC-V基金会负责维护标准的RISC-V架构文档和编译器等CPU所需的软件工具链,任何组织和个人可以随时在RISC-V基金会网站上免费下载(无须注册)。RISC-V的推出以及基金会的成立,受到了学术界与工业界的巨大欢迎。著名的科技行业分析公司Linley Group 将RISC-V评为“2016年最佳技术”,如图1-9所示。

图1-9  RISC-V架构标志图

开放而免费的RISC-V架构诞生,不仅对于高校与研究机构是个好消息,为前期资金缺乏的创业公司、成本极其敏感的产品、对现有软件生态依赖不大的领域,都提供了另外一种选择,而且得到了业界主要科技公司的拥戴,包括谷歌、惠普、Oracle和西部数据等硅谷巨头都是RISC-V基金会的创始会员,如图1-10所示。众多的芯片公司已经开始使用(譬如,三星、英伟达等)或者计划使用RISC-V开发其自有的处理器用于其产品。

图1-10 RISC-V基金会创始会员,铂金、金、银级会员图谱

RISC-V基金会组织每年举行两次公开的专题讨论会(Wo r k s h o p),以促进RISC-V阵营的交流与发展,任何组织和个人均可以从RISC-V基金会的网站上下载到每次Workshop上演示的PPT与文档。RISC-V第六次Workshop于2017年5月在中国的上海交通大学举办,如图1-11所示,吸引了大批的中国公司和爱好者参与。

图1-11  上海交通大学举办的RISC-V第六次Workshop

图1-12  经典教材计算机组成与设计最新版本

本节虽然陈述了若干RISC-V蓬勃发展的具体案例,但是由于RISC-V阵营正在快速地向前发展,可能在本书成书时,RISC-V阵营又诞生了更加令人欣喜的案例,请读者自行查阅互联网更新见闻。

RISC-V 和其他开放架构有何不同

如果仅从“免费”或“开放”这两点来评判,RISC-V架构并不是第一个做到免费或开放的处理器架构。

下面将通过论述几个具有代表性的开放架构,来分析RISC-V架构的不同之处以及为什么其他开放架构没能取得足够的成功。

1.4.1  “平民英雄”—OpenRISC

OpenRISC是OpenCores组织提供的基于GPL协议的开放源代码RISC处理器,它具有以下特点。

采用免费开放的32/64位 RISC架构。•用Verilog HDL(硬件描述语言)实现了基于该架构的处理器源代码。

具有完整的工具链。

OpenRISC被应用到很多公司的项目中,可以说,OpenRISC是应用非常广泛的一种开源处理器实现。

OpenRISC的不足之处在于其侧重实现一种开源的CPU Core,而非立足于定义一种开放的指令集架构,因此其架构的发展不够完整。指令集的定义也不具备RISC-V架构的优点,更没有上升到成立专门的基金会组织的高度。OpenRISC更多被认为是一个开源的处理器核,而非一种优美的指令集架构。此外,OpenRISC的许可证为GPL,这意味着所有的指令集改动都必须开源(而RISC-V则无此约束)。

1.4.2  “豪门显贵”—SPARC

SPARC架构作为经典的RISC微处理器架构之一,于1985年由Sun公司所设计。SPARC也是SPARC国际公司的注册商标之一,SPARC公司于1989年成立,目的是向外界推广SPARC架构以及为该架构进行兼容性测试。该公司为了推广SPARC的生态系统,将标准开放,并授权予多家生产商使用,包括德州仪器、Cypress半导体和富士通等。由于SPARC架构也对外完全开放,因此也出现了完全开放源码的LEON处理器(见第1.1.4节的介绍)。不仅如此,Sun公司还于1994年推动SPARC v8架构成为IEEE标准(IEEE Standard 1754-1994)。

由于SPARC架构的初衷是面向服务器领域,其最大的特点是拥有一个大型的寄存器窗口,符合SPARC架构的处理器需要实现从72到640个之多的通用寄存器,每个寄存器宽度为64bit,组成一系列的寄存器组,称为寄存器窗口。这种寄存器窗口的架构,由于可以切换不同的寄存器组快速地响应函数调用与返回,因此能够产生非常高的性能,但是这种架构功耗面积代价太大,而并不适用于PC与嵌入式领域处理器。而SPARC架构也不具备模块化的特点,使用户无法裁剪和选择,很难作为一种通用的处理器架构对商用的x86和ARM架构形成替代。设计这种超大服务器CPU芯片又非普通公司与个人所能完成,而有能力设计这种大型CPU的公司也没有必要投入巨大的成本来挑战x86的统治地位。随着Sun公司的衰弱,SPARC架构现在基本上退出了人们的视野。

1.4.3 “名校优生”——RISC-V

有兴趣的读者可以自行到网络中查阅文章《RISC-V登场,Intel和ARM会怕吗》《直指移动芯片市场,开源的处理器指令集架构发布》和《三星开发RISC-V架构自主CPU内核》。

结语:进入 32 位时代,谁能成为深嵌入式领域的下一个 8051?

进入 32 位时代,谁能成为下一个8051?

本文系统地论述了CPU的基本知识,也简述了ARM的如何强大以及开放RISC-V架构的诞生。一言以蔽之,开放而免费RISC-V架构使得任何公司与个人均可受用,极大地降低了CPU设计的准入门槛。有了RISC-V架构,CPU将不再是“权贵的游戏”,有道是:“旧时王谢堂前燕,飞入寻常百姓家”—每个公司和个人都可以依照RISC-V标准设计自己的处理器。

原本“学霸”ARM Cortex-M将毫无疑问地成为8051的接班人而掌管深嵌入式领域的32位时代。但是不期而至的新生RISC-V却自带光环,让这场游戏出现了一丝变数。

前文中总结了传奇“老炮儿”8051的先进事迹,分析了它的几个成功因素。在此,我们将其归纳为表格,并且将ARM Cortex-M与RISC-V进行横向对比,如表1-5所示。

表1-5 ARM Cortex-M和RISC-V对比8051的成功因素

对于软件的依赖相对比较低。并且,虽然RISC-V资历非常浅,但是其架构在开放至今很短的时间内取得了令人惊异的发展速度,越来越多的公司和项目开始采用RISC-V架构的处理器,相信RISC-V的软件生态也会逐步壮大起来。

从另一方面来说,ARM作为商业架构下的处理器IP,具有如下缺点:不能够进行差异化定制,不具备可扩展性,受私有知识产权保护,指令集架构需要支付商业授权费用等。这些缺点在开放的RISC-V架构中都不存在,可谓是后生可畏。

《RISC-V架构与嵌入式开发快速入门》

胡振波 著

本书是一本介绍RISC-V架构嵌入式开发的入门书籍,以通俗的语言系统介绍了嵌入式开发的基础知识和RISC-V架构的内容,力求帮助读者快速掌握RISC-V架构的嵌入式开发技术。

本文转载自异步社区。

编译构建 CloudBuild

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:如何确保API 的稳定性与正确性?你只需要这一招
下一篇:云服务商Mongodb内核版本升级的初步想法
相关文章