【RISC-V CPU Debug 专栏 1 -- RISCV 相关文档的区别与联系】

文章目录

    • Overview
    • [1. Ratified ISA Specifications(已批准的 ISA 规范)](#1. Ratified ISA Specifications(已批准的 ISA 规范))
    • [2. Ratified Profiles Specification(已批准的配置文件规范)](#2. Ratified Profiles Specification(已批准的配置文件规范))
    • [3. Ratified Non-ISA Specifications(已批准的非 ISA 规范)](#3. Ratified Non-ISA Specifications(已批准的非 ISA 规范))
      • 定义
      • [常见 Non-ISA 规范](#常见 Non-ISA 规范)
      • 示例
        • [调试规范(Debug Spec)](#调试规范(Debug Spec))
    • [4. 三者的联系](#4. 三者的联系)
    • [5. 结论](#5. 结论)

Overview

--》RISCV 文档链接 《--

本文将详细介绍 RISCV 下面三个文档 三者之间的区别与联系

Ratified ISA Specifications

Ratified Profiles Specification

Ratified Non-ISA Specifications

在 RISC-V 生态系统中,RISC-V 文档通常分为三大类,分别是:

  1. Ratified ISA Specifications(已正式批准的 ISA 规范)

  2. Ratified Profiles Specification(已正式批准的 配置文件规范)

  3. Ratified Non-ISA Specifications(已正式批准的 非 ISA 规范)

这些文档 相互关联但侧重点不同,它们共同定义了 RISC-V 的架构标准,使其具备良好的兼容性和可扩展性。

1. Ratified ISA Specifications(已批准的 ISA 规范)

定义

  • ISA(指令集架构) 是 RISC-V 体系结构的核心部分,定义了指令集、寄存器和执行行为等基本内容。

  • 这部分文档由 RISC-V International 组织批准(Ratified),是 处理器实现的基础

内容

  • 基础 ISA

    • RV32I / RV64I / RV128I (基本整数指令集)
  • 标准扩展

    • M(整数乘除)

    • A(原子指令)

    • F / D(单精度 / 双精度浮点)

    • C(压缩指令)

    • V(向量指令)

    • Zicsr(CSR 访问指令)

  • 特权架构

    • 定义不同模式(U/S/M),控制寄存器(CSR),异常处理等内容。

示例

assembly 复制代码
# RISC-V 基础整数运算
add x1, x2, x3   # x1 = x2 + x3
lw  x5, 0(x10)   # 从内存加载 32 位数据到 x5

2. Ratified Profiles Specification(已批准的配置文件规范)

定义

  • Profiles(配置文件) 定义了 RISC-V 处理器应实现的最低 ISA 组合 ,以确保不同处理器的 软件兼容性

  • 通过 限定 ISA 组合,避免厂商各自扩展导致碎片化。

常见 Profile

  • RVA20(应用级 64 位)

    • 包含RV64I + M + A + F + D + C + Zicsr + Zifencei

    • 目标:运行 Linux 操作系统的通用计算芯片。

  • RVM20(微控制器 32 位)

    • 包含RV32I + M + C

    • 目标:嵌入式设备,资源受限的微控制器。

示例

假设有两个 RISC-V 处理器:

  1. 处理器 A 支持 RV64I + M + A + F + D + C

  2. 处理器 B 仅支持 RV64I + M

如果我们要 运行 Linux ,按照 Profile 规范,处理器 B不符合 RVA20 要求,因为它缺少 A(原子)F(浮点)D(双精度) 等扩展。

3. Ratified Non-ISA Specifications(已批准的非 ISA 规范)

定义

  • Non-ISA 规范 不涉及 CPU 指令集 ,而是 RISC-V 生态系统相关标准

  • 这些标准有助于 软件、调试、存储器接口、芯片互连等领域的发展。

常见 Non-ISA 规范

  • 调试标准(Debug Spec)

    • 定义了 RISC-V 处理器的调试接口,例如 JTAG、调试寄存器(dmcontrol)。
  • 向量寄存器 ABI(Vector Calling Convention)

    • 定义如何在 RVV(RISC-V 向量扩展)环境下传递参数和返回值。
  • 设备树(Device Tree Spec)

    • 描述 RISC-V 处理器的硬件信息,帮助操作系统初始化。

示例

调试规范(Debug Spec)
assembly 复制代码
csrr x1, dpc   # 读取 Debug PC(异常返回地址)
csrw dcsr, x2  # 写入 Debug 控制状态寄存器

4. 三者的联系

总结

规范类型 主要作用 主要内容 示例
Ratified ISA Specifications 规定 RISC-V 指令集 RV64I, M, F, D, C, V add x1, x2, x3
Ratified Profiles Specification 确保不同处理器的软件兼容性 RVA20, RVM20 RV64I + M + A + F + D + C
Ratified Non-ISA Specifications 定义调试、软件、互连等生态标准 调试, 设备树, 存储器模型 csrr x1, dpc

示例联系

假设我们有一个 运行 Linux 的 RISC-V64 处理器

  1. ISA 规范 决定了 CPU 支持哪些指令 (如 RV64I + M + A + F + D + C)。

  2. Profile 规范 确保 软件能兼容不同 RISC-V 处理器 (如 RVA20)。

  3. Non-ISA 规范 定义 如何调试、如何管理设备、如何进行 I/O 访问 (如 Debug Spec)。

5. 结论

  • ISA 规范RISC-V 处理器的核心标准 ,定义 指令集

  • Profile 规范 确保 不同 RISC-V 处理器具有软件兼容性,避免碎片化。

  • Non-ISA 规范 规定 生态相关标准 ,如 调试、存储、芯片互连

🚀 RISC-V 的三大规范紧密关联,共同推动 RISC-V 生态系统发展!

相关推荐
Hug Freedom.4 天前
RISC-V AIA学习3---APLIC 第一部分
学习·risc-v
国科安芯4 天前
国产RISC-V车规芯片当前现状分析——从市场与技术角度出发
网络·人工智能·嵌入式硬件·架构·汽车·risc-v
Hug Freedom.4 天前
RISC-V AIA学习3---APLIC 第二部分(APLIC 中断域的内存映射控制区域)
学习·risc-v
Hug Freedom.4 天前
RISC-V AIA学习3---APLIC第三部分
学习·risc-v
Hug Freedom.6 天前
CHI协议——retry
开发语言·前端·硬件工程·risc-v
Jason_zhao_MR7 天前
国产开发板—米尔全志T113-i如何实现ARM+RISC-V+DSP协同计算?
arm开发·嵌入式硬件·mcu·嵌入式·risc-v
易板9 天前
CH32V208蓝牙内部带运放32位RISC-V工业级微控制器CH32V208CBU6、CH32V208GBU6开发板原理图和PCB
单片机·蓝牙·risc-v·开发板
海涛高软14 天前
opencv 中 phaseCorrelate 方法融合图像拼接
risc-v
黄交大彭于晏14 天前
risc_v_boot - RISC-V 的引导是什么样的?
驱动开发·risc-v