这是我参与2022首次更文挑战的第27天,活动详情查看:2022首次更文挑战
一、指令系统中的寻址方式
指令
指令是一段有意义的二进制代码。
指令的组成
指令有操作码和地址吗组成
- 操作码:说明这条指令要执行那些操作
- 地址码:指操作数在存储单元中的地址
寻址
寻址就是寻找操作数所在的地址。 操作数不仅可以存储在主存中,还可以存储在其他存储器中。有很多的寻址方式就是因为操作数存放在了不同的存储器中,这样就扩大了存储操作数的空间,提高了编程灵活度。
寻址方式
1、立即寻址
- 地址码不是地址,是操作数本身。这种方式获取操作数是最快的,因为获取到指令就获取到了操作数。但操作数的长度受到了限制,因为指令的长度是固定的。
- 不需要额外的存储空间,其他其中寻址方式都需要额外的存储空间
2、变址寻址
3、直接寻址
4、间接寻址
5、寄存器寻址
6、寄存器间接寻址
二、指令系统类型
分类
- CISC(复杂)
- RISC(精简)
三、Flynn的体系结构类型
需要注意的是多指令流单数据流(MISD)被证明是不可能,至少是不实际的。
四、流水线
流水线分为三个阶段:
- 取指
- 分析
- 执行
相比于未使用流水线执行指令的情况,使用流水线的优势就是能够在同样的时间内执行更多的指令
流水线执行总时间
其中是流水线周期,它表示执行时间最长的一段
流水线技术指标
吞吐率
其中n表示指令的数量,Tk表示执行n条指令需要的时间
加速比
其中Ts表示不采用流水线需要的时间,Tk表示采用流水线需要的时间
效率
五、例题
第一题
(1)选D (2)选C
第二题
(1)选B
(2)选A
第三题
(1)(4+2+3)*600 = 5400 ,所以选D (2)(4+2+3)+(600-1)*4=2405,所以选B
第四题
根据计算公式可知,选C