目录
前言
重点一览
计算机分类
弗林分类法
市场分类
计算机系统结构定义
实现技术\功耗\成本的趋势\可靠性(了解)
计算机性能
性能评价指标
性能评价方法
计算机设计的量化原则
基本方法
Amdahl‘s 定律
CPU 性能公式 / 时间计算
本章小结
前言
本复习笔记基于叶老师的课堂PPT和复习提纲,供自己期末复习与学弟学妹参考用。
重点一览
计算机分类
弗林分类法
定义:基于指令流和数据流数量的计算机结构分类
内容:
- SISD
- Single instruction: 在任一时钟周期只有单个指令流在CPU执行
- Single data: 在任一时钟周期只有单个数据流用作输入
- 例子: 串行计算机
- MISD
- 每个处理单元用多个指令流对单个数据进行独立操作
- 单个数据流进入多个处理单元。
- 例子: 很少有这类计算机的实例
- SIMD
- 例子: 适用于处理高度规整操作的问题,如图像处理
- MIMD
- 各处理器执行可以是同步的或异步的,确定性的或非确定性的
- 例子: 多处理器系统
市场分类
计算机系统结构定义
原始的概念: 由程序员(机器语言)看见的(计算)系统属性,即概念性结构和功能行为,以区分数据流动和控制逻辑设计的组成及物理实现。
现在的定义: 指令集系统结构
实现技术\功耗\成本的趋势\可靠性(了解)
- 实现技术的趋势
- 摩尔定律: 工业界集成在一个计算机芯片上的元件数量每年翻一番。 1975年,他更新预测为每两年翻一番。
- 通常在集成电路逻辑, 半导体DRAM, 磁盘技术, 网络上进行升级, 设计者常常为下一代实现技术进行设计
- 经验法则: 成本减少速度与密度增加速度成比例; 带宽增加速度与时延平方改进速度成比例
- 技术阈值: 对设计有重大影响 实现技术在持续改进到阈值,就会使设计发生飞跃
- 带宽/吞吐量 : 在给定时间完成的工作总量
- 时延/响应时间: 一个事件从开始到完成的时间
- 性能趋势: 带宽改进优于时延
- 功耗的趋势
- 功耗对芯片的规模也提出了挑战(分配功率 散热 避免过热点)
- 动态功率: 开关晶体管产生的功耗; 对于一项固定任务,降低时钟频率可以降低功率,而不会降低能耗
- 静态功率: 晶体管在关闭时漏电产生的功耗; 静态功率与器件数目成正比
- 成本的趋势
- 元器件成本是设计者需要考虑的一个方面
- 影响成本的主要因素: 时间, 元器件价格随着时间而下降(实现技术没有实质性改进); 因为随着时间推移产出率不断增高。产量, 提高意味着制造效率提高; 商品, 元器件供应商之间的竞争会降低成本
- 成本的小变化可能引起意料不到的价格大增
- 可靠性
- 广义上包括可靠性、安全性和可用性, 用于表示系统提供给用户服务的质量
- 量化: 模块可靠性=平均无故障时间/(平均无故障时间+平均修复时间)
- 提高可靠性的方法: 冗余(Redundancy): 时间冗余: 重复操作直到无错; 资源冗余: 配置另外的相同部件,有错时用于替代出错部件
计算机性能
性能评价指标
- 执行时间(响应时间,时延)
- CPU时间
- 用户CPU时间- 花费在用户模式的时间
- 系统CPU时间- 花费在操作系统的时间
- 是设计者的感觉, 决定了CPU性能
- 是用户的感觉 系统性能 仅有的各方都认可的性能测量指标
- CPU时间
- 吞吐量:网站服务器
- 单位时间内完成的工作总量---吞吐量
- 对于很多应用,吞吐量比时延更重要:金融市场, 政府统计(人口普查)
- 通常改善了响应时间也会改善吞吐量: 处理器用更快的型号替换
- 只改善吞吐量而不改善响应时间: 如用多处理器
- 是管理员的感觉
- MIPS - millions of instructions per second
- 指令数/(运行时间*1000000)
- 是商人的感觉
性能评价方法
- 理想的性能评估: 运行随机取样的用户的程序和OS命令
- 不同类型的基准测试程序(benchmarks)
- 有些基准程序有迷惑性, 因为硬件和编译器的供应商或许会仅对一些程序优化他们的设计
- 最好的基准测试程序就是实际应用程序,因为它们反应了终端用户的需要
- SPEC—实用基准测试程序集
- 目标:保证市场有一套公平和实用的指标来区分不同的候选系统。
- 基本方法:提供基于现有应用程序的一套标准化源代码作为基准测试程序集
- SPEC性能评价
- SPEC Mark是一个综合指标以衡量不同计算机的性能, SM越大性能越好
- SPEC率=参考机执行时间/被测机执行时间
- SM计算方法: N个SPEC基准程序的SPEC率的几何平均值
- 不是绝对客观的, 可以针对基准程序刻意优化
- 性能与执行时间互为倒数
- 最大的性能意味着最小的执行时间
- 处理器X比Y快N倍,说明Y的执行时间是X的N倍.
计算机设计的量化原则
基本方法
- 利用并行性: 改善计算机性能最重要的方法
- 局部性原理: 程序趋向于重用最近用过的数据和指令
- 注重经常性事件: 计算机设计最重要和普遍原则
- 量化这个原则的基本定律:Amdahl’s Law
Amdahl‘s 定律
定义了使用某一特定功能所获得的加速比
Amdahl定律中,加速比与两个因素有关:
a. 改进比例 Fe
b. 改进加速比 Se
例:
答: Fe = 10/100 = 1/10
Se = 10/1 = 10
设改进后执行时间为Tn,改进前的执行时间为T0,则上式可以写为:
(1-Fe)表示不可改进部分; 改进比例 Fe; 改进加速比 Se
改进后整个系统的加速比:
提高改进比例Fe 或改进加速比Se,都可以提高Sn , 但是Fe 对Sn 的影响更大。
例:
CPU 性能公式 / 时间计算
CPU时间=程序的CPU时钟周期数×时钟周期时间=程序的CPU时钟周期数/时间频率
=指令数*CPI*时钟周期时间
=n类指令*n种CPI之和*时钟周期时间
(总CPI=各类指令占总指令的比例*各类CPI之和)