指令平均周期数

编辑
本词条由“匿名用户” 建档。
在计算机体系结构中,每条指令的周期数(也称为每条指令的时钟周期数、每条指令的时钟数或CPI)是处理器性能的一个方面:程序或程序片段的每条指令的平均时钟周期数。它是每周期指令的乘法逆。 给定进程中每条指令的平均循环数由以下定义 其中ICi{\\displaystyleIC_{i}}是给定指令类型i{\\displaystylei}的指令数,CCi{\\displaystyleCC_{i}}是该指令类...
目录

指令平均周期数

计算机体系结构中,每条指令的周期数(也称为每条指令的时钟周期数、每条指令的时钟数或 CPI)是处理器性能的一个方面:程序或程序片段的每条指令的平均时钟周期数。 它是每周期指令的乘法逆。

定义

给定进程中每条指令的平均循环数由以下定义

其中 I C i {\displaystyle IC_{i}} 是给定指令类型 i {\displaystyle i} 的指令数, C C i {\displaystyle CC_{i}} 是该指令类型的时钟周期 I C = Σ i ( I C i ) {\displaystyle IC=\Sigma _{i}(IC_{i})} 是总指令数。 总和对给定基准测试过程的所有指令类型求和。

说明

让我们假设一个经典的 RISC 流水线,具有以下五个阶段:

  • 指令获取周期 (IF)。
  • 指令解码/寄存器获取周期 (ID)。
  • 执行/有效地址周期 (EX)。
  • 内存访问 (MEM)。
  • 回写周期 (WB)。

每个阶段都需要一个时钟周期,一条指令按顺序通过这些阶段。 在没有流水线的情况下,在多周期处理器中,只有在前一条指令在第 5 阶段完成后,才会在第 1 阶段获取新指令,因此执行一条指令所需的时钟周期数为 5 (CPI = 5 > 1) . 在这种情况下,处理器被称为次标量的。 通过流水线,通过利用指令级并行性,每个时钟周期获取一条新指令,因此,由于理论上可以在五个流水线阶段同时有五个指令(每个阶段一条指令),不同的指令将在每个阶段完成第 5 阶段 时钟周期,执行一条指令所需的平均时钟周期数为 1 (CPI = 1)。 在这种情况下,处理器被称为标量。

对于单执行单元处理器,可达到的最佳 CPI 为 1。但是,对于多执行单元处理器,可以达到更好的 CPI 值(CPI < 1)。 在这种情况下,处理器被称为超标量。 为了在没有流水线的情况下获得更好的 CPI 值,执行单元的数量必须大于阶段的数量。

指令平均周期数

例如,对于六个执行单元,仅在前六条指令在阶段 5 完成后,才在阶段 1 中获取 6 条新指令,因此平均而言,执行一条指令所需的时钟周期数为 5/6(CPI = 5/ 6<1)。 要通过流水线获得更好的 CPI 值,必须至少有两个执行单元。 例如,对于两个执行单元,通过利用指令级并行性,每个时钟周期获取两条新指令,因此两条不同的指令将在每个时钟周期完成第 5 阶段,平均而言,执行一条指令所需的时钟周期数为 1/2(CPI = 1/2 < 01)。

内容由匿名用户提供,本内容不代表vibaike.com立场,内容投诉举报请联系vibaike.com客服。如若转载,请注明出处:https://vibaike.com/195662/

(2)
词条目录
  1. 指令平均周期数
  2. 定义
  3. 说明

轻触这里

关闭目录

目录
尊敬的全球百科用户,全球百科新系统上线了!新增排名保障卡、词条年卡,更有增值功能——百度排名保障包年服务,详情访问“glopedia.cn/261472/”关注公众号可联系人工客服。