【组成原理】指令系统

总结

指令系统知识图

指令格式

1.指令

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

操作码地址码

零地址指令: 不需要操作数或者堆栈问题。
一地址指令: 自操作或者ACC。
二地址指令: a = a + b。
三地址指令: c = a + b。
四地址指令: c = a + b , next。
遇到的问题:
通用寄存器的个数: 查看寄存器有几个,Rn。
字长,字,字节,位的关系:
字和字节本身没有关系,根据计算机标准来走。例如:16位机器:机器字长 = 字= 16位;

名称英文解释
就是机器字长
字节Byte1Byte = 8 bit
bit1Byte = 8 bit

 

2.定长操作码

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

3.扩展操作码

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

指令寻址方式

1.指令寻址

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

2.数据寻址

操作有效地址访存次数细节问题
隐函寻址程序给出0ACC不显出地址
立即寻址访问即操作数0补码存放,定长最快
直接寻址EA = A1访问即地址
间接寻址EA = A2访问,访问,再访问
寄存器寻址EA = R0访问即内容,变地址寻址最快
寄存器间接EA = ( R )1寄存器存着地址,再访问主存
相对寻址EA = (PC) + A1PC浮动变化,PC的值即是PC内的值
基质寻址EA = (BR) + A1OS管理,A浮动
变址寻址EA = (IX) + A1用户管理,IX浮动

补充遇到的问题:
堆栈寻址: 硬堆(寄存器),软堆(主存中画出一部分),SP可以自增,所以多为零地址指令。
PC的移动: PC执行完本句之后会自动变化(记得提前加),而变化量取决于按字/字节编址和一条指令所占单位这两个问题决定的。(区分指令字长和机器字长。)
先变址后间址: 变址后得到的那个数据随后间址得到最后的真实答案。
先间址后变址: 间址后的得到的那个地址(是地址,不是那个地址对应的真实数据)通过变址得到答案。

 

Complex & Reduced Instruction Set Computer

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值