第15讲-指令周期和指令流水线
指令周期
- 指令周期:处理单个指令的过程(时间)
- 取指周期:从内存中提取一条指令
- 执行周期:执行所提取的指令
- 只有当机器关闭、发生某种不可恢复的错误或遇到停止计算机的程序指令时,程序执行才会停止
- 间址周期
- 指令的执行可能涉及一个或多个存储器中的操作数,它们每个都要求一次存储器访问
- 使用间接寻址,还需要额外的存储器访问
- 间址周期:把间接地址的读取看成是一个额外的指令子周期
- 取操作数发生了2次
- CPU的任务
- 取指令:CPU 必须从存储器(寄存器、cache 、主存)读取指令
- 解释指令:必须对指令进行译码,以确定所要求的动作
- 取数据:指令的执行可能要求从存储器或输入/输出(I/O)模块中读取数据
- 处理数据:指令的执行可能要求对数据完成某些算术或逻辑运算
- 写数据:执行的结果可能要求写数据到存储器或I/O 模块
- CPU需求:寄存器
- CPU需要在指令周期中临时保存指令和数据
- CPU需要记录当前所执行指令的位置,以便知道从何处得到下一条指令
- CPU需要一些小容量的内部存储器
- 假定CPU 有:
- 1个存储地址寄存器(MAR)
- 1个存储缓冲寄存器(MBR)/ 存储数据寄存器(MDR)
- 1个程序计数器(PC)
- 1个指令寄存器(IR)
- 假定CPU 有:

本文详细介绍了指令周期的各个阶段,如取指、间址和执行,以及流水线的概念,包括两阶段、六阶段和超流水线的原理。着重讨论了流水线中的冒险问题,如结构冒险、数据冒险和控制冒险,以及解决这些问题的方法,如预测和提前判断策略。
最低0.47元/天 解锁文章
4352

被折叠的 条评论
为什么被折叠?



