84
1.4 计计计计 计计计计计 1.4.1 计 · 计计计计计 1.4.2 计计计计计计计 1.4.3 计计计计计计计 1.4.4 计计计计计计计

1.4 计算机系统结构的发展

  • Upload
    pia

  • View
    101

  • Download
    0

Embed Size (px)

DESCRIPTION

1.4 计算机系统结构的发展. 1.4.1 冯 · 诺依曼结构 1.4.2 器件发展的影响 1.4.3 应用发展的影响 1.4.4 改进算法的影响. 1.4.1 冯 · 诺依曼结构. 存储程序计算机体系结构 Van Nenmann 基本思想 于 1936 年~ 1946 年期 间形成, 由冯 · 诺依曼等人于 1946 年提出. 1. 特点 : 存储程序、运算器为中心、集中控制 存储器是字长固定的、顺序线性编址的一维结构,每个地址是唯一定义的。 4096 个字、40位。 由指令形式的低级机器语言驱动。 - PowerPoint PPT Presentation

Citation preview

Page 1: 1.4  计算机系统结构的发展

1.4 计算机系统结构的发展

1.4.1 冯 · 诺依曼结构1.4.2 器件发展的影响1.4.3 应用发展的影响1.4.4 改进算法的影响

Page 2: 1.4  计算机系统结构的发展

1.4.1 冯 · 诺依曼结构

存储程序计算机体系结构Van Nenmann 基本思想于 1936 年~ 1946 年期 间形成,由冯 · 诺依曼等人于 1946 年提出

输入设备 输出设备运算器ALU

控制器

存储器

Page 3: 1.4  计算机系统结构的发展

1. 特点 : 存储程序、运算器为中心、集中控制存储器是字长固定的、顺序线性编址的一维结构,每

个地址是唯一定义的。 4096 个字、 40 位。由指令形式的低级机器语言驱动。指令顺序执行,即一般按照指令在存储器中存放的顺

序执行,程序分支由转移指令实现。运算器为中心,输入输出设备与存储器之间的数据传

送都途经运算器。运算器、存储器、输入输出设备的操作以及它们之间

的联系都由控制器集中控制。

Page 4: 1.4  计算机系统结构的发展

2. 现代处理机对冯 · 诺依曼结构的改进 不变的:存储程序 改变的:存储器为中心 , 总线结构 , 分散控制从基于串行算法变为适应并行算法,出现了向量计算

机,并行计算机、多处理机等流水线处理机,超标量处理机,超流水线处理机,超

标量超流水线处理机数据库计算机和知识库计算机专用计算机,如 FFT 变换机、过程控制计算机为获得高可靠性而研制容错计算机功能分散化、专业化,出现了各种分布计算机、外围

处理机、通信处理机等

Page 5: 1.4  计算机系统结构的发展

存储器为中心、分散控制

系统总线

IO总线

……

中央处理机(CPU)

主存储器(MM)

输入设备 输出输出设备输出设备

Page 6: 1.4  计算机系统结构的发展

总线结构,分散控制总线: 连接计算机各功能部件的连线和管理信息传输

规则的逻辑电路称为总线。特点:在任何时刻,只能有一个部件向总线上发送信

息,可以有多个部件同时接收信息。组成: 数据总线、地址总线、控制总线。 单总线结构

CPU 主存输入

设备

输出

设备

总线

Page 7: 1.4  计算机系统结构的发展

双总线结构

CPU 主存

扩展总线控制线路

I/O 设备 I/O 设备

处理机总线

32MHz32 或 64

ISA / EISA8.33MHz

8 、 16 、 32位

. . . . .

Page 8: 1.4  计算机系统结构的发展

三总线结构

CPU 主存

PCI 桥

I/O 设备 I/O 设备

处理机总线100MHz 32 或 64

ISA / EISA 8.33MHz

8 、 16 、 32 位

. . . . .

PCI BUS 33MHz 4B

扩展总线控制线路

I/O 设备 I/O 设备接快速设备

接慢速设备

Page 9: 1.4  计算机系统结构的发展

3. 非冯计算机的发展什么是非冯计算机?非指令驱动,…从传统的指令驱动型改变为数据驱动型,出现了数据

流机计算机。从传统的指令驱动型改变为需求驱动型,出现各种图

归约计算机。处理非数值化信息的智能计算机,自然语言、声音、

图形和图象处理 , 虚拟现实处理等第五代计算机,由推理机和知识库机等组成。历经 10

年,召开过多次专题国际会议。神经网络计算机,仿生计算机,…

Page 10: 1.4  计算机系统结构的发展

1.4.2 器件发展的影响

1. 第 1 代至第 4 代计算机以器件来划分 第一代:电子管 (Valve) 第二代:晶体管 (Transistor) 第三代:集成电路 (LSI) 第四代:大规模集成电路 (VLSI)

第五代:智能计算机?第五代计算机以什么作为标志来划分?第五代计算机什么时候诞生?

Page 11: 1.4  计算机系统结构的发展

2. 器件发展的特点(1) 集成度迅速提高 目前水平:每个芯片有 1010 个晶体管 单芯片内可以做大于 1Gb 存储器, 单芯片内可以集成 2 个 CPU +全部 Cache 每 4~5 年提高一个数量级 还远没有达到集成度的极限 问题? 如何利用器件集成度的提高,不断改进计算机系统的性能:例如,有更多指令并行执行,采用更深的流水线,集成更多的 Cache 等

Page 12: 1.4  计算机系统结构的发展

