[计算机组成原理]计算机系统性能评价

文章目录

  • 一、非时间指标
    • 1、机器字长:指机器一次能处理的二进制位数
    • 2、总线宽度:数据总线一次能并行传送的最大信息的位数
    • 3、主存容量与存储带宽
  • 二、时间指标
    • 1、主频f/时钟周期T,外频、倍频
    • 2、CPI(Clock cycles Per Instruction)
    • 3、MIPS(Million Instructions Per Second)
    • 4、CPU时间
  • 三、时间指标的应用思考

一、非时间指标

1、机器字长:指机器一次能处理的二进制位数

[计算机组成原理]计算机系统性能评价_第1张图片
(1)由加法器、寄存器的位数决定;
(2)一般与内部寄存器的位数相等(字长);
(3)字长越长,表示数据的范围就越大,精确度越高;
(4)目前常见的有32位和64位字长。

2、总线宽度:数据总线一次能并行传送的最大信息的位数

[计算机组成原理]计算机系统性能评价_第2张图片
(1)一般指运算器与存储器之间的数据总线位数。
(2)有些计算机内部与外部数据总线宽度不一致

  • 8086、80286、80386内外数据总线等宽;
  • 8088、80386SX 外部总线宽度8位,内部总线宽度16位;
  • Pentium外总线64位,内总线32位(两条32位流水线)

3、主存容量与存储带宽

主存容量:是指一台计算机主存所包含的存储单元总数。

存储带宽:指单位时间内与主存交换的二进制信息量,常用单位B/s(字节/秒)。(影响存储带宽的指标包括数据位宽和数据传输速率)

二、时间指标

1、主频f/时钟周期T,外频、倍频

主频f 指CPU内核工作的时钟频率,即CPU内数字脉冲信号振荡的速率,与CPU实际的运算能力之间不是唯一的、直接关系;

时钟周期T 也称节拍周期,是计算机中最基本的、最小的时间单位。在一个时钟周期内,CPU仅完成一个最基本的动作;

f与T的关系 互为倒数,f越高,T就越小(f=100MHz时T=10ns,f=1GHz时T=1ns)。

外频 指CPU(内存)与主板之间同步的时钟频率(系统总线的工作频率);

倍频 CPU主频与外频之间的倍数;

主 频 = 外 频 × 倍 频 主频 = 外频 × 倍频 =×
:Pentium 4 2.4G CPU主频
2400 M = 133 M ( 外 频 ) × 18 ( 倍 频 ) 2400M = 133M(外频)× 18(倍频) 2400M=133M×18

2、CPI(Clock cycles Per Instruction)

  • 执行一条指令(平均)需要的时钟周期数(即T周期的个数)
  • 单条指令CPI,一段程序中所有指令的CPI、指令系统CPI等

C P I = 程 序 中 所 有 指 令 的 时 钟 周 期 数 之 和 程 序 指 令 总 数 = ∑ ( 程 序 中 各 类 指 令 的 C P I × 程 序 中 该 类 指 令 的 比 例 ) CPI = \frac{程序中所有指令的时钟周期数之和}{程序指令总数} = ∑(程序中各类指令的CPI×程序中该类指令的比例) CPI==(CPI×)

CPI举例

例1 某计算机指令系统中各类指令所占比例及CPI如下表所示,求程序的CPI。

指令类型 CPI 指令比例
算术和逻辑 1 60%
Load/Store 2 18%
转移 4 12%
Cache缺失访存 8 10%

根据公式可知

C P I = 1 ∗ 60 % + 2 ∗ 18 % + 4 ∗ 12 % + 8 ∗ 10 % = 2.24 CPI = 1 * 60\% + 2 * 18\% + 4 * 12\% + 8 * 10\% = 2.24 CPI=160%+218%+412%+810%=2.24

IPC(Instruction Per Clock)
每个时钟周期内执行的指令条数(并行)

实际上频率和IPC在真正影响CPU性能
准确的CPU性能判断应该是:

C P U 性 能 = I P C ( C P U 每 一 时 钟 周 期 内 所 执 行 的 指 令 多 少 ) × 频 率 ( M H z 时 钟 速 度 ) CPU性能 = IPC(CPU每一时钟周期内所执行的指令多少) × 频率(MHz时钟速度) CPU=IPC(CPU)×(MHz)

-----由英特尔提出并被业界广泛认可

如果将英特尔用于企业级服务器的主频为800MHz的安腾处理器(英特尔最高系列CPU)与用于台式机的主频为1800MHz的奔腾4处理器进行对比,我们就会发现:主频仅为800MHz的安腾处理器在性能上竟然比主频高达1800MHz的奔腾4处理器还强大。

