3.8.1 RISC-V体系架构发展历程
RISC-V是基于精简指令集计算原理建立的开放指令集架构,V表示为第五代RISC(精简指令集计算机),表示此前已经出现四代RISC处理器原型芯片。每一代RISC处理器都是在同一人带领下完成,那就是美国加州大学伯克利分校的David A.Patterson教授。它虽然不是第一个开源的指令集(ISA),但它可以免费用于任何制造和销售的RISC-V芯片和软件中。RISC-V第一个被设计成可以根据具体场景,来选择适合指令集的指令集架构。基于RISC-V指令集架构,可以设计服务器CPU、家用电器CPU、工控CPU和小型传感器中的CPU。
RISC-V是一种新兴的开源精简指令集架构,由加州大学伯克利分校在2010年首次发布。RISC-V的出现和迅速发展有其必然的原因,它是建立在现有的体系结构(如X86、ARM、MIPS等)经长期发展所暴露出的种种问题之上,顺应现代信息系统设计需求和体系结构发展趋势而“诞生”的。这些问题包括:
(1)现有体系结构往往缺乏开放性,存在许多知识产权等非技术性问题。例如,Intel公司持有X86架构的专利(自1978年开始),他人使用X86指令集相关技术需要向其支付高昂的授权费用,对X86指令集的模拟也将引发法律上的争议。这种封闭的态势与体系结构发展的开放趋势背道而驰,抬高了系统研发与成果转化的成本,阻碍了技术的推广和进步。而RISC-V具有开源、免费、开放、自由的特点,其基金会总部于2020年3月正式迁往永久中立国瑞士,更是释放了坚持服务全世界的信号,使任何组织和个人都可以不受地缘政治影响、自由平等地使用RISC-V。
(2)现有体系结构经过长期发展,多个版本的迭代积累了许多历史遗留问题。基于各历史版本的技术产品在市场生态中共存,使得新版本的研发必须考虑向后兼容性。例如,AMD64是对32位X86架构的64位扩展,面向64位开发与应用环境;但它同时仍要向后兼容32位甚至16位的X86架构,使早期X86架构下开发的应用同样可以在AMD64系统中正常运行。这种积重难返的状态削弱了现有体系结构的可定制化能力,难以满足现代信息系统对于多样化的工作环境与功能表现的需求。而RISC-V作为一种从零开始设计的新体系结构,在吸收现有各体系结构优点的同时,去除了对历史遗留问题的考量和旧有技术的依赖;RISC-V采用模块化设计,并提供大量自定义编码空间以支持对指令集的扩展,从而允许开发者根据资源、能耗、权限和实时性等不同需求,基于部分特定的模块和扩展指令集进行精细化的系统设计研发,体现了强大的系统可定制化能力。
(3)现有主流架构的文档资源种类繁多、内容冗长,学习与维护的成本较高,使开发者难以在短时间内掌握所需的技术,遇到问题时也不易迅速定位到相关的信息区间。例如,ARMV8-A架构的官方手册仅一卷就多达8 538页;相比之下,RISC-V官方手册仅有两卷共329页,包括238页的指令集手册和91页的特权架构手册,文档精简,学习门槛更低,更有助于研发团队的不断壮大和技术实力的不断进步。因此,对于RISC-V的研究已成为近年来学术界和工业界的一大热点,并涌现了许多突破性成果,如美国西部数据公司研发的基于RISC-V的通用架构SweRV、中国阿里巴巴公司研发的64位高性能嵌入式RISC-V处理器Xuantie-910、中国科学院计算技术研究所在RISC-V中国峰会发布的开源高性能RISC-V处理器核“香山”、上海交通大学开源的基于RISC-V的可信执行环境安全系统“蓬莱”等。