03.03 开源硬件再吹新风潮,RISC-V 打破 CPU 巨头垄断

绘图芯片大厂 Nvidia 每年在 GPU 里使用 3 亿颗 SoC 芯片,3 年前突然决定改采用开源自制芯片,不到半年,另一家储存大厂 WD 也喊出,年超过 10 亿个 SSD 控制器核心要以同样开源架构取代,还一连推出 3 款非 Arm 设计的 CPU 产品,甚至在全亚洲已有超过 2 千万只智能手环、手表使用的 SoC 芯片,同样来自开源,就连去年出货 7 百万部 5G 手机的三星,未来都要改用开源架构设计专用 5G 芯片。

开源硬件再吹新风潮,RISC-V 打破 CPU 巨头垄断

一个开源芯片设计新架构,正在硬件产业掀起新革命。

开源硬件早就有,但能影响全世界的非常少

开源硬件(Open Source Hardware)不是新观念,早在1997年,当时定义「开源」一词的开源界元老 Bruce Perens 也同时提出了硬件也能开源的想法。然而,多年下来,硬件产业对于开源硬件产品的接受程度,远不如软件产业。

2005 年,Sun 就将自家处理器的电路设计源码公开,成立了 OpenSPARC 项目,但后来也无疾而终。2010 年时,因为 3D 打印、创客运动,才在全球掀起一股开源硬件的风潮。微控制器开发板 Arduino 就是当时最知名的代表之一,电路图直接采用 CC 授权推出,并以 LGPL 和 GPL 授权推出软硬件产品授权,任何厂商都可用来定制自己的版本。后来爆红的树莓派 Raspberry Pi,也是类似 Arduino 的开发板产品,但是树莓派只是开放硬件,将其开发板的电路图公开,但仍采用商用授权的 Arm 架构芯片为控制核心。

其他知名的开源硬件如开源显卡项目 Open Graphics Project、开源 3D 打印 RepRap 等,甚至在许多种硬件领域,都有开源项目出现,如开源电话 Openmoko、开源网络 NetFPGA、开源电子音乐 MIDIbox、开源相机 AXIOM、开源无人机 ArduCopter 等。

尽管开源硬件项目不少,但没有一个,可以成为足以和主流技术媲美的新选择。直到近来,开源精简指令集架构技术 RISC-V 的出现。这是一个新兴的开源硬件技术,试图从 CPU 层级的硬件开源来提供各种定制化芯片的需求。

从软硬件架构来看,软件是应用程序,需要有硬件才能运作,由于两者使用语言的不同,软件程序没办法与硬件的 CPU 直接沟通,需要先转换为对方能理解的硬件语言,CPU 才能依据收到的程序指令来执行,这个用来与处理器沟通的主要介面,也就是指令集架构(Instruction Set Architecture,ISA),才能让软件在处理器上执行。

开源硬件再吹新风潮,RISC-V 打破 CPU 巨头垄断

更进一步来说,CPU 的指令集架构,就是建立一套共同规则,来描述系统组成的框架,让软件和硬件共同遵守这些 CPU 设计规则,并以指令形式来去描述它,每个指令的格式和用途都不同,对应到的硬件执行方式也有所差异,比如乘加法运算或存取内存资料等。这些指令的执行方法、运作方式,就形成一个指令集架构,ISA 还定义了系统的组成,包括暂存器、内存地址等,最后通过各种微架构技术的应用,具体实作在 CPU 设计上。当 CPU 执行应用软件时,程序会先通过编译器将每个程序编成该指令集架构可执行的机器语言,再送到处理器硬件上来执行,每个指令都会让 CPU 执行特定的动作,包括搬移资料、执行运算或是改变控制流程等。

指令集架构之所以重要,因为它不只决定了硬件的实作方式,也决定了其搭配软件的工具链,包含编译器、除错器、SoC 开发套件系统等,一旦要改用其他家 CPU 指令集做设计,所有软硬件设计方式全都要改。这也是为何 x86 架构始终独占 PC,而 Arm 则独大移动与嵌入式设备的原因。

三大主流 CPU 设计架构

封闭 ISA

1、X86 架构(基于CISC,主要采用者:英特尔、AMD)

2、ARM 架构(基于RISC,主要采用者:联发科、高通)

优点:有现成 CPU 产品;软硬生态系统成熟。

开放 ISA

3、RISC-V 架构(基于RISC + 行业,主要采用者:Nvidia、WD、SiFive)

