计算机组成原理复试复习-3
第四部分:指令系统
1,指令是什么?
计算机执行的命令,程序就是指令构成了,指令就像计算机的todoList,指挥计算机要做哪些事情。
2,指令由什么组成?
指令由操作码和地址码组成,其中操作码告诉计算机要对操作数进行哪一种操作(做什么),指令码指明了操作数所在的地址(对谁)。又由于操作数所在位置不同,所以指令码还包括了寻址方式位用来表明应该如何找到本操作数。
3,指令是如何设计的?
由指令长度是否可变分为长度可变和长度不可变两种类型,分别称为变长指令字结构和定长指令字结构;
又由操作码长度是否可变分为定长操作码(n位OP码最多能够表示2n条指令)和扩展操作码:(操作码和地址码的位数不固定)。
按照地址码的个数分为:
零地址指令:只有操作码,没有地址码,可能为不需要操作数的指令如:关中断,关机指令,也可能用于堆栈计算机采用从栈顶存取操作数。
一地址指令:只有目的操作数:如自增、取反、或者另一个操作数由ACC提供,之后的运算结果也返回ACC
二地址指令:两个操作数,结果返回目的操作数
三地址指令、四地址。。。
4,寻址方式:
(1)指令寻址:寻找下一条要执行的指令的地址(通过修改PC)
顺序寻址:PC+1
跳跃寻址:PC+偏移量或者直接赋予绝对地址
(2)数据寻址:寻找操作数的地址
1⃣️立即数寻址:操作数就是位于地址码上的值
2⃣️隐含寻址:将ACC累加寄存器作为第二个操作数(便于简化地址结构)
3⃣️直接寻址:地址码给出操作数的物理地址(访存一次)
4⃣️间接寻值:地址码给出的地址为存储操作数物理单元的地址的地址(需要访存两次)
5⃣️寄存器寻值:地址码给出存放操作数的寄存器的序号(不需要访存)
6⃣️寄存器间接寻址:地址码给寄存器的序号,该寄存器中保存操作数的物理地址(需要一次访存)
7⃣️基址寻值:物理地址为基址寄存器BR中的内容+偏移量
基址寄存器BR(Base address Register)又称重定位寄存器,BR的内容不由用户决定,而是由OS决定
8⃣️变址寻值:操作数的物理地址为变址寄存器IX的内容加上基地值(IX:Index Register由用户进行编辑),适合处理循环,数组等
9⃣️相对寻值:操作数的物理地址由PC的值为基地值加上偏移量
🔟堆栈寻值:堆栈指针寄存器SP指向寻值单元,并且能够自动增减
硬堆栈:专用寄存器
软堆栈:内存在内存中划分一块区域
5,CISC(Complex Instruction Set Computer)和RISC(Reduced…)
CISC:复杂指令集系统计算机:
如x86体系结构,用微程序控制器的计算机通常使用CISC,特点:指令系统大,数目多,字长不固定各个指令的执行时间和频度也相差较大,普通指令也可以访问内存,寄存器相对少,兼容性高
RISC:精简指令集系统计算机:
ARM架构,多用于组合逻辑控制。
只有LOAD和SRORE指令能够访问内存,所以寄存器数量很多,指令长度较短、 执行速度快,复杂操作由简单的指令合成,实现指令流水线,单机器周期中完成指令。