第一章 基本概念

161
1 第第第第 第第第第第第第第 2006 第 2 第

Upload: allistair-buck

Post on 03-Jan-2016

52 views

Category:

Documents


5 download

DESCRIPTION

第一章 基本概念. 计算机科学技术系 2006 年 2 月. 主要内容: 计算机系统的发展历史及趋势 计算机系统的层次结构 计算机系统的设计技术 计算机系统结构的发展 并行性及计算机系统的分类 计算机系统的评价标准. 计算机系统的发展历史及趋势. 发展历程 第一代计算机: 1945-1954 ,首台可实用计算机 ENIAC 特征: 工艺:电子管、继电器、绝缘导线互连。 CPU :单个 CPU 构成,程序计数器、累加器。定点运算。 I/O 控制: CPU 程序控制 I/O 。 软件:采用机器语言和汇编语言。 - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: 第一章    基本概念

1

第一章 基本概念

计算机科学技术系

2006 年 2 月

Page 2: 第一章    基本概念

2

主要内容: 计算机系统的发展历史及趋势 计算机系统的层次结构 计算机系统的设计技术 计算机系统结构的发展 并行性及计算机系统的分类 计算机系统的评价标准

Page 3: 第一章    基本概念

3

计算机系统的发展历史及趋势

1. 发展历程 第一代计算机:

1945-1954 ,首台可实用计算机 ENIAC 特征:

• 工艺:电子管、继电器、绝缘导线互连。• CPU :单个 CPU 构成,程序计数器、累加器。

定点运算。• I/O 控制: CPU 程序控制 I/O 。• 软件:采用机器语言和汇编语言。

代表: IBM 于 1953 年制造的 IBM701 等。

Page 4: 第一章    基本概念

4

第二代计算机: 1955-1964 特征:

• 工艺:晶体管、铁氧体磁芯、印刷电路板互连。• CPU :变址寄存器、多路存储器。浮点运算。• I/O 控制: I/O 处理器• 软件:已经有了高级语言和编译系统。

代表: IBM 于 1962 年研制的 IBM7030 等。

Page 5: 第一章    基本概念

5

第三代计算机: 1965-1974 特征:

• 工艺:采用小规模或中规模集成电路,多层印刷板。

• CPU :微程序控制、流水线• 存储访问: CACHE 、先行处理• 软件:多道程序设计、分时操作系统

代表: IBM 的 360-370 等。

Page 6: 第一章    基本概念

6

第四代计算机: 1974-1991 特征:

• 工艺:采用 LSI 和 VLSI ,半导体存储器。• CPU :向量并行计算机• 存储访问:共享存储器、分布存储器• 软件:多处理机操作系统、专用语言、编译器。并行处理或分布式的软件工具和环境

• 并行时代开始 代表: VAX9000 、 IBM/3090VF , PC 等崛起。

Page 7: 第一章    基本概念

7

第五代计算机: 1991- 目前 特征:

• 采用 VLSI ,更加高密度、高速度处理器和存储芯片• 体系结构:采用可扩展的计算机系统结构• 大规模并行处理

代表: VPP5000 、 CM5 、 SGI Origin 2000 、 SUN 15000 , IBM 690 ,集群 / 机群,网络计算,银河,神威,曙光等。

Page 8: 第一章    基本概念

8

总结,计算机换代的标志:1.构成计算机的器件的变革:

• 电子管→晶体管→集成电路– 小规模→中规模→ 大规模→超大规模

• 铁氧体→半导体– 计算机系统结构的改进:

1.寻址方式,存储体系,指令系统,执行方式,I/O 控制等等新技术和新概念

2.新系统结构:– 以 CPU 为中心→以存储为中心– CPU 与 IO 处理器功能分离– 多机并行、流水处理

Page 9: 第一章    基本概念

9

早期计算机部件

Page 10: 第一章    基本概念

10

早期计算机设备

Page 11: 第一章    基本概念

11

早期计算机设备

Page 12: 第一章    基本概念

12

几个计算机实例

Page 13: 第一章    基本概念

13

Page 14: 第一章    基本概念

14

Page 15: 第一章    基本概念

15

Page 16: 第一章    基本概念

16

Page 17: 第一章    基本概念

17

Page 18: 第一章    基本概念

18

Rank ManufacturerComputer/Procs

Rmax

Rpeak

Installation SiteCountry/Year

1 NECEarth-Simulator/ 5120

35860.0040960.00

Earth Simulator CenterJapan/2002

2 Hewlett-PackardASCI Q - AlphaServer SC ES45/1.25 GHz/ 8192

13880.0020480.00

Los Alamos National LaboratoryUSA/2002

3 Linux NetworxMCR Linux Cluster Xeon 2.4 GHz - Quadrics/ 2304

7634.0011060.00

Lawrence Livermore National LaboratoryUSA/2002

4 IBMASCI White, SP Power3 375 MHz/ 8192

7304.0012288.00

Lawrence Livermore National LaboratoryUSA/2000

5 IBMSP Power3 375 MHz 16 way/ 6656

7304.009984.00

NERSC/LBNLUSA/2002

6 IBMxSeries Cluster Xeon 2.4 GHz - Quadrics/ 1920

6586.009216.00

Lawrence Livermore National LaboratoryUSA/2003

7 FujitsuPRIMEPOWER HPC2500 (1.3 GHz)/ 2304

5406.0011980.00

National Aerospace Laboratory of JapanJapan/2002

8 Hewlett-Packardrx2600 Itanium2 1 GHz Cluster - Quadrics/ 1540

4881.006160.00

Pacific Northwest National LaboratoryUSA/2003

9 Hewlett-PackardAlphaServer SC ES45/1 GHz/ 3016

4463.006032.00

Pittsburgh Supercomputing CenterUSA/2001

10 Hewlett-PackardAlphaServer SC ES45/1 GHz/ 2560

3980.005120.00

Commissariat a l'Energie Atomique (CEA)France/2001

2003 年最快计算机系统

Page 19: 第一章    基本概念

19

Rank SiteCountry/Year

Computer / ProcessorsManufacturer

Rmax

Rpeak

1 IBM/DOEUnited States/2004

BlueGene/L beta-SystemBlueGene/L DD2 beta-System (0.7 GHz PowerPC 440) / 32768IBM

7072091750

2 NASA/Ames Research Center/NASUnited States/2004

ColumbiaSGI Altix 1.5 GHz, Voltaire Infiniband / 10160SGI

5187060960

3 The Earth Simulator CenterJapan/2002

Earth-Simulator / 5120NEC

3586040960

4 Barcelona Supercomputer CenterSpain/2004

MareNostrumeServer BladeCenter JS20 (PowerPC970 2.2 GHz), Myrinet / 3564IBM

2053031363

5 Lawrence Livermore National LaboratoryUnited States/2004

ThunderIntel Itanium2 Tiger4 1.4GHz - Quadrics / 4096California Digital Corporation

1994022938

6 Los Alamos National LaboratoryUnited States/2002

ASCI QASCI Q - AlphaServer SC45, 1.25 GHz / 8192HP

1388020480

7 Virginia TechUnited States/2004

System X1100 Dual 2.3 GHz Apple XServe/Mellanox Infiniband 4X/Cisco GigE / 2200Self-made

1225020240

8 IBM - RochesterUnited States/2004

BlueGene/L DD1 Prototype (0.5GHz PowerPC 440 w/Custom) / 8192IBM/ LLNL

1168016384

9 Naval Oceanographic Office (NAVOCEANO)United States/2004

