计算机系统结构分类法:
- Flynn分类法
a) SISD Single Instruction Single Data Stream
b) SIMD Sigle Instruction Mutiple Data Stream
c) MISD Mutiple Instruction Single Data Stream
d) MIMD Mutiple Instruction Mutiple Data Stream
- 冯氏分类法
利用系统最大并行度(计算机系统在单位时间内能够处理的最大二进制位数)对计算机进行分类。
阿姆达尔定律Amdahl’s Law
加快某部件执行速度所能获得的系统性能加速比,受限于该部件的执行时间占系统中总执行时间的百分比。
加速比 原处理时间/加速后处理时间
cpu性能公式
cpu时间=执行程序所需的时钟周期数*时钟周期时间
=IC(指令条数)*CPI*时钟周期时间
程序的局部性原理
时间局部性:现在访问的数据段即将被再次访问
空间局部性:即将访问的数据在目前使用的数据空间上临近
计算机系统的性能评测
用户关心:执行时间 执行单个程序所花的时间
数据中心管理员:吞吐率 在单位时间内能完成的任务数
基准测试程序套件:由各种不同的真实应用程序构成
分为两大类:处理器性能测试程序,图形性能测试程序
SPEC系列:最成功和最常见的测试程序套件
- SPECSFS:用于NFS(网络文件系统)文件服务器的测试程序。它不仅测试处理器的性能,还测试I/O系统的性能。重点测试吞吐率。
- SPECWeb:Web服务器测试程序
- SPECviewperf:用于测试图形系统支持OpenGL库的性能
- SPECapc:用于测试图形密集型应用性能
冯诺依曼结构 存储程序原理的基本点:指令驱动
- 以运算器为中心
- 在存储器中,指令和数据同等对待
- 存储器是按地址访问、按顺序线性编址的一维结构,每个单元的位数是固定的。
- 指令顺序执行(程序的分支由转移指令实现)
- 指令由操作码和地址码组成
- 指令数据均以二进制编码表示,采用二进制运算。
对系统结构进行的改进
输入输出方式 |
程序控制 |
程序等待 |
程序中断 |
||
DMA |
成组传递 |
|
周期挪用 |
||
I/O处理机 |
通道 |
|
外围处理机 |
软件的可移植性
一个软件可以不经修改或者只需少量修改就可以由一台计算机移植到另一台计算机上正确地运行。差别只是执行时间的不同。我们称这两台计算机是软件兼容的。
实现可以执行的常用方法
- 系列机:由同一厂商生产的具有相同的系统结构,但具有不同组成和实现的一系列不同型号的机器。向后兼容是系列机的根本特征。
向上/下兼容:不加修改就能运行于比它高/低档的机器
向前/后兼容:不加修改就能运行于在它之前/后投入市场的机器
- 兼容机:由不同公司厂家生产的具有相同系统结构的计算机。
- 模拟&仿真
a) 模拟:用软件的方法在一台现有的机器(宿主机)上实现另一台机器(虚拟机)的指令集。
通常用解释的方法来实现
运行速度较慢,性能较差
b) 仿真:用一台现有机器(宿主机)上的微程序去解释实现另一台机器(目标机)的指令集。
运行速度比模拟方法的快
仿真只能在系统结构差距不大的机器之间使用
- 统一高级语言
实现软件移植的一种理想的方法
较难实现
摩尔定律
集成电路芯片上所集成的的晶体管数目每隔18个月就翻一番。
计算机的分代主要以器件作为划分标准
系统结构的生命周期:从诞生、发展、成熟到消亡(各阶段5-7年)
并行性:计算机系统在同一时刻或者同一时间间隔内进行多种运算或操作。(只要在时间上相互重叠,就存在并行性。)
同时性:≥2以上事件在同一时刻发生
并发性:≥2以上事件在同一时间间隔内发生
- 从处理数据的角度来看,并行性等级从低到高可分为:
字串位串
字串位并
字并位串
全并行
- 从执行程序角度来看,并行性等级从低到高可分为:
指令内部并行:单挑指令中各微操作之间的并行
指令级并行:并行执行两条或两条以上的指令
线程级并行:并行执行两个或两个以上的线程(通常是以一个进程内派生的多个线程为调度单位)
任务级或过程级并行:并行执行两个或两个以上的过程或任务(程序段)(以子进程或进程为调度单元)
作业或程序级并行:并行执行两个或两个以上的作业或程序。
提高并行性的技术途径
- 时间重叠:让多个处理过程在时间上相互错开,轮流重叠地使用同一套硬件设备的各个部分,以加快硬件周转而赢得速度。
在发展高性能单处理机过程中,起主导作用的是时间重叠原理。部分功能专用化:实现时间重叠的基础
取指令部件IF |
指令译码部件ID |
指令执行部件EX |
访问存储器部件M |
写结果部件WB |
- 资源重复:通过重复设置硬件资源大幅度提升计算机系统的性能(多用于单处理机)
a) 多体处理器
b) 多操作部件
c) 阵列处理机(并行处理机):设置许多相同的处理单元,让它们在同一个控制器的指挥下,按照同一条指令的要求,对向量或数组的各元素同时进行同一操作
- 资源共享:这是一种软件方法,它使多个任务按一定时间顺序轮流使用同一套硬件设备
在单处理机中,资源共享的概念实质上是用单处理机模拟多处理机的功能,形成所谓虚拟机的概念。eg:分时系统
多机系统中并行性的发展
- 多机系统遵循时间重叠、资源重复、资源共享原理。发展为3种不同的多处理机:
同构型多处理机、异构型多处理机、分布式系统
- 耦合度:反应系统中各机器之间的物理连接的紧密程度和交互作用力的强弱。
a) 紧密耦合系统(直接耦合系统):在这种系统中,计算机之间的物理连接的频带较高,一般是通过总线或高速开关互联,可以共享主存。
b) 松散耦合系统(间接耦合系统):一般是通过通道或通信线路实现计算机之间的互联,可以共享外存设备(磁盘、磁带等)。机器之间的相互作用是在文件或数据集一级上进行的。
- 功能专用化(实现时间重叠)
a) 专用外围处理机
b) 专用处理机
c) 异构型多处理机系统:由多个不同类型、至少负担不同功能的处理机组成,它们按照作业的要求顺序,利用时间重叠原理,依次对它们的多个任务进行加工,各自完成规定的功能动作。
- 机间互联
a) 容错系统
b) 可重构系统:对计算机之间互联网络的性能提出了更好地要求,高带宽、低延迟、低开销的机间互联网络是高效实现程序或任务一级并行处理的前提条件。
c) 同构多处理机系统:由多个同类型或至少负担同等功能的处理机组成,它们同时处理同一作业中能并行执行的多个任务。