指令:计算机的语言
存储程序:指令与多种类型的数据不加区别地存储在存储器中并因此已于更改,因此产生了存储程序计算机
计算机硬件的操作
- 操作数数量可变的硬件比固定数量的硬件更复杂->简单源于规整
[!note] 硬件设计的基本原则: - 简单源于规整 - 更少则更快
计算机硬件的操作数
- 与高级语言程序不同,算术指令的操作数必须取自寄存器
- 但寄存器数量有限并内建与硬件的特殊位置
- 在RISC-V中寄存器通常为32个->更少则更快
存储器操作数
- 数据传输指令:在内存和寄存器之间传输数据的指令
- 载入指令(load):从内存复制到寄存器
- 存储指令(store):从寄存器赋值数据到内存
[!attention] 在许多体系结构中,字的起始地址必须是4的倍数,双字的起始地址必须是8的倍数。称为对齐限制。
[!note] 将不常用的变量存放到内存的过程称为寄存器换出
[!note] 编译器必须有效使用寄存器,以此提高程序的运行效率
常数或立即数操作数
- 使用常数来避免使用加载指令
addi
是大多数RISC-V程序中最常用的指令