eServer pSeries 655 (1.7 GHz Power4+) / 2944IBM

1031020019.2

10 NCSAUnited States/2003

TungstenPowerEdge 1750, P4 Xeon 3.06 GHz, Myrinet / 2500Dell

981915300

Page 20: 第一章    基本概念

20

Page 21: 第一章    基本概念

21

国内

曙光:曙光 4000 银河 神威 联想:联想 6800 浪潮:天梭 TS20000,TS10000

Page 22: 第一章    基本概念

22

主要内容: 计算机系统的发展历史及趋势 计算机系统的层次结构 计算机系统的设计技术 计算机系统结构的发展 并行性及计算机系统的分类 计算机系统的评价标准

Page 23: 第一章    基本概念

23

计算机系统的层次结构计算机系统的层次结构

虚拟机概念 层次结构 透明性概念 计算机系统结构的定义 计算机组成 计算机实现技术

Page 24: 第一章    基本概念

24

虚拟机概念虚拟机概念

虚拟计算机 :

从不同角度所看到的计算机系统属性是不同的 主要观察者包括:

• 应用程序员• 高级语言程序员• 汇编语言程序员• 系统管理员• 硬件设计人员

对计算机系统的认识是需要在某一个层次上

Page 25: 第一章    基本概念

25

虚拟机( Virtual Machine ):由软件实现的计算机称为虚拟机,在软件级看计算机。

虚拟计算机系统:每一层的一个抽象广义语言

解释器 作用对象

虚拟计算机

控制信息

状态信息

观察者

机器的作用和组成

指令系统

中央控制器 运算器,存储器, IO

计算机系统结构

控制信息

状态信息

汇编程序设计者

Page 26: 第一章    基本概念

26

广义语言

虚拟计算机

解释或编译 作用对象 观察者

虚拟计算机系统

Page 27: 第一章    基本概念

27

层次结构层次结构概念: 是指不同的使用者(用户、程序员、硬件设计者)所看到的计算机纵向视图。包括其展示的功能、属性以及给上层所提供的各种接口等。

计算机 : 计算机是由硬件和软件组成的综合体,它不是在同一个层次中完成和实现的,而是由多个不同层次的软硬件完成实现的;

Page 28: 第一章    基本概念

28

层次结构 (续)层次结构 (续)

分层的好处:有利于明确计算机各部分的地位和作用;有利于采用系统的方法,研究系统的整体性能及最佳组合;

有利于提高可靠性和开放性

从以上分析可以得出:广义的计算机系统的结构只是(相对于不同的使用者)完整的计算机层次结构中的一个层次。

Page 29: 第一章    基本概念

29

层次结构 (续)层次结构 (续)

共分为 7 个层次: 其中系统结构研究的是第 1 、 2 级和第

3 层及其之间硬件和软件接口、组织和技术(物理机)

Page 30: 第一章    基本概念

30

计算机系统的层次结构

Page 31: 第一章    基本概念

31

应用语言

第 6级 应用程序

应用程序 信息处理系统 用 户 高级语言

第 5级 高级语言

解释程序 编译程序

可执行程序 高级语言程序员

汇编语言

第 4级 汇编语言

汇编程序 可执行程序 汇编语言程序员

系统原语 键盘命令

第 3级 操作系统

操作系统 系统资源 系统操作员

Page 32: 第一章    基本概念

32

指令系统

第 2级 机器语言

中央处理机 目标程序 机器语言程序员 指令时序

第 1级 微程序控制

微程序控制 寄存器逻辑 逻辑设计员 操作时序

第 0级 硬联逻辑

硬联逻辑 逻辑线路 硬件设计员

Page 33: 第一章    基本概念

33

透明性概念透明性概念

透明性( Transparency) 定义:本来存在的事物或属性,从某种角度看似乎

不存在较底层的机器级概念性结构和功能特性,对高级语言程序员是透明的。

在层次结构的各个级别上都有他的系统结构 , 底层机器级的概念性结构和功能特性,对高级语言程序员是透明的

Page 34: 第一章    基本概念

34

透明性概念(续)透明性概念(续)

例如:CPU类型、型号、主存储器容量等 对应用程序员 透明 对系统程序员、硬件设计人员等 不透明

例如:浮点数表示、乘法指令 对高级语言程序员、应用程序员 透明 对汇编语言程序员、机器语言程序员 不透明

例如:数据总线宽度、微程序 对汇编语言程序员、机器语言程序员 透明 对硬件设计人员、计算机维修人员 不透明

Page 35: 第一章    基本概念

35

计算机系统结构的定义计算机系统结构的定义 Amdahl 于 1964 年在推出 IBM360 系列计算机时提出(定义 1 ): 程序员所看到的计算机系统的属性 , 即概念性结构和功能特性。 “Computer architecture is the computer as seen by the user” 程序员:汇编语言、机器语言(编译程序、 操作系统)。 看到的:编写出能在机器上正确运行的程序 所必须了解到的。

Page 36: 第一章    基本概念

36

概念性结构

主存储器

主存控制器 CPU

IOP IOP打印机 磁盘机

卡片机

磁带机终 端

Page 37: 第一章    基本概念

37

概念性结构——指令系统及其执行模式指令系统及其执行模式

数据表示: 硬件能够直接认别和处理的数据类型; 寻址方式: 寻址单位、寻址方式的种类和地址运算等; 寄存器组织:操作数寄存器、变址寄存器、控制寄存 器及专用寄存器的定义、数量和使用规则等; 指令系统: 操作类型、格式,指令间的排序控制等; 中断系统: 中断类型、中断级别和中断响应方式等; 存储系统: 编址单位、编址方式、最大寻址空间等; 处理机工作状态:定义和切换方式,如管态和用户态; 输入输出系统:数据交换方式、交换过程的控制等 ; 信息保护: 信息保护方式和硬件对信息保护的支持等

Page 38: 第一章    基本概念

38

IBM360/370 结构设计师 Andris Padges认为(定义 2 ):

计算机系统结构是研究计算机软硬件功能的分配或对计算机软硬件系统的界面(的确定)。

“The architecture of a computer is the interface between the machine and the software” 。

计算机系统结构的定义计算机系统结构的定义

Page 39: 第一章    基本概念

39

计算机系统结构的定义计算机系统结构的定义

• 计算机系统由软件、硬件和固件组成,它们在功能上是同等的。

• 同一种功能可以用硬件实现,也可以用软件或固件实现。

• 不同的组成只是性能和价格不同 , 他们的系统结构是相同的。

• 系列计算机概念:相同系统结构 , 不同组成和实现的一系列计算机系统 ( 兼容机? )

Page 40: 第一章    基本概念

40

1. 课程名称 Computer Organization

计算机组成,计算机组织,计算机原理,计算机组成原理

2. 研究方法 从内部研究计算机系统 计算机组成是指计算机系统结构的逻辑实现

计算机组成计算机组成

Page 41: 第一章    基本概念

41

3. 主要研究内容• 确定数据通路的宽度• 确定各种操作对功能部件的共享程度• 确定专用的功能部件• 确定功能部件的并行度• 设计缓冲和排队策略• 设计控制机构• 确定采用何种可靠性技术

计算机组成计算机组成

Page 42: 第一章    基本概念

42

计算机实现是指计算机组成的物理实现,主要包括: 处理机、主存储器等部件的物理结构; 器件的集成度和速度; 专用器件的设计; 器件、模块、插件、底版的划分与连接; 信号传输技术; 电源、冷却及装配技术,制造工艺及技术等。

