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编译器得知当前硬件包含哪些扩展后,便可以生成当前硬件条件下的最佳代码。 |