欢迎光临散文网 会员登陆 & 注册

【计算机基础Ep15】黑皮书:《计算机组成与设计——硬件/软件接口》内容梳理(六)

2023-02-28 17:35 作者:躺坑老碧的学习瞎记  | 我要投稿

第一章 计算机抽象及相关技术

1.6性能

1.6.1性能的定义

要素: 

  1. 响应时间(response time)——

    1. 定义:也叫执行时间(execution time),是计算机完成某任务所需的总时间,包括硬盘访问、内存访问、I/O活动、操作系统开销和CPU执行时间等;

    2. 适用范围:个人计算机用户会对降低响应时间感兴趣;

  2. 吞吐率——

    1. 定义:也叫做带宽(band-width),性能的另一种度量参数,表示单位时间内完成的任务数量;

    2. 适用范围:服务器更关注吞吐量。

  3. 关系:往往相互影响。

相对性能: 公式——

——X的执行速度是Y的n倍。


1.6.2性能的度量

衡量标准:时间,需要时间最少的计算机是最快的。

时间分类:

  1. 挂钟时间(wall clock time):也叫响应时间(response time)运行时间(elapsed time),表示完成某项任务所需的总时间,包括了磁盘访问、内存访问、I/O活动和操作系统开销等一切时间;

  2. CPU执行时间(CPU execution time):简称为CPU时间,只表示在CPU上花费的时间,而不包括等待I/O或运行其他程序的时间;

  3. 注意:用户所感受到的是程序的运行时间,而不是CPU时间。

定义:

  1. 系统性能(system performance):空载系统的响应时间;

  2. CPU性能(CPU performance):用户CPU时间;

  3. 本章重点放在CPU性能上;

  4. 时钟周期数(clock cycle,或称滴答数、时间滴答数、时钟数、周期数)——

    1. 背景:计算机用户更关心时间,计算机设计者考虑如何度量计算机硬件完成基本功能的速度;

    2. 含义:计算机一个时钟周期的时间,通常是指处理器时钟,并在固定频率下运行;

    3. 时钟频率:时钟周期的倒数。

1.6.3CPU性能及其度量因素

将用户关注的性能指标(时间)与设计者关注性能指标(时钟周期数)联系起来,公式——

——硬件设计中减少程序执行所需的CPU时钟周期数或缩短时钟周期长度,就能改进性能。


1.6.4指令性能

编译器明确生成了要执行的指令,且计算机必须通过执行指令来运行程序,因此执行时间必然依赖于程序中的指令数,公式——

——指令平均时钟周期数(clock cycle per instruction):表示每条指令所需的时钟周期平均数,缩写为CPI,根据所完成任务的不同,不同的指令需要的时间可能不同,CPI是程序的所有指令所用时钟周期的平均数,在指令系统不变的情况下,一个程序执行的指令数是不变的。


1.6.5经典的CPU性能公式

用指令数(程序执行所需要的指令总数)、CPI(指令平均时钟周期数)和时钟周期长度来写出基本的性能公式——

——将三个影响性能的因素进行了分离,可以比较不同的实现方案或评估某个设计的替代方案。


注意:时间是唯一对计算机性能进行测量的完整而可靠的指标。


测量方式:

  1. CPU的执行时间:运行程序

  2. 时钟周期长度:计算机说明书

  3. 指令数:

    1. 体系结构仿真器;

    2. 处理器中的硬件计数器。

结论:只用一个因素去评价性能是危险的——

  1. 比较两台计算机时必须考虑全部三个因素,它们组合起来才能确定执行时间;

  2. 如果某个因素相同,则必须考虑不同的因素才能确定性能的优劣;

  3. 因为CPI根据指令分布的不同而变化,所以即使时钟频率是相同的,也必须比较指令总数和CPI——指令分布(instruction mix):在一个或多个程序中,对指令的动态使用频度的评价指标。

影响性能的软硬件组分:

  1. 算法:指令数、CPI;

  2. 编程语言:指令数、CPI;

  3. 编译器:指令数、CPI;

  4. 指令系统体系结构:指令数、时钟频率、CPI。



【计算机基础Ep15】黑皮书:《计算机组成与设计——硬件/软件接口》内容梳理(六)的评论 (共 条)

分享到微博请遵守国家法律