-
注:
-
学习自 唐朔飞《计算机组成原理》
图自 唐朔飞《计算机组成原理》PPT整合
一丶指令格式
① 操作码
② 地址码
二丶指令字长
取决于 操作码的长度 操作数地址的长度 操作数地址的个数
三丶操作数类型和操作类型
指令周期
-
取指令周期
- PC把地址给MAR,MAR通过地址总线送给存储器,存储器知道指令地址,CU把控制信号通过控制总线送到存储器,存储器执行读操作,把相应的数据通过数据总线送到MDR中,MDR当中的指令送到IR中,CU再将指令+1(无跳转) 间址周期
- MDR(可以从IR,看CPU的设计)当中的地址码送给MAR,MAR通过地址总线送给存储器,CU把控制信号通过控制总线送到存储器,,存储器执行读操作,把相应的数据通过数据总线送到MDR中,这时候MDR保存的是操作数的地址 中断周期
-
① 保存程序断点:CU给出地址放到MAR中,MAR通过地址总线送给存储器,存储器知道指令地址,CU把控制信号通过控制总线送到存储器,存储器执行写操作,PC保存到MDR,MDR通过数据总线送到存储器中
② 形成中断服务程序:CU将中断服务程序的入口地址送给PC
③ 硬件关中断
指令流水
假如下面都是理想指令,且只有取指令和执行指令
在指令串行执行的时候,取指令时,执行指令部件空闲,执行指令时,取指令不见空闲
但指令二级流水时,若取值和执行阶段时间上完全重叠,指令周期减半没速度提高一倍,我们分析什么因素会让这个这个加倍不可能
① 指令的执行时间一般大于取指时间,因此,取指阶段可能要等一段时间,也即存放在指令部件缓冲区的指令还不能立即传给执行部件,缓冲区不能空出
② 当遇到条件转移指令时,一下条指令是不可值得,因为必须等到执行阶段结束后,才能获知条件是否成立,从而决定下条指令地址,造成时间损失
我们可以将每个阶段再细分,形成更多级流水线
我们可以得出影响流水线性能的因素
- 结构相关:指令在重叠执行过程中,不同指令争用同一功能部件产生资源冲突时产生,故又有资源相关之称
- 数据相关:流水线中的各条指令因重叠操作,可能改变对操作数的读写访问顺序,从而导致了数据相关冲突
- 控制相关:主要是由转移指令引起的