浙江图灵算力研究院-RISC-V芯片产业发展报告 2024_第1页
浙江图灵算力研究院-RISC-V芯片产业发展报告 2024_第2页
浙江图灵算力研究院-RISC-V芯片产业发展报告 2024_第3页
浙江图灵算力研究院-RISC-V芯片产业发展报告 2024_第4页
浙江图灵算力研究院-RISC-V芯片产业发展报告 2024_第5页
已阅读5页,还剩211页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1RISC-V芯片产业发展报告浙江图灵算力研究院二。二四年2 3 5 5 22 28 50 54 75 101 104 104 3一.计算机指令集基本情况计算机的程序是由一系列的指令组成的,指令就是要计算机执行某种操作的命令。从计算机组成的层次结构来说,计算机的指令有微指令、机器指令和宏指令之分。指令系统是指机器所具有的全部指令的集合,它反映了计算机所拥有的基本功能。在计算机系统的设计和使用过程中,硬件设计人员采用各种手段实现指令系统,而软件设计人员则使用这些指令系统编制各种各样的系统软件和应用软件,用这些软件来填补硬件的指令系统与人们习惯的使用方式之间的语义差距。因此,指令系统是软件设计人员与硬件设计人员之间的一个主要分界面,也是他们之间互相沟通的一座桥梁。在计算机系统的设计过程中,指令系统的设计是非常关键的,它必须由软件设计人员与硬件设计人员来共同完成。设计指令系统就是要选择计算机系统中的一些基本操作(包括操作系统和高级语言中的)应由硬件实现还是由软件实现,选择某些复杂操作是由一条专用的指令实现,还是由一串基本指令实现,然后具体确定指令系统的指令格式、类型、操作以及对操作数的访问方式。指令系统的发展经历了从简单到复杂的演变过程。20世纪50至60年代,当时的计算机硬件结构比较简单,由于技术的限制,计算机大多数都是采用分立元件的晶体管或电子4管组成,因为计算机的指令系统数量也不大,只有定点加减、逻辑运算、数据传送、转移等十几至几十条指令,寻址方式也比较简单。20世纪60年代中期,集成电路的出现,让计算机的体积、价格、能耗等方面都得到了下降,整体的硬件功能也得到了一定的提升,整个指令系统变得更加丰富,增加了乘除运算、浮点运算、十进制运算、字符串处理等指令,指令数目多达一二百条,寻址方式也趋多样化。当时的计算机速度很慢,特别是存储速度非常慢,广泛使用的慢速磁带存储设备以及大容量内存的缺乏,让计算机对每一字节空间的应用都很珍惜。在这样的情况下,人们倾向于在一条指令中完成更多的工作,比如“从内存和寄存器读取数据相加后,写入内存”。这实际上是四条指令,首先是从内存读取数据,其次是从寄存器读取数据,第三是相加,最后才是写入内存。一条指令可以完成四项工作,这是当时计算机的主流设计方案。20世纪70年代,计算机的普及说明了整个计算机性能有了一个更大的提升,但是其中出现的软件危机却为指令系统带来了新的转机。IBM以及其他企业的从业人员发现,目前的PC发展方向存在一定的问题。如果按照现在指令集发展的方向继续发展的话,那么现有的指令集系统会越来越复杂。而同时期编译器的流行,让这种情况发生了变化:5一方面指令集越来越复杂,一方面编译器却很少使用这么多复杂的指令集。而且如此多的复杂指令,CPU难以对每一个指令都做出优化,甚至部分复杂指令本身耗费的时间反而更多。对这件事情的总结,就是后来著名的“8020”定律,也就是在所有的指令集中,只有20%最常用,80%基本上罕有问津。20世纪80年代,精简指令集开始出现。这种指令集的优势在于将计算机中最常用的20%的指令集集中优化,而剩下的不常用的80%则采用拆分为常用指令集等方式运行。随着RISC微处理器迅速发展,人们又发现RISC指令系统并不能充分实现指令级并行处理,从而影响了计算机性能的进一步提高,又出现了超长指令字(VLIW)计算机指令系统。在上世纪80年代中末期,大量基于RISC的新指令集和产品的问世,让人们看到了精简指令集的威力。SGI的工作站基于MIPS,速度超群;IBM的Power系列堪称巨型计算机的首选产品;还有DECAlpha架构的处理器,都是RISC的代表之作。二.计算机指令集简介(一)CISC和RISC指令集特点1.CISC指令集CISC是指复杂指令系统计算机(ComplexInstruction6SetComputer)。随着计算机系统的复杂,要求计算机指令系统的构造能使计算机的整体性能更快更稳定。最初,人们采用的优化方法是通过设置一些功能复杂的指令,把一些原来由软件实现的、常用的功能改用硬件的指令系统实现,以此来提高计算机的执行速度,这种计算机系统就被称为复杂指令系统计算机,简称CISC。为了支持复杂指令集,CISC通常包括一个复杂的数据通路和一个微程序控制器。微程序控制器由一个微程序存储器、一个微程序计数器(MicroPC)和地址选择逻辑构成。在微程序存储器中的每一个字都表示一个控制字,并且包含了一个时钟周期内所有数据通路控制信号的值。这就意味着控制字中的每一位表示一个数据通路控制线的值。例如,它可以用于加载寄存器或者选择ALU中的一个操作。此外每个处理器指令都由一系列的控制字组成。当从内存中取出这样的一条指令时,首先把它放在指令寄存器中,然后地址选择逻辑再根据他来确定微程序存储器中相应的控制字顺序起始地址。当把该起始地址放入MicroPC中后,就从微程序内存中找到相应的控制字,并利用它在数据通路中把数据从一个寄存器传送到另一个寄存器。由于MicroPC中的地址并发递增来指向下一个控制字,因此对于序列中的每个控制器都会重复一遍这一步骤。最终,当执7行完最后一个控制字时,就从内存中取出一条新的指令,整个过程会重复进行。由此可见,控制字的数量及时钟周期的数目对于每一条指令都可以是不同的。因此在CISC中很难实现指令流水操作。另外,速度相对较慢的微程序存储器需要一个较长的时钟周期。由于指令流水和短的时钟周期都是快速执行程序的必要条件,因此CISC体系结构对于高效处理器略有挑战。CISC指令集主要具有以下特点。一是指令系统复杂。指令数较多,一般大于100条。寻址方式和指令格式较多,一般大于4种。二是绝大多数指令需要多个机器时钟周期才能执行完毕。三是各种指令都可以访问存储器。从计算机诞生以来,人们一直沿用CISC指令集方式。早期的桌面软件是按CISC设计的,并一直沿用。桌面计算机流行的X86体系结构即使用CISC。微处理器(CPU)厂商一直在走CISC的发展道路,早期典型代表企业包括英特微处理器中,程序的各条指令是按顺序串行执行的,每条指令中的各个操作也是按顺序串行执行的。顺序执行的优点是控制简单,但计算机各部分的利用率不高,执行速度慢。Intel公司的X86系列CPU是典型的CISC体系的结构,从最初的8086到后来的Pentium系列,每出一代新的CPU,8都会有自己新的指令,而为了兼容以前的CPU平台上的软件,旧的CPU的指令集又必须保留,这就使指令的解码系统越来越复杂。CISC可以有效地减少编译代码中指令的数目,使取指操作所需要的内存访问数量达到最小化。此外CISC可以简化编译器结构,它在处理器指令集中包含了类似于程序设计语言结构的复杂指令,这些复杂指令减少了程序设计语言和机器语言之间的语义差别,而且简化了编译器的结构。(2)CISC指令集主要问题一是CISC中各种指令的使用频度相差很悬殊,大量的统计数字表明,大约有20%的指令使用频度比较高,占据了80%的处理机时间。换句话说,有80%的指令只在20%的处理机运行时间内才被用到。二是VLSI的集成度迅速提高,使得生产单芯片处理机成为可能。在单芯片处理机内,希望采用规整的硬布线控制逻辑,不希望用微程序。而在CISC处理机中,大量使用微程序技术以实现复杂的指令系统,给VLSI工艺造成很大困难。三是虽然复杂指令简化了目标程序,缩小了高级语言与机器指令之间的语义差距,然而增加了硬件的复杂程度,会使指令的执行周期大大加大,从而有可能使整个程序的执行时间反而增加。92.RISC指令集RISC是指精简指令系统计算机(ReducedInstructionSetComputer是在20世纪80年代发展起来的,其基本思想是尽量简化计算机指令功能,只保留那些功能简单、能在一个节拍内执行完成的指令,而把较复杂的功能用一段子程序来实现。由于CISC技术在发展中出现了问题,计算机系统结构设计的先驱者们尝试从另一条途径来支持高级语言及适应VLSI技术特点。1975年IBM公司JohnCocke提出了精简指令系统的设想。到了1979年,美国加州大学伯克莱分校由Patterson教授领导的研究组,首先提出了RISC这一术语,并先后研制了RISC-I和RISC-II计算机。1981年美国的斯坦福大学在Hennessy教授领导下的研究小组研制了MIPSRISC计算机,强调高效的流水和采用编译方法进行流水调度,使得RISC技术设计风格得到很大补充和发展。RISC处理器所设计的指令系统应使流水线处理能高效率执行,并使优化编译器能生成优化代码。RISC为使流水线高效率执行,应具有下述特征1)简单而统一格式的指令译码2)大部分指令可以单周期执行完成3)只有LOAD和STORE指令可以访问存储器4)简单的寻址方式5)采用延迟转移技术6)采用LOAD延迟技术。RISC为使优化编译器便于生成优化代码,应具有下述特征:(1)三地址指令格式2)较多的寄存器3)对称的指令格式。RISC的关键技术包括:一是延时转移技术。在转移指令之后插入了一条有效的指令,而转移指令好像被延迟执行了,因此,把这种技术称为延迟转移技术。采用指令延迟转移技术时,指令系列的调整由编译器自动进行,一般不需要人来干预。二是指令取消技术。采用指令延时技术,遇到条件转移指令时,调整指令系列非常困难,在许多情况下找不到可以用来调整的指令。有些RISC处理机采用指令取消技术,在使用指令取消技术的处理机中,所有转移指令和数据变换指令都可以决定下面待执行的指令是否应该取消。如果指令被取消,其效果相当于执行了一条空操作指令,不影响程序的运行环境。三是重叠寄存器窗口技术。基本思想是在处理机中设置一个数量比较大的寄存器堆,并把它划分成很多窗口。每个过程使用其中相邻的三个窗口和一个公共的窗口,而在这些窗口中有一个窗口是与前一个过程共用,还有一个窗口是与下一个过程共用的。与前一过程共用的窗口可以用来存放前一过程传送给本过程的参数,同时也存放本过程传送给前一过程的计算结果。同样,与下一过程共用的窗口可以用来存放本过程传送给下一过程的参数和存放下一过程传送给本过程的计算结果。四是指令流调整技术。为了使RISC处理机中的指令流水线高效率的工作,尽量不断流,优化编译器必须分析程序的数据流和控制流。当发现指令流有断流可能时,要调整指令列。对有些可以通过变量重新命名来消除的数据相关,要尽量消除。如此可以提高流水线的执行效率,缩短程序的执行时间。五是硬件为主固件为辅。指令系统用微程序实现的主要优点是便于实现复杂指令,便于修改指令系统,增加了机器的灵活性和适应性。主要缺点是执行速度低。RISC要求主要指令能在单周期内执行完成,采用微程序技术是不可能做到的。因此,RISC必须主要采用硬连线逻辑来实现指令系统。对于那些必须的复杂指令,也可用固件(微程序技术)实现。因此,目前商用的RISC处理机在实现指令系统时,一般都采用以硬件为主固件为辅的方法。早期的微处理器大部分为复杂指令集架构,即设计尽可能复杂的指令来完成任务,原因之一是当时的编译技术并不发达。而随着编译器技术以及其他技术的发展,研究人员渐渐发现多数的复杂指令只在很少的时候被用到,而且复杂的指令限制了处理器速度的进一步提高。精简指令集技术应运而生,IBM801可能是第一个用精简指令集的理念来设计的系统,并逐步发展成为了今天的Power架构。RISC项目并设计了其第一代的处理器RISCI,这就是RISC这个名称的由来。SunMicrosystem(现在的Oracle)的SPARC处理器架构也有很多BerkeleyRISC影子在里面。差不多同时,斯坦福的教授JohnHennessy(现为Google董事长)和他的团队也从课程设计出发设计了MIPS处理器的早期雏形,并最终孵化为MIPSTechnologies公司,后来被ImaginationTechnologies收购。MIPS架构被广泛用于路由器芯片中。而ARM作为迄今为止发展最好的RISC指令集,由于成功的商业化运作,现在已经无处不在。(2)RISC指令集主要问题RISC的主要问题是编译后生成的目标代码较长,占用了较多的存储器空间。但由于半导体集成技术的发展,使得RAM芯片集成度不断提高和成本不断下降,目标代码较长已不成为主要问题。RISC技术存在另一个潜在缺点是对编译器要求较高,除了常规优化方法外,还要进行指令顺序调度,甚至能替代通常流水线中所需的硬件联锁功能。(二)主流指令集架构(ISA)介绍1.X86架构基于CISC(复杂指令集)的X86架构是一种为了便于编程和提高存储器访问效率的芯片设计体系,包括两大主要特点:一是使用微代码,指令集可以直接在微代码存储器里执行,新设计的处理器,只需增加较少的晶体管电路就可以执行同样的指令集,也可以很快地编写新的指令集程式;二是拥有庞大的指令集,X86拥有包括双运算元格式、寄存器到寄存器、寄存器到存储器以及存储器到寄存器的多种指令类型,为实现复杂操作,微处理器除向程序员提供类似各种寄存器和机器指令功能外,还通过存于只读存储器(ROM)中的微程序来实现极强的功能,微处理器在分析完每一条指令之后执行一系列初级指令运算来完成所需的功能。X86指令体系的优势体现在能够有效缩短新指令的微代码设计时间,允许实现CISC体系机器的向上兼容,新的系统可以使用一个包含早期系统的指令集合。另外,微程序指令的格式与高阶语言相匹配,因而编译器并不一定要重新编写。相较RISC(精简指令集)体系,X86指令体系也有其缺点。一是通用寄存器规模小,X86指令集只有8个通用寄存器,CPU大多数时间是在访问存储器中的数据,影响整个系统的执行速度。而RISC系统往往具有非常多的通用寄存器,并采用了重叠寄存器窗口和寄存器堆等技术,使寄存器资源得到充分的利用。二是解码器影响性能表现,解码器的作用是把长度不定的X86指令转换为长度固定的类似于RISC的指令,并交给RISC内核。解码分为硬件解码和微解码,对于简单的X86指令只要硬件解码即可,速度较快,而遇到复杂的X86指令则需要进行微解码,并把它分成若干条简单指令,速度较慢且很复杂。三是X86指令集寻址范围小,约束用户需要。四是X86的复杂指令集单个指令长度不同,运算能力强大,不过相对来说结构复杂,影响执行效率。相反,ARM的精简指令集单个指令长度固定,只包含使用频率最高的少量指令,性能一般但结构简单,执行效率稳定。(2)X86架构主导PC、服务器CPU市场从企业角度看,Intel对X86架构拥有较强的掌控力。一方面,持续的高额投入支撑绝对的技术优势。仅2015年,Intel在芯片研发方面投入就达121亿美元,通过强大的研发实力支撑“Tick-Tock”战略,持续优化架构、提升工艺实现CPU能力提升;同时通过并购获取新技术,如以167亿美元收购阿尔特拉(Altera)布局CPU+FPGA技术,以支撑数据中心应用。另一方面,专用CPU制造工艺使得其CPU芯片拥有更强的性能。Intel仍然坚持自主设计、自主制造、自主封装和测试、自主销售和推广的IDM(垂直整合制造)模式,通过对CPU全流程的控制,尤其是自主设计和制造互相融合、互相促进、不断优化,发挥出CPU专用制造工艺的最大潜力。然而,必须指出的是X86架构并未在移动终端领域形成优势。这主要是因为移动终端等消费市场突出低功耗、低成本、易定制、常升级的特性,ARM以开放式合作吸引众多芯片设计企业和软件企业构成庞大生态体系,ARM架构占据超过90%的市场份额。2.ARM架构ARM精简指令集是为了提高处理器运行速度而设计的芯片体系,它的关键技术在于流水线操作即在一个时钟周期里完成多条指令。相较复杂指令集CISC而言,以RISC为架构体系的ARM指令集的指令格式统一、种类少、寻址方式少。简单的指令意味着相应硬件线路可以尽量做到最佳化,从而提高执行速率,但因为指令集的精简,所以许多工作必须组合简单的指令,而针对复杂组合的工作便需要由编译程序来执行。而CISC体系的X86指令集因为硬件所提供的指令集较多,所以许多工作都能够以一个或是数个指令来代替,编译的工作因而减少了许多。ARM指令集架构的主要特点:一是体积小、低功耗、低成本、高性能;二是大量使用寄存器且大多数数据操作都在寄存器中完成,指令执行速度更快;三是寻址方式灵活简单,执行效率高;四是指令长度固定,可通过多流水线方式提高处理效率。(2)ARM的发展情况ARM架构CPU初期在技术上不占优势,在市场份额上更是完全比不上IntelCPU,其初期发展也很困难。然而在最先受到Nokia青睐后,逐步带动了意法、英飞凌、TI等公司选用ARM产品。Intel公司的XScale(StrongARM)系列芯片、Motorola公司的DragonBall系列芯片与TI公司OMAP系列芯片都嵌入了ARM公司的IP核。最终让它在功能终端时代站稳了脚跟。随着智能终端时代的到来,苹果选用ARM架构使其在智能终端时代快速扩张。在苹果公司的带动下,高通公司更是将ARM架构芯片推上了技术和市场的新高度,高通的专利授权模式迅速将ARM芯片推广到各个领域。ARM处理器小体积、低功耗、低成本、高性能和16/32位双指令集等特点,适用于嵌入控制、消费/教育类多媒体、DSP(数字信号处理器)和移动式应用等诸多领域,在全球拥有超过1000家授权合作伙伴,ARM+Android的生态体系建设愈发完善,使得它在移动领域全面胜出。随着移动市场的成功,ARM开始向服务器、物联网领域渗透。在服务器领域已有多家公司开发基于ARM架构芯片的产品;在物联网领域,除了提供基础芯片IP核之外,ARM公司还推出开源、免费的mbedOS等,产品至今推出一年有余,其参与企业数量、开发者数量、开发环境使用次数等均呈现出翻倍增长态势,未来成长潜力巨大。3.MIPS架构MIPS是高效精简指令集计算机体系结构中的一种,是较为纯正的RISC指令集,与ARM架构相比,MIPS的优势主要有五点:一是早于ARM支持64位指令和操作;二是MIPS有专门的除法器,可以执行除法指令;三是MIPS的内核寄存器比ARM多一倍,在同样的性能下MIPS的功耗会比ARM更低,同样功耗下性能比ARM更高;四是MIPS指令比ARM稍微多一些,执行部分运算更为灵活;五是MIPS在架构授权方面更为开放,允许授权商自行更改设计,如更多核的设计。同时,MIPS架构也存在一些不足之处:一是MIPS的内存地址起始有问题,这导致了MIPS在内存和cache的支持方面都有限制,即MIPS单内核无法面对高容量内存配置;二是MIPS技术演进方向是并行线程,类似Intel的超线程,而ARM发展方向是物理多核,从目前核心移动设备的发展趋势来看物理多核占据了上风;三是MIPS虽然结构更加简单,但是执行指令流水线周期远不如ARM高效;四是MIPS学院派发展风格导致其商业进程远远滞后于ARM,当ARM与高通、苹果、NVIDIA等芯片设计公司合作大举进攻移动终端的时候,MIPS还停留在高清盒子、打印机等小众市场产品中;五是MIPS自身系统的软件平台也较为落后,应用软件与ARM体系相比要少很多。(2)MIPS架构在竞争困境中发展MIPS架构是1980年代初期由美国斯坦福大学研发出来的,并在1984年成立了MIPS计算机公司。1992年,MIPS计算机公司被SGI收购,并于1998年脱离SGI成为MIPS技术公司。1999年,MIPS公司发布MIPS32和MIPS64架构标准,为未来MIPS处理器的开发奠定了基础。2012年,MIPS技术公司由于经营问题寻求出售,最终80%专利被ARM联合其他公司以3.5亿美元收购,剩余20%专利和架构授权被Imagination公司以1亿美元收购。相对于CISC来说,基于RISC的处理器的执行指令要少的多,MIPS架构作为32位和64位RISC处理器架构的先驱,在微结构、64位和多线程技术方面有其优势,因而其技术专利持续受到芯片设计与架构设计企业的青睐。2012年BridgeCrossing代表了以ARM为主的IBM、Intel、Google、惠普、思科、爱立信、Verizon等26家其他架构设计企业收购其80%专利,正是为了今后躲避专利风险。虽然MIPS架构有其特色,但一直并未形成规模化的硬件开发环境。一方面,在X86和ARM生态的挤压下,支持MIPS指令集的外围硬件新产品较之前大幅下降,严重影响了MIPS架构产品的市场空间;另一方面,MIPS架构大量的架构授权也造成被授权的芯片厂商常常自己修改一部分EJTAG协议,并且只对少数指定的第三方公开修改的部分,因而造成MIPS开发工具支持不够广泛的局面,难以形成规模化的统一生态体系。在2012年Imagination收购MIPS团队和业务后,有效提升了MIPS处理器的开发实力,并且主导建立了MIPS开源社区PRPL基金会,旨在共同推进MIPS架构与IP的持续向前发展。该开源社区联合了博通、Cavium、Ikanos、InedaSystems、君正、Lantiq、NevalesNetworks、PMC和高通等14家MIPS设计企业的力量,并将最新的免费工具链、相关程序库、通用平台、调试器、探针和软件,以及开发环境提供给所有的MIPS使用者,形成完备的设计链。4.POWER架构POWER架构是由IBM设计的一种RISC处理器架构,全称为“PerformanceOptimizationWithEnhancedRISC”。POWER在大型机领域独具优势,并且历代POWER处理器都在技术突破上独领风骚。POWER1一经推出,便成为当时最强大的服务器处理器,与当时HP的PA-RISC、Sun的Sparc、Intel的486等RISC处理器不同,POWER1进行了功能划分,实现了超标量计算的能力。它还有单独的浮点寄存器,可适应从低端到高端的UNIX工作站。POWER3是全球首款64位架构处理器,开始应用铜芯片和SOI(绝缘体上硅)技术。直至POWER7依然追求最高性能,不仅具备乱序执行、智能线程等技术,还实现了SMP(对称多处理技术)的硬件一致性处理。在高端服务器领域,POWER的大规模SMP系统性能大幅超越X86。POWER系统在硬件层面的可靠性、可用性、可维护性(RAS)方面明显强于X86系统。Intel只提供处理器,整机需要厂商自己设计,因此,大多中小厂商依靠Intel的公版方案做白牌整机方案,这与IBM从芯片开始设计的整机方案无法相比。此外,POWER机器使用AIX操作系统(IBM为POWER专门开发的类UNIX操作系统在系统稳定性、软件方案集成度(例如备份软件、集群文件系统等)、厂商技术支持能力等方面强于开放平台,非常适合关键性应用行业。在小型机领域,因为X86利用巨大市场分摊软硬件研发成本,使得其性价比优势极大,导致POWER的市场竞争Windows/Linux的进取是不可逆转的趋势。与此同时,由于Google的崛起,云计算的兴盛,现在分布式系统的成熟度越来越高,系统已经越来越不依赖几台小型机来提供稳定性和可靠性,而是通过集群来提供,性能也能够通过分布式的处理来解决。所以,X86的使用越来越广泛,而且最新的一些低成本和高效能的新技术都在X86体系下得到应用(X86市场占有率高而POWER系列由于其封闭的特性,反而难以得到应用,POWER系列的小型机优势越来越不明显。(2)IBM开放POWER架构由于基于POWER架构芯片的IBM服务器业务在IntelX86架构服务器业务的冲击下,无论是营收还是市场份额均处在大幅下滑状态。为了分摊成本,2013年8月,在POWER8发布之后,IBM决定向外部开发者开放POWER芯片架构,允许第三方企业对这一产品进行改进,促成了OpenPOWER基金会(联盟)成立。随着IBM于2014年初将其X86服务器业务出售给联想之后,POWER系列(芯片及服务器)仅为IBM尚具硬件业务的主攻方向。OpenPOWER基金会是一家全球性的开放式研发成员组(Mellanox)等,旨在促进和鼓励基于POWER架构的协作创新。OpenPOWER基金会会员能够定制POWER处理器、并基于POWER平台开发自己的硬件系统、固件、操作系统、中间件、云平台以及企业应用软件,从而在硬件、软件和整体解决方案三个层面,以最大限度满足其业务和组织需OpenPOWER基金会从一开始就定位为它并不是一个属于IBM的组织,IBM也只是其中的一分子。OpenPOWER为此成立了理事会,负责OpenPOWER的核心运营。POWER的开放与X86相比有三个特点。一是POWER的开放程度远远高于Intel的X86架构,Intel暂时是不可能开放其核心技术的。在开源POWER生态圈,IBM跟合作伙伴的合作从最底层的芯片开始,有非常丰富多样的合作模式,可以形成多种生态系统。二是可实现差异化的高性能产品。X86系统竞争已经非常激烈,而且同质化现象严重。IBM提供特殊的API让用户为特定负载定制有特殊I/O的处理器。三是可协助应用迁移。在开源POWER之前,IBM就与合作伙伴开始力推各种新老应用向POWERLinux的迁POWER技术的Linux开发中心。三.RISC-V架构发展简介(一)RISC-V的提出及早期发展历程1.RISC-V提出背景在计算机科学的初期阶段,复杂指令集(CISC)架构占据了主导地位,如Intel的x86系列。x86是一种计算机中央处理器(CPU)指令集架构,最初由英特尔公司开发。它是早期IBMPC机的主要处理器架构之一,现在仍然广泛应用于Windows和Linux等多种操作系统的平台中。x86作为一种CISC架构,支持大量不同的指令,可以快速执行各种不同的计算。随着1980年代计算需求的增长和技术的进步,简单而高效的计算机架构一直是业界的兴趣所在。与CISC架构形成对比的是,精简指令集(RISC)架构强调指令的简洁性和高效执行。例如,Arm架构就是RISC架构的一个典型代表,通过简化指令集来提高处理器的性能和能效比,尤其在移动和嵌入式设备领域表现卓越。RISC架构的一个显著特点是通常使用固定长度的指令,这一点简化了指令的解码过程,并因此提高了处理速度。2000年前后,x86和Arm成为了市场上的两大主导架构。x86主要应用于个人电脑和服务器领域,而Arm则在移动设备和嵌入式系统中占据了主导地位。这一时期,芯片架构的发展受到了专利和版权的严格控制,这种控制限制了架构的创新和定制化发展。在2010年左右,加利福尼亚大学伯克利分校的DavidPatterson教授与KrsteAsanović教授领导的团队着手探索一种新型的指令集架构。他们的愿景是创造一种既高效又灵活的指令集,能够适应不断变化的技术需求,同时摆脱x86和Arm的限制,RISC-V应运而生。2.发展过程2010年,作为对当时市场状态的直接响应Asanovic教授启动了开源计算机系统的研究项目,与他的几位研究生YunsupLee、AndrewWaterman等一起开始为期3个月的暑期项目,从零开始设计一套指令集,为学术界和工业用户提供帮助。DavidPatterson作为伯克利RISC的发起人,也参与了该项目,RISC-V是他在伯克利基于RISC长期合作研究项目的第五代。Patterson在1981年发表了RISC-I和RISC-II,1984年参考SOAR架构发布了第三代这一阶段,参与项目的学生提供了初始软件、模拟和CPU设计。RISC-V基于精简指令集计算原则,旨在创建一种通用而高效的计算框架,提供一种开源、高效且灵活的指令集架构。它继承了前几代RISC架构的优点,如简洁的指令集和高效的执行路径,同时通过引入开源的概念,打破了由少数几家公司控制的架构发展模式。区别于市场主导的x86和Arm架构,RISC-V的开源特性允许无版权约束的使用、修改和分发,从而激发了全球技术社区的广泛兴趣。其设计理念的简约性和强大性,也预示着现代计算技术的一场重大变革。起源于学术界的RISC-V与x86和Arm形成了鲜明对比。x86,由英特尔和AMD主导,长期以来一直是个人电脑和服务器市场的主导架构;Arm架构,因其高能效比而在移动设备和嵌入式系统中占据主导地位。相比之下,RISC-V作为一个后起之秀,凭借其开放性和灵活性,在各个市场领域迅速崭露头角。2015年谷歌、惠普、IBM、微软、甲骨文、英伟达、高通等公司与加州大学伯克利分校合作成立RISC-V基金会,旨在基于RISC-V指令集架构构建一个开放、协作的软硬件创新社区,推动RISC-V指令集标准不断完善、在不同行业内被采用。2018年11月,RISC-V基金会宣布与Linux基金会进行联合合作。作为合作的一部分,Linux基金会为RISC-V国际协会提供运营、技术和战略支持,包括成员管理、会计、培训项目、基础设施工具、社区服务、市场营销、法律以及其他开放标准服务和专业知识。这一合作也延续至今。2018年,RISC-V基金会吸收来自全球社区参与者的建议,对地缘政治格局进行详尽的考虑,为保障对RISC-V长期的战略投资,必须确保知识产权访问的连续性。RISC-V基金会在2018年12月峰会上首次提出将注册地迁移到中立国家瑞士,缓解人们对于政治干扰开放合作模式的担忧。2019年11月,RISC-V基金会正式宣布总部注册地将从美International,简称RVI)。作为一个非盈利的会员组织,RISC-V国际协会不涉及对任何产品或服务的商业利益;RISC-V国际协会遵守所有美国法律,在美国没有任何出口限制。2020年3月,RISC-V国际协会在瑞士成立,同时,RISC-V国际协会开始转向构建一个全新的、更具包容性的会员结构。RISC-V国际协会的成员可以访问和参与RISC-V指令集规范及扩展、相关硬件和软件的开发。RISC-V国际协会设有一个由会员代表组成的董事会,以及一个由技术工作组负责人组成的技术委员会。RISC-V国际协会鼓励企业、机构及个人爱好者加入其生态系统,共同开启处理器创新的新时代,通过开放标准和开源协作实现。RISC-V国际协会贡献全球标准许可证,这种开源许可方法,不受任何地理法规的限制,促进全球社区共同合作。RISC-V的初始目标是设计一个可以在学术领域使用的开源指令集架构,使用者无需支付版税既可在任何硬件或软件设计中部署。与商业IP不同的是,RISC-V指令集标准项目的每个设计都做了相应决策解释RISC-V指令集采用BSD许可协议,BSD许可协议英文为BerkeleySoftwareDistributionLicence,源于加利福尼亚大学伯克利分校的UNIX操作系统,是自由软件中使用最广泛的许可协议之一。RISC-V创始团队认为指令集作为软硬件接口的说明和规范,应该是开放的。RISC-V选择的BSD许可协议允许使用者修改和重新发布源代码,同时也允许基于开源代码进行商业软件的开发和销售。指令集规范定义了32位和64位地址空间变体。规范还包括对128位地址空间变体的描述,作为32位和64位变体的衍生。截至2023年,对这种大型内存系统的实际经验还很少,因此128位ISA标准还处于计划状态。全球开发者和商业公司对RISC-V持续的关注并不仅仅因为它是一项伟大的新芯片技术,更因为它是一个全球性的开放标准,可以将软件移植到该标准上,并且允许任何人自由开发自己的硬件来运行软件。RISC-V国际组织不管理或提供任何开放的RISC-V实现,它只维护RISC-V指令集标准规范,RISC-V软件由各自的开源软件项目管理。为了建立一个不断增长的庞大用户社区,积累设计和软件经验,RISC-V指令集的设计满足各种对算力不同需求的场景,如紧凑型、高性能和低功耗的设计实现,而不会为了某个特定微架构进行过度设计。大量贡献者的需求也助力RISC-V被用于解决许多可能用途。对设计者而言,指令集位于硬件和软件之间,是计算机中的关键接口。如果有一个开放可供所有人使用的指令集,可以通过使软件复用从而显著降低软件成本。这种开发方式也会触发硬件提供商之间的竞争升级,他们可以节省在共性开发方面的支持投入,从而投入更多资源专注于硬件设计。据RISC-V国际协会2023年数据显示,目前已有基于RISC-V的硬件114款(包含SoC、IP、FPGA支持RISC-V架构的软件工具50+类,包含开发工具、操作系统、固件等。这种开源策略大大促进了RISC-V的接受度和应用范围,激发了全球范围内的合作和创新。目前,RISC-V已经在RISC-V国际协会的管理下成为开放的行业标准。RISC-V的开源模式为计算行业带来了新的动力。它不仅促进了技术的快速发展和迭代,还为各公司和研究机构提供了与老牌企业同台竞技的机会,通过这种方式,RISC-V正在重新定义芯片设计和制造的生态系统。(二)RISC-V主要特点1.指令集简介RISC-V是一个典型三操作数、加载-存储形式的RISC架构,包括三个基本指令集和6个扩展指令集,其中RV32E是RV32I的子集,不单独计算。集指令与RV32I一样,16个寄存器,用于嵌入式集M8AFDQC“I”开头的指令集定义为标准整数指令集(前缀RV32或者RV64取决于整数寄存器的宽度,分别表示32位架构算指令,整数加载,整数存储,控制流指令,这部分指令对于所有的RISC-V实现都是完全一样的。“M”开头的扩展为包含整数的乘法和除法,并且添加了对整数寄存器中的数据相乘或者相除的指令。“A”开头的扩展为包含原子指令,其中的指令有为实现处理器间同步的原子性读,修改和写入存储器指令。“F”开头的扩展为单精度浮点指令,包括单精度浮点数的加载和存储以及单精度浮点数的算术运算。“D”开头的扩展为双精度指令,扩展单精度的寄存器以及双精度数的计算,加载和存储。标准整数指令集以及包含的这四个扩展(“IMAFD”)指集合。RV32G和RV64G是Berkeley开发的编译器工具链的默认指令集。除了标准的指令集和上述的标准扩展,想要开发出一个能够为所有应用场景带来非常大的好处的指令集的可能性是很小的。尽管,一些新的指令可能在特定的领域中非常有用。由于能效的压力越来越促使开发出更针对特定领域的指令集,所以尽可能简化ISASpecification中所要求的部分是非常重要的。尽管其他的架构通常把它们的指令集认为是单个的不可分割的整体,当需要添加新的指令时就更新一个版本,但是RISC-V指令集将尽可能的保持整数指令和标准扩展指令集不变,作为替代,添加新的可选指令集时在更高的层次上添加。比如,所有的基础整数指令将会一直作为一个完整的单独的指令集,而不管之后其他任何的指令集的改变。基本指令集的名称后缀都是I,表示Integer(整数任何一款采用RISC-V架构的处理器都要实现一个基本指令集,根据需要,可以实现多种扩展指令集,例如:如果实现了RV32IM,表示实现了32位基本指令集和乘法除法扩RV32G来表示,表示实现了通用标量处理器指令集。以下简要介绍RV32I的基本情况。RV32I指令集有47条指令,能够满足现代操作系统运行的基本要求,47条指令按照功能可以分为如下几类。(1)整数运算指令:实现算术、逻辑、比较等运算。(2)分支转移指令:实现条件转移、无条件转移等运算,并且没有延迟槽。(3)加载存储指令:实现字节、半字、字的加载、存储操作,采用的都是寄存器相对寻址方式。(4)控制与状态寄存器访问指令:实现对系统控制与状态寄存器的原子读-写、原子读-修改、原子读-清零等操(5)系统调用指令:实现系统调用、调试等功能。2.指令集优势RISC-V技术的核心优势之一在于其精简的指令集,它减少了处理器执行指令的数量,从而提高了执行效率。这种精简化意味着每个指令能够以更低的硬件成本实现更高的执行速度,特别是在处理器的流水线设计中。此外,简化的指令集还意味着更低的功耗,这在移动设备和嵌入式系统中尤为重要,因为这些系统通常对能源效率有更高的要求。RISC-V的规范文档仅长145页,而其“特权架构文档”(Volume2,PrivilegedSpecificationversion20211203)篇幅更是精简至91页。基础的RISC-V指令集数量限制在40余条之内,包含模块化扩展的整体指令数也仅为几十条。这种精简性意味着工程师在进行软硬件开发时能够更快地熟悉和掌握RISC-V,从而加快开发验证的过程。所以采用RISC-V技术的芯片和软件研发周期得以缩短,同时降低了研发成本,这对于提高设计效率和促进技术创新具有重要意义。(2)高度可扩展RISC-V架构的另一关键特性是其高度的可扩展性。这一特性意味着可以根据特定应用需求添加或删除指令子集,从而优化处理器的性能。例如,对于需要高度数学运算能力的应用,可以添加专门的浮点运算指令;而对于简单的控制应用,则可以仅使用基础的指令集。这种可扩展性使得RISC-V能够灵活适应从低功耗微控制器到高性能计算机的广泛应用场景。(3)开源开放RISC-V的开源开放特性为其广泛的应用提供了基础,这种开源模式使得任何个人或组织都可以自由使用和修改RISC-V,无需担心专利费用或版权问题。这不仅降低了进入门槛,还促进了技术的创新和共享。如今,RISC-V不仅在嵌入式系统和移动设备中得到应用,还开始进入云计算、数据中心、AI等高性能计算等更广阔的领域。(4)模块化RISC-V的模块化特性是其设计中的一个关键方面,它允许处理器设计以一种高度灵活和有效的方式进行。这种模块化体现在可以按照构建块的形式添加或移除功能模块,从而使硬件设计可以根据特定应用的需求进行定制,优势在于提高了整体设计的可重用性和适应性,允许开发者针对特定场景或需求选择适合的指令集和功能模块。此外,模块化设计也极大地简化了处理器的定制和升级过程。工程师可以根据新的技术需求或市场变化,轻松地引入新的功能模块或升级现有模块,而无需从头开始重新设计整个系统。这种灵活性不仅加快了开发周期,还降低了迭代成本,使得RISC-V架构特别适合于快速发展和不断变化的技术环境。RISC-V的模块化特性因此成为了其广泛应用于各种计算设备和系统中的关键点,无论是简单的嵌入式系统还是复杂的高性能计算平台,RISC-V的模块化设计都提供了一种高效、灵活且经济的解决方案。(5)通用性和兼容性RISC-V指令集的设计不仅注重当前的应用需求,也考虑到了未来的兼容性和可持续发展。其通用性确保了RISC-V能够广泛应用于各种计算任务,而兼容性则意味着即使在技术不断发展的情况下,现有的软件和硬件仍然可以保持通过这些核心特性,RISC-V指令集展现了其在现代计算领域中的独特优势。精简而高效的指令集、灵活可扩展的设计、开放和模块化的架构以及通用性和兼容性的考量共同构成了RISC-V独特的设计,这些原则不仅使其在技术上领先,也为其广泛应用于计算产业提供了坚实的基础。3.不同指令集架构比较在RISC-V发布之前,实际上已经有几种开源指令级架构,包括SPARCV8、OpenRISC,其中SUN发布的开源多核多线程处理器OpenSparcT1、OpenSparcT2,以及欧空局的LEON3采用的就是SPARCV8,OpenRISC也有同名的开源处理器。与同样开源的SPARCV8和OpenRISC相比,RISC-V在软件工具链和软件生态环境上并没有优势,但也没有明显缺失。其ISA上的主要优势是兼顾了嵌入式、多核和异构并行的需求。这是RISC-V面向学术研究的实际需求,也得益于其从2010年开始设计,没有兼容性需求的后发优势。此外,OpenRISC的许可证为GPL,这意味着所有的指令集改动都必须开源。而RISC-V的许可证是较为宽松的BSDLicense授权。是是是是是是是是是是是是是是是是是是是是是是是(2)与商业指令集架构比较为了比较RISC-V和X86、ARM等商业指令集的执行效率,UCB的研究团队选择了ARMv7、ARMv8、IA-32、x86-64四类指令集架构与RISC-VRV64G和RV64GC在SPECCINT2006benchmark平台进行测评,比较动态指令数获取和动态指令字节获取的情况。动态指令数获取测评结果显示,RV64G指令集比x86-64指令集执行指令数高16%,比IA-32高3%,比ARMv8动态指令字节获取评测结果显示,RV64G指令集具有4字节固定指令长度,每个程序比x86-64指令集多获取23%指令字节。x86-64指令集不够密集,平均每个指令集长度为3.71字节。ARMv7和ARMv8与RV64G指令集类似,都是4字节固定指令长度。采用RISC-V压缩指令集扩展的RV64GC指令集,比x86-64指令集少获取8%指令字节。4.软硬件支持目前2023年RISC-V软件生态系统得到了比较快速的发展,主要体现在编译器和工具链,系统库,内核和虚拟化,语言运行时环境,Linux发行版集成,调试和分析工具,模拟器和仿真器,系统软件等方面。软件生态环境方面,2023年6月,欧洲Linux基金会、RISC-V国际协会和许多科技界的大厂联合起来,推动了一个支持RISC-V的软件生态系统项目,该项目被称为RISC-VSoftwareEcosystem,简称RISE,其使命是加速开源软件在RISC-V架构上的发展,旨在加速RISC-V架构的软件生态建设及应用商业化进程,成员将联合推动RISC-V芯片在移动通信、消费电子、数据中心及汽车等领域的市场化落地。硬件生态环境方面,高性能成为RISC-V芯片主旋律。当前,已经有众多头部科技企业开始为自家应用场景自研专用RISC-V芯片。为应对人工智能的发展对算力的巨大需求,RISC-V芯片提供商推出多款面向数据中心场景的芯片。5.知识产权分析RISC-V采用BSDLicense发布,由于允许衍生设计和开发闭源,对商业公司的吸引力应该高于GPL发布的OpenRISC和OpenSPARC。RISC-V团队申明不会申请或者试图申请RISC-V兼容处理器实现相关的专利。同时RISC-V团队也表示,由于处理器实现可能各不相同,他们认为实现RISC-V兼容处理器并不需要任何专利许可,他们也无法保证ISA或者架构设计,不被其他什么人提起诉讼或专利权利要求。仅从声明和描述上就可以发现如下问题:无法阻止其它人申请与RISC-V兼容处理器实现相关的专利。也没有明确的专利联盟或者交叉授权模式可以借用,以保证在未来不受到专利诉讼请求。BSDLicense并不是类似ARM授权协议的保护伞。其License框架的代表BSD操作系统在发展过程中就受到AT&T的专利诉讼威胁,虽然通过重写和删除代码,历经数年时间最终得以解决(其中还包括著名的Berkeley法学院资源的帮助)。但这一过程也导致了Linux压倒BSD成为主流开源操作系统。Linux在2004年也受到Microsoft和SCO的专利威胁,但由于IBM加入Linux一方而缓解了危机。因此未来商业化的RISC-V兼容处理器几乎肯定会受到专利诉讼的威胁。从以上软件领域的例子可以看到,即使开源,或者使用不同开源License模型,如果没有商业联盟的交叉专利库作为后盾,几乎无法达成和解。由于微处理器实现相关的专利可能涉及微体系结构、电路和布图等多个层次,用开放的ISA并不能确保处理器产品不受专利诉讼威胁。老牌技术公司如IBM、Intel已经在微处理器设计实现的各个方面申请、购买和交叉授权了相当多的专利,并用增量设计延长SIMD指令字的打包等专利的时效。这也是为何ARM要联合Imagination联合收购MIPS专利的原因之一。6.RISC-V国内外标准情况截止2023年12月31日,RISC-V现有标准均由国际组织RISC-VInternational(RVI)发布。由于RISC-V指令集架构被定义为一个基础指令集和若干可选扩展指令集的组合,并在一种权限模式下进行工作,RVI发布标准包括指令集规范(表3.3和3.4)和非指令集规范(表3.5)两大类。当前已发布《RISC-V指令集手册第一卷:非特权指令集》(20191213版本)和《RISC-V指令集手册第二卷:特权架构》(20211203版本)包含目前主要基础指令集。截止至2023年12月,获得批准已经发布的指令集拓展规范28项(表3.4)。后续这些获得批准的拓展将合并进入RVI的正式发布规范。截止至2023年10月,RISC-V国际协会已经发布非指令集规范8项,优先解决软硬件编程接口、调试接口等生态建设的基础需求。1TheRISC-VInstructionSetManualVolumeI:UnprivilegedISA月2构TheRISC-VInstructionSetManualVolumeII:PrivilegedArchitecture月编号1RISC-V整数条件运算扩展RISC-VIntegerConditional(Zicond)operationsextension2新HardwareUpdatingofPTEA/DBits(Svadu)3VCycleandInstretPrivilegeModeFiltering(Smcntrpmf)4原子比较和交换指令AtomicCompare-and-Swap(CAS)Instructions(Zacas)5VCryptographyExtensionsVolumeII:VectorInstructions6展"Zfa"StandardExtensionforAditionalFloating-PointInstructions7VAdvancedInterruptArchitecture8“Zvfh/Zvfhmin:”VectorExtensionforHalfPointArithmetic/VectorExtensionforMinimalHalf-PrecisionFloating-PointArithmetic9TemporalLocalityHintsRISC-V特性RISC-VProfilesRISC-V代码尺寸缩减RISC-VCodeSizeReduction集RV32EandRV64EBaseIntegerInstructionSets展“Ztso”StandardExtensionforTotalStoreOrderingRISC-V等待保留集拓展RISC-VWaion-Reservation-Set(Zawrs)extensionZmmul扩展ZmulExtension强PMPEnhancementsformemoryaccessandexecutionpreventiononMachinemode(Smepmp)VBaseCacheManagementOperationISAExtensionsVBit-ManipulationISA-extensionsVCountOverflowandMode-BasedFilteringExtensionRISC-VCryptographyExtensionsVolumeI:Scalar&EntropySourceInstructionsRISC-V状态启用拓展RISC-VStateEnableExtensionV"stimecmp/vstimecmp"ExtensionVVectorExtensionTheRISC-VInstructionSetManualVolumeII:PrivilegedArchitecture"Zfh"and"Zfhmin"StandardExtensionsforHStandardExtensionsforFloating-PointinIntegerRegisters示“Zihintpause”PauseHint1EficientTraceforRISC-V2RISC-VABI规范RISC-VABIsSpecification3VAdvancedInterruptArchitecture4VExternalDebugSupport25范RISC-VIOMUArchitectureSpecification6RISC-VPlatform-LevelInterruptControllerSpecification7RISC-V二进制接口规范RISC-VSupervisorBinaryInterfaceSpecification8RISC-VUEFI协议规范RISC-VUEFIProtocolSpecification(2)国内标准现状面对RISC-V技术迅速发展和市场需求,国内也涌现出多个组织整合国内企业力量,推动RISC-V发展并与国际对接。其中有中国电子工业标准化技术协会RISC-V工作委员中国RISC-V产业联盟(CRVIC)等。(RVEI)会于2023年6月12日在北京成立,是由中国电子工业标准化技术协会牵头,联合上海海思、阿里达摩院、奕斯伟、中国移动、开源芯片研究院、中科院软件所、赛迪、电子一所、电子四院、电子五所等企事业单位共同发起组建的具有全国性、行业性、非营利性的社会团体。截止到2023年12月该组织已吸纳国内超过60家成员单位,并组织27位院士形成战略委员会指导工作。RISC-V工委会主要开展RISC-V产业领域的标准研制、符合性评估、知识产权保护、人才培养、产业研究等方面工作,引导国内RISC-V产业走向协同创新,形成产业合力,实现优势互补、资源共享、协同推进,共同营造产业良好生态环境,带动产业链高质量发展。中国开放指令生态(RISC-V)联盟(CRVA)旨在召集从事RISC-V指令集、架构、芯片、软件、整机应用等产业链各环节企事业单位及相关社会团体,自愿组成一个全国性、综合性、联合性、非营利性的社团组织。联盟由中科院计算所牵头,联合北京大学、清华大学、阿里-中天微、百度、中芯国际等近20家研究机构和企业于2018年共同发起成立,目前已有一批企业构建了开源芯片关键技术。中国开放指令生态(RISC-V)联盟自成立以来已举办多场RISC-V峰会和论坛,对推动产业发展、聚集产业资源、促进技术交流发挥影响和作用。中国RISC-V产业联盟(CRVIC)于2018年由芯原微电子(上海)股份有限公司牵头,联合君正、上海格易、复旦大学、同济大学等60余家企业高校以及华芯投资上海分公司、上海集成电路产业投资基金等投资机构共同发起成立。联盟致力于解决中国RISC-V领域共同面对的关键问题,建立RISC-V计算平台,促进形成贯穿IP核、芯片、软件、系统、应用等环节的RISC-V产业生态链。(3)国内标准发展情况国内RISC-V标准的发展与国外相比,主要体现为以下3个方面:我国拥有庞大应用市场,发展潜力巨大,标准化需求迫切。RISC-V是一种通用架构,适用于多个领域,从嵌入式系统到高性能计算。中国的市场规模巨大,涵盖了庞大的消费市场和工业市场。中国市场在各个领域都有强大的需求,RISC-V可以满足这些需求,包括物联网、人工智能、云计算等。随着RISC-V的日益普及,其生态系统正不断演变和丰富,包括硬件实现、编译器、操作系统等的发展。越来越多的公司和研究机构也开始投入资源,以推动RISC-V技术的创新和应用。随着时间的推移,RISC-V有望成为一种更加多样化和灵活的计算架构,服务于各种不同的市场和应用需求。与此同时,扩展指令集面临碎片化的风险,产品之间过度自定义开发,标准化程度不够,导致适配成本效率增加。亟需在产业发展初期建立相关标准,在一定范围开展研发工作,加强产品技术互通,消除企业间离散碎片的情况,降低研发成本,避免资源浪费。RISC-V作为继x86、Arm后开辟的新赛道,标准化工作均处于摸索阶段。一是RISC-V相对于传统的计算机体系结构如X86和Arm来说是一种相对年轻的架构。x86和ARM架构已经经历了几十年的发展和演化,而RISC-V出现相对较晚,需要时间来发展和积累更多的实践经验。二是标准化是一个复杂且漫长的过程。在国际上制定和采纳新的架构标准需要广泛的合作和协商,以确保互操作性和一致性。这方面的工作需要时间,各方需要解决技术和政治问题。三是RISC-V的灵活性使得不同公司和组织可以根据其需求自定义指令集和处理器。这导致了多样性和复杂性,不同实现可以具有不同的标准扩展或自定义指令,使得标准化工作更具挑战性。四是不同应用领域对架构的需求各不相同,RISC-V需要逐渐调整和完善以满足这些需求。这也需要时间来开发和测试适用于不同领域的标准,虽然RISC-V市场已初具规模,但仍需时间来检验标准的可行性。国内企业基本采用RVI发布的指令集标准,国内企业标准应用程度较高,但标准贡献程度较低。在RVI高级会员中,我国有12家企业参与其中,但由于多数国内企业参与国际标准制定经验较少。其中,阿里达摩院在RVI较为活跃,阿里巴巴玄铁RISC-V技术专家团队在RVI中8个技术委员会,30余个技术小组参与技术讨论、管理及方案制定等工作,在1个技术委员会及13个技术小组担任主席或副主席职位。在标准建设、指令集、软件、安全等多个技术方向,参与IOMMU、CMO、Matrix等技术标准制定。华为海思在RVI的董事会和技术指导委员会均占有一席之地,并且RVI在安全方面的横向委员会主席AndrewDellow也曾在海思长期任职,目前担任海思安全技术专家顾问。在RVI日常工作中,华为海思推动RVI安全工作组重组,并在芯片安全领域促进多项标准发布。(4)国内RISC-V标准发展趋势国内目前标准化工作处于起步阶段,骨干企业多以参与国外技术组织标准化工作为主。根据中国电子工业标准化技术协会RISC-V工作委员2024年标准工作计划,随着RISC-V发展和各个国家关注,一是紧跟国际标准化工作,根据产业成熟度不断固化完善指令集标准。以国际发布基础指令集ISA标准为主,以国内扩展集为辅,在行业起步阶段适当鼓励自主创新,同时与国际组织积极对接,不断丰富较为统一的自主指令集体系。二是利用测试评价标准化手段对RISC-V产品进行协调统一。在标准研制过程中侧重软硬件兼容性标准,以标准为牵引推动RISC-Vsystemready(类比ARMSystemReady,Armsystemready是一种标准认证测试,以一系列硬件和初步标准基础:基础系统架构(BSA)及基础启动需求(BBR)为规格,外加一系列的补充资料。确保后续软件层正常运行。标准认证测试系統符合SystemReady标准,进而确保操作系统(OS)和后续软件层正常运作)。协议、接口等兼容性技术突破,打通RISC-V产业上下游技术不兼容壁垒,进而将国内碎片化企业、技术和产品整合成统一协调的市场,形成国内自主的RISC-V标准体系。三是加快发展应用标准,围绕应用企业需求,推动标准从实际出发,促进标准应用落地。通过应用为牵引带动产业链上下游标准发展,推动标准体系进一步丰富并扩展至更多应用领域,为未来的计算领域带来更多可能性。(5)标准体系架构我国拥有庞大应用市场,RISC-V应用前景广阔,而国际标准则集中分布在指令集底层架构,并无针对产业链上下游的统一标准体系。因此,各企业之间亟需统一标准实现技术产品间相互兼容,打通上下游技术障碍。围绕RISC-V行业健康、统一发展的关键之举,国内RISC-V标准组织RVEI从行业应用、人才培养、安全可信、基础技术研究、符合性评估等几大维度系统构建体系框架(如图83)。其中基础技术标准由底层到顶层覆盖RISC-V芯片指令集、IP、基础软件到上层应用领域等几个层面,符合性评估和安全标准贯穿基础技术所有方面,满足RISC-V芯片研制过程中各企业在任何层级均能达到相互兼容和安全的需求,从而构建一个统一、健康的标准生态环境。同时,评测工具的标准和人才培养相关工作的开展将为产业和上层标准工作提供工具支撑和人才储备。(三)基于RISC-V架构芯片的发展情况现状1.Occamy2023年5月9日,由欧洲航天局支持,由苏黎世联邦理工学院和博洛尼亚大学的工程师开发的Occamy处理器已宣布流片。OccamyCPU主要作为欧空局EuPilot计划的一部分进行开发,是欧洲航天局正在考虑用于航天计算的芯片之一。OccamyCPU是AdaptevaEpiphany处理器系列的最新版本,采用了28nm工艺,拥有432个可编程的RISC-V处理核心。OccamyCPU可提供0.75FP64TFLOPS的性能和6FP8TFLOPS算力。OccamyCPU采用Chiplet设计,后续还可以在封装中添加其他小芯片,以在需要时加速某些工作负载。据悉,OccamyCPU可以在FPGA上进行仿真运算,该实现已在两个AMDXilinxVirtexUltraScale+HBMFPGA和VirtexUltraScale+VCU1525FPGA上进行了测试。2.MTIA2023年5月18日,Meta官宣了自研AI运算芯片项目—MTIA,全称为“MetaTrainingandInferenceAccelerator”(Meta训练和推理加速器此外还有人工智能运算领域的多项进展和计划。MTIA项目的首款芯片MTIAv1于2020年便开始设计,目前已有成品应用。这种定制芯片采用开源芯片架构RISC-V,在类型上属于ASIC专用集成电路,Meta进行了高度定制化的设计。2023年7月,在DAC2023上,Meta的ASIC工程经理HimanshuSanghavi谈到Meta正在使用RISC-V开展的各种项目。他表示Meta团队正在开发基于RISC-V的ASIC芯片,用于视频转码以及机器学习应用,以及在数据中心运行一些计算最密集的工作负载。HimanshuSanghavi表示,大约四年前,当Meta开始这项工作时评估了多种不同的处理器架构,决定对这些SoC的一些关键插槽采用RISC-V。这一选择的驱动因素是RISC-V是一种开放架构,并且已经有多个处理器IP供应商实现了该架构。3.R9A02G202023年9月,Renesas宣布推出专为先进电机控制系统优化的RISC-VMCU——R9A02G020,用户无需投入开发成本,即可受益于电机控制应用的即用型交钥匙解决方案。借助预编程的专用标准产品,用户可以缩短上市时间并降低成本,节省RISC-V相关的工具及软件投资。其目标应用包括家居/楼宇自动化、医疗保健设备、家用电器、无人机等。Renesas推出的R9A02G020是基于AndesRISC-V处理IP而构建的电机控制专用标准产品。产品预编程了由独立设计公司BFGEngineering和DigiPower(HK)Technology开发的专业应用代码。其中,BFG以缩短客户电机启动时间的无传感器算法而闻名;DigiPower自2008年以来持续推出成本优化、可扩展的电机驱动解决方案,并设计了用于控制冰箱压缩机、风扇、泵等专用解决方案。此外,SEGGERMicrocontrollerGmbH也参与了此项工作,提供了EmbeddedStudio和J-Link在内的完整SEGGER生态系统,用于创建和测试这些电机控制解决方案。4.VeyronV22023年11月,RISC-V服务器芯片设计厂商Ventana发布了其第二代服务器CPU——VeyronV2,应用于从汽车、边缘计算,到数据中心、人工智能/机器学习和超大规模器等应用领域中。Ventana表示其性能已超越了x86高端服务器芯片,在其前身VeyronV1的基础上进行了重大升级,专为服务器/数据中心级应用而设计。在核心配置方面,VeyronV2基于台积电4nm工艺,8流水线设计,支持乱序执行,主频高达3.6GHz,单个集群内核数量32个,多集群最多可扩展至192核。缓存的大小为每个核心1MB二级缓存,以及128MB的共享集群级三级缓存。VeyronV2专注于Chiplet互联标准和领域特定加速,其处理器采用Chiplet设计,配备IO集线器和加速器,并采用Chiplet互联标准以实现每个插槽192个内核。VeyronV2在性能方面进行了提升,拥有32个核心和高达128MB的L3缓存,实现了AMBACHI,这是ArmCPU中常见的特性。在缓存方面,每个32个核心的集群都构建在一个Chiplet上,连接到一个IO集线器。Ventana通过支持RAS(计算机系统可靠性、可用性和可服务性三项技术的总称包括校验纠错能力和数据中毒等功能,进一步提高了处理器的可靠性。

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论