RISC-V体系结构

体系结构

执行环境接口

执行环境接口( Execution Environment Interface EEI )是RISC-V 定义处理器 和操作系统 之间的交互方式,它规定了如何加载和执行RISC-V二进制代码,以及如何访问控制和系统资源。

指令集分类

Privileged Architecture (特权指令)

用于操作系统内核 和处理器 之间的交互,定义了一组特权指令和异常处理机制。

User Level ISA (用户指令)

用于应用程序 和处理器 之间的交互,定义了一组用户态指令和系统调用指令

Memory Model (内存指令)

用于定义内存一致性 和原子访问操作等方面的指令

调用规范

ABI

ABI 全称**"Application Binary Interface"(二进制应用程序接口)** ,ABI是一个约定接口 ,ABI用于规范应用层 之间的调用关系 :比如函数调用 ,动态库调用 ,ABI 一般是由硬件平台、操作系统、编译器、开发者 多方共同进行约定 的,在编译应用程序 时编译器会遵守 目标平台的ABI约定 来生成对应的汇编代码。

简单点来说就是编译器 会遵守目标平台 的ABI规则 来规范函数调用时的堆栈保护 ,参数传递使用寄存器 ,返回值使用寄存器等。

ABI保证了二进制应用程序之间的互通性 ,例如JAVA 程序可以去调用C语言 程序,Python 可以调用C++ 程序,亦或者JAVASCRITE 调用C语言 程序。因为ABI 保证了每个语言 之间的函数调用 时的统一性 ,例如A语言 的函数调用 时参数传递使用的是寄存器 ,而B语言 使用的是堆栈 ,那么两个语言编译出来的程序是不能相互调用 二进制接口的,因为它们的函数约定不同 在调用时会出现异常情况。

所有应用程序遵守ABI 所定制的函数调用约定 有了统一性那么相互之间就可以调用。

SBI

SBI 全称**"Supervisor Binary Interface"(超级用户二进制接口)** ,SBI 是RISC-V 架构的一个重要组成部分 ,它是RISC-V 特有的服务 ,它用于规定低级特权模式 向高级特权模式 访问的规范 ,与ABI 类似,在RISC-V 中ABI 规范了应用层的编程规范 ,而SBI 规范了应用层向内核 或内核向固件 之间调用的二进制接口规范。

SBI限定了不同特权模式下对寄存器 、某些地址 的访问、禁止对某些中断 的操作,这样做的目的可以有效将不同特权完全分隔开,可以保证安全性。

相关推荐
国科安芯1 天前
商业立方星平台中高集成度抗辐射MCU的功耗优化与批量化应用可行性探讨
单片机·嵌入式硬件·架构·risc-v·抗辐射·as32x601
RISCV_Explorer3 天前
RISC-V RVV向量性能调优实战——LMUL与SEW参数选型、访存瓶颈判断与微基准方法
risc-v
国科安芯6 天前
星载通信载荷信号处理中抗辐射微控制器的选型与适应性分析
人工智能·嵌入式硬件·mcu·信号处理·risc-v·抗辐射·空间信息
RISCV_Explorer6 天前
RISC-V RVV向量编程模型机制解析——vsetvl配置、掩码与尾元素策略及长度无关编程
后端·risc-v
RISCV_Explorer6 天前
RISC-V电源管理与低功耗实战——WFI指令、电源域划分与唤醒路径设计
单片机·嵌入式硬件·risc-v
ChipCamp7 天前
Spike-pk在RISC-V RTL开发验证中的应用:黄金参考基准
risc-v·spike·difftest·co-simulation·spike-pk·riscv-pk
Hi202402177 天前
Vortex CUDA 生态适配:让 CUDA C、CUTLASS 与 Triton 在 RISC-V GPGPU 上运行
人工智能·risc-v·gpgpu
国科安芯7 天前
用 AS32X601 做一块关节电机驱动板:三相桥、电流采样、封波保护、FOC 代码一次讲透
risc-v·foc·bldc·关节电机·机器人关节·as32x601·三相逆变桥
硅基手札8 天前
【risc-v专栏 07】启动与 bare-metal 流程
risc-v
硅基手札8 天前
【risc-v专栏 08】扩展生态与 -march/-mabi 匹配
risc-v