软考高级-系统架构设计师之指令系统
目录
指令的格式
指令格式:
指令的寻址方式(八种)
顺序寻址
跳跃寻址
操作数的寻址方式
立即寻址
直接寻址
间接寻址
寄存器寻址
寄存器间接寻址
相对寻址
基址寻址
变址寻址
指令集的分类
指令的格式
指令格式:
操作码OP | 地址码A |
操作码指定要完成的操作或功能
地址码指定参与操作的操作数的地址
指令的寻址方式(八种)
顺序寻址
下一条指令的地址由程序计数器PC给出,PC每次自增+1;+1指的是加一个指令长度,而不是加一个比特位。
跳跃寻址
下一条指令的地址由指令本身给出。
操作数的寻址方式
立即寻址
指令的地址码字段不是操作数的地址,而是操作数本身,速度最快;
直接寻址
指令的地址码字段给出操作数在内存的地址(操作数在内存中);
间接寻址
指令的地址码给出操作数在内存的地址的地址(操作数在内存中);
寄存器寻址
指令的地址码字段给出操作数在寄存器的编号(操作数在寄存器中);
寄存器间接寻址
指令的地址码字段给出寄存器的编号,寄存器中所存的内容为操作数在内存的地址(操作数在内存中);
相对寻址
指令的地址码字段是一个偏移量,这个偏移量加上程序计数器PC的值即为操作数在内存的地址;
基址寻址
指令的地址码字段是一个偏移量,这个偏移量加上基址寄存器Rb的值即为操作数在内存的地址;
变址寻址
指令的地址码字段是一个偏移量,这个偏移量加上变址寄存器Rx的值即为操作数在内存的地址;
计算机指令执行过程:取指令->分析指令->执行指令三个步骤,首先将程序计数器PC中的指令地址取出,送入地址总线,CPU依据指令地址去内存中取出指令内容存入指令寄存器IR;之后由指令译码器进行分析,分析指令操作码;最后取出指令执行所需的源操作数,执行指令。
CPU如何区分指令和数据:CPU根据指令周期的不同阶段来区分二进制的指令和数据,因为在指令周期的不同阶段,指令会命令CPU分别去取指令或数据。
指令集的分类
CISC指令集:复杂指令集,各条指令按顺序串行执行。
RISC指令集:精简指令集,减少指令总数,采用优化编译、硬布线、重叠寄存器窗口等技术。
特性 | CISC | RISC |
指令数目 | 多 | 少 |
指令长度 | 可变长指令 | 大部分等长指令 |
控制器复杂性 | 复杂 | 简单 |
寻址方式 | 较丰富,提高编程灵活性 | 较少,以提高效率 |
编程便利性 | 指令多,编程灵活 | 编程量更大,采用较多通用寄存器 |
实现方式 | 微程序控制技术 | 采用硬布线逻辑控制优化编译程序,采用流水线技术 |