指令格式
指令的基本格式
- 操作码(OP)+ 地址码
- 零地址指令:空操作、停机、关中断
- 一地址指令:OP(A1)→A1 或 (ACC) OP(A1)→ACC(隐含 ACC)
- 二地址指令:(A1) OP(A2)→A1
- 三地址指令:(A1) OP(A2)→A3
- 四地址指令:含下一条指令地址
定长操作码指令格式
- 操作码位数固定,位于指令字高位
- 译码简单,但信息利用率低
扩展操作码指令格式
- 操作码位数不固定,根据地址码数量分配
- 短操作码留给地址数少的指令(如零地址、一地址指令)
- 典型:4-8-12 扩展或 3-6-9 扩展
指令的操作类型
- 数据传送:寄存器间、寄存器与主存间数据传送
- 算术和逻辑运算
- 移位指令
- 转移操作:无条件转移、条件转移、调用、返回
- 输入输出指令
寻址方式
指令寻址
数据寻址
| 寻址方式 | 有效地址 | 特点 |
|---|
| 隐含寻址 | 操作数地址隐含 | 减少地址码位数 |
| 直接寻址 | EA = A | 访存 1 次,A 即操作数地址 |
| 间接寻址 | EA = (A) | 访存 2 次,扩大寻址范围 |
| 寄存器寻址 | EA = Ri | 不访存,速度快 |
| 寄存器间接寻址 | EA = (Ri) | 访存 1 次 |
| 相对寻址 | EA = (PC) + A | 用于转移指令 |
| 基址寻址 | EA = (BR) + A | 面向操作系统,多道程序 |
| 变址寻址 | EA = (IX) + A | 面向用户,循环程序 |
| 堆栈寻址 | EA = (SP) | 硬堆栈/软堆栈 |
CISC 和 RISC 的基本概念
CISC 复杂指令系统计算机
- 指令数量多、寻址方式多
- 指令长度不固定,指令周期差异大
- 微程序控制器为主
- 编译器设计相对简单
RISC 精简指令系统计算机
- 指令数量少、寻址方式少
- 指令长度固定、格式规整
- Load/Store 架构:只有 Load/Store 指令访问存储器
- 硬布线控制器为主(速度快)
- 通用寄存器数量多
- 有利于指令流水线实现
- 编译器设计复杂