软件与硬件之间的分野,可见于开发者的编程界面
Classification
如今几乎所有指令集架构都被归类为通用寄存器架构,其中操作数要么是寄存器,要么是内存地址。
- register-memory ISA, such as the x86: access memory as part of many instructions
- load-store ISA, such as ARMv8 and RISC-V: access memory only with load or store instructions. All ISAs announced since 1985 are load-store.
寻址
几乎所有ISA(包括x86、ARMv8和RISC-V)都使用字节寻址来访问内存操作数。某些架构(如ARMv8)要求对象必须对齐。x86 和 RISC-V 不要求对齐,但如果操作数对齐,访问通常更快。
编码
编码有两种基本选择:固定长度和可变长度。x86 采用可变长度编码,RISC-V 和 ARM 为固定长度。