计算机系统性能评价
计算机系统性能评价
<1> 非时间指标
1)机器字长:指机器一次能处理的二进制位数
由加法器、寄存器的位数决定
一般与内部寄存器的位数相等(字长)
字长越长,表示的数据的范围就越大,精确度越高
目前常见的有 32 位和 64 位字长
2)总线宽度:数据总线一次能并行传送的最大信息位数
一般指运算器与存储器之间的数据总线位数
有些计算机内部与外部数据总线宽度不一致
8086、80286、80386 内部数据总线等宽
8088、80386SX 外部总线宽度 8 位,内部总线宽度 16 位
Pentium 外总线 64 位,内总线 32 位(两条 32 位流水线)
3)主存容量与存储带宽
主存容量:是指一台计算机主存所包含的存储单元总数
存储带宽:指单位时间内与主存交换的二进制信息量,常用单位 B/s(字节/秒)。(影响存储带宽的指标包括数据位宽和数据传输速率)
<2> 时间指标
1)主频 f/时钟周期 T,外频、倍频
主频 f
指 CPU 内核工作的时钟频率,即 CPU 内数字脉冲信号振速率,与 CPU 实际的运算能力之间不是唯一的、直接关系
时钟周期
也称节拍周期,是计算机中最基本的、最小的时间单位。在一个时钟周期内,CPU 仅完成一个最基本的动作
f 与 T 的关系
互为倒数,f 越高,T 就越小(f = 100MHz 时 T = 10ns,f = 1GHz 时 T = 1ns)
外频
指 CPU(内存)与主板之间同步的时钟频率
倍频
CPU 主频与外频之间的倍数
主频 = 外频 × 倍频如:Pentium 4 2.4G CPU 主频 2400M = 133M(外频) × 18(倍频)
2)CPI(Clock cycles Per Instruction)
执行一条指令(平均)需要的时钟周期数(即 T 周期个数)
单条指令 CPI、一段程序中所有指令的 CPI、指令系统 CPI 等
CPI = 程序中所有指令的时钟周期数之和 / 程序中指令总数 = (程序中各类指令的 CPI × 程序中该类指令的比例)
CPI 应用举例例 某计算机指令系统中各类指令所占比例及 CPI 如下表所示,求程序的 CPI
解: CPI = 1*60% + 2*18% + 4*12% + 8*10% = 2.24
IPC(Instruction per Clock)
每个时钟周期内执行的指令条数(并行)
3)MIPS (Million Instructions Per Second)
每秒钟 CPU 能执行的指令总条数(单位:百万条/秒)
MIPS = 指令条数 / (执行时间 × 10<sup>6</sup>) = 指令条数 / ((所有指令 CPU 时钟周期之和 / f) × 10<sup>6</sup>) = f / (CPI × 10<sup>6</sup>) (全性能公式)
MIPS 应用举例例 某计算机主频为 1GHz,在其上运行的目标代码包含 2×10<sup>5</sup>条指令,分 4 类,各类指令所占比例和各自 CPI 如下表所示,求程序的 MIPS
解: 根据 CPU 全性能公式: MIPS = f / (CPI × 10<sup>6</sup>)CPI = 1*60% + 2*18% + 4*12% + 8*10% = 2.24MIPS = f / (CPI × 10<sup>6</sup>) = 1* 10<sup>9</sup> / (2.24)*10<sup>6</sup> = 446.4
4)CPU 时间
执行一段程序所需的时间
(CPU 时间 + I/O 时间 + 存储访问时间 + 各类排队延时等
CPU 时间 = 程序中所有指令的时钟周期数之和 × T = 程序中所有指令的时钟周期数之和 / f
CPU 时间的计算方法
考虑 CPI 后的 CPU 时间: CPU 时间 = 总指令数 × (CPI<sub>i</sub> × IC<sub>i</sub> / 总指令数) × 时钟周期时间 = 总指令数 × CPI × T
考虑 MIPS 后的 CPU 时间: MIPS = 指令数量 / (执行指令的时间 × 10<sup>6</sup>) 程序执行的时间 t = 指令数量 / (MIPS × 10<sup>6</sup>)
CPU 时间应用举例例 某计算机主频为 1GHz,在其上运行的目标代码包含 2×10<sup>5</sup>条指令,分 4 类,各类指令所占比例和各自 CPI 如下表所示,求该段程序的 CPU 时间
解: 方法 1: 利用 CPI CPU 时间 = 2 × 10<sup>5</sup> × CPI / f = (2 × 10<sup>5</sup> × 2.24 / 10<sup>9</sup>) = 4.48 × 10<sup>-4</sup>(秒)
解: 方法 2: 利用 MIPS CPU 时间 = 指令数量 / (MIPS × 10<sup>6</sup>) = 2 × 10<sup>5</sup> / ((10<sup>3</sup> / 2.24) × 10<sup>6</sup>) = 4.48 × 10<sup>-4</sup>(秒)
<3> 时间指标的应用思考
如何合理利用时间指标评测计算机性能
f、CPI、MIPS、CPU 时间在评价计算机性能方面的特点和不足?
如何科学合理测试计算机系统的综合性能?有哪些常用测试工具?测试结果能否真实反应计算机的实际性能?
计算机性能指标是确定的吗?如何合理利用时间指标评测计算机性能
f、CPI、MIPS、CPU 时间在评价计算机性能方面的特点和不足?
如何科学合理测试计算机系统的综合性能?有哪些常用测试工具?测试结果能否真实反应计算机的实际性能?
计算机性能指标是确定的吗?
版权声明: 本文为 InfoQ 作者【若尘】的原创文章。
原文链接:【http://xie.infoq.cn/article/5fe5a2c494e9b7d04b9bbfc08】。文章转载请联系作者。
评论