计算机组成原理之指令系统
声明:此为个人笔记,代码一部分来自王道408课程,仅供个人学习使用,如有侵权请联系;如有转载使用,一切后果自行负责与本人无关
4.1指令格式
- 4.1.1指令格式
4.1.2 拓展操作码指令格式
例如,可以有以下的设计操作码形式:
仔细看图:
设计时不允许短码是长码的前缀;各指令的操作码不能重复
设地址长度为n,上一层留出M种状态,下一层可以拓展出m*2的n次方种状态。
本题要求设计一套指令系统满足如上条件:
设计前四位为操作码,若不是1111,说明是三地址指令;若是1111,且56位不是11,说明是二地址指令,地址码A1就是0000-1011(12条地址指令),以此类推。
4.2指令寻址
- 4.2.1指令寻址
比如下面的例子,
主存按字节编址,采用变长指令字结构
此时总字节数为n,PC+n→PC
跳跃寻址 ?
总结:
4.2.2数据寻址(小难)
假设指令字长=机器字长=存储字长
操作数为3
重点:如果通过形式地址得到有效地址
偏移寻址(具体可分三种:1、基址寻址;2、变址寻址;3、相对寻址)
1、基质寻址:
BR:基质寄存器
最终地址:(BR)中的内容+A(偏移量)=有效地址
有些计算机中采用通用寄存器作为基质寄存器
此时需要指名需要哪个通用寄存器作为基质寄存器
要用几个bit指名呢?根据通用寄存器总数判断
基质寻址的过程:
基质寄存器是面向操作系统的,其内容由操作系统或管理程序确定。程序员只能用汇编语言去写内容,并且不能轻易修改。
2、变址寻址
有的是专用的IX(变址寄存器),有的是通用寄存器作为基质寄存器。
类似于基质寻址
变址寻址的过程:
比如使用变址寻址在循环中,如下:(仔细看图)
基质&变址复合地址
先基址后变址寻址
3、相对寻址
而使用相对寻址
总结:
9、堆栈寻址
。。。SP(堆栈指针)。。。
硬栈成本高;软栈成本低
堆栈寻址方式的有效地址:入栈出栈时EA的确定方式不同。硬栈不访存;软栈访存一次。
4.3 CSIC 和RISC
4.3 CSIC 和RISC
(复杂指令设置系统和精简指令设置系统)
本文含有隐藏内容,请 开通VIP 后查看