3、MIPS(Million Instructions Per Second)

每秒钟CPU能执行的指令总条数(单位:百万条/秒)

M I P S = 指 令 条 数 执 行 时 间 × 1 0 6 = 指 令 条 数 所 有 指 令 C P U 时 钟 周 期 数 之 和 f × 1 0 6 MIPS = \frac{指令条数}{执行时间 × 10^6}= \frac{指令条数}{\frac{所有指令CPU时钟周期数之和}{f} × 10^6} MIPS=×106=fCPU×106 = f C P I × 1 0 6 \frac{f}{CPI × 10^6} CPI×106f(全性能公式)

MIPS应用举例

例2 某计算机主频为1GHz,在其上运行的目标代码包括2×105条指令,分4类,各类指令所占比例和各自CPI和例1中一致,求程序的MIPS。
根据CPU全性能公式:

M I P S = f C P I × 1 0 6 = 1 × 1 0 9 2.24 × 1 0 6 = 446.4 MIPS = \frac{f}{CPI × 10^6} = \frac{1 × 10^9}{2.24 × 10^6} = 446.4 MIPS=CPI×106f=2.24×1061×109=446.4

4、CPU时间

执 行 一 段 程 序 所 需 的 时 间 = C P U 时 间 + I / O 时 间 + 存 储 访 问 时 间 + 各 类 排 队 时 延 等 执行一段程序所需的时间 = CPU时间 + I/O时间 + 存储访问时间 + 各类排队时延等 =CPU+I/O+访+

C P U 时 间 = 程 序 中 所 有 指 令 的 时 钟 周 期 数 之 和 × T = 程 序 中 所 有 指 令 的 时 钟 周 期 数 之 和 f CPU时间 = 程序中所有指令的时钟周期数之和 × T = \frac{程序中所有指令的时钟周期数之和}{f} CPU=×T=f
(回顾汇编语言课程中延时子程序的设计原理)

CPU时间的计算方法

(1)考虑CPI后的CPU时间

C P U 时 间 = 总 指 令 数 × ∑ i = 1 n ( C P I i × I C i 总 指 令 数 ) × 时 钟 周 期 时 间 = 总 指 令 数 × C P I × T CPU时间 = 总指令数 × \sum_{i = 1}^n (CPI_i × \frac{IC_i}{总指令数}) × 时钟周期时间 = 总指令数 × CPI × T CPU=×i=1n(CPIi×ICi)×=×CPI×T

(2)考虑MIPS后的CPU时间

M I P S = 指 令 条 数 执 行 指 令 的 时 间 × 1 0 6 MIPS = \frac{指令条数}{执行指令的时间 × 10^6} MIPS=×106

程 序 的 执 行 时 间 t = 指 令 数 量 M I P S × 1 0 6 程序的执行时间 t = \frac{指令数量}{MIPS × 10^6} t=MIPS×106

CPU时间应用举例

例3 在例2的基础上求程序的CPU时间。
方法1:利用CPI

C P U 时 间 = 2 × 1 0 5 × C P I f = 2 × 1 0 5 × 2.24 1 0 9 = 4.48 × 1 0 − 4 ( 秒 ) CPU时间 = \frac{2 × 10^5 × CPI}{f} = \frac{2 × 10^5 × 2.24}{10^9} = 4.48 × 10^{-4}(秒) CPU=f2×105×CPI=1092×105×2.24=4.48×104

方法2:利用MIPS

C P U 时 间 = 指 令 数 量 M I P S × 1 0 6 = 2 × 1 0 5 1 0 3 2.24 × 1 0 6 = 4.48 × 1 0 − 4 ( 秒 ) CPU时间 = \frac{指令数量}{MIPS × 10^6} = \frac{2 × 10^5}{\frac{10^3}{2.24} × 10^6} = 4.48 × 10^{-4}(秒) CPU=MIPS×106=2.24103×1062×105=4.48×104

三、时间指标的应用思考

1、如何合理利用时间指标评测计算机性能
2、f、CPI、MIPS、CPU时间在评价计算机性能方面的特点和不足?
3、如何科学合理测试计算机系统的综合性能?有哪些常用测试工具?测试结果能否真实反映计算机的实际性能?

计算机性能指标是确定的吗?

硬件或软件指标 影响什么 如何影响
算法 CPI、MIPS、CPU时间 影响指令数量和指令类型
编程语言 CPI、MIPS、CPU时间 指令数量和指令类型
编译程序 CPI、MIPS、CPU时间 影响指令数量和指令类型
指令集体系结构 f/T、CPI、MIPS、CPU时间 全面影响

你可能感兴趣的:(计算机理论)