(2) 提高速度空间不大 目前 CPU 主频已经到达 6GHz , 时钟周期 0. 16ns ,门延迟小于 0.01ns 极限速度 30 万公里 / 秒 /2 = 1.5mm/0.01ns 信号在导体中传递速度小于光速的 50 %。 Pentium 芯片面积 500mm2 ,即 23mm 23mm 器件速度提高的余地已经很小,将来提高处理 机速度更多依靠系统结构的发展 可从系统结构的两个方面提高处理机速度:

提高 IPC ,从目前的 2 左右提高到 8 以上, 采用更深度的流水线和并行处理技术

Page 13: 1.4  计算机系统结构的发展

(3) 价格直线下降 CPU 芯片的价格每年要下降 >80%(4) 可靠性越来越高 芯片可靠性达到 108 小时,连续使用 1 万年以上

失效率

使 用 期 时间 t

Page 14: 1.4  计算机系统结构的发展

3. 器件种类 通用片:逻辑关系确定 大批量生产,如: CPU 、存储器、寄存器… 现场片:可以一次或多次改写逻辑关系 如: PLD 、 PAL 、 PROM 、 EPROM 、 FPGA…

用户片:各种专用芯片 需要单独设计和生产。 半用户片:门阵列片等 标准的门电路,前几到工序已经完成; 根据用户需要确定最终连线。

Page 15: 1.4  计算机系统结构的发展

4. 器件发展对计算机组成技术的影响 器件速度与处理机工作主频 1955 年第一台大型机 IBM704 机,主频 12us , 1976 年巨型向量计算机 CRAY ,主频 12.5ns , 目前, Pentium4 的主频已经达到 3GHz

器件速度与指令执行时间 46 年来器件速度提高 104 ,指令速度快 108 以上 系统结构和组成技术的作用 器件速度提高减慢 , 处理机主频提高速度减缓 指令执行速度的提高基本保持不变 ( 摩尔定理 )

Page 16: 1.4  计算机系统结构的发展

1.4.3 应用发展的影响1. 应用需求 高结构化数值计算:气象模型 , 流体流动 , 有限元分析。 非结构化的数值计算:蒙特卡洛模拟 , 稀疏矩阵。 实时多因素问题:语音识别 , 图象处理 , 计算机视觉。 海量存储和输入输出密集问题:数据库 , 事务处理。 图形学和设计系统:计算机辅助设计。2. 三个时期 通用计算机:主要是通用科学计算 专用计算机:科学计算、事务处理、实时控制 高性能通用机:满足多种需求 目前又开始多种专用处理机的研制

Page 17: 1.4  计算机系统结构的发展

3. 两个发展趋势维持价格不变,利用 VLSI技术等,提高性能性能基本不变,价格迅速下降一般先推出中间机型,然后再分别向高端和低端两个

方向发展4. 三种设计思想最高性能价格比:商用机。主要发展方向最高性能:国家安全需要,科技发展需要 例如:银河计算机、神州计算机、…最低价格:家用学习机等

Page 18: 1.4  计算机系统结构的发展

1.4.4 改进算法的影响

在多个层次上,算法影响着系统结构,例如:快速乘法、除法、开平方等的实现:记分板算法、 Tomasulo 算法提高指令级并行性消除名字相关、数据相关、控制相关的算法有些问题,如果算法上有突破,不需要高性能的系统结

构,而在普通系统上就能得到解决。许多算法还有改进的余地,通过算法的研究能够大幅度

提高系统的性能。系统结构设计者要研究算法,应该研究一系列算法,使所有同类问题都能很好解决。

Page 19: 1.4  计算机系统结构的发展

1.5影响计算机体系结构的成本和价格因素

设计者如果想在考虑成本因素的情况下对是否增加某一功能特性做出明智的选择,就必须对成本及其要素有所了解,否则就会像建筑师对钢筋和水泥的行情一无所知就去设计摩天大厦一样不可想像。

商品的标价(价格)由原料成本、直接成本、毛利、和折扣等因素构成。

原料成本是指一件产品中所有部件的采购成本总和。 直接成本通常是在原料成本上增加 10 %~ 30 %。 毛利主要包括公司的研发费用、市场建立费、销售费

用、行政管理费、生产设备维护费用、房租、贷款利息、固定资产折旧、税后利润和所得税等

直接成本+毛利相加=平均销售价格 一般标价还包括平均销售价格之上的折扣

Page 20: 1.4  计算机系统结构的发展

影响因素

对计算机系统成本产生影响的主要因素有时间、产量、商品化等。

对成本产生最直接影响的是时间。产品的成本与成品率成反比。

产量是决定产品成本的第二个关键因素。产量的增加会加速工艺的稳定;产量的增加提高了生产效率;产量的增加可降低每台单机必须加入的开发费用。

商品化也是影响产品成本的重要因素,但更重要的是它影响产品的价格。

Page 21: 1.4  计算机系统结构的发展

集成电路的成本

圆片和基片 对圆柱形的单晶硅进行切片,生产出大片的圆片 (wafer) 在圆片上制造出大量电路单元,圆片经过测试后按照制造的电路单元被切割成方形的基片 (die)( 图见 P24) 。   

Page 22: 1.4  计算机系统结构的发展

集成电路的成本 基片在外壳中封装好以后就是集成电路成品。

   基片成本+基片测试成本+封装和最终测试成本              最终成品率

             圆片成本        每块圆片上的基片数 × 基片成品率

          圆片面积    ×圆片直径           基片面积

基片面积2

集成电路成本=

基片成本 =

每块圆片上的基片数=

式中第2项用于计算在圆片边界上的基片数,其数量大约等于圆片圆周除以正方形基片的对角线长。

Page 23: 1.4  计算机系统结构的发展

集成电路的成本

26912/2014.31/)2/20(14.3 222

1075.12/2014.35.1/)2/20(14.3 222

一块直径为 20CM 的圆片能够切割出边长为 1CM 的正方形基片个数为? 

一块直径为 20CM 的圆片能够切割出边长为 1.5CM 的正方形基片个数为? 

Page 24: 1.4  计算机系统结构的发展

集成电路的成本

采用直径为 30CM 的圆片能够切割出边长为 1CM 的正方形基片个数为? 

从上述计算可以看出,采用大直径的圆片可以一次生产出更多的基片,当基片面积较小时,大圆片的这种优势更加明显。

64012/3014.31/)2/30(14.3 222

采用直径为 30CM 的圆片能够切割出边长为 0.7CM 的正方形基片个数为? 

13477.02/3014.37.0/)2/30(14.3 222

Page 25: 1.4  计算机系统结构的发展

集成电路的成本

-基片面积疵点密度率基片成品率=圆片成品

1

疵点密度是与生产工艺有关的随机数

主要依赖于集成电路使用的掩模层数和制造工艺,一般取 0.4

Page 26: 1.4  计算机系统结构的发展

集成电路的成本

成品基片数=基片成本率 × 每块圆片上的基片数

对于采用直径 30CM 的圆片,可以生产边长 1CM 的成品芯片个数为?

对于采用直径 30CM 的圆片,可以生产边长 0.7CM 的成品芯片个数为?

-基片面积疵点密度圆片成品率

基片面积圆片直径-

基片面积圆片面积

圆片成本=

基片成品率每块圆片上的基片数圆片成本基片成本=

12

组合得到公式如下:

掩模成本也是集成电路成本的重要组成部分。

Page 27: 1.4  计算机系统结构的发展

1.6 定量分析技术基础1.6.1 计算机性能的评测 响应时间:从事件开始到结束之间的时间,也称为执

行时间。 吞吐率(或流量 throughput) :在单位时间内所能完

成的工作量。 相同点:以最短时间完成指定任务的计算机是最快的; 不同点:响应时间针对单任务,而流量针对多任务。

目前公认的相对可靠的性能评价方法:真实程序的响应时间。

Page 28: 1.4  计算机系统结构的发展

1.6.1 性能设计和评测的基本原则

1) 加快经常性事件的速度即大概率事件优先原则对于大概率事件(最常见的事件),赋予它优先

的处理权和资源使用权,以获得全局最优结果。计算机体系结构设计中最重要和最常用的原则,首先确定什么是大概率事件,同时要说明针对该事件进行的改进将如何提高机器的性能。

2) Amdahl 定律对机器进行某种改进,那么机器系统的加速比就

是:

改进前

改进后

系统性能系统性能

系统加速比

Page 29: 1.4  计算机系统结构的发展

或者

系统加速比依赖于两个因素: 可改进部分在原系统计算时间中所占的比例; 例如,一个需要运行 60s 的程序中有 20s 的运算可以加

速,那么该比例就是 20/60 。这个值用“可改进比例”表示,它总是小于等于 1 的。

可改进部分改进后的性能提高。 例如,系统改进后执行程序,其中可改进部分花费 2s 的

时间,而改进前该部分需花费 5s ,则性能提高为 5/2 。用“部件加速比”表示性能提高比,一般情况下上大于 1的。

改进后

改进前

总执行时间总执行时间

系统加速比

系统加速比告诉我们改进后的机器比改进前快多少。

Page 30: 1.4  计算机系统结构的发展

部件改进后, 系统的总执行时间=不可改进部分的执行时间+可改进部

分改进后的执行时间,即:

部件加速比总执行时间可改进比例总执行时间可改进比例)(总执行时间 改进前

改进前改进后

1

改进前总执行时间部件加速比可改进比例

可改进比例)(

1

Page 31: 1.4  计算机系统结构的发展

系统加速比为改进前与改进后总执行时间之比,即:

性能增加的递减规则:如果仅仅对计算机中的一部分做性能改进,则改进越多,系统获得的效果越小。

Amdahl 定律的重要推论:如果只针对整个任务的一部分,进行优化,那么所获得的加速比不大于 1/( 1- 可改进比例)。

指导意义:具有高性价比的计算机系统是一个带宽平衡的系统,而不是看它使用的某些部件的性能。

部件加速比可改进比例可改进比例)

1(

1

改进后

改进前

总执行时间总执行时间

系统加速比

Page 32: 1.4  计算机系统结构的发展

3) 程序的局部性原理

程序的局部性原理是指 : (a) 程序在执行时所访问地址的分布不是随机的,而是相对簇聚; (b)这种簇聚包括指令和数据两部分; (c) 程序局部性包括程序的时间局部性和程序的空间局部性。

阐释:时间局部性说如果一个存储单元被访问,则可能该单元会很快被再次访问;这是因为程序存在着循环。空间局部性说如果一个存储单元被访问,则该单元邻近的单元也可能很快被访问;这是因为程序中大部分指令是顺序存储、顺序执行的,数据一般也是以向量、数组、树、表等形式簇聚地存储在一起的。

Page 33: 1.4  计算机系统结构的发展

4) CPU 性能公式 响应时间有多种定义,其中最直观的定义是计算机完成某一任务所花费的全部时间,包括访问磁盘、访问存储器、输入 / 输出、操作系统开销等。在多任务系统中,CPU 在一个程序等待 I/O 时,可以处理另一个程序,从而提高系统的运行效率。所以提出 CPU 时间的概念。

CPU 时间是 CPU工作的时间,不包含 I/O 等待时间及运行其他程序的时间。

用户看到的响应时间是程序完成任务所花费的全部时间,而不是 CPU 时间。 CPU 时间还可细分为用户 CPU 时间和系统 CPU 时间,前者表示用户程序所花费的 CPU时间,后者表示用户程序运行期间操作系统花费的 CPU时间。

Page 34: 1.4  计算机系统结构的发展

计算机工作的时钟频率,单位是 MHz或GHz ,可以测量执行程序使用的总时钟周期数;如此就知道程序执行的 CPU 时间:

程序执行过程中所处理的指令数,记为 IC( Instruction Counter)。“指令时钟数” CPI( Cycles Per Instruction):

CPI = 总时钟周期数 /IC 程序执行的 CPU 时间就可以写成:

总 CPU 时间 =CPI ×IC / 时钟频率这个公式通常称为 CPU 性能公式。

时钟频率总时钟周期数

时间CPU

4) CPU 性能公式

Page 35: 1.4  计算机系统结构的发展

CPU 性能公式分析CPU 性能公式中三个参数反映了体系结构相关的三种技术:

1) 时钟频率:由硬件技术和计算机组成决定。2) CPI :由指令集的系统结构和计算机组成决定。3) IC :由指令集的系统结构和编译器技术决定。

启示:通过改进计算机系统的设计,可以提高这三个参数的指标,从而提高计算机系统的性能。从目前的情况看,提高某一个参数指标,不会明显地影响其它两个指标。这对于综合运用各种技术改进计算机系统的性能是非常有益的。

Page 36: 1.4  计算机系统结构的发展

假设计算机系统有 n 种指令,其中第 i 种指令的处理时间为 CPIi ,在程序中第 i 种指令出现的次数为 ICi ,则程序执行时间为

时钟频率)(时间= /ii ICCPICPU

)/(/)( ICICCPIICICCPICPI iiii

这个公式同时反映了计算机系统中每条指令的性能。

Page 37: 1.4  计算机系统结构的发展

例 3

假设我们有如下的测量值:FP 指令(包括 FPSQR)的执行频度= 25 %FP 指令的平均 CPI = 4.0其它指令的 CPI = 1.33FPSQR 指令的执行频度= 2 %FPSQR 指令的 CPI = 20假定有两种备选的设计方案,一种是把 FPSQR

的 CPI减至 2 ,另一种是把所有 FP 的 CPI减至 2.5 。接下来我们用 CPU 性能公式比较这两种方案。

Page 38: 1.4  计算机系统结构的发展

例 4 假设考虑条件分支指令的两种不同设计方法如下:

CPUA :通过比较指令设置条件码,然后测试条件码进行分支。

CPUB :在分支指令中包括比较过程。 在两种 CPU 中,条件分支指令都占用 2 个时钟周期,

而所有其他指令占用 1 个时钟周期,对于 CPUA ,执行的指令中分支指令占 20 %,;由于每个分支指令之前都需要有比较指令,因此比较指令占 20 %。由于 CPUA 在分支时不需要比较,因此假设它的时钟周期时间比 CPUB快 1.25倍。哪一个 CPU 更快?如果 CPUA

的时钟周期时间仅仅比 CPUB快 1.1倍,哪一个 CPU更快?

Page 39: 1.4  计算机系统结构的发展

1.6.2 运算速度

运算速度是表示处理机性能的主要指标。 有多种表示处理机运算速度的方法。 哪一种表示方法合理?1. 时钟频率(处理机主频) 只能用于同一公司、同一类型、同一配置的处理机 如: Pentium4 2.0G 比 Pentium4 1.6G 快 25%? Pentium4 2.4G 比 Pentium4 1.6G 快 50%?

只表示 CPU 的指令处理能力 实际运算速度还与 Cache 、内存、 I/O 、被执行程序

等均有关。

Page 40: 1.4  计算机系统结构的发展

2. 指令执行速度 一种经典的表示运算速度的方法 MIPS(Million Instructions Per Second), GIPS, TIPS

其中 : Fz 为处理机的工作主频 CPI(Cycles Per Instruction) 为 每条指令所需的平均时钟周期数 IPC(Instruction Per Cycle) 为 每个时钟周期平均执行的指令条数例 1 :计算 PentiumIV 2GHz 处理机的指令执行速度。

MIPS10

Fz

CPIIPC Fz6

指令条数执行时间

Page 41: 1.4  计算机系统结构的发展

解:由于 PentiumIV 2GHz 处理机的 IPC = 4(或 CPI = 0.25) ,

Fz = 2000MHz

因此, MIPSPentiumIV2G = FzIPC = 20004

= 8000MIPS = 8GIPS

即每秒钟 80 亿次 ( 平均每秒钟执行 80亿条指令 ) 主要优点:直观、方便。目前还经常使用 主要缺点 :

(1) 不同指令的执行速度差别很大 (2) 指令使用频度差别很大 (3) 有相当多的非功能性指令

Page 42: 1.4  计算机系统结构的发展

3. 指令执行速度的 4 种平均方法

算术平均:

调和平均 ( 用速率来度量 ) :

加权平均

加权算术平均:

加权调和平均:

n

i

in 1

Time1

n

i i

n

1 Rate1

i

n

i

in

WeightTime1

1

n

i i

i

1 RateWeight

1

Page 43: 1.4  计算机系统结构的发展

几何平均:

其中: n 指不同的程序, ETR(execution time ratio) i是第 i个程序相对于参考机器归一化后的执行时间 几何平均速度与所参考的机器无关,有如下性质:

几何平均值的比率等于比率的几何平均值

n

n

i

iETR1

的几何平均值的几何平均值的几何平均值

i

i

i

i

Y

X

Y

X

Page 44: 1.4  计算机系统结构的发展

运行程序 P1 时, A 的速度是 B 的 10倍;运行程序 P2 时, B 的速度是 A 的 10倍;运行程序 P1 时, A 的速度是 C 的 20倍;运行程序 P2 时, C 的速度是 A 的 50倍;运行程序 P1 时, B 的速度是 C 的 2倍;运行程序 P2 时, C 的速度是 B 的 5倍。

例:两个程序在三台机器上的执行时间

机器 A 机器 B 机器 C 程序 P1(秒) 1 10 20 程序 P2(秒) 1000 100 20

Page 45: 1.4  计算机系统结构的发展

算术平均: 程序 P1 和 P2 各执行 1 次, B 的速度是 A 的 9.1倍; 程序 P1 和 P2 各执行 1 次, C 的速度是 A 的 25倍; 程序 P1 和 P2 各执行 1 次, C 的速度是 B 的 2.75倍。 结论: 执行程序 P1 和 P2相同次数, 机器 A 最慢,机器 C 最快 算术平均速度:三台机器的速度之比为: A : B : C = 1 : 9.1 : 25

Page 46: 1.4  计算机系统结构的发展

加权算术平均 加权算术平均 W1 三台机器的速度: A < B < C 加权算术平

均 W2 三台机器的速度: A < C < B 加权算术平均 W3 三台机器的速度: C < B < A

机器 A 机器 B 机器 C

程序 P1 执行时间 (s)

程序 P2 执行时间 (s)

加权 W1 (0.5, 0.5)

加权 W2 (0.909, 0.091)

加权 W3 (0.999, 0.001)

1

1000

500.50

91.91

2.00

10

100

55.00

18.19

10.09

20

20

20.00

20.00

20.00

Page 47: 1.4  计算机系统结构的发展

几何平均 几何平均值与所参考的机器无关,机器 A 与机器 B 的性能

相同,机器 C 的执行时间是机器 A或机器 B 的 0.63倍。 执行程序 P1 和 P2 的总时间,机器 A 几乎是机器 B 的 10倍。

执行时间归一化

以 A归一化A B C

以 B归一化A B C

以 C归一化A B C

程序 P1

程序 P2

算术平均几何平均总时间比

1.0 10.0 20.0

1.0 0.1 0.02

1.0 5.05 10.01

1.0 1.0 0.63

1.0 0.11 0.04

0.1 1.0 2.0

10.0 1.0 0.2

5.05 1.0 1.1

1.0 1.0 0.63

9.1 1.0 0.36

0.05 0.5 1.0

50.0 5.0 1.0

25.03 2.75 1.0

1.58 1.58 1.0

25.03 2.75 1.0

Page 48: 1.4  计算机系统结构的发展

4. 核心程序法 把应用程序中使用最频繁的那部分程序作为评价计算机性能的标准程序。称为基准测试程序 (benchmark) 整数测试程序: Dhrystone 用 C语言编写 ,100 条语句。包括:各种赋值语句 ,数据类型和数据区 ,控制语句 ,过程调用和参数传送 , 整数运算和逻辑操作等。 VAX-11/780的测试结果为每秒 1757个 Dhrystones ,即: 1VAX MIPS= 1757 Dhrystones/ Second 浮点测试程序: Linpack 用 FORTRAN编写,主要是浮点加法和浮点乘法操作 用 MFLOPS(Million Floating Point Operations Per Second)表示, GFLOPS 、 TFLOPS

Page 49: 1.4  计算机系统结构的发展

SPEC 基准程序 System Performance Evaluation Cooperative

由 30 个左右世界知名计算机大厂商所支持的非盈利性国际合作组织,包括: IBM 、 AT&T 、 BULL 、 Compaq 、 CDC 、 DG 、 DEC 、 Fujitsu 、 HP 、 Intel 、 MIPS 、Motolola 、 SGI 、 SUN 、 Unisys 等; 1989 年 10月宣布 SPEC1.0 ,程序量超过 15 万行 ,包含 4 个定点程序和 6 个浮点程序 , 测试结果用 SPECint’89 和 SPECfp’89表示。 1992 年增加到有 6 个定点程序和 14 个浮点程序 ,测试结果用 SPECint’92 和 SPECfp’92表示。 1995 年推出 SPECint’95 和 SPECfp’95 SPEC2000 , 12 个定点程序、 14 个浮点程序

Page 50: 1.4  计算机系统结构的发展

SPEC 基准测试程序举例 处理机 SPECint’95 SPECfp’95 PentiumII 450 18.5 13.3 PentiumIII 450 18.7 13.7 PentiumIII 500 20.6 14.7 PientiumIII 550 22.3 15.6 Celeron 300A 12.0 9.66 Celeron 333 13.1 10.20 Celeron 366 14.1 10.70 Celeron 400 15.1 11.20 Celeron 433 16.1 11.60 Celeron 466 17.0 12.00

Page 51: 1.4  计算机系统结构的发展

Pentium4 性能评测数据(数据全部来源于 Intel网站)

Pentium 4 1.5G 1.6G 1.7G 1.8G 1.9G 2G 2AG 2.2G 2.4G

SPECint2000 531 557 579 601 621 640 722 771 819

SPECfp2000 605 626 648 667 688 702 732 766 806

SYSmark2002 159 166 174 179 186 193 212 227 242 NewTek Light Wave 3D7.0b

5min 51sec

5min 29sec

5min 11sec

4min 54sec

4min 38sec

4min 27sec

4min 16sec

3min 54sec

4min 35sec

WebMark 2001 248 258 269 279 288 300 319 333 350

WebMark2001-B 254 268 280 292 299 312 326 342 371

WebMark2001-B2B 263 271 282 292 303 315 342 360 369

WebMark2001-B2C 236 248 255 263 292 300 326 335 343

Page 52: 1.4  计算机系统结构的发展

1.7 计算机体系结构中并行性的发展

主要内容1. 并行性概念

2. 提高并行性的技术途径

3. 并行处理机及多机系统

Page 53: 1.4  计算机系统结构的发展

1.7.1并行性概念1. 并行性( parallelism ) 定义:是指解题中具有同时进行运算或操作的特性。

(同一时刻或是同一时间间隔内完成两种或两种以上性质相同或不同的工作。)

阐述:并行性包括同时性和并发性。同时性( simultaneity )指两个或多个事件在同一时刻发生;并发性( concurrency )指两个或多个事件在同一时间间隔内发生。并行性的必要条件是两个或多个事件在时间上互相重迭。即只要在时间上相互重叠,就存在并行性。

Page 54: 1.4  计算机系统结构的发展

比如在系统级使用并行。为了在运行一个典型的服务器测试程序时提高系统的吞吐率性能,可以使用多个处理器和多个磁盘。处理请求的负载可以在多个处理器和磁盘中分配,从而提高吞吐率。

在单个处理器中,利用指令集并行是得到高性能的关键。最简单的实现方法之一是通过流水线基本思想将指令的执行重叠,以减少一个指令序列的执行时间。

并行性还可以在具体的数字设计级别中存在。例如,组相联的 cache使用内存的多个存储体,通常可以在它们中间并行查找所需的项目。现代 ALU使用先行进位,这是通过使用并行把操作数中的位数求和运算从线性级别加速到对数级别实现的。

Page 55: 1.4  计算机系统结构的发展

2. 并行性等级

1) 从执行程序的角度看(从低到高)指令内部并行——一条指令内部各个微操作之间的并行。指令级并行——多条指令的并行执行。线程级并行——多个线程的并行执行。任务级或进程级并行——多个任务或程序段的并行执行。作业或程序级并行——多个作业或多道程序的并行。

Page 56: 1.4  计算机系统结构的发展

2) 从处理数据的角度看(从低到高)

字串位串——同时只对一个字的一位进行处理,如传统的串行单处理机。不存在并行性。

字串位并——同时对一个字的全部位进行处理,如传统的并行单处理机。开始出现并行性。

字并位串——同时对许多字的同一位(称位片)进行处理。这种方式有较高的并行性。

全并行——同时对许多字的全部位或部分位进行处理。这是最高一级的并行。

Page 57: 1.4  计算机系统结构的发展

1.7.2提高并行性的技术途径1) 时间重叠 (time-interleaving) :在并行性概念中引入时间

因素。原则上不要求重复的硬件设备。实现时间重叠的基础是部件功能专用化,指令流水线是典型代表。

2) 资源重叠 (resource-replication) :在并行性概念中引入空间因素,通过重复设置资源,尤其是硬件资源,以大幅度提高计算机系统的性能。(资源重复可在各个级别中实现:部件级、处理器级、并行处理机级。)

3) 资源共享 (resource-sharing) :软件方法,多个任务按一定顺序轮流使用同一套硬件设备。资源共享既降低了成本,又提高了计算机设备的利用率。典型的例子是多处理机、计算机网络和分布处理系统。

Page 58: 1.4  计算机系统结构的发展
Page 59: 1.4  计算机系统结构的发展

多机系统中的并行性发展1. 多机系统的构成 多机系统

多机系统指多处理机系统和多计算机系统。

多处理机都有自己的控制部件,可带本地存储器,能执行各自的程序,但都受逻辑上统一的操作系统控制。处理机间以文件、单一数据或向量、数组等形式交互作用,全面实现作业、任务、指令、数据各级的并行。非对称或异构型多处理机系统

由多个不同类型、至少担负不同功能的处理机组成,按照作业要求的顺序,利用时间重叠原理,依次对它们的多个任务进行加工,各自完成规定的功能动作。对称或同构型多处理机系统

由多个同类型,至少同等功能的处理机组成,同时地处理同一作业中能并行执行的多个任务。

Page 60: 1.4  计算机系统结构的发展

多计算机系统是由多台独立的计算机组成的系统。各计算机分别在逻辑上独立的操作系统控制下运行。机间可以互不通信,即使通信也只是经通道或通信线路以文件或数据集形式进行,实现多个作业间的并行。

1) 最低耦合系统指各计算机间没有物理连接,只是通过磁盘、磁带等存储

介质来联系的脱机系统。2) 松散耦合(间接耦合)系统

指多台计算机通过通道或通信线路实现互连,共享一部分外围设备的系统。

3) 紧密耦合(直接耦合)系统指多台计算机经总线或高速开关,共享主存,有较高的信

息传输速率的系统。

Page 61: 1.4  计算机系统结构的发展

处理方式 多道程序是指在机内同时存有若干道已开始运行而尚未结束的程序。引

入多道程序的目的是让它们共享系统的全部资源和交替地串行运行。 分时系统是在一台计算机周围挂上若干台远近终端,当这些终端上的用户同时使用计算机时,操作系统使用户有“独占计算机”的感觉。故又称多路系统或交互式系统。

分布式处理系统把若干台具有独立功能的处理机(计算机)相互连接起来,在操作系统(也可以是分布式的)的全盘控制下,同一协调地工作,而最少地减少依赖集中的程序、数据或硬件的系统。

分时系统 分布式处理系统集中控制 分布式控制

虚拟机模拟多处理机 多处理机代替虚拟机并发性 同时性

Page 62: 1.4  计算机系统结构的发展

项目 同构型多处理机 异构型多处理机 分布处理系统

目的 提高系统性能(可靠性速度)

提高系统使用效率 兼顾效率与性能

技术途径 资源重复(机间互连)

时间重叠(功能专用化)

资源共享(网络化)

组成 同类型(同等功能)

不同类型(不同功能)

不限制

分工方式 任务分布 功能分布 硬件、软件、数据等各种资源的分布

工作方式 一个作业由多机协同并行地完成

一个作业由多机协同串行地完成

一个作业由一台处理机完成,必要时才请求它机协

控制形式 常采用浮动控制方式 采用专用控制方式 分布控制方式

耦合度 紧密耦合 紧密、松散耦合 松散、紧密耦合

对互连网络的要求

快速、灵活性,可重构性 专用性 快速、灵活、简单、通用

三种类型多处理机比较

Page 63: 1.4  计算机系统结构的发展
Page 64: 1.4  计算机系统结构的发展

1.8 计算机系统的分类

1.5.1 按处理机性能分类1.5.2 佛林分类法1.5.3 库克分类法1.5.4 冯泽云分类法1.5.5 汉德勒分类法

Page 65: 1.4  计算机系统结构的发展

1.5.1 按处理机性能分类

1. 按大小划分种类:巨型、大型、中型、小型、微型机划分原则:以性能为特征,按价格来划分存在问题:划分的标准是随时间而变化, 每5年左右降低一个等级设计方法:最高性能 特殊用途 最佳性能价格比 一般商用计算机 最低价格 家用计算机等 Small is fast

Page 66: 1.4  计算机系统结构的发展

价 最佳性能价格比 格 最高性能

巨型机

大型机等性能线

中型机

小型机最低价格

微型机

(超微型机 ) t-3 t-2 t-1 t t+1 时期

Page 67: 1.4  计算机系统结构的发展

2. 按用途划分种类:科学计算、事务处理、实时控制、工作站、服务器、家用计算机等。划分原则:科学计算:浮点计算速度 事务处理:字符处理、十进制运算 实时控制:中断响应速度、 I/0 能力 工作站:图形处理能力 服务器:数据处理速度,数据存储能力 家用计算机:价格便宜,软件丰富发展方向:具备上述所有功能的通用处理机各种专用处理机、协处理器、嵌入式处理机

Page 68: 1.4  计算机系统结构的发展

3. 按数据类型划分定点计算机、浮点计算机、向量计算机、堆栈计算机

等4. 按处理机个数和种类划分单处理机并行处理机、多处理机、分布处理机关联处理机超标量处理机 , 超流水线处理机 , VLIW 处理机SMP(对称多处理机 ) 、 MPP( 大规模并行处理机 ) 、

机群 (Cluster) 系统等

Page 69: 1.4  计算机系统结构的发展

5. 按所使用的器件划分 按使用的器件划分计算机系统的时代 第一代:电子管 (Valve) 计算机 第二代:晶体管 (Transistor) 计算机 第三代:集成电路 (LSI) 计算机 第四代:大规模集成电路 (VLSI) 计算机 第五代:智能计算机? 目前的绝大部分计算机系统是 VLSI 计算机 公认的第五代计算机什么时候诞生? 第五代计算机以什么作为标志来划分?

Page 70: 1.4  计算机系统结构的发展

1.5.2 佛林分类法

1966 年由 Michael.J. Flynn 提出 按照指令流和数据流的多倍性特征进行分类 指令流:机器执行的指令序列 数据流:由指令流调用的数据序列 多倍性 (multiplicity) :在系统性能瓶颈部件上同时处于 同一执行阶段的指令或数据的最大可能个数 四种类型 (1) 单指令流单数据流 SISD(Single Instruction Single Datastream) (2) 单指令流多数据流 SIMD(Single Instruction Multiple Datastream) (3) 多指令流单数据流 MISD(Multiple Instruction Single Datastream) (4) 多指令流多数据流 MIMS(Multiple Instruction Multiple Datastream)

Page 71: 1.4  计算机系统结构的发展

IS

DSCU PU MM

SISD

(1) SISD 典型单处理机,包括:单功能部件处理机: IBM1401 , VAX-11

多功能部件处理机: IBM360/91 , 370/168 , CDC6600 等

流水线处理机,指标量流水线处理机

Page 72: 1.4  计算机系统结构的发展

(2) SIMD :并行处理机、阵列处理机、向量处理机、相联处理机、超标量

处理机、超流水线处理机多个 PU 按一定方式互连,在同一个 CU 控制下,对各自的数

据完成同一条指令规定的操作;从 CU看指令顺序执行,从PU看数据并行执行。

IS

DS1PUMM

DS2CU PU …

DSnMM

PU

SIMD

Page 73: 1.4  计算机系统结构的发展

DS

IS1 CU1 PU1MM

IS2

IS2CU2 PU2…

…MM

CUn PUnISn

MISD

(3) MISD :几条指令对同一个数据进行不同的 处理,实际上不存在

Page 74: 1.4  计算机系统结构的发展

IS1 DS1CU1 PU1MM

IS2 DS2CU2 PU2…

… …

MMISn DSnCUn PUn

MIMD

(4) MIMD 多处理机系统,包括: 紧密偶合: IBM3081 、 IBM3084 、 UNIVAC-1100/80 松散偶合: D-825, Cmmp, CRAY-2

Page 75: 1.4  计算机系统结构的发展

Flynn 分类法得到广泛应用 SIMD 、 MIMD 、 SPMD 、 XIMD 、… 主要缺点:(1) 分类太粗 在 SIMD 中包括有多种处理机 对流水线处理机的划分不明确, 标量流水线为 SISD ,向量流水线为 SIMD(2)根本问题是把两个不同等级的功能并列对待 数据流受指令流控制,造成 MISD 不存在(3) 非冯计算机的分类?其他新型计算机的分类

Page 76: 1.4  计算机系统结构的发展

1.5.3 库克分类法

1978 年由 D. J. Kuck 提出 按控制流和执行流分类,四种类型 (1) 单指令流单执行流 SISE(Single Instruction Single Executionstream) 典型的单处理机 (2) 单指令流多执行流 SIME(Single Instruction Multiple Executionstream) 多功能部件处理机、相联处理机、向量处理机、 流水线处理机、超流水线处理机、超标量处理 机、 SIMD 并行处理机

Page 77: 1.4  计算机系统结构的发展

(3) 多指令流单执行流 MISE

(Multiple Instruction Single Executionstream)

多道程序系统 (4) 多指令流多执行流 MIME

(Multiple Instruction Multiple Executionstream)

典型的多处理机 主要缺点 有些系统,如分布处理机等,没有总控制器 分类级别太低,没有处理机级和机器级 分类太粗,如 SIME 中包含了多种处理机

Page 78: 1.4  计算机系统结构的发展

1.5.4 冯泽云分类法

1972 年美籍华人冯泽云提出, 用最大并行度对计算机系统进行分类 单位时间内能处理的最大二进制位数 例如:同时处理的字宽为 n ,位宽为 m ,则最大并行度定义为: Pm = m n

平均并行度:假设每个时钟周期 ti 内能同时处理的二进位数为 Bi ,则 n个时钟周期内的平均并行度为:

表示方法:处理机名 (m ,n )

ntBPn

i

in i /)(1

Page 79: 1.4  计算机系统结构的发展
Page 80: 1.4  计算机系统结构的发展

(1)字串位串WSBS(Word Serial and Bit Serial) 串行计算机; m= 1,n= 1;如: EDVAC(1, 1)(2)字并位串WPBS(Word Parallel and Bit Serial) 传统单处理机; m= 1,n > 1;如: Pentium(32, 1)(3)字串位并 WSBP(Word Serial and Bit Parallel) 并行计算机、 MPP 、相联计算机;m > 1,n= 1; 如: MPP(1, 16384), STARAN(1, 256) , DAP(4)字并位并 WPBP(Word Parallel and Bit Parallel) 全并行计算机;m > 1, n > 1;如: ASC(64, 32) , IILIAC IV(64, 64) , PEPE(32, 288) , Cmmp(16, 16) 主要缺点: 仅考虑数据并行,没有考虑指令 , 任务 , 作业的并行

Page 81: 1.4  计算机系统结构的发展

1.5.5 汉德勒分类法

由 Wolfgan Handler 于 1977 年提出 又称为 ESC(Erlange Classification Scheme) 分类法 根据并行度和流水线分类 把计算机硬件结构分成三个层次, 并分别考虑它们的

可并行性和流水处理程度。 (1) 程序级 k :程序控制部件 (PCU) 的个数; (2) 操作级 d :算术逻辑部件 (ALU)或处理部件( P

U)的个数; (3)逻辑级 w :每个算术逻辑部件包含的逻辑线路 (EL

C) 的套数。

Page 82: 1.4  计算机系统结构的发展

表示方法: t( 系统型号 )= (k , d , w)例如: t(EDVAC)= (1 , 1 , 1) t(Pentium)= (1 , 1 , 32) t(STARAN)= (1 , 8192 , 1) t(ILLIAC )Ⅳ = (1 , 64 , 64) t(Cmmp)= (16 , 1 , 16)

Page 83: 1.4  计算机系统结构的发展

为了表示流水线,采用: t( 系统型号 )= (k×k’ , d×d’ , w×w’) 其中: k’ 表示宏流水线中程序控制部件的个数 d’ 表示流水线中算术逻辑部件的个数 w’ 表示流水线中基本逻辑线路的套数 例如: Cray1 有 1 个 CPU , 12 个相当于 ALU或 PE 的处理部件,最多8级流水线,字长为 64 位,可以实现 1 ~ 14 位流水线。表示为: t(Cray1)= (1 , 12×8 , 64(1~ 14))又例如: t(PEPE) = (1×3 , 288 , 32) t(TI ASC) = (1 , 4 , 64×8)

Page 84: 1.4  计算机系统结构的发展

本章重点:1. 计算机系统的层次结构2. 计算机系统结构的定义及研究内容3. 计算机系统的评价方法4. 冯 · 诺依曼结构及其发展5. 透明性、系列机、兼容性等概念6. 了解计算机系统的分类方法练习题一:

1.8 , 1.9 , 1 .11 , 1.19 , 1.21 , 1.23