笔者能力有限,如果文章出现错误的地方欢迎各位朋友能够给我指出来,我将不胜感激,谢谢~
前言
在之前的两篇文章中,在 程序是如何在 CPU 中运行的(一)中讲述了一条一条指令和数据是如何在 CPU 中被运行的,在 程序是如何在 CPU 中运行的 (二)中以 PC 寄存器为中心,从汇编语言的角度阐述了程序是如何在 CPU 中有序执行的,该篇文章讲述流水线机制在 CPU 中的应用。
相关概念
在进入流水线的讲解之前,有必要知道两个概念,一个是指令周期,一个是时钟周期。
指令周期:指令周期的意思从其名称就能看出来,就是运行一条指令的时间,笔者在该系列文章的第一篇中说到一条指令的运行能够大致分为三个阶段:取指 -> 译码 -> 执行,也就是说这三个阶段执行的总的时间就是指令周期,也可以用下面这样的一张图表示,循环的执行取指,译码,执行的周期就称之为指令周期。