计算机实现技术计算机实现技术

Page 43: 第一章    基本概念

43

结构结构

组成组成

实现实现

结构、组成和实现的关系结构、组成和实现的关系

同一系统结构的计算机,可用不同的方式组成(系列机、兼容机);

计算机组成的设计,其上决定于系统结构,其下又受限于所采用的实现技术;

计算机实现,特别是器件技术的发展是计算机系统结构和组成的基础;

随着技术、器件和应用的发展,三者之间的界限越来越模糊。

Page 44: 第一章    基本概念

44

计算机系统结构是对计算机组成的需求分析和功能目标确定,是计算机系统软、硬件的界面分配,是功能级设计;

计算机组成是计算机系统结构的逻辑设计和实现; 计算机实现是计算机组成的物理工艺实现; 在不同产品和系列中,系统结构、组成和实现三者之间没有明确界定;

一种系统结构可有多种组成,一种组成可有多种实现如,系列机,兼容机等。

结构、组成和实现的关系结构、组成和实现的关系

Page 45: 第一章    基本概念

45

主要内容: 计算机系统的发展历史及趋势 计算机系统的层次结构 计算机系统的设计技术 计算机系统结构的发展 并行性及计算机系统的分类 计算机系统的评价标准

Page 46: 第一章    基本概念

46

计算机系统的设计技术计算机系统的设计技术 计算机系统的设计原则计算机系统的设计原则 定性原则、定量原则 软硬件取舍 主要从性能和价格两方面考虑 软件兼容性设计方法 系列机、仿真、统一高级语言、… 计算机系统设计方法 由上向下、由下向上、中间开始

Page 47: 第一章    基本概念

47

1. 计算机系统设计的定性原则 大概率事件优先原则:对大概率事件赋予它优先

的处理权和资源使用权,以获得全局的最优结果。 软、硬件取舍原则:

现有软硬件条件下,要使系统可以获得高的系统性能 /价格 尽量不限制计算机组成和实现技术 为编译和操作系统的实现提供好的支持

兼容性、可靠性等

计算机系统的设计原则计算机系统的设计原则

Page 48: 第一章    基本概念

48

2 、计算机系统设计的定量原则

必须有可供系统结构设计者可以从理论

和技术上定量分析和设计的原理

(1) 加快经常性事件的处理速度(2) 程序访问局部性原理

Page 49: 第一章    基本概念

49

(1)加快经常性事件的处理速度 这是软、硬件设计中最重要、最广泛采用的设计准则。 原因:经常性事件的快速处理可以明显地提高整个系统

的性能。因此,对经常性事件需要优化处理。如: cache, 硬件化,固件化, RISC 等。

关键:A. 如何确定经常性事件? (分析或执行应用程序统计)B. 如何加快这种事件的处理? (方案设计与选择)

C. 会得到什么样的性能改进? (分析评价)

评价 优化设计

具体方法可从 Amdahl定律得到。

Page 50: 第一章    基本概念

50

(2) 程序访问局部性原理 程序访问局部性原理程序访问局部性原理 :: 程序往往重复使用它刚刚使用过或邻近的数据和指令。

1. 1. 时间局部性时间局部性 :: 近期近期被访问的代码和数据,很可能不久又将再次被访问。被访问的代码和数据,很可能不久又将再次被访问。

2. 2. 空间局部性空间局部性 : : 是指是指地址上地址上相邻近的代码和数据可能会被连续一起的访问。相邻近的代码和数据可能会被连续一起的访问。

原因: 程序的顺序指令和程序的循环、数据块操作等。

利用好这个特点

例如,存储器体系的构成就是以访问的局部性原理为基础的。

Page 51: 第一章    基本概念

51

* 定量分析瓶颈所在•提高瓶颈部分性能•消除和减少瓶颈

Page 52: 第一章    基本概念

52

例,基于 100M和 1000M互联网络的多处理计算机系统?

时延

100M 1000M

协议处理

协议处理

物理链路

精简协议、VIA等技术

Page 53: 第一章    基本概念

53

• Amdahl定律给出了优化设计的定位原则,

效果分析与评价的方法

• 程序访问局部性的特点是设计优化的依据

•后续章节中介绍的并行、流水等技术是设计

优化的具体方法

Page 54: 第一章    基本概念

54

软硬件取舍软硬件取舍

1. 软硬件的关系 理论上:有两种极端实现方法: 全硬件机器:操作系统、高级语言、应用等; 全软件机器:硬件只有 1 位加法和分支操作, 其他都用软件。 关键问题:性能与价格的关系 软件与硬件实现的特点 硬件实现:速度快、成本高;灵活性差、占用内存少 软件实现:速度低、复制费用低;灵活性好、占用内

存多

Page 55: 第一章    基本概念

55

软硬件取舍软硬件取舍

软硬件比例

软件 发展 硬件

最少硬件 目前计算机 不可编程

硬件实现的比例越来越高

Page 56: 第一章    基本概念

56

2. 从改进性能考虑的软硬件取舍 基本方法:加快经常性事件的执行速度

Amdahl定律: 定义:系统的性能提高与经常性事件的使用频率或占总执行时间的比

例有关。

• 系统中某一部件由于采用某种改进的执行方式后,整个系统的性能提高

了,这与改进部分的使用频率或占总执行时间的比例有关。

• 给了优化设计的问题定位原则,效果分析与评价的方法

性能提高的衡量指标:加速比。

Page 57: 第一章    基本概念

57

加速比公式 :

加速比 =采用改进措施后的性能

没有采用改进措施前的性能

加速比 =没有采用改进措施前执行某任务所用时间

采用改进措施后执行某任务所用时间

• 对于速度:

• 对于时间:

Page 58: 第一章    基本概念

58

Amdahl 定律可表示为: Sp:加速比;

Te:采用改进措施前执行某任务系统所用的时间;

To:采用改进措施后所需的时间;

fe: 可改进部分的执行时间占改进前总执行时间的百分比大小;

re: 可改进部分的性能提高的倍数。

那么,不可改进部分占用的时间 =Te(1-fe); 可改进部分改进后占用的时间 =Te×fe/re 。 则,改进后所需的总时间: To=Te(1-fe)+Te×fe/re

Page 59: 第一章    基本概念

59

分析上式可以看出分析上式可以看出 ::

• 当当 ffee 很小甚至→很小甚至→ 00时,则时,则 SpSp→→1 1

•当当 ffee 很大甚至→很大甚至→ 11时,则时,则 SpSp→→rree

•当当 rree 很小甚至→很小甚至→ 00时,则时,则 SpSp→→1 1

•当当 rree 很大甚至→∞时,很大甚至→∞时,则则

Page 60: 第一章    基本概念

60

增大 re 和 fe 对 Sp都有提升作用;但当 fe 固定时,一味增大 re 对 Sp 的作用会越来越不显著。

Sp

极限 2 = 21

1

eF

极限 1 = 11

1

eF

Fe=Fe2

Fe=Fe1

1.0

(设 Fe2 > Fe1 )

0.0 1.0 r e

Amdahl定律的图形

Page 61: 第一章    基本概念

61

结论:结论:尽量提高经常性事件的处理速度;尽量提高经常性事件的处理速度;

尽量减少非经常性事件的比例。尽量减少非经常性事件的比例。

加速比公式:

Sp:加速比;Te:采用改进措施前执行某任务系统所用的时间;To:采用改进措施后所需的时间;fe: 可改进部分的执行时间占改进前总执行时间的百分比大小;re: 可改进部分的性能提高的倍数。

Page 62: 第一章    基本概念

62

例:若考虑将系统中某一功能部件的处理速度加

快 10倍,但该功能部件的处理使用时间仅为整

个系统运行时间的 40%,则采用此增强功能方法

后,能使整个系统的性能提高多少?

Page 63: 第一章    基本概念

63

解答:由题可知: fe=0.4, re=10 ,则可得: Sp=1.56

若以 Sp作纵坐标, fe作横坐标,可画出 Sp=f(fe)的函数。

0.0 0.5 1.0 fe

1

0

10

5

Sp

加速比 Sp与可增强性能部分 fe的关系

由图中曲线可知,为使系统能获得较高性能加速比,则性能可增强部分必须占有较大的比例;否则,增强该功能的性能就没有多大意义。

re=10

Page 64: 第一章    基本概念

64

3. 改进性能的主要途径 (1) 面向目标代码改进

方法:用一条指令代替一串指令 根据计算结果改进:例如,增加硬件乘法和硬件除法指令能够 , 使等效指令速度提高 25 倍, 据统计数据改进指令功能: 如数据传送指令、快速保存与恢复现场指令等

增加运算型指令的功能:如函数运算指令等

8088中的指令 静态使用频度% 动态使用频度%MOVEPSHUPOP

24.8510364.14

17.1411.112.61

合计 39.35 31.16

软硬件取舍软硬件取舍

Page 65: 第一章    基本概念

65

软硬件取舍软硬件取舍(2) 面向高级语言和编译程序改进:

方法:增强对高级语言和编译程序支持的指令的功能

例如:在 do 循环中,循环体只 有一二条的占 60% 左右,增加 循环控制指令。 例如:条件码对高级语言几乎 无用,在并行计算机中已经取 消条件码。

I = m1

循环体

I= I+m3

I>m2

语言 赋值 IF GOTO I/O DO CALL 其他FORTRAN 46.0 11.5 10.5 6.5 4.5 6.0 15.0

COBOL 49.6 19.1 19.1 8.46 0.17 0.17 3.4

Page 66: 第一章    基本概念

66

软硬件取舍软硬件取舍

(3) 面向操作系统改进: 系统结构设计要规整,消除例外情况。 寄存器定义要统一 ( 如 A 寄存器等 ) 操作要均匀 ( 如 A-B 与 B-A) 所有的存储部件都要对称 进程的管理和切换 存储管理和信息保护 进程的同步与互斥,信号灯管理 处理机工作状态和访问方式的转换

这类指令的使用频度往往很低,但必须设置

Page 67: 第一章    基本概念

67

软硬件兼容性设计方法软硬件兼容性设计方法 原因:软件相对于硬件的成本越来越贵, 已积累了大量成熟的系统软件和应用软件。1. 兼容种类 (1)向后兼容:在某一时间生产的机器上运行的目标 软件能够直接运行于更晚生产的机器上。 (2)向前兼容: (3)向上兼容:在低档机器上运行的目标软件能够直 接运行于高档机器上。 (4)向下兼容:

向后兼容必须做到,向上兼容尽量做到 向前兼容和向下兼容,可以不考虑

Page 68: 第一章    基本概念

68

时间

机器档次

当前机器向上兼容

向下兼容

低 向后兼容向前兼容

Page 69: 第一章    基本概念

69

系列机定义 : 具有相同的系统结构,但组成和实现技术不同的一系列计算机系统。 实现方法:

在系统结构基本不变的基础上,根据不同的性能和不同的器件,研制出多种性能和价格不同的计算机系统。 一种系统结构可以有多种组成,一种组成也可以有多种物理实现。

如 IBM370 系列机 : 115,125,135,145,158,168等

方法一:系列机方法方法一:系列机方法

Page 70: 第一章    基本概念

70

相同的指令系统,采用顺序执行、重迭、流水和并行处理方式

相同的 32 位字长,数据通路宽度为 8 位、 16 位、 32 位、 64 位。

如 PC 系列机有: 不同主频: 4.7MHz , 500MHz , 1GHz , 2.4G

Hz, 3GHz, … 不同扩展: Pentium 、 Pentium Pro 、 Pentium M

MX 、 Pentium SSE 、 Pentium SSE2 不同 Cache : Pentium 、 Celeron 、 Xeon 不同字长: 8 位、 16 位、 32 位、 64 位

方法一:系列机方法方法一:系列机方法

Page 71: 第一章    基本概念

71

方法一:系列机方法方法一:系列机方法

采用系列机方法的主要优点: (1) 系列机之间软件兼容,可移植性好 (2) 插件、接口等相互兼容 (3) 便于实现机间通信 (4) 便于维修、培训 (5) 有利于提高产量、降低成本

采用系列机方法的主要缺点: 限制了计算机系统结构的发展: 如 PC 系列机,其系统结构非常落后,使用也最普及。

Page 72: 第一章    基本概念

72

方法二方法二 ::模拟和仿真

A. 模拟:在一台计算机( A)上,用软件的方法实现另一台计算机( B)的指令系统。通常采用解释方法实现。

概念:宿主机: A计算机 虚拟机: B计算机缺点:速度较慢,实时性差

A计算机系统(宿主机) B计算机系统(虚拟机)

编 译 应用程序

A计算机指令 B计算机指令

硬件执行

软件解释

Page 73: 第一章    基本概念

73

B. 仿真:在一台计算机( A)上,用微程序的方法实现另一台计算机 ( B)的指令系统。

A计算机系统(宿主机) B计算机系统(目标机)

编 译 应用程序

A计算机指令 B计算机指令

微程序 仿真微程序解释

概念:宿主机: A计算机, 目标机: B计算机, 仿真微程序:仿真所编写的解释微程序特点:比模拟方法快

模拟和仿真

Page 74: 第一章    基本概念

74

模拟与仿真模拟与仿真

优缺点比较 模拟方法速度低,仿真方法速度高; 仿真需要较多的硬件(包括控制存储器); 系统结构差别大的机器难于用仿真方法实现; 除了指令系统之外,还有存储系统、 I/O 系统、中断系 统、控制台的操作等;

模拟程序存放在主存中;仿真微程序存放在控存中。 模拟方法用于计算机系统的设计过程

在一台已有的机器上用模拟方法实现正在设计中的机器的指令系统等。具体过程如下:

设计方案模拟性能评价修改设计投产

Page 75: 第一章    基本概念

75

方法三方法三 ::统一高级语言统一高级语言

实现方法:采用同一种不依赖于任何具体机器的高级语言编写系统软件和应用软件。 困难:至今还没有这样一种高级语言,短期内很难实现。 C 、 Ada 、 Java 、…… 三种方法比较: 采用统一高级语言最好,是努力的目标 系列机是暂时性方法,也是目前最好的方法 仿真的周期长,芯片设计的负担重,目前用于同一系列机内的兼容, 1/10~ 1/2 的芯片面积用于仿真

Page 76: 第一章    基本概念

76

方法四方法四 :: 目标代码的并行编译技术目标代码的并行编译技术

一个新的研究课题 一种机器的目标代码重新编译到另一种机器的并行目标代码。

两种方法: (1) 动态代码转换

例 1 : IBM公司研制 DAISY(Dynamically Architected Instruction Set from Yorktown) 处理机 例 2 : Transmeta公司研制 Crusoe 处理机 已经大量应用于笔记本计算机,其功耗很低。

(2) 静态重编译:正在研究过程中,难度很大

Page 77: 第一章    基本概念

77

动态代码转换技术 采用动态二进制转换技术实现与 X86 等处理机兼容,把 X86 等通用处理机的程序直接映射到 VLIW 处理机中执行。

IBM公司推出了开放源代码 DAISY ,它不仅可以实现 IBM 的 VLIW 处理器与 X86 处理机之间的二进制兼容,还可以实现 PowerPC 、 S/390 、 IBM 的 Java虚拟机与 VLIW 处理器之间的二进制兼容。

Transmeta公司推出了“ Code Morphing Software” ,这种软件可以保证 Transmeta公司的 VLIW 处理机 Crusoe 能够与 X86 处理机之间实现二进制代码兼容。

Page 78: 第一章    基本概念

78

计算机系统设计的主要方法

一、任务:1) 确定用户对计算机系统的功能、价格和性能的要求。

A. 应用领域: 专用、通用? 科学计算、商用?B. 软件兼容层次:高级语言级?机器语言级?C. 操作系统需求:地址空间大小? 保护级别和方式?D. 标准:浮点数、 I/O 总线、网络、程序设计语言。

2) 软硬件的平衡。主要考虑功能要求、性能要求、价格要求、实现的复杂性因素。

3) 设计出符合今后发展方向的系统结构。应该符合软、硬件技术的发展和变化。

Page 79: 第一章    基本概念

79

二、 系统结构设计的方法:

基于基于计算机系统结构层次结构计算机系统结构层次结构,有以下三种设计方法,有以下三种设计方法:•自下而上(自下而上( bottom-up )的方法的方法 : :自下向上逐层设计,这种方法缺乏目标引导,系统效率低。•自上而下(自上而下( top-down )的方法:的方法:自上而下逐层设计,目标明确,但设计的效率不是很高。• 由中间开始(由中间开始( middle-out )的方法:的方法:从中间的一层开始,如从中间的系统结构确定软硬件接口开始,其优点是可以并行设计,且效率高。

Page 80: 第一章    基本概念

80

设计过程:由上向下 面向应用的数学模型→面向应用的高级语

言→ 面向这种应用的操作系统→面向操作系统和高级语言的机器语言→面向机器语言的微指令系统和硬件实现

应用场合:专用计算机的设计 特点:对于所面向的应用领域,性能和性

能价格比很高。随着通用计算机价格降低,目前已经很少采用

由上向下(由上向下( Top-DownTop-Down ))

Page 81: 第一章    基本概念

81

设计过程: 根据当时的器件水平,设计微程序机器级和

传统机器级→根据不同的应用领域设计多种操作系统、汇编语言、高级语言编译器等→最后设计面向应用的用户级

应用场合:通用计算机的一种设计方法,在计算机早期设计中( 60~ 70 年代)广为采用

特点:容易使软件和硬件脱节,整个计算机系统的效率降低。

由下向上(由下向上( Bottom-UpBottom-Up ))

Page 82: 第一章    基本概念

82

设计过程: 首先定义软硬件的分界面 ( 指令系统、存储系

统、输入输出系统、中断系统、硬件对操作系统和编译系统的支持等 )

然后各个层次分别进行设计 ( 软件设计人员设计操作系统、高级语言、汇编语言、应用程序等,硬件设计人员设计传统机器、微程序、硬联逻辑等 )

应用场合:用于系列机的设计 特点:软硬件人员结合、同时设计,软硬件功能

分配合理。

中间开始(中间开始( Middle-OutMiddle-Out ))

Page 83: 第一章    基本概念

83

中间开始(中间开始( Middle-OutMiddle-Out ))

用于系列计算机的设计过程中

应用虚拟机

高级语言虚拟机

汇编语言虚拟机 向上

操作系统虚拟机

传统机器级

微程序级 向下

硬联逻辑级

从中间开始

Page 84: 第一章    基本概念

84

主要内容: 计算机系统的发展历史及趋势 计算机系统的层次结构 计算机系统的设计技术 计算机系统结构的发展 并行性及计算机系统的分类 计算机系统的评价标准

Page 85: 第一章    基本概念

85

计算机系统结构的发展计算机系统结构的发展

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

Page 86: 第一章    基本概念

86

冯冯 ··诺依曼结构诺依曼结构

Van Nenmann 基本思想于 1936 年~ 1946 年期

间形成,由冯·诺依曼等人于 1946年提出

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

控制器

存储器

Page 87: 第一章    基本概念

87

冯 ·诺依曼计算机的设计思想

冯冯 ··诺依曼结构诺依曼结构

Page 88: 第一章    基本概念

88

冯冯 ··诺依曼结构诺依曼结构

Page 89: 第一章    基本概念

89

冯冯 ··诺依曼结构诺依曼结构1. 特点 : 存储程序、运算器为中心、集中控制

存储器是字长固定的、顺序线性编址的一维结构;• 按地址访问、单元位数固定、运算速度与访存次数有关

指令=地址码+操作码; 指令顺序执行,即一般按照指令在存储器中存放的顺序执行,程序分支由转移指令实现;

存储器内指令和数据同等看待; 运算器为中心,输入输出设备与存储器之间的数据

传送都途经运算器; 运算器、存储器、输入输出设备的操作以及它们之间的联系都由控制器集中控制。

Page 90: 第一章    基本概念

90

局限性 以数值计算为主,对自然语言、图像、图形和符号处理的能力较差;

程序算法在整体上位顺序型,限制并行操作发挥;

软件系统越来越复杂,正确性不能保证,软件生产效率低;

硬件投资大,可靠性差,体系结构受限制;应用人员既懂专业知识,又具备编程技巧;

冯冯 ··诺依曼结构诺依曼结构

Page 91: 第一章    基本概念

91

结构缺陷 存在两个瓶颈

物理瓶颈: CPU与存储器之间频繁交换; 智能瓶颈:每次只能顺序执行一条指令;

低级的机器语言与高级语言程序设计之间存在巨大的语义差距;

复杂的数据结构对象无法直接放到一维线性结构地址空间存储器中,必须经过地址映像。

冯冯 ··诺依曼结构诺依曼结构

Page 92: 第一章    基本概念

92

2. 现代处理机对冯 ·诺依曼结构的改进

增加了新的数据表示:浮点数、字符串 采用虚拟存储器,方便了高级语言编程 引入堆栈,支持过程调用、递归机制 采用变址寄存器,并增加间接寻址方式 增加 CPU 内的通用寄存器和增设 Cache 采用存储器交叉访问技术,以及无冲突并行存储器 采用指令流水技术 采用多功能部件 采用支持多处理机 采用自定义数据表示 使程序和数据空间分开

Page 93: 第一章    基本概念

93

冯冯 ··诺依曼结构诺依曼结构 不变的:存储程序 改变的:存储器为中心 , 总线结构 , 分散控

制 从基于串行算法变为适应并行算法,出现了向量计算机,并行计算机、多处理机等;

流水线处理机,超标量处理机,超流水线处理机,超标量超流水线处理机;

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

Page 94: 第一章    基本概念

94

冯冯 ··诺依曼结构诺依曼结构

存储器为中心、分散控制

系统总线

IO总线

……

中央处理机(CPU)

主存储器(MM)

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

Page 95: 第一章    基本概念

95

冯冯 ··诺依曼结构诺依曼结构 总线结构,分散控制

总线: 连接计算机各功能部件的连线和管理信息传输规则的逻辑电路称为总线。

特点:在任何时刻,只能有一个部件向总线上发送信息,可以有多个部件同时接收信息。

组成: 数据总线、地址总线、控制总线。 单总线结构

CPU 主存输入

设备

输出

设备

总线

Page 96: 第一章    基本概念

96

冯冯 ··诺依曼结构诺依曼结构 双总线结构

CPU 主存

扩展总线控制线路

I/O 设备 I/O 设备

处理机总线

32MHz32 或 64

ISA / EISA8.33MHz

8 、 16 、 32位

. . . . .

Page 97: 第一章    基本概念

97

冯冯 ··诺依曼结构诺依曼结构 三总线结构

CPU 主存

PCI桥

I/O 设备 I/O 设备

处理机总线100MHz 32 或 64 位

ISA / EISA8.33MHz

8 、 16 、 32位

. . . . .

PCI BUS 33MHz 4B

扩展总线控制线路

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

接慢速设备

Page 98: 第一章    基本概念

98

3. 非冯计算机的发展 什么是非冯计算机?非指令驱动,…

从传统的指令驱动型改变为数据驱动型,出现了数据流机计算机。

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

处理非数值化信息的智能计算机,自然语言、声音、图形和图象处理 , 虚拟现实处理等

第五代计算机,由推理机和知识库机等组成。历经 10 年,召开过多次专题国际会议。

神经网络计算机,仿生计算机,…

Page 99: 第一章    基本概念

99

器件发展的影响器件发展的影响

1. 第 1代至第 4代计算机以器件来划分

第一代:电子管 (Valve) 第二代:晶体管 (Transistor) 第三代:集成电路 (LSI) 第四代:大规模集成电路 (VLSI)

Page 100: 第一章    基本概念

100

2. 器件发展是提高计算机速度的主要途径 MIPS= Fz IPC MIPS(Million Instructions Per Second) 其中 : Fz 为处理机的工作主频 IPC(Instructions Per Cycle) 为每个时钟周期平均执行的

指 令条数

器件发展对提高处理机主频起决定性作用。 需要研究新的器件来提高主频。 目前,既依靠提高 Fz ,也依靠提高 IPC

器件发展的影响器件发展的影响

Page 101: 第一章    基本概念

101

最早的电子计算机 ENIAC ( 1946 ) 1800个电子管; 重达 30吨; 占地 15000平方英尺; 功耗 140KW ; 5,000 次加法 /秒(十进制); 用于武器弹道计算。

其计算能力小于当今的一个 PDA!

器件发展的影响器件发展的影响

Page 102: 第一章    基本概念

102

器件发展的影响器件发展的影响

Page 103: 第一章    基本概念

103

器件发展的影响器件发展的影响3. 器件发展的特点(1) 集成度迅速提高

目前水平:每 0.25平方英寸 1010个晶体管, 单芯片内可以做大于 1Gb 存储器, 单芯片内可以集成 2个 CPU+全部 Cache 每 4 年提高一个数量级 还没有达到集成度的极限

问题? 如何利用器件集成度的提高,不断改进计算机系统的性能:例如,有更多指令并行执行,采用更深的流水线,集成更多的 Cache 等

Page 104: 第一章    基本概念

104

器件发展的影响器件发展的影响

(2) 速度已接近极限 目前 CPU 主频已经到达 3GHz , 时钟周期 0. 3ns ,门延迟小于 0.01ns 极限速度 30万公里 /秒 /2 = 1.5mm/0.01ns

信号在导体中传递速度小于光速的 50%。 一般芯片面积 0.5平方英寸,即 1.3cm 1.3cm 器件速度提高的余地已经很小。

问题? 靠什么进一步提高处理机的能力?

Page 105: 第一章    基本概念

105

将来提高处理机速度更多依靠系统结构的发展; 目前的主流 CPU 硬件已经达到 IPC= 2左右 实验中的 CPU 已经达到 IPC = 8以上,关键

要依靠并行编译技术,依靠并行算法。

器件发展的影响器件发展的影响

Page 106: 第一章    基本概念

106

(3) 能耗和散热问题突出 Intel负责芯片设计的首席技术官盖尔辛格

认为,如果芯片的耗能和散热问题不解决,则: 2005 年芯片上将集成 2亿个晶体管,芯片表面将热得象核反应堆;

到 2010 年,芯片表面温度将达到火箭发射时气体喷嘴得温度;

到 2015 年,芯片表面将会象太阳表面一样热。

问题 摩尔定律即将终结?

器件发展的影响器件发展的影响

Page 107: 第一章    基本概念

107

摩尔定律( 1979 ) 假设芯片价格保持不变,则微处理器芯片上

的晶体管数,每隔 18~ 24个月便翻一番; 假设芯片价格保持不变,则微处理器速度每隔 18~ 24个月便翻一番;

假设微处理器速度或其内部存储器容量保持不变,则微处理器的价格每隔 18~ 24个月将下降 48%。

器件发展的影响器件发展的影响

Page 108: 第一章    基本概念

108

器件发展的影响器件发展的影响(4) 价格直线下降

CPU芯片的价格每年要下降 >80%

(5) 可靠性越来越高 芯片可靠性达到 108小时,连续使用 1万年以上失效率

使 用 期 时间 t

Page 109: 第一章    基本概念

109

4. 器件种类 通用片:逻辑关系确定

大批量生产,如: CPU 、存储器、寄存器… 现场片:可以一次或多次改写逻辑关系

如: PLD 、 PAL 、 PROM 、 EPROM 、 FPGA…

用户片 (全定制 ) :各种专用芯片 需要单独设计和生产。

半用户片(半定制):门阵列片等 标准的门电路,前几到工序已经完成; 根据用户需要确定最终连线。

器件发展的影响器件发展的影响

Page 110: 第一章    基本概念

110

1. 应用需求 高结构化数值计算: 气象模型 ,流体流动 , 有限元分析。 非结构化的数值计算: 蒙特卡洛模拟 , 稀疏矩阵。 实时多因素问题: 语音识别 , 图象处理 , 计算机视觉。 海量存储和输入输出密集问题: 数据库 , 事务处理。 图形学和设计系统: 计算机辅助设计。

应用发展的影响应用发展的影响

Page 111: 第一章    基本概念

111

2. 三个时期 通用计算机: 主要是通用科学计算 专用计算机: 科学计算、事务处理、实时控制 高性能通用机:满足多种需求

目前又开始多种专用处理机的研制。

应用发展的影响应用发展的影响

Page 112: 第一章    基本概念

112

应用发展的影响应用发展的影响3. 两个发展趋势

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

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

Page 113: 第一章    基本概念

113

改进算法的影响改进算法的影响 在多个层次上,算法影响着系统结构,如:

快速乘法、除法、开平方等的实现; 记分板算法、 Tomasulo 算法提高指令级并行性; 消除名字相关、数据相关、控制相关的算法; 有些问题,如果算法上有突破,不需要高性能的

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

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

Page 114: 第一章    基本概念

114

课件下载方法 FTP服务器:

ftp://202.112.136.250 端口: 2121 用户名: buaa 口令: buaa 每周一全天可用(晚 12.00之前) 限校内 IP 访问

Page 115: 第一章    基本概念

115

主要内容: 计算机系统的发展历史及趋势 计算机系统的层次结构 计算机系统的设计技术 计算机系统结构的发展 并行性及计算机系统的分类 计算机系统的评价标准

Page 116: 第一章    基本概念

116

并行性及提高并行性的途径 并行性( Parallelism)

是指同一时刻或同一时间间隔内发生两种或两种以上性质相同或不相同的事件。

只要时间上相互重叠,就存在并行性。 并行性包含同时性与并发性两层含义。

同时性( Simultaneity):是指两个或多个事件在同一时刻发生。

并发性( Concurrency):是指两个或多个事件在同一时间间隔内发生。

Page 117: 第一章    基本概念

117

提高并行性的技术途径

时间重叠( Time Interleaving)

在并行性概念中引入时间因素,让多个处理过程在时间上错开,重叠轮流地使用同一套硬件设备的各个部分,加快硬件使用的周转来提高处理速度。

典型的例子是流水技术

Page 118: 第一章    基本概念

118

提高并行性的技术途径(续)

资源重复( Resource Replication)

在并行性概念中引入空间因素,通过重复设置资源,尤其是硬件资源,来提高系统的性能。

典型的例子有双工系统、相联处理机和阵列处理机等

Page 119: 第一章    基本概念

119

提高并行性的技术途径(续)

资源共享( Resource Sharing)

利用软件方法让多个任务按一定顺序轮流使用一套资源,通过提高系统资源利用率来提高系统的性能和效率。

典型的例子有多道程序分时系统、计算机网络和分布式处理系统。

Page 120: 第一章    基本概念

120

提高并行性的技术途径(续) 从单处理机向现代高性能的多处理机系统发展的过

程来看: 按时间重叠途径,将多个处理机按宏流水技术构成的多处理机系统,一般都是非对称型( Asymmetrical)或异构型( Heterogeneous)多处理机系统;

按资源重复途径构成的相联处理机和阵列处理机系统都是对称的( symmetrical)或同构型( Homogeneous)多处理机系统;

按资源共享途径开发的多处理机系统既可以是同构型的,也可以是异构型的。

Page 121: 第一章    基本概念

121

提高并行性的技术途径(续)

近年来计算机系统最主要的进展是开发大规模并行处理系统( MPP )

多处理机系统和多计算机系统是研发热点 若干微处理机构成的 MPP 高效并行处理的集群( Cluster )系统 满足现代计算机系统 3T 性能需求:

1TFLOPS 计算能力; 1TB 的主存 ; 1TB/s 的 I/O带宽

Page 122: 第一章    基本概念

122

计算机系统的分类计算机系统的分类

按处理机性能分类佛林分类法库克分类法冯泽云分类法汉德勒分类法

Page 123: 第一章    基本概念

123

按处理机性能分类按处理机性能分类

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

Page 124: 第一章    基本概念

124

按处理机性能分类按处理机性能分类 价 最佳性能价格比 格 最高性能

巨型机

大型机等性能线

中型机

小型机最低价格

微型机

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

Page 125: 第一章    基本概念

125

按处理机性能分类按处理机性能分类

2. 按用途划分 种类:科学计算、事务处理、实时控制、工作站、服务器、家用计算机等。

划分原则:安处理对象的特点 科学计算:浮点计算速度 事务处理:字符处理、十进制运算 实时控制:中断响应速度、 I/0 能力 工作站:图形处理能力 服务器:数据处理速度,数据存储能力 家用计算机:价格便宜,软件丰富

发展方向:具备上述所有功能的通用处理机 各种专用处理机、协处理器、嵌入式处理机

Page 126: 第一章    基本概念

126

按处理机性能分类按处理机性能分类

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

算机等

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

机 ) 、机群 (Cluster) 系统等

Page 127: 第一章    基本概念

127

按处理机性能分类按处理机性能分类5. 按所使用的器件划分 按使用的器件划分计算机系统的时代

第一代:电子管 (Valve) 计算机 第二代:晶体管 (Transistor) 计算机 第三代:集成电路 (LSI) 计算机 第四代:大规模集成电路 (VLSI) 计算机 第五代:智能计算机?

目前的绝大部分计算机系统是 VLSI 计算机 公认的第五代计算机什么时候诞生? 第五代计算机以什么作为标志来划分?

Page 128: 第一章    基本概念

128

FlynnFlynn 分类法分类法 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 129: 第一章    基本概念

129

FlynnFlynn 分类法分类法

IS

DSCU PU MM

SISD

(1) SISD 典型单处理机,包括: 单功能部件处理机: IBM1401 , VAX-11 多功能部件处理机: IBM360/91 , 370/168 ,

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

Page 130: 第一章    基本概念

130

FlynnFlynn 分类法分类法(2) SIMD :

• 并行处理机、阵列处理机、向量处理机、相联处理机、超标量处理机

• 多个 PU按一定方式互连,在同一个 CU 控制下,对各自的数据完成同一条指令规定的操作;从 CU 看指令顺序执行,从 PU 看数据并行执行。

IS

DS1PUMM

DS2CU PU …

DSnMM

PU

SIMD

Page 131: 第一章    基本概念

131

FlynnFlynn 分类法分类法

DS

IS1 CU1 PU1MM

IS2

IS2CU2 PU2…

…MM

CUn PUnISn

MISD

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

Page 132: 第一章    基本概念

132

FlynnFlynn 分类法分类法

IS1 DS1CU1 PU1MM

IS2 DS2CU2 PU2…

… …

MMISn DSnCUn PUn

MIMD

(4) MIMD 多处理机系统,包括: 紧密偶合: IBM3081 、 IBM3084 、 UNIVAC-1100/80

松散偶合: D-825, Cmmp, CRAY-2

Page 133: 第一章    基本概念

133

FlynnFlynn 分类法分类法 Flynn 分类法得到广泛应用

SIMD 、 MIMD 、 SPMD 、 XIMD 、… 主要缺点:(1) 分类太粗

在 SIMD 中包括有多种处理机 对流水线处理机的划分不明确, 标量流水线为 SISD ,向量流水线为 SIMD

(2)根本问题是把两个不同等级的功能并列对待 数据流受指令流控制,造成 MISD 不存在

(3)非冯计算机的分类?其他新型计算机的分类

Page 134: 第一章    基本概念

134

KuckKuck 分类法分类法

1978年由 D. J. Kuck提出 按控制流和执行流分类,四种类型(1)单指令流单执行流 SISE(Single Instruction Single Execution stream)

典型的单处理机(2)单指令流多执行流 SIME(Single Instruction Multiple Execution stream)

多功能部件处理机、相联处理机、向量处理机、流水线处理机、超流水线处理机、超标量处理机、 SIMD并行处理机

Page 135: 第一章    基本概念

135

KuckKuck 分类法分类法(3)多指令流单执行流MISE

(Multiple Instruction Single Executionstream)

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

(Multiple Instruction Multiple Executionstream)

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

Page 136: 第一章    基本概念

136

冯泽云分类法冯泽云分类法

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

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

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

Page 137: 第一章    基本概念

137

冯泽云分类法冯泽云分类法

Page 138: 第一章    基本概念

138

冯泽云分类法冯泽云分类法(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 139: 第一章    基本概念

139

主要内容: 计算机系统的发展历史及趋势 计算机系统的层次结构 计算机系统的设计技术 计算机系统结构的发展 并行性及计算机系统的分类 计算机系统的评价标准

Page 140: 第一章    基本概念

140

一个系统的评价主要从性能和价格两个方面考虑: 性能标准

–运算速度–存储器系统–其他性能

价格标准

计算机系统的评价标准计算机系统的评价标准

Page 141: 第一章    基本概念

141

运算速度是表示处理机性能的主要指标;

有多种表示处理机运算速度的方法。

哪一种表示方法合理?

性能标准——性能标准——运算速度运算速度

Page 142: 第一章    基本概念

142

运算速度运算速度

1. 时钟频率 处理机主频

只能用于同一公司、同一类型、同一配置的处理机

如: Pentium4 2.0G比 Pentium4 1.6G快 25%?

Pentium4 2.4G比 Pentium4 1.6G快 50%? 只表示 CPU 的指令处理能力

实际速度与 Cache 、内存、 IO 、被执行程序等均有关

Page 143: 第一章    基本概念

143

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

其中 : Fz 为处理机的工作主频 CPI(Cycles Per Instruction) 为 每条指令所需的平均时钟周期数 IPC(Instructions Per Cycle) 为 每个时钟周期平均执行的指令条数

MIPS10

Fz

CPIIPC Fz6

指令条数执行时间

运算速度运算速度

Page 144: 第一章    基本概念

144

例 1 :计算 PentiumIV 2GHz 处理机的指令执行速度。

解:由于 PentiumIV 2GHz 处理机的 IPC = 4 (或 CPI = 0.25 ), Fz = 2000MHz ,因此, MIPSPentiumIV2G = FzIPC = 20004

= 8000MIPS = 8GIPS

即每秒钟 80亿次 (平均每秒钟执行 80亿条指令 )

主要优点:直观、方便。目前还经常使用。 主要缺点 : (1) 不同指令的执行速度差别很大; (2) 指令使用频度差别很大; (3) 有相当多的非功能性指令。

运算速度运算速度

Page 145: 第一章    基本概念

145

3. 等效指令速度:吉普森( Gibson )法

  

其中, Wi:指令使用频度, i:指令种类  静态指令使用频度:在程序中直接统计 动态指令使用频度:在程序执行过程中统计

等效指令执行时间

等效指令速度 等效 ( )

T W T

MIPSW

MIPSCPI CPI W

i i

i

n

i

ii

n

i i

i

n

( )

/

1

1 1

1

运算速度运算速度

Page 146: 第一章    基本概念

146

在早期,经常用加法指令的执行速度来表示计算机的运算速度。与实际运算速度相差很大 Gibson 法,通常取:

加减法 50%,乘法 15%,除法 5%,

程序控制 15%,其他 15%

运算速度运算速度

Page 147: 第一章    基本概念

147

例 2 :我国早期研制的一种小型计算机 DJS-130 ,定 点 16位,加法指令每秒 50万次,但没有硬件乘 除法指令。用软件实现乘除法,速度低 100倍 左右。求等效指令速度。解:等效指令速度为:

MIPS0.02100/0.5

0.20

0.5

0.80/1MIPS )(等效指令速度

即每秒 2万次, 由于用软件实现乘除法, 等效指令速度降低了 25倍。

运算速度运算速度

Page 148: 第一章    基本概念

148

例 3 :假设在一般程序中浮点开平方操作 FPSQR 所占 的比例为 2%,它的 CPI 为 100;其他浮点操作 FP 所占的比例为 23%,它的 CPI= 4.0;其余 75%指令的 CPI= 1.33 ,计算该处理机的等效 CPI 。如果 FPSQR 操作的 CPI 也为 4.0 ,重新计算 等效CPI 。解:

等效 CPI1= 1002%+ 423%+ 1.3375%= 3.92等效 CPI2= 425%+ 1.3375%= 2.00 由于改进了在一般程序钟仅占 2%的 FPSQR 操

作的 CPI ,就能够使整个机器的等效运算速度提高近一倍。

运算速度运算速度

Page 149: 第一章    基本概念

149

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 150: 第一章    基本概念

150

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 151: 第一章    基本概念

151

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 152: 第一章    基本概念

152

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

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

运算速度运算速度

Page 153: 第一章    基本概念

153

5. 峰值速度 峰值指令速度: MIPS 、 GIPS 、 TIPS 浮点蜂值速度: MFLOPS 、 GFLOPS 、 TFLOPS例 4 :一个由 36台计算机组成的 Cluster 系统,每 台计算机内部由 4个 PentiumIII 700 ,计算这 个 Cluster 系统的指令峰值速度。解: PentiumIII 700MHz ,有 3 条流水线, 峰值指令速度为: 700 3 = 2100MIPS Cluster 的峰值指令速度= 700 3 36 4 = 302,400MIPS 即每秒3千亿次

运算速度运算速度

Page 154: 第一章    基本概念

154

性能标准——性能标准——存储器系统存储器系统

1. 存储层次 第 1 层: Register Files( 寄存器堆 )

第 2 层: Lookahead(先行缓冲站 )

  第 3 层: Cache( 高速缓冲存储器 )

第 4 层: Main Memory( 主存储器 )

第 5 层: Online Storage(联机存储器 )

第 6 层: Off-line Storage(脱机存储器 )

第 1~3 层在 CPU芯片内部,第 4 层在主板上,第 5 层在机箱内 ( 硬盘 ) ,第 6 层依靠手工加载(VCD/DVD/磁带 /刻录机等 )

Page 155: 第一章    基本概念

155

第 1层

第 2层

第 3层

第 4层

第 5层

第 6层

CPU 内部

寄存器堆

联机外部存储器

(磁盘存储器等)

脱机外部存储器

(磁带、VCD、DVD、刻录机等)

指令和数据缓冲栈

Cache

(静态随机存储器 SRAM)SRAM)

主存储器

(DRAM、DDR、RDRAM)

存储容量越来越大

每位的价格越来越便宜

访问速度越来越快

Page 156: 第一章    基本概念

156

存储器系统存储器系统

2. 寻址空间 程序员可以使用的存储器容量,即每个程序的大小

通常有 216 、 224 、 232 、 264 、… Pentium 处理机的寻址空间为 4GB 与实际配置的存储器容量无关

3. 存储容量 实际物理存储器的大小 通常用 KB 、 MB 、 GB 等表示 微机建议配置:主存: 128MB~ 1GB 硬盘: 40GB~ 180GB

Page 157: 第一章    基本概念

157

性能标准——性能标准——其它性能其它性能

1. 字长 1~几百位, 16 位、 32位、 64 位 由数据字长决定, 8 的倍数, 32位、 64 位等 可变字长:任意组合

2. 数据表示 定点、浮点、逻辑、向量、串、栈、树、… 发展方向之一:自定义数据表示

3. 指令系统 CISC(Complex Instruction Set Computer)复杂指令集计算机 RISC(Reduced Instruction Set Computer)精简指令集计算机 VLIW(Very Long Instruction Word) 超长指令字

Page 158: 第一章    基本概念

158

其它性能其它性能

4. 输入输出系统 输入输出系统的组织方式 中断系统 通道处理机 输入输出处理机

5. 保护和诊断能力 程序与数据的保护 诊断能力:检错 , 纠错 , 冗余 , 自诊断能力 可靠性: RAS 技术,可靠性 R ,可用性 A ,可维护性 S

Page 159: 第一章    基本概念

159

价格标准价格标准

1.价格与性能的关系: 摩尔定律:速度每 10年左右提高 100倍, 但价格基本维持不变 用当前同样的价格,在 5 年之后能买到性能高出 10 倍的计算机2.硬件与软件的价格比例: 硬件在整个计算机系统价格中所占的比例在下降,软件所占的比例在上升 目前软件价格已经超过硬件价格

Page 160: 第一章    基本概念

160

价格标准价格标准

成本

硬件 软件

年代 70年代

软件所占的成本越来越高

Page 161: 第一章    基本概念

161

本章重点:1. 计算机系统的层次结构

2. 计算机系统结构的定义及研究内容

3. 冯 · 诺依曼结构及其发展

4. 透明性、系列机、兼容性等概念

5. 了解计算机系统的分类方法