risc-v是什么意思
RISC-V是一种指令集
RISC-V,一般被念做:risk five。V,即罗马数字5。该指令集是RISC系列指令集的第五代产品。
RISC-V是一种基于“精简指令集(RISC)”原则的开源指令集架构。
指令集:存储在CPU内部,引导CPU进行运算,并帮助CPU更高效运行,介于软件和底层硬件之间的一套程序指令合集。
RISC-V的历史
RISC-V的作者David Patterson 在加州大学伯克利分校担任计算机科学教授 40 年后于 2016 年退休,随后加入 Google
担任杰出工程师(distinguished engineer, Google 的职位)。
早期指令集的设计分为 CISC 和 RISC 两种风格,分别为复杂指令集计算机和精简指令集计算机,前者以Intel,AMD的 x86 系列 cpu
为代表,后者以MIPS,ARM等为代表。
在 20 世纪80 年代,David Patterson领导了四代精简指令集计算机(RISC, Reduced Instruction Set
Computer)项目,伯克利最新的 RISC 因此得名“RISC Five”。
RISC-V指令集的设计思想
RISC-V 的目标是成为一个通用的指令集架构(ISA)。
它要能适应包括从最袖珍的嵌入式控制器,到最快的高性能计算机等各种规模的处理器。
它应该能兼容各种流行的软件栈和编程语言。
它应该适应所有实现技术,包括现场可编程门阵列(FPGA)、 专用集成电路(ASIC)、 全定制芯片, 甚至未来的设备技术。
它应该对所有微体系结构样式都有效:例如微编码或硬连线控制;顺序或乱序执行流水线; 单发射或超标量等等。
它应该支持广泛的专业化,成为定制加速器的基础,因为随着摩尔定律的消退,加速器的重要性日益提高。
它应该是稳定的,基础的指令集架构不应该改变。更重要的是,它不能像以前的专有指令集架构一样被弃用,例如AMD Am29000、 Digital
Alpha、 Digital VAX、Hewlett Packard PA-RISC、 Intel i860、 Intel i960、 Motorola
88000、以及ZilogZ8000。得益于RISC-V诞生的较晚,其设计可以借鉴诸多优秀先例,具有后发优势。同时RISC-V是一个开源的指令集架构,它属于一个开放的、非营利性质的基金会,而基金会将谨慎地发展和维护这个开源的指令集架构。
计算机体系结构的传统方法是增量ISA,新处理器不仅必须实现新的ISA扩展,还必须实现过去的所有扩展。
RISC-V的特殊之处在于他使用模块化的ISA。
所谓模块化ISA,RISC-V的核心是一个名为RV32I的基础ISA,运行一个完整的软件栈。RV32I是固定的,永远不会改变。这为编译器编写者,操作系统开发人员和汇编语言程序员提供了稳定的目标。RISC-V还提供一些其他的标准扩展指令集,根据应用程序的需要,硬件可以可选的包含这些扩展。RISC-V编译器得知当前硬件包含哪些扩展后,便可以生成当前硬件条件下的最佳代码。
RISC-V诞生的背景
ISA霸权
微处理器的开放指令集有望重塑计算,并引入新的、更强大的功能。
现代计算机依靠许多元件来提供高速和高性能,但是很少有比一台精简的指令集计算机(通常称为RISC)发挥更大作用的了。尽管指令集体系结构(ISA)具有不同的形状和形式-并且它支持多种系统和设备-但存在一个共同点,与复合指令集计算机(CISC)相比,RISC允许微处理器以更少的每指令周期(CPI)运行。
当然,ISA是计算的核心。加州大学伯克利分校计算机科学教授、ACM A.M.图灵奖获得者戴夫·帕特森(Dave
Patterson)说:“这是允许硬件和软件进行通信的基本词汇,他差不多算是创造了这个术语,并开发了早期的RISC计算模型。在过去的几十年里,英特尔和ARM这两大实体基本上控制了ISA。他们的专利微处理器可以从笔记本电脑到云服务器,从智能手机到物联网(IoT)设备的所有设备运行。如今,很难找到没有英特尔或ARM处理器的计算设备。