FE、IND、EX、INT分别对应取值、间址、执行、中断4个周期,并以“1”状态表示有效,它们分别由1→FE、1→IND、1→EX、1→INT这4个信号控制。
8.2.4 指令周期的数据流取指周期数据流- PC中存放现行指令的地址,该地址送到MAR并送至地址总线。
- 然后由控制部件CU向存储器发出读命令。
- 对应MAR所指单元的内容经数据总线送至MDR,再送至IR,并且CU控制PC内容 1,形成下一条指令的地址。
- 一旦取指周期结束,CU便检查IR中的内容,以确定其是否由间址操作。
- 如果需要间址操作,则MDR中指示形式地址的右N位(记作Ad(MDR))将被送到MAR,又送至地址总线。
- 此后CU向存储器发出读命令,以获取有效地址并存至MDR。
由于不同的指令在执行周期的操作不同,因此无法用统一数据流图表示。
中断周期数据流- CU把用于保存程序断点的存储器特殊地址(如栈指针的内容)送往MAR,并送到地址总线上。
- 然后由CU向存储器发写命令,并将PC的内容送到MDR,最终使程序断点经数据总线存入存储器。
- CU还需将中断服务程序的入口地址送至PC,为下一个指令周期的取指周期做好准备。
8.3 指令流水
指令流水作用
- 提高器件的性能
- 改进系统的结构,开发系统的并行性
并行:包含同时性和并发性两方面。
- 同时性指两个或多个事件在同一时刻发生
- 并发性指两个或多个事件在同一时间段发生。
在同一时刻或同一时间段内完成两种或两种以上性质相同或不同的功能,只要在时间上互相重叠,就存在并行性。
并行性体现在不同等级上。通常分为4个级别:作业级或程序级、任务级或进程级、指令之间级和指令内部级。前两级为粗粒度,又称为过程级;后两级为细粒度,又称为指令级。
粗粒度并行性一般用程序算法实现,细粒度并行性一般用硬件实现。
粗粒度并行性是在多个处理机上分别运行多个进程,由多台处理机合作完成一个程序;
细粒度并行性是指在处理机的操作级和指令级的并行性,其中指令的流水作业就是一项重要技术。
8.3.1 指令流水的原理把指令的处理过程分为取指令和执行指令两个阶段,在不采用流水技术的计算机里,取指令和执行指令是周而复始地出现,各条指令按顺序串行执行的。
指令的串行执行