RISC-V开放架构设计之道
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

推荐序三

经过几十年的发展,先后出现过50多种不同的指令集架构,但真正被广泛使用的不多,知名的有Intel x86、MIPS、ARM、Sun公司的SPARC、IBM公司的Power等,其中,Intel x86系列处理器在PC和服务器市场占主导地位,而ARM架构在移动手持设备与嵌入式领域占绝对优势。近年来,RISC-V作为新兴开放指令集架构得到了越来越多的关注,正如RISC-V国际基金会CEO Calista Redmond女士在2023 RISC-V中国峰会主旨报告中提到的那样:“作为世界上最丰富和开放的指令集架构,如今RISC-V的发展已势不可挡,市场上已经有超过100亿颗RISC-V芯片。在RISC-V生态中,无论是企业还是工程师,每一个参与者都至关重要,RISC-V也将为他们带来更多的机遇,而参与者也在发展的同时创造更多的RISC-V应用,加速丰富RISC-V生态”。

RISC-V架构以开放共赢为基本原则,不属于任何一家商业公司,而是由一个统一的非营利组织作为主导者和核心规则制定者,任何公司和个人都可免费使用该架构,无须向任何商业公司支付高昂的授权费。RISC-V遵循“大道至简”的设计哲学,通过模块化和可扩展的方式,既保持基础指令集的稳定,又保证扩展指令集的灵活配置,在简洁性、实现成本、功耗、性能和程序代码量等方面都有较显著的优势。从最简单的小面积、低功耗的嵌入式微控制器,到功能强大的服务器,都可以基于RISC-V指令集架构进行开发,相比于ARM和x86等主流商业架构,在RISC-V通用架构基础上实现专用领域加速器也是优点之一。RISC-V指令集架构所具有的免费、开放、简单、模块化、易扩展等特性,加上目前推出的多款优秀的开源芯片及芯片敏捷开发方式,使得基于RISC-V架构的芯片开发门槛大大降低,吸引了越来越多的个人和企业加入RISC-V生态系统的开发队伍,业界也非常需要有一些具备RISC-V基础的从业者。

在计算机专业课程教学方面,涉及计算机组成与处理器设计的教材和课程都需要基于特定的指令集架构进行讲解。从原理上说,虽然采用任何一种RISC风格指令集架构作为模型机差别不大,但是RISC-V基本指令集的小型浓缩化、功能指令集的模块化、代码长度的可缩性、访存指令的简洁与灵活性、过程调用的简洁性、特权模式的可组合性、异常/中断处理的简洁和灵活性,以及无分支延迟槽等很多特性,都使得采用RISC-V架构进行相关教学更能阐述清楚上层软件与指令集架构之间、指令集架构与底层微架构之间的密切关系。

在过去的十几年,我们一直跟踪国外一流大学计算机组成与系统结构相关课程的教学,从这些大学相关课程网站了解到,UC Berkeley、MIT和CMU等从2017年开始就陆续改用RISC-V架构作为模型机进行教学或开展CPU设计实验,这也从另一个方面说明了RISC-V指令集架构作为教学模型机的优越性。

2018年,我们计划编写一本基于RISC-V架构的《计算机组成与设计》教材,在教材编写过程中,余子濠博士向我推荐了这本由计算机系统结构权威专家及RISC-V指令集架构设计者编写的书籍,并把中国科学院计算技术研究所包云岗团队翻译的第1版中文译本电子版发给了我。通过对该书的阅读学习,我对RISC-V架构有了更深入的理解,同时也对指令集架构在整个计算机系统中的重要性有了更深刻的认识。书中对不同指令集架构在成本、简洁性、性能、架构与实现的分离、预留编码空间、代码量、是否易于编程/编译/链接等方面的对比分析,包括一些有代表性的具体程序示例对比,都深刻地阐释了RISC-V指令系统架构设计的先进性。

对于计算机专业和电子工程专业的师生及计算机系统架构师和处理器设计者来说,本书具有极好的参考价值,书中对RISC-V各指令模块、汇编语言程序及使用的汇编指示符和伪指令、过程调用约定、链接与加载、浮点运算指令、原子指令、压缩形式指令、向量指令、特权模式与特权指令等内容进行了简明扼要的说明,通过阅读本书可以快速了解RISC-V指令集架构最基础的内容和最核心、最有价值的设计理念与设计思想。因此,本书可以作为相关课程教学的高阶课外读物,也可以从中选择一些内容作为课堂讨论的案例或话题。

南京大学计算机科学与技术系教授