文章目录
- 两方面理解转移指令的高效执行对处理器重要性
- 宏观
- 冯・诺依曼结构“存储程序”的基本思想
- 使如何提供足够的指令和数据
- 供处理器“消费”成为体系结构研究
- 几十年来转移预测(转移猜测或分支预测)技术
- 和
- 存储层次技术一直热点
- 指令流水线角度
- 一般8~10条指令有1条转移指令
- 4发射中每2拍就有1条转移指令
- 转移指令的执行结果影响下一条指令取指
- 如果转移指令的结果不确定
- 下一条指令的第1拍都无从做起
- 对程序中转移指令的行为分析基础
- 软和硬角度介绍解决转移指令引起的控制相关的方法
- 常见处理器的转移预测机制
8.1转移指令
- 转移指令引起控制相关。
- 控制相关实际上是与PC的相关,和普通的寄存器相关不一样,
- 指令在译码后读取寄存器的值,在执行后才写寄存器的值,而PC取指时就要用。
- 转移指令处理得不好,一碰到转移指令,下一条指令的取指都没法
进行,引起流水线阻塞。 - 对指令流水线来说,解决控制相关的紧迫性比数据相关更强烈,
- 如果控制相关处理得不好,就会大大影响流水线效率。
- 简单5级流水线
- 如果转移指令在EX阶段计算下一条指令地址,
- 而下一条指令在取指时就要用这个地址值
- 那下一条指令需等2拍
- 用专门的地址运算部件把地址计算提前到译码阶段,
- 可少等1拍
- 用延迟槽技术并且转移指令的延迟槽指令的执行不受转移指令执行结果的影响,就可不等