缺点:分歧不利于整合;生态系不成熟。

RISC-V要自己变成处理器界Linux

目前主流 CPU 的指令集架构,主要分为两派阵营,一个是复杂指令集(CISC),以 Intel 独大的 x86 架构为主,特别强调处理器运算性能,最常使用在 PC 或高性能服务器的运算设备上;精简指令集(RISC)则是另一派,由 Arm 独占鳌头,以提供高度省电的 CPU 设计为主,在移动和嵌入式设备上有广泛应用。

继 x86、Arm 以后,RISC-V 近来也备受瞩目,成为了硬件行业所关注的一门 CPU 指令集架构新技术,甚至逐渐壮大成为第 3 大主流 CPU 新势力的趋势。

但与传统封闭 ISA 架构不同,RISC-V 是一个采用开源的精简指令集架构。这个指令集架构最早是来自学术圈发起的一个开源芯片项目,由美国加州大学伯克利分校一个 Par Lab 实验室团队,在 2010 年夏天开发完成,从设计到完成开发仅花了三个月,背后更有英特尔、微软大力资助。而 RISC-V 项目的研究成果,包含 RISC-V 处理器实作和新的开源硬件描述语言 Chisel,后来也以 BSD 授权方式开源推出,代表也能商业使用。不过,RISC-V 的 ISA 规范本身,则以创用 CC 授权推出。

RISC-V 技术的开源之所以很重要,在于它替硬件产业建立一个共通的 ISA 开放标准。就连 RISC 精简指令集技术共同发明人 David Patterson 都认为,「RISC-V将能成为处理器界Linux。」他也是 RISC-V 项目成员之一。

在 RISC-V 问世之前,CPU 的指令集架构都由 x86 和 Arm 两大阵营主导,均未对外开放,硬件制造商如果想要用这些架构来开发自己的 CPU,只能跟指令集拥有者取得授权。除了得支付庞大授权金,在设计 CPU 时,就只能根据对方提供的功能规格来设计,很难定制化,想要开发新应用或增加新功能,如果授权方没提供,这时,就只能等待。RISC-V 基金会 CEO Calista Redmond 也强调:「就像开源软件解放整个产业一样,RISC-V 致力于打破处理器设计的独占。」

2014 年时,RISC-V 技术正式进到商用市场后,便迅速在硬件行业窜红,不只吸引为数不少的硬件新创公司采用,更有许多科技和芯片大厂也纷纷使用,包括 Google、Nvidia、三星、高通等相继投入,甚至有硬件厂更要把它放进自家主力产品。例如,储存厂商 Western Digital 决定每年采用 10 亿颗 RISC-V 核心来打造 SSD 储存产品,Nvidia 在开发新一代 GPU 时,也靠它设计新的 CPU 运算架构。就连三星今年将推出的 5G 新手机都要用。尽管,大多仅是辅助,而非当作最主要的 CPU,但也意味着,开源开始走进了封闭的硬件产业。

从技术上来看,RISC-V 最大特色就是扩充性。不像 Arm 架构指令集,除了一般常用指令之外,RISC-V 指令集本身预留了一个自定义指令空间(custom instructions)的扩充弹性,让设计者可以自定义指令,以 32 位 RISC-V 指令集为例,RISC-V 本身提供相当于 4 个 25 位长度的指令扩充空间,可供用户替 CPU 增加专用指令,单是一个 25 位的空间,就可以定义 300 个指令,4 个合计就多达 1,200 个指令。这也意味着,大大增加 CPU 使用上的运用弹性。这正是 RISC-V 处理器的优势。

其次,RISC-V 本身设计也相当简洁,只需要较少指令就能在硬件上执行。这样的好处是,CPU 设计更容易,也较不占空间,执行速度也可以更快。RISC-V 还提供了一些自选指令的扩充,采用者可视应用需求,自行搭配组合常用的 RISC-V 指令,目前常见扩充指令,像是有整数乘除法、不可中断指令(Atomic)、单精度/双精度浮点运算、压缩指令等等。单是标准指令加上扩充指令(M、A、F、D、C),仅不到 140 个指令就能实作出一颗完整功能的 CPU,相较之下,Arm 指令集数目最少数百个以上。例如,ARMv8 就超过 500 个指令,指令格式种类也比 RISC-V 多一倍。

