指令平均周期数:修订间差异
外观
删除的内容 添加的内容
→top: 修饰语句 |
无编辑摘要 |
||
(未显示3个用户的9个中间版本) | |||
第4行: | 第4行: | ||
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}} |
||
⚫ | |||
{{CPU technologies}} |
|||
{{Authority control}} |
|||
{{DEFAULTSORT:Cycles Per Instruction}} |
|||
[[Category:指令处理]] |
|||
[[Category:率]] |
|||
⚫ | |||
[[Category:時脈訊號]] |
2023年1月30日 (一) 08:03的最新版本
指令平均周期数(英語:Cycle Per Instruction, CPI),也称每指令周期,即执行在计算机体系结构中一条指令所需要的平均时钟周期(机器主频的倒数)数[1]。
其方程为:
其中是第i种指令的数量,是第i种指令的时钟周期数,是总的指令数,对于一个给定的基准测试过程,总和为所有指令类型。
一个完整的计算机系统执行时间,即指令周期指从内存中取出并执行该条指令所用的全部时间,它取决于硬件结构和各部件的性能[2]。
解释
[编辑]假设目前为经典RISC流水线,执行一条指令一般分为五个阶段:
- 取指周期
- 译码周期
- 执行周期
- 访问内存
- 写回周期
每一条指令都需要顺序经过这五个步骤,每个需要一个时钟周期,如果在一个没有流水线技术的处理器中,只有当前一条指令的第五阶段执行完,下一条指令的第一阶段才会开始运行,因此,每执行一条指令的时钟周期就是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为
参考
[编辑]- ^ 王换招编著. 计算机组成与设计. 北京:清华大学出版社. 2013.08: 28. ISBN 978-7-302-32884-1.
- ^ 王换招编著. 计算机组成与设计. 北京:清华大学出版社. 2013.08: 27. ISBN 978-7-302-32884-1.