文章目录
一、非时间指标
1、机器字长:指机器一次能处理的二进制位数
2、总线宽度:数据总线一次能并行传送的最大信息的位数
3、主存容量与存储带宽
二、时间指标
1、主频f/时钟周期T,外频、倍频
2、CPI(Clock cycles Per Instruction)
3、MIPS(Million Instructions Per Second)
4、CPU时间
三、时间指标的应用思考
一、非时间指标
1、机器字长:指机器一次能处理的二进制位数
(1)由加法器、寄存器的位数决定;
(2)一般与内部寄存器的位数相等(字长);
(3)字长越长,表示数据的范围就越大,精确度越高;
(4)目前常见的有32位和64位字长。
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.24CPI=1∗60%+2∗18%+4∗12%+8∗10%=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指令条数=f所有指令CPU时钟周期数之和×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.4MIPS=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 × TCPU时间=总指令数×∑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×10−4(秒)
方法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×10−4(秒)
三、时间指标的应用思考
1、如何合理利用时间指标评测计算机性能
2、f、CPI、MIPS、CPU时间在评价计算机性能方面的特点和不足?
3、如何科学合理测试计算机系统的综合性能?有哪些常用测试工具?测试结果能否真实反映计算机的实际性能?
计算机性能指标是确定的吗?
硬件或软件指标
影响什么
如何影响
算法
CPI、MIPS、CPU时间
影响指令数量和指令类型
编程语言
CPI、MIPS、CPU时间
指令数量和指令类型
编译程序
CPI、MIPS、CPU时间
影响指令数量和指令类型
指令集体系结构
f/T、CPI、MIPS、CPU时间
全面影响