0%

超标量处理器简介

本文是《超标量处理器设计》一书第1章学习笔记, 书很不错,感谢作者

什么是超标量?

思维导图:

image


为什么需要超标量?

思维导图

image

衡量一个程序的执行时间的公式

  Total Instructions * (Cycles / Instructions) * (Seconds / Cycle)

目的

  让一个程序执行的更快。

方法

  1. 降低指令数
  2. 降低CPI(提高IPC)
  3. 降低时钟频率

  超标量处理器可以获得较高的IPC。


流水线

流水线的划分

image

理想情况下流水线划分满足条件 实际设计中
每个阶段所需时间近似相等 最长流水线所需时间决定CPU周期时间
每个阶段的操作都会被重复的执行 不需要的阶段可以空转
每个阶段的操作和其它流水段相互独立 指令之间存在相关性

** 两种指令集: **

  1. CISC指令集
      指令长度不等,执行时间不等,流水线实现复杂。
  2. RISC指令集
      指令长度相同,每条指令所完成的任务比较规整,容易用流水线实现。

** MIPS经典五级流水线 **

  1. Fetch(取址)
      PC寄存器值作为地址,从I-Cache中取址并存储到指令寄存器。
  2. Decode(译码)
      将指令解码,并根据结果读取寄存器堆,得到指令的源操作数。
  3. Execute(执行)
      根据指令类型完成计算任务。
  4. Memory(访存)
      访问D-Cache,不访问存储器的指令此阶段不做事。
  5. Write Back(回填)
      如果指令存在目的寄存器,将指令结果写入目的寄存器。

** 经典五级流水线的缺陷 **

  各个流水线执行时间差很多,影响处理器周期时间。

** 改进(平衡时间) **

  1. 拆分
      适合高性能处理器,优点主频高,缺点深流水线增大芯片面积,功耗大,分值预测失败代价高。
  2. 合并
      适用于低功耗嵌入式处理器,优点缩短流水线级数,缺点主频低。

指令间的相关性

image

超标量处理器的流水线

image
image
image
image


完整思维导图

image