1. 计算机的分类
1.1 Flynn’s分类
定义:基于指令流和数据流数量的计算机结构分类
SISD
串行计算机、确定执行
在任一时钟周期只有单个指令流在CPU执行
在任一时钟周期只有单个数据流用作输入SIMD
数据级并行、适用于处理高度规整操作的问题,如图像处理、同步和确定执行
在任一时钟周期,所有处理单元执行相同的指令
每个处理单元能对不同数据元素进行操作MISD
少有
单个数据流进入多个处理单元
每个处理单元用单个数据流对数据进行独立操作MIMD
线程级或任务级并行、可同步或异步、可确定或非确定
每个处理器可以执行不同的指令流
每个处理器可以对不同数据流进行操作
1.2 市场分类
- 个人移动设备
- 桌面计算机
- 服务器
- 集群/仓库级计算机
- 嵌入式计算机
2. 系统结构定义和任务
2.1 定义
传统定义:由程序员(机器语言)看见的(计算)系统属性,即概念性结构和功能行为,以区分数据流动和控制逻辑设计的组成及物理实现
现代定义:在满足功能、性能和价格目标的条件下,设计、选择和互连硬件部件构成计算机
区分:
- 经典的计算机系统结构是机器语言程序员所看到的传统机器级所具有的属性。它确定计算机系统的软、硬件界面。
- 计算机组成指的是计算机系统结构的逻辑实现,包括五大功能部件组成以及逻辑设计等。它着眼于机器级内各事件的排序方式与控制方式,各部件的功能以及各部件的联系。
- 计算机实现指的是计算机组成的物理实现,包括处理机、主存等部件的物理结构,器件的集成度和速度功耗,模块、插件、底板的划分与连接,信号传输,电源、冷却及整机装配技术等。它着眼于器件技术和微组装技术,其中器件技术在实现技术中占主导作用。
例题:
- 主存容量与编址方式(按位、按字节、按字访问等)的确定属于计算机系统结构
- 为达到所定性能价格比,主存速度应多快,在逻辑结构上需采用什么措施(如多体交叉存储等)属于计算机组成
- 主存系统的物理实现,如存储器器件的选定、逻辑电路的设计、微组装技术的选定属于计算机实现
影响:
- 相同的计算机系统结构的计算机可以有不同的计算机组成
- 相同的计算机组成可以有不同的计算机实现
系列机:
是指由一个制造商生产的具有相同的系统结构,但具有不同组成和实现的一系列不同型号的计算机
软件兼容性:
同一个软件可以不加修改地运行于系统结构相同的各档机器上,而且运行结果一样,差别只是运行时间不同
向后兼容:
在某一时间生产的机器上运行的目标软件能够直接运行于更晚生产的机器上
向上兼容:
在低档机器上运行的目标软件能够直接运行于高档机器上
指令集系统结构ISA的7个重要特征:
- ISA的类型:现代通用寄存器结构、早期累加器结构
- 存储器访问:字节访问等
- 寻址方式
- 操作数类型和大小:8位字符、32位整型数
- 操作类型:数据传输,算术/逻辑
- 控制流指令:转移,子程序调用/返回
- ISA编码:固定长度,可变长度
2.2 任务
考虑
摩尔定律:集成在一个计算机芯片上的元件数量每两年翻一番
经验法则:成本减少速度与密度增加速度成比例
性能趋势:带宽改进优于时延
经验法则:带宽增加速度与时延平方改进速度成比例依据
量化原则
3. 性能
SPEC率:一个测试程序在参考计算机上执行时间与被测计算机上执行时间的比值,越大说明被测计算机性能越高
Amdahl定律:采用更快执行方式后所带来的系统性能提高,与这种执行方式的使用频率或占总执行时间的比例有关
改进比例Fe:可改进部分执行时间与改进前整个任务的执行时间的比值
改进加速比Se:改进前改进部分的执行时间与改进后改进部分的执行时间的比值
改进后整个系统的加速比Sn=1/((1-Fe)+Fe/Se)
CPUtime =指令数量*CPI*时钟周期