第一章 基础知识
文章目录
1. 从计算机语言角度分类
2.系统结构
保证向后兼容,力争向上兼容。
3.Flynn分类法
Flynn分类法:根据指令流和数据流的多倍性对计算机系统进行分类
SISD(冯·诺伊曼结构) (单指令流单数据流)
SIMD
MISD(脉冲阵列计算机)
MIMD
4.计算机系统设计的原则
4.1大概率事件优先原则
(高频率事件优先原则):
对于大概率事件(最常见的事件),赋予它优先的处理权和资源使用权,以获得全局的最优结果
4.2Amdahl定律
加快某部件执行速度所获得的系统性能加速比,受限于该部件在系统中所占的重要性
4.3程序的局部性原理
程序在执行时所访问地址的分布不是随机的,而是相对地簇聚(时间局限性和空间局限性)
90/10局部性原则: 90%的运行时间是花费在执行10%的指令上
5.系统结构的设计步骤
1.需求分析
2.需求说明
3.概念性设计
4.具体设计
5.反复进行优化设计及评价
6.性能评价指标
6.1 响应时间
从事件开始到结束之间的时间 单任务 (与性能成反比)
6.2 流量(吞吐率)
单位时间内所能完成的工作量 多任务
6.3 **CPU时间
CPU工作的时间,不包括I/O时间及其他程序的时间
CPUtime = 一段程序执行花费的CPU时间
= 该程序执行所用的CPU时钟周期数* 时钟周期(CC)
= 该程序执行所用的CPU时钟周期数/时钟频率(CR)
若已知程序动态执行的指令条数(IC), 则可得:
平均指令执行时钟周期数(CPI) =程序执行所用的CPU时钟周期数/程序动态执行的指令总条数(IC)
CPUtime = IC * CPI * CC
= IC * CPI / CR
例题:
6.3.1 *用户CPU时间
CPU真正执行用户代码的时间
6.3.2 系统CPU时间
CPU执行OS代码所占用的时间
系统CPU时间难测的原因:
1.不同的机器用不同的OS
2.系统CPU时间是由OS自身测量的
3.OS系统代码在有些机器上也算用户代码
6.4 MIPS—百万条指令数/秒
1.MIPS与指令集有关,不适于比较不同指令集结构的机器
2.不同程序测同一台计算机会得到不同的MIPS值
3.MIPS反映的性能可能会与实际情况相反
6.5 MFLOPS----百万个浮点操作/秒
MFLOPS=浮点操作次数/(执行时间*106)
可以比较不同机器的浮点运算能力, 但有局限性
1.MFLOPS不仅和机器有关, 也和所用测试程序有关
2.不同机器的浮点指令不同
3.MFLOPS不仅与整数. 浮点操作的比例有关,还和快.
慢浮点操作的比例有关
7.并发并行概念辨析
并行: 在同一时刻或是同一时间间隔内完成两种或两种以上性质相同或不相同的工作。(只要时间上互相重叠,就存在并行性)
同时: 两个或多个事件在同一时刻发生的并行性。
并发: 两个或多个事件在在同一时间间隔内发生的并行性。
计算机系统中的并行性有不同的等级(从低到高)
执行程序: 指令内部并行 指令级并行 任务级或过程级并行 作业或程序级并行
数据处理: 字串位串 字串位并 字并位串 全并行
提高并行性的三种途径: 时间重叠 资源重复 资源共享
小知识点
- 计算机系统=软件+硬件/固件
- 虚拟机: 由软件实现的机器
- 语言实现的两种基本技术: 翻译和解释
解释通常比翻译花费的时间多,但占用内存少(同级化简)
通常1、2、3级解释执行,4级及以上翻译执行 - 计算机体系结构的定义:概念性结构和功能结构
- 透明性的概念
- 软件是促使计算机系统结构发展最重要的因素
- 器件是促使计算机系统结构不断发展最活跃因素
- 如何挖掘传统机器中的并行性?
1.改进CPU的组成(重迭方式 多操作部件 先行控制 流水方式)
2.在体系结构上把本来可并行计算的题目使之能并行计算(如向量计算)
3.多机并行处理系统 - 耦合度: 反映多机系统的各机器之间的物理连接的紧密程度和交互作用能力的强弱。