计算机组成原理——指令流水线

Posted 懒惰让你止步不前

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了计算机组成原理——指令流水线相关的知识,希望对你有一定的参考价值。

计算机组成原理——指令流水线

1. 综述

  为提高CPU利用率,加快执行速度,将指令分为若干个阶段,可并行执行不同指令的不同阶段,从而多个指令可以同时执行。在有效地控制了流水线阻塞的情况下,流水线可大大提高指令执行速度。博客园知识库:CPU流水线的探秘之旅

  经典的五级流水线:取址、译码/读寄存器、执行/计算有效地址、访问内存(读或写)、结果写回寄存器。链接:史上最经典的5级流水线

  流水线阻塞的情况有三种(baidu知道):

  1. 结构相关:指令重叠执行的过程中,硬件资源满足不了指令重叠执行的要求,发生资源冲突,这时将产生结构相关。解决的办法是增加硬件资源,如解决访存冲突就采用指令Cache和数据Cache分离的哈弗结构。

  2. 数据相关:当一条指令需要前面某条指令的执行结果,而两者正在并行执行的情况下,将产生数据相关。解决方式:数据重定向,或称为旁路技术。

  3. 控制相关:有跳转语句、分支指令,或其他改变IP值的指令,将产生控制相关。解决方法:分支预测技术,投机执行,延迟分支。

  

  若I1和I2数据相关,如I2需要I1的结果,则I2在其译码阶段被阻塞,直到I1全部完成才恢复流动。

  

 

以上是关于计算机组成原理——指令流水线的主要内容,如果未能解决你的问题,请参考以下文章

计算机组成原理流水线式指令执行

计算机组成原理流水线式指令执行

Nginx篇06——Sendfile指令及其原理

计算机组成原理 — CPU — 流水线与执行周期

计算机组成原理6-流水线多发射和超标量SIMD

(计算机组成原理)第五章中央处理器-第五节2:指令流水线影响因素和分类及多发技术