控制流程的三种实现方式:
全硬件,软硬结合,全软件
1:逻辑上是等价的
2:硬件实现“速度快,成本高,灵活性差,占用内存少
3:软件实现,速度慢,复制费用低,灵活性好,占用内存多,容易设计,可改性强,
适应性强,设计周期短
理论上,由两种极端实现方法
1:全硬件机器:操作系统,高级语言,应用等
2:硬件只有1位加法和分支操作,其他都用软件
软硬件实现的优缺点
软硬件取舍的基本原则:
很高的性能价格比
计算机性能评测:
计算机性能是指计算机的工作速度,是程序执行时间的倒数
计算机的性能不仅仅与计算机系统结构有关,而且与算法,程序有关。
性能评价的优点:
1:改进计算机结构设计,提高计算机性能
2:促进软硬件结合,合理划分功能
3:优化”结构-算法-应用“,实现最佳组合
4:了解各类计算机适宜的应用领域,提高使用效率
性能评测的分级:
1:机器级性能评测
CPU,存储器的基本性能指标,并行计算机的计算与通信开销,机器的成本,性能价格比等
2:算法级性能评测
并行算法的可扩放性
3:程序级性能测试
基准测试程序
计算机系统的性能评价
1:时钟频率
2:指令执行速度
3:平均速度
4:核心程序法
5:峰值速度
一:时钟频率
时钟频率(处理机主频)只能用于同一类型,同一配置的处理机相对比较。
实际运算速度还与cache,内存,IO,被执行的程序等有关
二:指令执行速度
一种经典的表示运算速度的方法MIPS(million instrcutions per seconds),GIPS,TIPS
使用该方法有一些缺点:
1:不同指令的执行速度差别很大
2:指令使用频度差别很大
3:有相当多的非功能性指令
计算机系统的评测:
1:性能指标体现在时间和空间
2:峰值性能:在理想情况下计算机系统可获得的最高理论性能值,他不能反应出系统的实际性能。
3:实际性能(持续性能):只是峰值性能的5%-30%
CPU性能公式:
CPU的性能取决于三个要素:
1:时钟频率f(或时钟周期t)
2:每条指令所花的时钟周期数CPI
3:指令条数IC
一个程序所花的CPU时间(T)可以用两种方式来表示:
CPU时间(T)=CPU时钟周期数(CPIxIC)*时钟周期长
核心程序法
定点测试程序和浮点测试程序
评测方法:
1:采用实际的应用程序的测试
2:采用核心程序测试
3:合成测试程序
4:综合基准测试程序
计算机系统的定量设计原理
1:哈夫曼压缩原理
2:Amdahl定律
3:程序访问的局部性规律
哈夫曼压缩原理:
尽可能加速高概率时间远比加速处理概率很低的事件对性能提高要显著
只加速使用频率很高的部件,这是计算机设计中最重要也最广泛采用的设计准则。使经常性
事件的处理速度加快能明显提高整个系统的性能。
Amdahl定律:
系统对某一部件采用某种更快执行方式所能获得的系统性能改进程序,取决于这种执行方式
被使用的频率,或所占执行时间的比例。
程序访问的局部性规律
局部性分为时间上的局部性和空间上的局部性。
1:时间局部性:程序中近期被访问的信息项很可能马上将被再次访问
2:空间局部性:指那些在访问地址上相临近的信息项很可能会被一起访问
存储器体系的构成就是以访问的局部性原理为基础的。
软件的可移植性是指软件不用修改或只需少量加工就可由一台机器搬到另外一台机器上运行。
向上(下)兼容:指按照某一档机器编制的软件,不加修改就能运行于比他高(低)档的机器上向前(后)兼容:在按某一时期投入到市场的该型号机器上编制的软件,不加修改就能运行与在他之前(之后)投入市场的机器上。
面向目标代码的编译:
一种机器的目标代码重新编译成另一种机器的目标代码。
两种方法:
1:动态代码编译
2:静态重编译
采用统一高级语言,模拟,仿真,虚拟计算机和面向目标代码的编译都是提高程序兼容性的方法,
现在我们比较这五种方法:
方法一:采用统一高级语言是努力的目标,但是不能解决已有目标代码的兼容。
方法二:目前最有效的方法,但是限制了计算机系统结构的发展
方法三:仿真的速度低,芯片设计负担重
方法四:采用虚拟计算机比方法三稍好,但是依然不能完全解决已有目标代码的兼容问题。
方法五:目标代码的静态重编译是最有效的方法,但是实现难度大
微处理器发展的途径
1:指令级并行
2:显式并行计算
3:线程级并行
4:单片多处理器
并行性的概念:
只要在同一时刻或同一时间间隔内完成两种或两种以上性质相同或不同的工作,他们在时间上能互相重叠。
同时性:两个或多个事件在同一时刻发生
并发性:两个或多个事件在同一时间间隔内发生
并行性开发的途径
1:时间重叠
在并行性概念中引入时间因素,让多个处理过程在时间上相互错开,轮流重叠的使用同一套硬件设备的各个部分,以加快硬件周转而赢得速度。
2:资源重复
在并行性概念上引入空间因素,通过重复设置硬件资源来提高可靠性和性能。
3:资源共享
是利用软件的方法让多个用户按一定时间顺序轮流使用同一资源,以提高其利用率,这样也可以提高整个系统的性能
并行处理计算机的结构:
1:流水线计算机(时间重叠)
2:阵列计算机(资源重复)
3:多处理机系统(资源共享)
4:数据流计算机
流水线计算机,阵列计算机和多处理机计算机比较
流水线计算机:主要通过时间重叠,让多个部件在时间上交错重叠的并行执行运算和处理,以实现时间上的并行
阵列处理机:主要通过资源重复,设置大量算数逻辑单元,在同一控制部件作用下同时运算和处理,以实现空间上的并行性
多处理机系统:主要通过资源共享,让共享输入/输出子系统,数据库资源及共享或不共享贮存的一组处理机在同一的操作系统全盘控制下,实现软件和硬件各级上相互作用,达到时间和空间上的异步并行
多级系统指的是多处理机系统和多计算机系统。
多处理机系统:是有多台处理机组成的单一计算机系统,各个处理机都有自己的控制部件,可带自己的局部存储器, 能执行各自的程序
多计算机系统:是有多台计算机组成的系统,各个自算计分别在逻辑上独立操作系统的控制下运行,计算机之间可以不通信,即使通信也只是经过通道或通信线路以文件或数据集的形式进行,实现多个作业的并行、
多机系统的耦合度:
为了反映多机系统中各机器之间物理连接的紧密程度和交叉作用能力的强弱。
最低耦合系统:各种脱机系统
松散耦合系统:如果多台计算机通过通道或通信线路实现互连,共享某些磁带,磁盘等外围设备,以较低
频带在文件和数据集一级相互作用。间接耦合系统
紧密耦合系统:如果多台机器之间通过总线或高速开关互连,共享主存,并有较高的信息传送速度,可以实现
数据集一级,任务级,作业级的并行。直接耦合系统
1:并行向量处理机(PVP)
结构特点:具有少量的高性能专门设计的VP,定制高宽带网络:共享存储器,大量的向量寄存器而没有高速缓冲
典型结构:
2:分布共享存储多处理机(DSM)
结构特点:MIMD-DM,CC-NUMA;单地址空间的应用界面,DIR用以支持分布高速缓存一致性。定制互连网络
典型结构:
3:机群系统:cluster
结构特点:MIMD-DM自治系统,每个节点是一个独立的计算机,互连网络使用标准低成本商用网络;节点可以是工作站活PC,带有存储器,具有完整的OS。是近代最流行的并行分布式系统。
典型结构:
访存模型
多处理机(单地址空间共享存储器)
UMA:uniform memory access
NUMA:nonuniform memory access
多计算机(多地址空间非共享存储器)
NORMA:no-remote memory access
1:均匀存储器存取
所有的处理器均匀共享物理存储器,这里的均匀共享是指所有的处理器具有相同的存储器存取时间。所有的处理器可自带私有的告诉缓存,外围设备也可以一定形式的共享。各个处理机之间的通信是通过共享存储器的共享变量实现的。
这一类多处理机由于对资源的高度共享,常称为紧耦合系统。
2:非均匀存储器访问(NUMA)
•非均匀存储访问(NUMA—Nonuniform Memory Access)
–被共享的存储器在物理上是分布在所有的处理其中的,其所有本地存储器的集合就组成了全局地址空间
–处理器访问存储器的时间是不一样的:访问本地存储器(LM)较快,而访问外地的存储器较慢(此即是非均匀存储访问名称的由来)
–每台处理器可带私有高速缓存,且外设也可以某种形式共享
3:非远程存储访问(NORMA)
非远程存储访问(NORMA — No-Remote Memory Access)
所有存储器都是私有的,仅能由其处理器所访问
绝大都数都不支持远程存储器的访问
指令流:是指机器执行的指令序列
数据流:是指指令流调用的数据序列,包括输入数据和中间结果
多倍性:是指在系统性能瓶颈部件上处于同一执行阶段的指令或数据的最大可能个数
Michael J,Flynn分类
· SISD 单指令流单数据流
· 传统的单处理机属于SISD计算机
· SIMD 单指令流多数据流
· 并行处理机是SIMD计算机的典型代表
· 我国的YH-I型是此类计算机型
· MISD 多指令流单数据流
· 实际上不存在,但也有学者认为存在
· MIMD 多指令流多数据流
· 包括了大多数多处理机及多计算机系统
· 我国的YH-II型计算机是这种类型的计算机
SISD:典型的单处理机
SIMD:
种类:并行处理机,阵列处理机,向量处理机,相联处理机,超标量处理机,超流水线处理机
多个PU按一定方式互连,在同一个CU控制下,对各自的数据完成同一条指令规定的操作,从CU看指令顺序执行,从PU看数据并行执行
Von Neumann机结构的主要特征
· 存储器是字长固定的、顺序线性编址的一维结构,每一个地址是唯一定义的
· 按地址访问、单元位数固定、运算速度与访存次数有关
· 由指令形式的低级语言驱动,指令=操作码+地址码
· 操作数的类型由操作码决定
· 指令在存储器中是按其执行顺序存储,程序分支由转移指令实现
· 存储器内指令和数据同等看待
· 二进制编码、运算
· 以运算器为中心,I/O与存储器之间数据通过运算器,运算器、存储器、
I/O设备的操作及之间的联系,由控制器控制