CPU(Central Processing Unit),即中央处理器。 CPU的性能大致上反映出了它所配置的那部微机的性能,因此CPU的性能十分重要。 本篇了解一些CPU性能基础知识
性能的定义
简单理解所谓性能好坏,就是对比2个计算机同时运行一个程序,哪个快,我能就说哪个性能就好。
性能的两个重要指标:响应时间和吞吐率
响应时间:也叫执行时间,是计算机完成某任务所需的总时间,包括硬盘访问、内存访问、I/O活动、操作系统开销和CPU执行时间等。
吞吐率:也叫带宽,性能的另一种度量参数,表示单位时间内完成任务的数量。
性能的度量
如果用时间来度量计算机的性能,那么完成同样的计算任务,需要时间最少的计算机是最快的。对时间最直接的定义时墙上时钟时间,也叫“响应时间”。
多用户经常共享同一计算机,一个处理器需要同时运行多个程序,在这种情况下,系统更侧重优化吞吐率,而不是最小化一个程序的响应时间。因此我们往往要把运行我们自己任务的时间与一般响应时间区分开。可以使用CPU执行时间,简称CPU时间,他只表示在CPU上花费的时间,而不包括等待I/O或者其他程序运行的时间。CPU时间还可以进一步分为用户CPU时间和系统CPU时间。
CPU执行时间:执行某一任务在CPU上所花费的时间 用户CPU时间:在程序本身所花费的CPU时间 系统CPU时间:为执行任务而花费在操作系统的时间
几乎所有计算机都用时钟来驱动硬件中发生的各种事件。时钟间隔的时间称为时钟周期。它的倒数就是时钟频率。例如,时钟周期为250ps(ps=皮秒 1x1012秒),对应的时钟频率为4GHz。
CPU上标注的GHZ 就是所谓的时钟频率
时钟周期:为计算机一个时钟周期的时间,通常是处理器时钟,一般为常数。也称为称为振荡周期。(如果晶振的输出没有经过分频就直接作为cpu的工作时钟,则时钟周期就等于振荡周期) 振荡周期:在衰减振荡中,两个相邻同方向峰值之间的时间称为振荡周期Tp,振荡频率2π/Tp。在相同衰减比下,振荡周期越短或振荡频率越高,则回复时间越短,因此振荡周期(频率)反映系统响应快慢的指标。(非专业别细研究了。) 时钟长度 :每个时钟周期持续的时间长度
性能及其因素
我们都关注CPU性能,因而性能度量实际针对的是CPU执行时间。可以用公式把最基本的尺度(时钟周期数和时钟周期时间)和CPU时间联系起来: CPU执行时间(一个程序的)=CPU的时钟周期数x 时钟周期时间。 由于时钟频率和时钟周期时间互为倒数,故 CPU执行时间 = CPU时钟周期数 / 时钟频率
时钟频率:单位赫兹(Hz) 1Hz=1Hz 1kHz=1000Hz——1x103 1MHz=100kHz——1x106 1GHz=1000MHz——1x109
例如:某程序在一台时钟频率为2GHz的A上运行需要10秒。现需要一台B计算机,把运行时间缩短为6秒。只采用提高时钟频率的,但会影响CPU其余部分的设计,使B运行改程序时需要相当于1.2倍的时钟周期数。求B的时钟频率。
剩下就是套公式~
指令的性能
上面性能公式没有涉及程序所需的指令数。然而,由于计算机是通过执行指令来运行程序的。因此执行时间一定依赖于程序中的指令数。 CPU时钟周期数=程序指令数xCPI。
CPI:每条指令时钟周期数,表示执行某个程序或者程序片段时所需的时间周期平均数。
例如:假设我拥有相同指令的集的两种不同实现方法。A时钟周期为250ps。对某程序的CPI为2.0。B时钟周期为500ps.对同样程序CPI为1.2。问A和B那个快 PS:CPU时间短说明它快呀~
经典CPU性能公式
结合上面,现在我们可以这样写出来基本的CPU性能公式啦~ CPU时间=指令数XCPIX时钟周期时间 或者 CPU时间=指令数XCPI/时钟频率
指令数:执行某程序所需的总指令数量
来来来,实际操作一下。 一个编译器设计者试图在两个代码序列之间进行选择。硬件设计者给出了如下数据。 每类指令集的CPI
每类指令的数量
哪个代码序列执行的指令数更多?哪个执行的更快?每个代码序列的CPI是多少 计算执行时间 计算执行时间公式为:执行时间=秒/程序=指令数/程序x时钟周期数/指令x秒/时钟周期
唯一能够被完全可靠测量计算机性能的指标是时间。例如,对指令集减少指令数目的改进,可能降低时钟周期时间或者提高CPI,从而抵消了改进效果。类似地,CPI与执行的指令类型相关,执行指令数最少的代码其执行速度未必是最快的。
实际操作中,只用一种因素(如指令数)去评价性能是危险的。当比较两台计算机时,必须考虑全部三个因素,他们组合起来才能确定执行时间。 注意的是CPI随着指令组合而变化,所以必须比较指令的条数和CPU,即使时钟频率是相同的。
指令组合:在一个或者多个程序中,指令的动态使用频度的评价指标。
参考资料
- 《计算机组成与设计——硬件/软件接口》
- 百度百科:《时钟频率》《CPI》
|