1、1RISC-V芯片产业发展报告浙江图灵算力研究院二浙江图灵算力研究院二二四年二四年2目录目录一.计算机指令集基本情况.3二.计算机指令集简介.5(一)(一)CISC 和和 RISC 指令集特点指令集特点.5(二)主流指令集架构(二)主流指令集架构(ISA)介绍)介绍.12三.RISC-V架构发展简介.22(一)(一)RISC-V 的提出及早期发展历程的提出及早期发展历程.22(二)(二)RISC-V 主要特点主要特点.28(三)基于(三)基于 RISC-V 架构芯片的发展情况现状架构芯片的发展情况现状.50四.RISC-V产业生态发展情况.54(一)(一)RISC-V 基金会情况基金会情况.5
2、4(二)全球主要企业和产品(二)全球主要企业和产品.59五.国内 RISC-V 产业生态发展情况.75(一)国内处理器市场发展情况(一)国内处理器市场发展情况.75(二)国内(二)国内 RISC-V 指令集发展概况指令集发展概况.78(三)主要企业和产品(三)主要企业和产品.83六.RISC-V面临的机遇与挑战.101(一)(一)RISC-V 发展存在的机遇发展存在的机遇.101(二)(二)RISC-V 发展存在的挑战发展存在的挑战.102七.RISC-V发展趋势及建议.104(一)技术发展趋势(一)技术发展趋势.104(二)生态环境发展趋势(二)生态环境发展趋势.106(三)未来展望(三)未
3、来展望.108(四)发展建议(四)发展建议.1103一.计算机指令集基本情况计算机的程序是由一系列的指令组成的,指令就是要计算机执行某种操作的命令。从计算机组成的层次结构来说,计算机的指令有微指令、机器指令和宏指令之分。指令系统是指机器所具有的全部指令的集合,它反映了计算机所拥有的基本功能。在计算机系统的设计和使用过程中,硬件设计人员采用各种手段实现指令系统,而软件设计人员则使用这些指令系统编制各种各样的系统软件和应用软件,用这些软件来填补硬件的指令系统与人们习惯的使用方式之间的语义差距。因此,指令系统是软件设计人员与硬件设计人员之间的一个主要分界面,也是他们之间互相沟通的一座桥梁。在计算机系
4、统的设计过程中,指令系统的设计是非常关键的,它必须由软件设计人员与硬件设计人员来共同完成。设计指令系统就是要选择计算机系统中的一些基本操作(包括操作系统和高级语言中的)应由硬件实现还是由软件实现,选择某些复杂操作是由一条专用的指令实现,还是由一串基本指令实现,然后具体确定指令系统的指令格式、类型、操作以及对操作数的访问方式。指令系统的发展经历了从简单到复杂的演变过程。20 世纪50 至 60 年代,当时的计算机硬件结构比较简单,由于技术的限制,计算机大多数都是采用分立元件的晶体管或电子4管组成,因为计算机的指令系统数量也不大,只有定点加减、逻辑运算、数据传送、转移等十几至几十条指令,寻址方式也
5、比较简单。20 世纪 60 年代中期,集成电路的出现,让计算机的体积、价格、能耗等方面都得到了下降,整体的硬件功能也得到了一定的提升,整个指令系统变得更加丰富,增加了乘除运算、浮点运算、十进制运算、字符串处理等指令,指令数目多达一二百条,寻址方式也趋多样化。当时的计算机速度很慢,特别是存储速度非常慢,广泛使用的慢速磁带存储设备以及大容量内存的缺乏,让计算机对每一字节空间的应用都很珍惜。在这样的情况下,人们倾向于在一条指令中完成更多的工作,比如“从内存和寄存器读取数据相加后,写入内存”。这实际上是四条指令,首先是从内存读取数据,其次是从寄存器读取数据,第三是相加,最后才是写入内存。一条指令可以完
6、成四项工作,这是当时计算机的主流设计方案。20 世纪 70 年代,计算机的普及说明了整个计算机性能有了一个更大的提升,但是其中出现的软件危机却为指令系统带来了新的转机。IBM 以及其他企业的从业人员发现,目前的 PC 发展方向存在一定的问题。如果按照现在指令集发展的方向继续发展的话,那么现有的指令集系统会越来越复杂。而同时期编译器的流行,让这种情况发生了变化:5一方面指令集越来越复杂,一方面编译器却很少使用这么多复杂的指令集。而且如此多的复杂指令,CPU 难以对每一个指令都做出优化,甚至部分复杂指令本身耗费的时间反而更多。对这件事情的总结,就是后来著名的“8020”定律,也就是在所有的指令集中