总结

【组成原理】指令系统

指令格式

1.指令

指令字长和机器字长没有必然的联系。

操作码 地址码

零地址指令: 不需要操作数或者堆栈问题。
一地址指令: 自操作或者ACC。
二地址指令: a = a + b。
三地址指令: c = a + b。
四地址指令: c = a + b , next。
 

2.定长操作码

最高位部分分配若干定长表示操作码。
 

3.扩展操作码

每层留一条作为扩展指令。
要求: 短不能和长前面的一致;每个操作码也不能一致;高频短,低频长。
 
 

指令寻址方式

1.指令寻址

顺序(PC + 1),跳跃(PC + x,下一节点依旧由PC给出)。
 

2.数据寻址

1.隐函寻址: 不明显给出,一地址指令的ACC不必显出地址。
2.立即寻址: 访问即内容,而非地址,所以很短。(补码存放)
3.直接寻址: 访问即(主存)真实地址。
4.间接寻址: 访问,访问,再访问。
5.寄存器寻址: 访问(寄存器)即内容。
6.寄存器间接寻址: 访问寄存器内容,得主存地址,再访问主存得内容。
7.相对寻址: EA = (PC) + A,PC课浮动变化。
8.基址寻址: EA = (BR) + A,操作系统控制,浮动程序。(A是活动的)
9.变址寻址: EA = ( IX ) + A,面向用户控制,循环程序。(IX是活动的)
10.堆栈寻址: 硬堆(寄存器),软堆(主存中画出一部分),SP可以自增,所以多为零地址指令。
 
 

Complex & Reduced Instruction Set Computer

对比 CIRC(X86编程) RISC(ARM编程)
指令系统 复杂,大 精简,简单
指令数目 >200 < 100
指令字长 不固定 固定
访存指令 不限制 Load/Store
指令执行时间 差距大 差距小
使用频度
寄存器数量
目标代码(相对于) 困难,低效 优化,高效
控制方式 微程序 组合逻辑
流水线 一定方式 实现,一个时钟周期

相关文章: