加载中
  • 一、RISC-V动态跟踪及历史发展情况[下载↓]

    RISC-V(简称ISA,instruction set architecture)是加州大学伯克利分校(UC Berkeley)设计并发布的一种开源指令集架构,其目标是成为指令集架构领域的Linux,应用覆盖IOT(Internet of Things)设备、桌面计算机、高性能计算机等众多领域。

  • 当前指令集架构存在的一些问题,是RISC-V产生的原因:

    绝大多数指令集架构都是受专利保护的,限制了竞争的同时也扼制了创新。(可归纳为专利保护性)

    当前的指令集架构都比较复杂,不适合学术研究,而且很多复杂性是因为一些不合理的设计或者背负历史包袱所带来的。(可归纳为复杂性)

    当前的指令集架构都是针对某一领域的,为此对应的指令集架构针对该领域做了大量的领域特定优化,缺乏一个统一的架构可以适用多个领域。(可归纳为针对性)

    商业的指令集架构容易受企业发展状况的影响,比如:Alpha架构就随着DEC公司的被收购而几近消失。(同企业发展关联性强)

    当前已有的各种指令集架构不便于针对特定的应用进行自定义扩展。(可扩展性差)

  • 在第4届Risc-v专题研讨会上宣布成立了Risc-v基金会,Risc-v即将进入一个快速发展的阶段。

    有若干成熟的、可商业化的、采用Risc-v架构的芯片问世,并得到大规模应用;

    性能逼近主流桌面处理器;

    主流处理器与采用Risc-v架构的开源处理器组成的异构系统;(异构系统的形成)

    移植到Risc-v架构的操作系统更加稳定可靠;

    采用上百个简单Risc-v核的多核并行计算;

    计算机教学中采用Risc-v作为范例教学;

    调试功能得到进一步加强。

  • RISC-V的最终目标

    将ISA打造成完全开放的指令集架构,免费提供给学术界和工业界。

    能够适合直接在硬件上实现。

    避免对某一种微体系结构风格或者实现技术“过度体系结构化(over-architecting)”的ISA,但是也能够高效地利用任何一种技术实现。

    支持通用的软件开发

    ISA支持丰富的用户级ISA扩展和各种特殊的变种。

    对应用程序、操作系统内核、硬件实现的32位、64位地址空间变种。

    ISA支持高度并行的多核、众核实现,包括异构多处理器等。

    可选的变长指令,支持扩展可用的指令编码空间、支持一个可选的密集指令编码,以提高性能、静态代码大小和能耗效率。

    一个可完全虚拟化的ISA,以简化虚拟机监督管理器(Hypervisor)的开发。

    ISA支持新的管理员级(supervisor-level)和虚拟机监督管理级(hypervisor-level)ISA设计。

  • 三 RISC-V相关技术文档[下载↓]
  • 1 RV32I基本整数指令集

    1.1基本整数子集的程序员模型

    1.2基本指令格式

    1.3立即数编码变种

    1.4整数计算指令

    1.5控制转移指令

    1.6 Load和store指令

    1.7 存储器模型

    1.8 控制和状态寄存器指令

  • 2 RV32E、RV64I、RV128I基本整数指令集

    由于飞利信参照开源指令集Rv32IMC进行MCU芯片研发,其他指令集技术文档不作具体翻译,如有需要,详见https://riscv.org/specifications/ Chapter 3-5。

  • 四 RISC-V知识产权使用说明[下载↓]

    BSD许可证是一个自由软件许可协议,对使用和重新分发软件施加最小的限制。这和版权许可证形成鲜明对比,达到互惠互利共享的要求。最初的BSD许可协议是用于其同名Berkeley Software stribution(BSD)类unix操作系统。最初的版本已经修改,修改后的BSD许可证在今天广泛使用,类似于最初BSD许可证版本。BSD许可证是一个简单的许可,只需要在BSD许可下以源代码格式重新分发所有代码。

  • 五 飞利信MCU芯片遵循的开源指令集Rv32IMC标准特点中文介绍[下载↓]

    标准ISA扩展是由单个字母构成的名字。例如,基本整数核心的最前面4个标准扩展是:“M”表示整数乘法和除法,“A”表示原子性存储器指令,“F”表示单精度浮点指令,“D”表示双精度浮点指令。任何RISC-V指令集变种,都可以简洁地通过将基本整数前缀和所包含的扩展连接起来描述。例如,“RV64IMAFD”。RISC-V ISA标准扩展使用了其他的保留字母,例如“Q”表示四精度浮点,“C”表示16位压缩指令格式。

    Rv32IMC是Risc-v ISA的重要变体之一,BottleRocket在GitHub 进行了RV32IMC微处理器的开源实现。