第一章 计算机系统结构的基本概念


3. CPU性能公式

  在前面我们利用 Amdahl定律比较两种改进FPSQR操作的效果时,需要知道FPSQR硬件方法和改进FP操作的时间,有时候要直接测出这些时间比较困难。这里我们介绍CPU性能公式方法,即把CPU的执行时间分解成三个独立的部分。如果我们能知道某种方案对这三部分是如何影响的,那么就能知道采用这种方案时整个系统的性能了。
  我们知道大多数计算机的时钟速度是固定的,它的运行周期称为时钟周期。时钟可以用时钟周期的长度(如2ns)或其频率(如500MHZ)来表示。一个程序所花的CPU时间可以用两种方式来表示:
  
  或CPU时间=CPU时钟周期数*时钟周期长
  除了用时钟周期数来表示一个程序的执行时间外,还可以用指令的条数(IC)来表示一个程序的执行时间。如果我们知道了执行的指令条数和所用的时钟周期数目,就可以算出每条指令的平均时钟周期数CPI:
  
  代换可得: CPU时间=IC* CPI *时钟周期长度
  
  上式表明,CPU的性能取决于三个要素:①时钟频率;②每条令所花的时钟周期数;③指令条数IC。
  时钟频率-取决于硬件技术和组织
  CPI-取决于系统结构组织和指令集
  指令数目-取决于系统结构的指令集和编译技术
  有些时候,在CPU的设计中要用到下面一个计算CPU时钟周期总数的方法:
  
  其中Ii表示i指令在程序中执行的次数,CPIi表示i指令所需的平均时钟周期数,这个式子可用来表示CPU时间为:
  其中n为指令种类数。CPI表示为:
  
  其中,Ii/IC表示i指令在程序中所占的比例。