有了这些指令运用的弹性,硬件厂商现在设计 CPU 时,可以选择加入更多条指令, 来满足更高性能 CPU 设计的需求,或是仅使用较少指令,来处理简单的运算任务,以降低开发成本,端看应用需求。也就是说,也有可能设计出一个 CPU,需要执行代码比之前体积更小、更轻量,从而减少内存需求,也能成为降低能耗的关键。对于采用者来说,也较不容易受到特定厂商绑定的影响,使用上也更具弹性,小从 IoT 芯片,大到 AI 加速器都能用。这也是为何连三星、Nvidia、WD 这些硬件大厂都要采用的原因。

RISC-V 兴起的两大关键,一来是各种新兴应用的出现,对于处理器使用差异极大,因此,需要有一个更有弹性而且开源的设计架构,才能满足特定一类领域应用的需求。二来是通用处理器性能遭遇成长瓶颈,所以,业界希望彻底翻新指令集改用新架构,来提高执行效率,从而改善性能,让同一代 CPU 能用更久,这也使得 RISC-V 趁势而起。

只不过,RISC-V 不是第一个开源的精简指令集。在这之前,已有其他发展多年的开源 ISA 问世,如 OpenRISC、SPARC、MIPS 等。但不同的是,RISC-V 背后还有一个强大开放的协作社群当后盾,来带动 RISC-V 生态系的持续成长。

开源硬件再吹新风潮,RISC-V 打破 CPU 巨头垄断

第一届 RISC-V 年度高峰会,现场照片

独立运作的RISC-V基金会,成为扩大生态系发展的关键

RISC-V 社群成长迅速,在第一年举办 RISC-V 年度高峰会时,当时参加人数刚过百人,2 年内就发展成为 2000 人规模的大型技术会议,并且着眼于全球各地使用者的增加,开始在美国以外地区举办多场技术讲座、研讨活动,推广RISC-V。

RISC-V 社群规模能够发展如此快速,背后还有一个重要原因,就是成立了独立运作的 RISC-V 基金会组织,来负责统筹管理和推动整个 RISC-V 社群能够稳定与健全发展,成为扩大生态系发展的关键。

2015 年时,RISC-V 基金会刚成立,就吸引不少企业组织、学术机构及个人会员加入,从刚开始成员仅不到百名,之后更迅速发展成为全球规模的经济生态圈,从去年的 235 名会员,到了 2020 年翻倍成长达到 491 名会员的规模,成员更有来自全球 27 个国家、横跨 6 大洲。而且许多企业会员,都是一线科技、硬件大厂,包括 Google、IBM、微软、三星、高通、联发科、Nvidia、WD 等,也替社群带来重要贡献,成为加速整个 RISC-V 生态圈发展的重要推动力。

例如,原本就有自己设计定制化 TPU 加速芯片的 Google,除了贡献了自行开发的一个 RISC-V 芯片设计验证平台。去年,还在以它为首成立的 CHIP 开源硬件联盟,指定 RISC-V 做为该联盟主要芯片设计的指令集架构,让硬件厂商可以使用它开发新的芯片设计以支持运算的需求。之后,还有另一个 Google 开源 RoT(信任根)安全芯片项目 OpenTitan,同样也采用它来设计其安全硅芯片,未来可以放进服务器主板、网卡、物联网等设备的重要系统元件,来验证其启动是使用经过授权和验证的代码。就连开源安全芯片,现在也都有 RISC-V 的身影。另外,WD 则贡献了自己的储存硬盘控制器核心,包含了 RTL 代码,还进一步开源推出,要让人人都能用。

有了更加活跃社群,RISC-V 生态系也迅速发展和成熟,例如在操作系统方面,目前 RISC-V 已能支持 Fedora、Ubuntu、Suse 等各种 Linux 操作系统版本,而且就算是 RTOS 即时操作系统也都能用,如亚马逊 FreeRTOS、Zephyr 等;另外,在开发工具部分,也有主流的开源编译器加入 RISC-V 支持行列,如 LLVM 、GCC,并也能使用其他语言的编译器,如 Go 等,除错工具现在也支持 GDB、OpenOCD 等工具。在模拟器方面,也提供了多家工具的支持,包括 QEMU 、Swerv-ISS 、Imperas、FireSim、gem5 等。

不仅如此,RISC-V 基金会还找来全球最大开源社群 Linux 基金会跨刀合作,并由该基金会亲自传授社群经营、技术和市场战略,就是为了能让 RISC-V 跟 Linux 生态系一样壮大。

RISC-V的兴起,也加速开源硬件普及与创新

