1.8 计算机性能评价

1.8 计算机性能评价

如何在不同的计算机中挑选合适的产品,性能是极其重要的一个因素。能够比较不同的计算机之间的性能,对于购买者和设计者来说都很重要。但对于计算机的性能评价不是一件简单的事情,由于计算机系统的性能与软件、硬件都息息相关,现代软件系统的规模及其复杂性,加上硬件设计者采用了大量先进的性能改进方法,性能评价极为困难。本节主要向读者介绍一些计算机性能的基本因素和技术指标。

1.主频

CPU 的主频,即CPU 主脉冲信号的时钟频率(CPU Clock Speed)。通常人们所说的某某CPU 是多少兆赫兹的,而这个多少兆赫兹就是“CPU 的主频”。CPU 的工作节拍是由时钟所控制的,时钟不断产生固定频率的时钟脉冲,这个时钟的频率就是CPU 的主频。因此主频越高,CPU 的工作节拍就越快。通常的单位是MHz,但现在CPU 的速度发展很快,一般是GHz,比如酷睿i5的主频是2.8 GHz,酷睿i7的主频是4 GHz。

2.CPU 执行时间

从用户的角度关注CPU 的性能,更多的是看一个程序CPU 执行的时间,但CPU 时间与时钟周期数及时钟周期时间相关。

时钟周期:时钟周期也称为振荡周期,定义为时钟频率的倒数。时钟周期是计算机中最基本的、最小的时间单位。计算机执行一条指令的过程被分解为若干基本动作,在一个时钟周期内,CPU 仅完成一个最基本的动作。时钟周期是一个时间的量。

时钟周期数(CPI):表示指令所需要的时钟周期数。由于不同的指令功能不同,所以所需要的时钟周期数也会不同。

下面用一个简单的公式说明CPU 执行时间的计算方法:

一个程序的CPU 执行时间=一个程序的CPU 时钟周期数×时钟周期时间

由于时钟频率与时钟周期时间互为倒数,故:

一个程序的CPU 执行时间=一个程序的CPU 时钟周期数/时钟频率

由此可见,提高时钟频率是能改进性能的。

【例1.2】 假设有相同指令集的两种不同的实现方式。计算机A 的时钟周期为150 ps(ps是指皮秒,1 ps=10-12 s),对某程序的时钟周期数为1.5,计算机B的时钟周期为500 ps,对同样程序的时钟周期数为1.1。对于该程序,请问哪台计算机执行速度更快? 为什么?

答案:由于固定的程序,每台计算机执行的总指令数是相同的,用I来表示。于是,每台计算机的CPU 时钟周期数:

A 的CPU 时钟周期数=I×1.5

B的CPU 时钟周期数=I×1.1

现在可以计算每台计算机的CPU 时间:

A 需要的CPU 时间=CPU 时钟周期数A×时钟周期时间

=I×1.5×150 ps=225I ps

B需要的CPU 时间=I×1.1×500 ps=550I ps

因此,计算机A 更快,计算机A 的速度是计算机B的2.4倍左右。

3.运算速度

运算速度是指每秒所能执行的指令条数,单位为MIPS(百万条指令每秒),这是衡量CPU 速度的一个指标。计算机运算速度的计算方法有很多种,如吉布森混合法、峰值速度评估法、典型程序评估法和模型分析和模拟法。

吉布森混合法是早期估算MIPS的方法,也称等效指令速度法。通过统计各类指令在程序中所占比例进行折算。设某类指令i在程序中所占比例为W i,执行时间为T i,则等效指令的执行时间为:T=W 1∗T 1+W 2∗T 2+…+W n∗T n(n为指令类别数)。

MIPS虽然反映了计算机的运算速度,但用MIPS对不同机器进行性能评价是不准确的。因为不同机器的指令集不同,而且指令的功能也不同,即在机器M1上某一条指令的功能,在机器M2上要用多条指令来完成。

4.字长

一般来说,计算机在同一时间内处理的一组二进制数的位数就是“字长”。字长与计算机的功能和用途有很大的关系,是计算机的一个重要技术指标。字长直接反映了一台计算机的运算精度。位数越多,精度越高。通常称处理字长为8位数据的CPU 称为8位CPU,32位CPU 就是在同一时间内处理字长为32位的二进制数据。

5.主存容量

主存是计算机中重要的部件之一,它是与CPU 进行沟通的桥梁。计算机中所有程序的运行都是在内存中进行的,因此内存的性能对计算机的影响非常大。主存(Memory)也被称为内存储器,其作用是用于暂时存放CPU 中的运算数据,以及与硬盘等外部存储器交换的数据。只要计算机在运行中,CPU 就会把需要运算的数据调到内存中进行运算,当运算完成后,CPU 再将结果传送出来,主存的运行也决定了计算机的稳定运行。

主存容量同硬盘、软盘等存储器容量单位都是相同的,它们的基本单位都是字节(B),例如主存容量为8GB,代表计算机主存的容量为8×1024×1024×1024个字节。并且:

1024 B=1 KB=1024字节

1024 KB=1 MB=1024×1024字节

1024 GB=1 TB=1024×1024×1024字节

1024 TB=1 PB=1024×1024×1024×1024字节

总之,上述任何一项技术指标都不能完全代表整个计算机的实际性能。计算机功能的强弱或性能的好坏,不是由某项指标决定的,而是由它的系统结构、指令系统、硬件组成、软件配置等多方面的因素综合决定的。