第4章指令系统

4.1指令系统

1.指令集体系结构ISA

2.指令的基本格式

零地址,一地址,二地址,三地址

3.定长操作码指令

4.扩展操作码指令

(1)不允许短码是长码的前缀

(2)各指令的操作码一定不能重复

计算题考点:设地址长度为n,上一层留m种用于扩展,下一层可扩展m*2^n^

5.指令的操作类型

(1)数据传送类

(2)运算类->算数和逻辑运算,移位操作

(3)程序控制类:转移操作

中断隐指令是硬件完成的,不属于程序控制指令

(4)输入和输出操作

4.2指令的寻址方式

1.指令寻址

确定下一条指令存放的地址,由PC指明

(1)顺序寻址 PC=PC+“1“,1为一个指令字长

(2)跳跃寻址 ,执行转移类指令时,PC的值被修改

2.数据寻址

表格中访存次数不包含取指的访存

寻址方式 有效地址 访存次数
隐含寻址 程序指定 0
立即寻址 A即是操作数 0
直接寻址 EA=A 1
一次间接寻址 EA=(A) 2
N次间接寻址 EA=(((A))) N+1
寄存器寻址 EA=Ri 0
寄存器间接一次寻址 EA=(Ri) 1
相对寻址 EA=PC+A 1
基址寻址 EA=(BR)+A 1
变址寻址 EA=(IX)+A 1
堆栈寻址 硬堆栈(寄存器) 0
堆栈寻址 软堆栈(主存) 1
寻址方式 知识点
立即寻址 指令执行期间不访存
隐含寻址 有效缩短指令字长
变址寻址 解决数组问题(A不可变,IX可变,面向用户)
基址寻址 多道程序设计数据分配存储空间(BR不可变,A可变,面向系统)
相对寻址 便于程序浮动

4.4 CISC和RISC

复杂指令系统CISC

精简指令系统RISC

CISC和RISC的对比

CISC RISC
指令系统 复杂庞大 简单,精简
指令数目 一般大于200条 一般小于100条
指令字长 不固定 定长
可访存指令 不加限制 只有LOAD/STORE指令
各种指令执行时间 相差较大 绝大多数一个周期内完成
各种指令使用频度 相差较大 都比较常用
通用寄存器数量
目标代码 难以用优化编译生成 优化的编译程序,生成代码高效
控制方式(绝大多数) 微程序控制 组合逻辑
指令流水线 非必须 必须