这样一个芯片层级的开源硬件技术,不只是影响硬件产业,也加速了开源硬件的普及与创新。 根据该基金会官网提供的最新数据,目前至少已有超过 80 多个 CPU 核心或 SoC 平台都采用 RISC-V 方式实作,也能对比到 Arm 各产品系列。除了可供商业使用外,其中不少是以开源推出,比如 WD 的 SweRV EH1、LowRISC的Ibex、ETH Zurich的Zero-riscy 核心的实作成果,目前都已放到 GitHub 平台。

再以 Raspberry Pi 为例,过去,虽然其采用开放硬件架构,但处理器核心仍使用了较为封闭 Arm 架构,现在出现 RISC-V 技术以后,未来也可选用更开放的指令集架构,来设计成 Raspberry Pi 的 CPU。就连开发与维护的树苺派基金会也在去年决定加入,成为 RISC-V 社群的贡献者。

在市面上,目前已有推出不少采用 RISC-V 处理器设计的硬件开发板和套件,如 HiFive1、Perf-V、Sipeed Maixduino Kit 等,开发者也都能拿来做开发。

在应用方面,RISC-V 的使用也更加多元, 涵盖多种装置或设备,从 IoT、AI、边缘运算装置、储存装置,到数据中心相关网络设备都有。

三星也开始将 RISC-V 技术带进智能手机,用于开发手机 AI 影像感测器,可以提供即时面部侦测、识别和更快自动对焦。 另一家硬件厂 GreenWaves 同样推出采用其设计的小型 AIoT 应用处理器,也能用于人脸识别、影像分析等。因为是采用自定义指令,特别加速对于神经网络推论的执行,能提供多达 50 GOPS 的运算力,而且更省电,功耗不到 50 毫瓦。另外,Nvidia 也曾公开展示一个更大型 AI 深度学习加速器,里面也整合了 RISC-V 处理器,用来做为加速器 I/O 元件核心。

开源RISC-V催生出新商业模式,连传统Arm都备感威胁

虽然,RISC-V 拥有高度弹性,任何人都可以基于 RISC-V 制作属于自己的 CPU,不过也不是说任何一家硬件公司都能自己做,实作上仍有相当程度的技术门槛,需要具备多领域专业知识,才能开发出符合其需求的处理器产品。

应对这类定制化芯片的设计需求,也催生出新的商业模式。SiFive 是其中代表,这家公司是由伯克利大学 RISC-V 项目发起人在 2015 年所创立,背后更有三星、英特尔、高通大力投资,其商业模式,也跟 Arm 类似,以提供处理器核心 IP 产品设计为主,但不同的是,它采用了开源 RISC-V 指令集架构,就像 Linux 的红帽,替硬件厂提供各种商用 RISC-V 芯片设计服务,其他芯片设计业者,如 Codasip、Bluespec 和 Cortus 等也有提供类似服务。

在移动 CPU 市场领先的 Arm 看到 RISC-V 正奋起直追,Arm 决定改变策略,不再坚持采以前较封闭的作法,也开始松绑指令集使用限制,让企业可以用它来加快创新。连 Arm 这样封闭的一家大型芯片 IP 公司,也开始受到开源的影响。

尽管,在大型企业应用市场上,仍以 x86 架构为主,但 RISC-V 社群也持续加强在企业端应用的支持,像是也提供了 hypervisor 扩充指令的支持能力,可以在 RISC-V 的 CPU 上执行虚拟化功能,目前 KVM 已可支持。最近,企业级开源软件巨头红帽也决定加入,成为 RISC-V 基金会的银级会员,未来也将协助 RISC-V 社群推动在企业 Linux、混合云、容器和 Kubernetes 技术的相关发展。英特尔目前也投入 RISC-V 相关。

Semico 产业研究机构的预测,到了 2025 年,全球市场采用 RISC-V 的 CPU 总核心数将达到 624 亿颗,其中工业会是主要应用市场,其次是交通运输、通讯、消费及个人电脑等领域。

过去,开源硬件难以跨入硬件产业,现在,因为 RISC-V 的出现,使得以前封闭的硬件世界变得不一样,转而也开始拥抱开源, 即使现今 RISC-V 的发展仍处于早期阶段,也尚未建立成熟的生态系,但当越来越多的芯片公司和硬件制造商加入,使得 RISC-V 技术渐趋成熟,生态系不断壮大, 总有一天,开源硬件吃掉全世界的愿景也能成真。


分享到:


相關文章: