跳转到内容

指令平均周期数:修订间差异

维基百科,自由的百科全书
删除的内容 添加的内容
Steven Sun移动页面每指令周期指令平均周期数:依照 《计算机科学技术百科全书》(清华大学出版社)更改标题
无编辑摘要
 
(未显示5个用户的11个中间版本)
第1行: 第1行:
'''指令周期'''({{lang-en|Cycle Per Instruction, CPI}}),即执行一条指令所需要的时钟周期(机器主频的倒数)数<ref>{{Cite book|title=计算机组成与设计|last=王换招编著|first=|publisher=北京:清华大学出版社|year=2013.08|isbn=978-7-302-32884-1|location=|pages=28}}</ref>。
'''指令平均周期'''({{lang-en|Cycle Per Instruction, CPI}}),也称'''每指令周期''',即执行在计算机体系结构中一条指令所需要的平均时钟周期(机器主频的倒数)数<ref>{{Cite book|title=计算机组成与设计|last=王换招编著|first=|publisher=北京:清华大学出版社|year=2013.08|isbn=978-7-302-32884-1|location=|pages=28}}</ref>。


其方程如下
其方程<math>
<math>
CPI = \frac{\Sigma_i(IC_i)(CC_i)}{IC}
CPI = \frac{\Sigma_i(IC_i)(CC_i)}{IC}
</math>
</math>

其中<math>IC_i</math>是第i种指令的数量,<math>CC_i</math>是第i种指令的时钟周期数,<math>IC=\Sigma_i(IC_i)</math>是总的指令数,对于一个给定的基准测试过程,总和为所有指令类型。


一个完整的计算机系统执行时间,即指令周期指从内存中取出并执行该条指令所用的全部时间,它取决于硬件结构和各部件的性能<ref>{{Cite book|title=计算机组成与设计|last=王换招编著|first=|publisher=北京:清华大学出版社|year=2013.08|isbn=978-7-302-32884-1|location=|pages=27}}</ref>。
一个完整的计算机系统执行时间,即指令周期指从内存中取出并执行该条指令所用的全部时间,它取决于硬件结构和各部件的性能<ref>{{Cite book|title=计算机组成与设计|last=王换招编著|first=|publisher=北京:清华大学出版社|year=2013.08|isbn=978-7-302-32884-1|location=|pages=27}}</ref>。

==解释==
假设目前为{{link-en|经典RISC流水线|Classic RISC pipeline}},执行一条指令一般分为五个阶段:
#取指周期
#译码周期
#执行周期
#访问内存
#写回周期

每一条指令都需要顺序经过这五个步骤,每个需要一个[[时钟周期]],如果在一个没有流水线技术的处理器中,只有当前一条指令的第五阶段执行完,下一条指令的第一阶段才会开始运行,因此,每执行一条指令的时钟周期就是5(CPI=5),这种情况下,处理器被称为亚标量的。在有流水线技术的处理器中,通过利用[[指令级并行]],每一个时钟周期,都有一条指令被取得。因此,因为在理论上同一时刻,在流水线的五个周期上有五个不同的指令,所以在每一个时钟周期中,都会有一个指令完成第五阶段,所以平均执行每一条指令的时钟周期就是1(CPI=1),这样的处理器称为标量处理器

==示例==
===示例1===

对于多周期[[MIPS架构]],有以下五种指令:
*Load(5周期)
*Store(4周期)
*R_type(4周期)
*Branch(3周期)
*Jump(3周期)

如果程序中有

*50% load 指令
*25% store 指令
*15% R-type 指令
*8% branch 指令
*2% jump 指令

其CPI为
<math>
\text{CPI} = \frac{5 \times 50 + 4 \times 25 + 4 \times 15 + 3 \times 8 + 3 \times 2}{100} = 4.4
</math>



==参考==
==参考==
{{reflist}}
{{reflist}}

[[Category:電腦]]
{{CPU technologies}}
{{Authority control}}
{{DEFAULTSORT:Cycles Per Instruction}}
[[Category:指令处理]]
[[Category:率]]
[[Category:電腦性能]]
[[Category:時脈訊號]]

2023年1月30日 (一) 08:03的最新版本

指令平均周期数(英語:Cycle Per Instruction, CPI),也称每指令周期,即执行在计算机体系结构中一条指令所需要的平均时钟周期(机器主频的倒数)数[1]

其方程为:

其中是第i种指令的数量,是第i种指令的时钟周期数,是总的指令数,对于一个给定的基准测试过程,总和为所有指令类型。

一个完整的计算机系统执行时间,即指令周期指从内存中取出并执行该条指令所用的全部时间,它取决于硬件结构和各部件的性能[2]

解释

[编辑]

假设目前为经典RISC流水线英语Classic RISC pipeline,执行一条指令一般分为五个阶段:

  1. 取指周期
  2. 译码周期
  3. 执行周期
  4. 访问内存
  5. 写回周期

每一条指令都需要顺序经过这五个步骤,每个需要一个时钟周期,如果在一个没有流水线技术的处理器中,只有当前一条指令的第五阶段执行完,下一条指令的第一阶段才会开始运行,因此,每执行一条指令的时钟周期就是5(CPI=5),这种情况下,处理器被称为亚标量的。在有流水线技术的处理器中,通过利用指令级并行,每一个时钟周期,都有一条指令被取得。因此,因为在理论上同一时刻,在流水线的五个周期上有五个不同的指令,所以在每一个时钟周期中,都会有一个指令完成第五阶段,所以平均执行每一条指令的时钟周期就是1(CPI=1),这样的处理器称为标量处理器

示例

[编辑]

示例1

[编辑]

对于多周期MIPS架构,有以下五种指令:

  • Load(5周期)
  • Store(4周期)
  • R_type(4周期)
  • Branch(3周期)
  • Jump(3周期)

如果程序中有

  • 50% load 指令
  • 25% store 指令
  • 15% R-type 指令
  • 8% branch 指令
  • 2% jump 指令

其CPI为


参考

[编辑]
  1. ^ 王换招编著. 计算机组成与设计. 北京:清华大学出版社. 2013.08: 28. ISBN 978-7-302-32884-1. 
  2. ^ 王换招编著. 计算机组成与设计. 北京:清华大学出版社. 2013.08: 27. ISBN 978-7-302-32884-1.