Design of the RISC-V Instruction Set Architecture笔记(chapter3)
- The guiding principle in defining RISC-V was to make an ISA suitable for nearly any computing device
- RISC-V不应该针对于任何特定的微体系结构模式,结构实现进行over-architected(过度的结构设计)
- RISC-V应该开放,可以免费实现,从而使得它无处不在,更加广泛。如果学术界和工业界共享共同的标准和实现,那么学术与工业互动的障碍就会降低。
- 为了使得RISC-V有更广的可用性,在设计ISA之前,需要设定一些目标:
- 将ISA分为一个小的基本集和可选的扩展集
- 同时支持32和64地址空间,同时也定义了128位的地址空间
- 促进自定义ISA扩展,包括紧密耦合的功能单元和松散耦合的协处理器
- 支持变长指令集扩展
- 为现代标准提供高效的硬件支持,包括IEEE-754浮点标准,和C11,C++11
- 用户ISA和特权架构完全不相关,正交。支持全虚拟化,
- RV32I is the base 32-bit integer ISA。
- 包含47条指令,但它足以形成编译器目标并满足现代操作系统和运行时的基本要求
- 其中8条指令是系统指令,包括系统调用和性能计数器
- 编码特征:寄存器区分