RISC-V
计算机系统组成原理

- 冯诺伊曼架构:将指令和数据不加区别地存储在存储器中,由同一个总线传输。
- 哈佛架构:将程序指令和数据分开存储。


ISA:底层硬件电路面向上层软件程序提供的一层接口规范
IBM 360是第一个将ISA与其实现分离的计算机。
ISA(处理器)的宽度指的是CPU中通用寄存器的宽度,决定寻址范围大小,这里要跟指令长度进行区分。
定义:
- 基本数据类型
- 寄存器
- 指令
- 寻址模式
- 异常或者中断的处理方式
RISC-V
(gnu RISCV汇编器)一个完整的RISC-V汇编程序有多条语句(statement)组成。
典型的RISC-V汇编语句由三部分组成:
1 | |
Operation可以由一下多种类型:
- instruction(指令): 直接对应二进制机器指令的字符串
- pseudo-instruction(伪指令):用一条伪指令指示汇编器产生多条实际指令
- macro(宏):采用.macro/.endm自定义的宏
- directive(指示/伪操作):通过类似指令的形式,通知汇编器如何控制代码产生
汇编指令操作对象
寄存器
- 32个通用寄存器,x0~x31
- 在RISC-V中,Hart在执行算数逻辑运算时所操作的数据必须直接来自寄存器
内存
- Hart可以执行在寄存器和内存之间的数据读写操作
- 读写操作使用字节(Byte)为基本单位进行寻址
- RV32可以访问最多2^32个字节的内存空间
指令编码格式








寻址模式

函数调用约定

C函数嵌入RISC-V汇编
1 | |
现代操作系统分类

实时操作系统RvOS
UART
内存管理
- 自动管理内存 - 栈(stack)
- 静态内存 - 全局变量/静态变量
- 动态管理内存 - 堆
链接器脚本:gcc -T os.ld
[doc](https://sourceware.org/binutils/docs/ld/Script
s.html#Scripts)
1 | |
基于Page实现动态内存分配
上下文切换和协作式多任务
RISC-V
https://47.108.189.123/2026/06/22/实习经历/毕业实习-2026/RISC-V/
