第1章 计算机系统结构的基本概念_第1页
第1章 计算机系统结构的基本概念_第2页
第1章 计算机系统结构的基本概念_第3页
第1章 计算机系统结构的基本概念_第4页
第1章 计算机系统结构的基本概念_第5页
已阅读5页,还剩77页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

计算机系统结构

课件

编著:陈建铎

设计:程俊波

西安石油大学计算机学院

目录

第一章计算机系统结构的基本概念

第二章数据与指令系统设计

第三章存储器体系结构

第四章标量流水线技术

第五章向量流水与向量处理机

第六章互连网络

第七章并行处理技术与SIMD阵列机

第八章多处理机

第九章计算机体系结构的发展

第1章计算机系统结构的基本概念

・内容提要:

本章首先简要介绍计算机系统结构的含义、层次结构类型,然后讲

述计算机系统结构性能分析的方法、计算机系统结构的发展及计算机系

统的成本、性能与价格。重点是计算机系统的层次结构、按“流”分

类、定量分析、Amdahl定律、影响计算机系统结构的要素。难点是计

算机系统的层次结构、按“流”分类、定量分析及Amdahl定律。

mi第1章计算机系统

结构的基本概念

概述

>1.2计算机系统结构的定义与内涵

±1.3计算机系统结构的类型

->>1.4计算机系统性能分析

.5计算机系统结构的发展过程

工1.6计算机系统的成本、性能与价格

■与

1.1概述

自从上世纪40年代上第一台数字计算机诞生以来,其结构、

规模、类型、性能、应用领域发生了翻天覆地的变化,其中决

定因素是器件和系统结构的发展与变化。人们把计算机的发展

过程归结为四个历史时期,也称为四代。现在,正在向第五代

发展。各历史时期及其主要特征如表1.1一所示。

表1.1计算机的发展历史

特征

器件结构软件典型机器

年代

第一代电子管和存储程序计算机机器语言与

ENIAC、IBM701

1945—1954年继电器程序控制I/O汇编语言

浮点数据表示、多寻址高级语言与编译、批UnivacLARC

第二代晶体管、磁芯、

方式、中断技术、I/O处理技术与CDC1604

1955—1964年印刷电路

处理机监控系统IBM7030

微程序控制器、流水线IBM360/370

第三代SSLMSL多层多道程序处理

技术、CacheCDC6600/7600

1965—1974年印刷电路分时操作系统

先行处理、系列机DECPDP-8

Cray-1IBM3090

第四代LSI、VLSL半导向量处理、并行计算、并行与分布式

DECVAX9000

1975—1990年体存储器分布式存储器处理

Convax-1

SGICrayT3E

第五代高性能微处理器、超标量、超级流水线大规模可扩展并行与

IBMSP2DEC

1991—现在高密度器件SMP、MP、MPP分布式处理

AlphaServer8400

计算机科学家恩斯洛(P.H.Enslow)曾对1965〜1975年间计算机的发

展进行了研究。结果表明,计算机系统的性能提高了10。倍,其中1。倍

归功于器件的发展,而另外1。倍归于系统结构的变化。

在计算机进入第四代以后,人们认为第五代计算机应当是智能化计

算机。但是,经过多年的努力,一时还难以实现。

而在上世纪90年代以后,计算机的硬件体系结构有了新的突破性的

发展,于是人们把其归结为第五代系统结构的发展时期。典型机种除了

表1.1中所列举的几种之外,还有:

Fujitsu的VPP500、CrayResearch的MPP、ThinkingMachines公司

的CM-5、Intel超级计算机系统Paragon、SGI的0rigin2000以及SUN

10000服务器等。

目前,就计算机的规模而言,有微型机、小型机、中型机、大型机

和巨型机;就计算机的体系结构而言,有标量流水机、向量流水机、阵

列机、并行多处理机、数据流机以及规约机等;另外,人工智能计算机

仍然在发展之中。

在进入上世纪80年代以后,由于软件技术的发展,对计算机

系统结构的发展也起到了一定的促进作用。一方面是对汇编语言

的要求有所降低,放宽了对目标代码兼容性的苛刻要求;另一方

面,与厂商无关、类似于UNIX操作系统那样的标准化的建立,使

新的系统结构的设计成本与风险有所降低,这就促使许多厂商相

继推出了许多新型计算机,比如小巨型机、高性能的微处理机、

工程工作站以及各种多处理机等。

在微型计算机的发展中,随着芯片集成度的提高,一方面向

工程工作站、小型机靠拢;另一方面,各种高性能的微控制器、

嵌入式芯片大量涌现出来,广泛地用于自动控制、电信和智能化

仪器仪表中。

在进入80年代以后,另一个突破性的进展出现了。这就是精

简指令系统计算机RISC,它是对CISC计算机的一种挑战,使计算

机的体系结构再一次发生了质的改变。

m

1.2计算机系统结构的

定义与内涵

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

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

与内涵

,123计算机系统的组成与实

U11.2.1计算机系统的层次结构

随着软件技术的U应用语言级虚拟机

t

发展,人们使用不同

高级语言级

L5虚拟机

的高级语言编程,站应用软件Yt

汇编语言级

L4虚拟机

在不同的层面上使用♦

操作系统级虚拟机

L3

计算机。于是,产生硬、软件界面

了计算机系统的多层硬件L?机器语言(传统机器)级物理机

*

次结构,如图1.1Li微程序机器级

固件《♦

所示。Lo电子线路级

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

图中每一层对应一种“机器”,为该层的操作者所使用。操作者

通过该层的语言与“机器”对话,或者交互信息,而不必关心其内层

的结构和工作过程。这体现的是一种称之为透明性的特性。

L0和L1级是计算机的底层硬件,指中央控制器。其中

L0级由电子线路组成,用来实现微指令的功能。

L1是微程序控制器,也称为固件。

L2是传统的机器语言级机器,也称为物理机,程序员通过机器语

言指令编程。向下,进入L1级,每一条机器语言指令对应于一段微程

序,通过执行其微程序,实现该指令的功能。

L3是操作系统虚拟机。在这一级,多数指令是传统的机器语言指

令,操作系统提供自己的命令集,比如打开/关闭文件、读/写文件等。

程序员主要使用操作系统的命令对文件进行操作,其功能由软件来实

现,因此称为操作系统虚拟机。

L4是汇编语言虚拟机。程序员通过对汇编语言指令的编程,来实

现外部的功能要求。汇编语言程序需要翻译成L3和L2级语言,然后再

由机器执行。这种翻译程序称为汇编程序。

L5是高级语言虚拟机。程序员使用高级语言进行程序设计,

然后再由编译或解释程序翻译成L4级或L3级上的语言,然后由

下一级机器执行。

L6是应用语言虚拟机,是为某些专门的应用而设计的,使用

面向问题或对象语言,可设计出用于不同领域的虚拟机。应用

语言编写的程序一般是由应用程序包翻译到L5级上,然后再一

级一级地翻译或解释执行。

1.2.2计算机系统结构的定义与内涵

计算机系统结构(Computerarchitecture)这一概念,是在

1962年Buchholz描述IBM7030的扩展性(Stretch)时首先提出来的;

主要是指计算机的外貌,也称为外特性。1964年,IBM370的主设计

师Amdahl给出了它的定义:

计算机系统结构就是程序员所看到的计算机的基本属性,即概念

性结构与功能特性。

对于不同层次上的程序员来说,由于使用的程序设计语言不同,

可能看到的概念性结构与功能特性会有所不同。例如,使用机器语言

或汇编语言分别在PDP-11和80X86机上进行程序设计,就会发现两种

机器的基本属性截然不同;如果使用高级语言,比如FORTRAN或C/C++,

进行程序设计,经编译后再在这两种机器上运行,就会发现它们之间

不再有多大的区别。

/JJ

是什么原因呢?主要是编译程序填补了两种机器之间的差异。象

这种本来存在差异或区别的事物或特性,站在某一角度来看,似乎不

再有什么差异或者区别,这种现象或概念称为透明性(Transparency)。

由此可见,在层次结构的各级机器上都有相应的系统结构。

Amdahl提出的系统结构是指传统机器语言级的系统结构,即机器语言

程序员所看到的计算机外特性,是在传统的硬件层面上看到的特性。

这种外特性主要有:

①指令系统②数据表示③寻址规则

④寄存器结构⑤中断系统⑥工作状态的定义与切换

⑦存储系统⑧信息保护方式⑨I/O结构等。

/JJ

这些在计算机系统中是由硬件或固件完成的功能。由图

1.1可以看出,计算机系统的概念性结构和功能特性实质上是由

计算机系统中软件与硬件之间的界面所确定,界面之上主要是

软件功能,界面之下则主要是硬件。

以上是针对经典的计算机系统结构的概念而言的。随着计

算机技术的发展,计算机系统结构的概念和它所包含的内容也

正处在不断的发展与变化之中,它涉及到广义计算机系统结构

的概念,包括计算机新的组成与实现技术。

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

1.2.3计算机系统的组成与实现

计算机组成与实现

n>2.外特性、内特性与微外特性

,3.计算机系统的组成与实现

1.计算机组成与实现

所谓计算机组成是在明确计算机系统结构分配给硬件的功能与概念性

结构之后,研究如何组成其硬件体系,并建立相互之间的联系,以实现机器

语言级指令的功能与特性。其中包括各功能部件的配置、组成、相互之间的

连接与相互作用等。

各功能部件的性能、参数以及相互之间的合理匹配是计算机组成的重要

指标。例如,运算器的组成、功能、运算速度,存储器的层次结构、容量、

存取周期、虚拟存储技术、通道技术或I/O处理机、先行控制、流水线技术、

多功能部件、阵列机以及并行多处理机技术等。

计算机组成是计算机系统结构的逻辑实现,包括机器内部数据流和控制

流的组成及其逻辑设计。在研究计算机组成时,又涉及到各种功能部件的组

成逻辑、时序电路以及时钟信号的设计与选用。

例如,在设计运算器时,既涉及到时序电路,又涉及到算法;

在设计存储器时既涉及到采用什么样的器件,又涉及到它的容量、外

围电路和速度;在设计输入输出通道时,同样也涉及到采用什么样的

器件及外围电路。另外,在构成计算机时还涉及到信号的传输方式、

模块的划分、插件与底版的连接,以及电源、冷却方式、组装工艺和

技术等。这些,统称为计算机组成的物理实现。

计算机系统结构、计算机组成和计算机实现是三个不同的概念。

系统结构是计算机系统的软件与硬件之间的界面;计算机组成是指计

算机系统结构的逻辑实现;计算机实现是指计算机组成的物理实现。

它们各自包含有不同的内容,相互之间又有着密切的联系。

上述三种概念所包含的内容随不同的机器可能有所变化。在一些

机器中属于系统结构内容,到了另一种机器中可能成为计算机组成或

实现的内容。例如高速缓冲存储器Cache一般是作为计算机组成提出来

的,其中存储的信息全部由硬件管理,对程序员来说是透明的;然而

在有的机器中为了提高效率,配置了Cache操作指令,使程序员可通过

指令参与Cache的管理。这样,Cache就成为系统结构的一部分,对程

序员不再透明了。

按照Amdahl的定义,在一个系列机中不同档次的机器具有相同的

系统结构。

2.外特性、内特性与微外特性

对于机器语言程序员所看到的计算机的概念性结构与功能特

性,我们称之为计算机的系统结构,也就是“外特性”。这种外

特性是由硬件和固件来实现的,而它们本身则是由电子线路、逻

辑门、寄存器等器件组成的。对这些器件和电子线路的抽象,称

为计算机系统的“内特性”,对应于计算机组成,其本身实际上

就是计算机系统的实现。

计算机系统的内特性所涉及到的内容主要包括机器语言级内

的数据流和控制流的组成,CPU与主存等部件的逻辑设计,各事件

的排序方式与控制机构,以及各部件之间的联系等。它所涉及到

的问题是如何合理地配置硬件功能和技术指标

在设有微程序控制器的计算机系统中,执行指令的过程实

际上就是执行微程序的过程。这对于微程序设计人员来说,他们

所看到的外特性实际上就是微程序控制器的外特性,也称为“微

外特性”。

如果把它作为一个抽象级,可以视为硬件与固件之间的界面,也

称为微系统结构。

外特性、内特性及微系统结构之间的关系如图1.2所示。

由于计算机系统的外特性是对内特性的抽象,因此二者之间的影射关

系是一对多的关系,即某一外特性可以影射多种内特性;而某一内特

性也可以影射多种物理实现。

外特性计算机系统结构

一?抽象

-1

-I________

实现内特性计算机组成

V;----♦抽象~

__________i1

微系统结构

I抽象

电子线路、逻辑门、寄存器等器件I计算机实现

图L2计算机的外特性、内特性与微系统结构的关系

3.计算机系统的组成与实现

计算机系统的组成既包括硬件系统,又包括软件系统。

它的组成与实现如图1.1所示,即分为下层的物理机和上层的

虚拟机。其系统的组成实际上就是各层的硬件和软件构成的

统一体,由其硬件和软件实现各层次的功能。各层的组成与

作用已在1.2.1节介绍。

1.5软件的户生•发屐与软件危机

计算机系统结构分类方式主要有三种。一种是按“流”分

类,一种是按“并行级”和“流水线”分类,另一种是按照计

算机系统结构的最大并行度进行分类。

1.3,1按“流”分类

按“并行级”和“流水线”

IS1分类

133冯氏分类法同

山I.S.I按“流”分类

按“流”分类法是Flynn教授在1966年提出的一种分类方法,他

是按照计算机中指令流(Instructionstream)和数据流(Datastream)

的多倍性进行分类。

所谓指令流是指机器执行的指令序列;所谓数据流是指指令流调

用的数据序列。多倍性是指在机器中最受限制(瓶颈最严重)的部件上,

在同一时间单位中,最多可并行执行的指令条数或处理的数据个数。

这样,可分成如表1.2所示的四种类

型,即:单指令流单数据流(SISD)表1.2计算机系统结构

单指令流多数据流(SIMD)的Flynn分类

多指令流单数据流(MISD)数据流

单多

多指令流多数据流(MIMD)指令流

四种类型如图1.3所示,其中CU表示单SISDSIMD

控制部件,PU表示处理部件,MM是主存模

多MISDMIMD

块,CS表示控制流,DS表示数据流,IS表

示指令流,SM表示共享主存。

/Il

1.SISD计算机

单指令流单数据流计算机如图1.3(a)所示,控制部件(CU)只有一个,

处理部件(PU)也只有一个。同一时间单元中只能对一条指令进行译码和执

行。由于主存模块(MM)也是一个,因此一次所能处理的数据也是一个。

2.SIMD计算机

单指令流多数据流计算机如图1.3(b)所示,控制部件(CU)只有一个,

在同一时间单元内只能对一条指令进行译码和执行;但是有多个处理部件

(PU),同时执行控制单元分配给各自的任务,对多个数据进行处理,即多

数据流。并行处理机可谓这种结构的典型代表。例如ILLIACTV,ICL-DAP,

CRAY-1,YH-1以及CM-2等。

3;MISD计算机

多指令流单数据流计算机如图1.3(c)所示,控制部件(CU)有多个,处

理部件(PU)也有多个,在同一时间单元内可对多条指令进行译码和执行,

即多个指令流。但是主存模块(SM)只有一个数据通路,仅对一个数据流进

行处理。

目前,有人认为这种结构尚不存在;但是也有学者认为,超级标量

机、超长指令字计算机、退耦以及脉动阵列机可归属于SIMD计算机。

4.MIMD计算机

多指令流多数据流计算机如图1.3(d)所示,有多个控制部件(CU)和多

个处理部件(PU),可对多个数据流进行处理。目前的大多数多处理机系统

和多计算机系统当属这种类型。其中,多个处理机共享一个主存空间,并

由共享主存交换或传递数据信息的称为紧耦合MIMD系统;对于不直接共享

一个主存空间的,称为松耦合MIMD系统。实际上,它也是多个独立的SISD

计算机系统的集合。例如IBM370/168MP,CRAYX-MP,YH-2等。

1.3.2按“并行级”和“流水线”

按“并行级”和“流水线”引舞是WolfganH&ndler在1977年提

出的。是在计算机系统的三个子系统集上,按照并行性和流水线的处

理程度分类。三个层次是处理控制器(PCU)、运算部件(ALU)和位级电

路(BLC)。这样,一个计算机系统可描述为:

7(C)=<左二少x犷>其中:

C表示计算机系统型号;

后表示计算机系统中处理控制器(PCU)的个数;

々'表示可组成流水线的处理控制器的个数;

d表示每一个PCU中运算部件(ALU或PE)的个数;

"表示可组成流水线的ALU或PE的个数;

碌示ALU或PE的字长;

”表示所有ALU或一个PE中的流水段数。

如果任意一对参数的第二个元素值为1,则可以省略。

UA

【例1.1】CDC6600计算机系统有一个CPU,它的ALU有10个功能部件,

所有的功能部件可以连成一条流水线,字长60位;此外,配有10个可并行

工作的I/O处理机,每一个I/O处理机有一个ALU,字长12位。贝ICDC6600计

算机系统可以描述为:

7(CDC6600)=7<中央处理机〉x<1/0处理机)

=<1,1x10,60>x<10,1,12>

【例1.2]CRAY-1计算机有一个CPU,12个相当于ALU或PE的处理部件,

最多可实现8级流水线;字长64位,可实现1〜14位流水线处理。则CRAY-1

计算机系统可描述为:

7(CRAY-1)=<1,12x8,64x(1〜14)>

按照WolfganHandler分类法,一些典型计算机可表示为:

r(PDPH)=(1,1,16)

AILLIACIV)=(1,64,64)

Z(STARAN)=(1,8192,1)

T(MPP)=(1,16384,1)

7(C.mmp)=(16,1,16)

T(PEPE)=(1x3,288,32)

/JJ

1.3.3冯氏分类法

冯氏分类法是美籍华人冯泽云于1972年提出来的一种分类方法。

他是按照“最大并行度”对计算机系统结构进行分类。

所谓最大并行度用用]表示,定义为计算机系统在单位时间内所

能处理的最大二进制位数。若设每一个时钟周期△行内能同时处理

的二进制位数为Pi,则叶时钟周期内平均并行度为:

T

pa=(ZAAA)/T

i=l

平均并行度取决于系统的运行程度,与应用程序有关。

为了表示这一特性,可引入系统在什时钟周期内的平均利用

率,用〃表示:

T

〃=2/几=)/T/Tm

i=l

/11!

下面可通过图1.4给出用“最大并行度”对计算机系统结构进行分类

的方法。其中直角坐标系中的一个点代表一个计算机系统;横坐标表示

字宽S位),即在一个字中可同时处理的二进制位数;纵坐标表示位片宽

度("字),即在一个位片中可同时处理的字数。这样,对于一个计算机系

统的最大并行度可用两个量的乘积来表示,即通过该点的水平线、垂直

线与两坐标轴围成的矩形面积。

加序1MPP

.(1,16384)

16384

PEPE

288„_..(32,288)

.[STARAN

256

:(1,256)

ILLIAC-IV

64

1

\TI-ASC

_______J(64,32)

32

Commp1

1

T_________“16,⑹i

16I

i

!EDVAC!PDP-11370/168i

i

:(U):(16,1)(32,1)l

0

1163264W位

图1.4冯氏分类法同

由图1.4可见,按照对数据处理的方式,可得到4种不同处理方式的计算

机系统结构:

①字串位串(WSBS,WordSerialandBitSerial),即/尸1,

片1。这主要是第一代计算机发展的初期,采用纯串行工作方式的一类

计算机。

②字并位串(WPBS,WordParallelandBitSerial),即

片L这主要是传统的并行单处理机。

③字串位并(WSBP,WordSerialandBitParallel),即rl,

/〃>1。STARAN.MPP、DAP等属于这种结构。

④字并位并(WPBP,WordParallelandBitParallel),即z?>l,

力>1。PEPE、ILLIAC-IV.C.mmp等属于这种结构。

1.4.1定量分析法

1.大概率事件优先原理

大概率事件优先原理的基本思想是对大概率事件(最常见的事件)

赋予优先处理权和资源使用权,以获得全局最优结果。例如在CPU的加

法运算中,溢出是小概率事件,无溢出是大概率事件。相比之下,应

对无溢出加法进行优化设计,力口快无溢出加法的速度;而溢出会降低

机器的运算速度,但是它的概率很小。因此,从总体上来看,机器的

性能还是提高了。

2.Amdahl定律

Amdahl定律是Amdahl于1967年提出来的。他指出,对某一部件采

取某种更快的执行方式,所获得的系统性能改进程度取决于这种执行

方式被使用的概率或所占用总执行时间的比例。简言之,加快某种部

件执行的速度所获得系统性能加速比,受限于该部件在系统中的重要

性或使用概率。

若用76表示某部件改进前执行某一任务所用的时间,7b表示改进后执行

该任务所用的时间;re表示部件经改进后其功能加快的倍数,/b表示该部

件执行占系统总执行时间的百分比;则系统性能(或时间)加速比Sp的公式

可表示如下:

,(1—兀+

J

显然,当於为0时,Sp为1,表示被改进或增强功能的设备没有使用;

当ret8时:

—0,贝凡f-------

re(1-J/e)

/JJ

【例1.3]若将计算机系统中某一部件的处理速度提高8倍,该

部件处理时间占整个系统运行时间的60%。试问该部件的处理

速度提高后,整个系统的性能提高了多少?

解:根据题意,re=8,/e=60%,则

11

乐=----------------=-----------------2.11

QY)+fe(1-0.6)+0,6

8

若以Sp为纵坐

标,/b为横坐标,对

不同的re,可画出函

数:

5p=A/e)

的曲线,如图1.5

所示。

图L5Sp4曲线

7

/」」【例1.4】假设某程序中,求浮点数平方根FPSQR操作占整个程序执行时

间的20%,而所有浮点运算指令FP操作占整个程序执行时间的50%。现用两

种措施来提高计算机系统的性能,一种是采用FPSQR硬件,可使FPSQR操作

的速度提高10倍;另一种是使所有浮点运算指令的速度提高2倍。试比较两

种改进方案。

解:在两种实施方案下,re分别是10和2;fe分别是20%和50%,使用加

速比Sp的公式:

_1_1

PFPSQR122

_(1_y)+Z/~(l-0.2)+0.2/10~1

c1,1

SPFP=7_7="1・33

(>/)+夕(l-0.5)+0.5/2

通过计算可以看出,使采用“提高FP指令的速度”,要比“FPSQR硬件”

方案好一些。

1.4.2CPU性能分析

在大多数计算机中,时钟周期用又表示,单位为ns。对于一个

有7N条指令的程序来说,执行时间可7CPU来表示,贝上

x

TQPU=4xCPI7^

其中CPI表示执行一条指令所需要的平均时钟周期数:

Z9Plx4)

CJPI=----------------------------

IN

人表示程序中指令的总数,人表示第/类指令在程序中执行的次数,

以Z表示执行一条第/类指令所需要的平均时钟周期数,刀为程序中所

有指令的种类数。

/Ill

上述还可以表示为:n

CPICPI=Z(CPLX-)

/=1

【例1.5]假设某标量计算机使用的时钟频

率为40MHz,在执行一个典型的测试程序时,所

测到的指令类型、指令的条数以及所用时钟周表1.3』执行程序参数表

期数如表1.3所示。试求执行该程序时的平均时指令类型指令数时钟周期数

钟周期数CPI和总的CPU执行时间。整数算术450001

数据传送320002

解:根据题意6

Tc=l/(40x10)=25ns浮点运算150004

控制转移80002

4

CPIPliXRIZN=(45000X1+32000X2+15000X4+8000X2)/100000=1.85

五pu=CPIXl~c-1-85X100000x25=4625000ns=4.625ms

1.4.3MIPS与MFLOPS指标

除了上述性能加速比Sp和平均时钟周期数CPI之外,在衡量计算

机的运算速度时常用的还有MIPS和MFLOPS指标。

1.基本公式

(1)MIPS

MIPS表示每秒百万条指令,用来衡量标量处理机定点运算的速度。

对于一个给定的程序,MIPS可表示为:

,N_______________________________Rc

MIPS666

=TEXIO=/Nxcpixrcxio=CPIXIo

式中久表示程序执行时间;竟表示时钟速率,是时钟周期兀的倒数。

根据这一定义,上述例1.6中处理机的MIPS值为:

,N7N

MIPS==21.62(百万条指令/秒)

696

rExio4625000X10-X10

/JJ

(2)MFLOPS

MFLOPS表示每秒百万条浮点运算指令,用来衡量浮点处理机的运算速

度。对于一个给定的程序,MFLOPS可表示为:

MFLOPS=1FN

TexIO,

式中之表示程序中浮点运算的次数(即指令的条数),4表示程序执行

时间。

在MFLOPS和MIPS的量值之间没有直接的联系和统一的标准,但是人们

认为在一般标量机上进行一次浮点运算需要2〜5条指令,取平均值3,故

1MFLOPS«3MIPSO

2.基准测试程序

为了较好地反映计算机系统的性能,常用不同层次的基准应用程

序(Bebchmark)来评价系统的性能,主要有以下几种。

(1)采用实际应用程序

根据不同的被测系统,可选用不同的实际测试程序。例如C语言编译

程序、TeX文本处理程序、CAD工具软件Spice等。

(2)采用核心程序

是从实际运行的程序中抽出少量关键性的循环程序段,以此测试和评

估计算机系统的性能,例如livermore24Loops>Linpack等。

(3)合成测试程序

类似于核心程序,它是考虑到各种操作和程序的比例而专门编写

的,比较流行的有Whetstone和Dhrystone。其中Whetstone是由整型

运算和浮点运算混合组成,包括超越函数、条件转移和函数调用等;

Dhrystone主要是有关的整型运算,包括字符串及数组处理等。

LU

(4)小测试程序

通常测试程序代码在100行以下,运行结果可以预知,例如Sieveof

Erastosthenes>Puzzle、Quicksort等程序。

(5)SPEC测试程序

为了对计算机系统有一个比较公正的评价,1988年起,美国HP、DEC、

MIPS、SUN等公司发起成立了一个系统性能评价合作团体(SPEC组织),用

一组实用程序和相应输入来评价计算机系统的性能。典型测试程序主要

有以下10个:GCC、Espresso.Spice2g6、DODUC.NASA7、Li、Eqntott.

Matrix300,FPPPP,T0MCATVo其中GCC、Espresso,Li、Eqntott是用C

语言编写,进行整型运算;其余是用FORTRAN语言编写,进行浮点运算。

测试结果用SPECmark分值表示,其值越大越好。1SPECmark约相

当于0.2〜0.3MFL0PSo测试程序进一步分为整型SPECint和浮点SPECfp。

与之类似,还有Perfect俱乐部的一组称为PerfectClub的典型

测试程序。

1.4.4性能测试结果的统计与比较

1.性能测试结果的统计

关于计算机系统性能的评价,通常有峰值性能(Peak

performance)和持续性能(Sustainedperformance)两个标准。表

示持续性能的主要有算术平均值、几何平均值和调和平均值。

(1)算术平均值

设有刀个测试程序,其中第/个程序的执行速率用人表示,执行周

期用力表示,则算术平均值和可表示为:

1"1"1

Am——Ri———

瞳』几t=iTi

若用执行时间表示性能,贝心

/JJ

如果考虑不同的程序在总的任务中所占的比例不同,比如程序1占20%,

程序2占40%等,那么可以用权因子予以表述,其权分别为0.2和0.4。若用外

表示权因子,则加权平均值可表示为:

n"]

Am=£WiRi=£仍—

i=\i=\Ti

(2)调和平均值

nn

设调和平均值用捌表示,则Hm=F一厂=F一■

i=l八'z=l

加权调和平均值可表示为:nn

Hm=---------=-------------

"Wi"

y——ynwi

Z=111Z=1

UA

(3)几何平均值

设几何平均值用的表示,则

Gm勺中i

加权几何平均值可表示为:

ri1

Gm=TT因严

i=\

采用施1表示计算机系统的性能时有一个很好的特性:

GQi)yj

在以上三种表示中,由于几何平均比值与比的几何平均值相等,

因此有时使用6hi较为方便。

【例1.6】已知A、B、C三台计表1.4执行程序参数表

算机执行4个程序所用的时间如表1.4计算机执行时间(s)

所示。假设每一个程序都有108条指程序ABC

令,试计算三台计算机执行每一个程111020

2100010020

序时的MIPS值,并用加、枷、捌表示

3500100050

每一台计算机的性能。

4100800100

in

解:使用公式MIPS=可求出MIPS值,如表L5所示;

/E入1U

/m、Hn、GTI的值如表1.6所示。

表1.5三台计算机MIPS速率

表1.6三台计算机力LJGm值

MIPS速率‘m、''m、

算机计算机

程序、、ABC

ABC平均值

1100105"m25.32.813.25

20.115小0.250.212.11

30.20.12

1.1890.59462.672

410.1251Gm

山1.5计算机系统结构的

I发展过程

71.5.1计算机系统结构的演变过

-1.5.2软件对计算机系统结构发展

的影响问答题

/1.5.3应用需求对计算机系统结构

发展的影响

一154器件对计算机系统结构发展

的影响

一155算法对计算机系统结构发展

的影响

1.5.1计算机系统结构的演变过程

早期的计算机是以运算器为中心的体系结构。以后50多年

逐步演变成以存储器为中心,并采用流水线、多处理器、多处

理机的并行处理技术,使其功能得到不断地提高。

按其规模,相继出现了小型机、中型机、大型机、巨型机、

微型机,以后又演变出超级小型机、小巨型机、工程工作站以

及嵌入式微程序控制器等。

按其结构,相继出现了流水线计算机、向量机、并行多处

理机以及非冯.诺依曼的数据流机、归约机和人工智能推理机等;

目前,随着计算机网络和工业控制的发展,各种专用计算

机层出不穷。

1.以运算器为中心的体系结构

早期的计算机主要是以运算器为中心,所有的输入输出都通过

运算器来进行,其示意如图1.6所示,

广存储器

入J1

士>|运算器

原始数据口设

设=>输出结果

和运算步骤备

T

控制器

图1.6以运算器为中心的体系结构

主要特点如下:

①存储程序方式;

②单处理器结构;

③使用单元定长的一维存储器空间;

④使用低级的机器语言,数据以二进制形式表示;

⑤以运算器为中心,所有输入输出都要通过运算器进行。

这种结构有两个瓶颈。一是物理瓶颈,数据只能通过累加器传送;

二是智能瓶颈,每次只能由控制器依次取出一条指令执行。

2.单CPU系统结构的演变

以后计算机有了很大的发展,可概括为两个方面。一种是改进

的方法,即保留冯・诺依曼的“存储程序”思想,在体系结构和实现

方法上进行改进。另一种是革命的方法,发展非冯・诺依曼计算机。

在改进冯・诺依曼计算机的过程中,产生了以存储器为中心的体

系结构,如图L7所示。改进的思想和方法可归纳如下:

运算器

设输出

T备

控制器

图L7以存储器为中心的体系结构

①增加新的数据表示形式,比如浮点数、字符串、十进制等,采

用虚拟存储器,引入堆栈,以提高不同类型数据的处理能力,支持高级

语言编程以及其中的过程调用、递归运算及表达式求值等操作。

②采用变址寄存器,提供多种间接寻址方式,以方便对结构化数

据对象的访问与处理。

③大量使用通用寄存器,增设高速缓冲存储器Cache,以减少访问

主存储器的次数,缓解CPU与主存之间数据的频繁传送。

④采用自定义数据,由数据标识符表明CPU进行何种操作,以减少

指令的类型和条数,方便程序设计。

⑤使程序/数据存储器独立设置,采用多体交叉存储器和无冲突并

行访问技术,以提高CPU访问主存的带宽与速度。

⑥采用多功能部件,以支持流水线技术,加快指令处理速度,提

高MIPS/MFLOPS速率。

3.并行处理技术

即发展多处理器和以并行计算为基础的并行处理技术,从而出现

了阵列机和多处理机系统;以后,随着计算机网络的发展,人们又在

发展各种适应于网络环境的计算机,以便更大范围地实现并行处理与

资源共享。

①采用多处理器,以支持流水线和并行处理技术,加快指令的

执行和数据处理的速度,比如产生了针对向量运算的向量机、脉动阵

列机等。

②采用多个处理机,构成并行处理机系统,比如设置浮点运算

协处理机、I/O处理机等,以提高整机的数据处理能力和I/O速率;在

此基础上,发展为多个处理机的并行处理机系统。

③随着计算机网络的发展,各种计算机都配置了调制解调器,

以便联网,以实现更大范围的多机并行处理和资源共享。

4,非冯.诺依曼计算机

冯.诺依曼计算机是一种控制驱动方式。随着科学技术的发展,

人们也在寻求其它驱动方式。于是,产生了数据驱动的数据流机、

需求驱动的归约机。

为了使计算机能够理解人们的自然语言,具有视觉能力,识另1

景物;能够自主学习,并进行知识的积累与重构,于是产生了人工

智能计算机的研究。

这类计算机不遵循或者不完全遵循“存储程序”的思想,因此

称为非冯.诺依曼计算机。

1.5.2软件对计算机系统结构发展

的影响问答题

在计算机硬件和软件的发展过程中,人们希望原有的软件能够继续使

用;对于两种不同的计算机,希望一台计算机兼容另一台计算机的功能。

于是,导致了模拟与仿真技术、系列机、兼容机以及统一高级语言标准的

出现。这些,都影响到计算机系统结构的变化与发展。

1.模拟与仿真

为了在一台计算机上实现另一台计算机的功能,模拟和仿真技术成

为主要途径。

(1)模拟

所谓“模拟”是用软件的方法在一台计算机上实现另一台计算机的功

能。比如在A机上实现B机的指令系统,可用解释的方法来实现。就是说,

对于B机上的一条指令,在A机上用一段程序予以解释和执行。这种用已有

的机器语言程序进行解释和执行,以此实现软件移植的方法称为模拟。A

机通常称为宿主机;因为B机实际上不一定存在,因此称为虚拟机。

(2)仿真

所谓仿真,是当宿主机采用微程序控制器时,通过宿主机上的微程

序来实现虚拟机指令系统中一条指令的功能。也就是说,通过A机上的一

段微程序,来实现B机上一条指令的功能。这时,A机称为宿主机,B机称

为目标机。由于在A机中,微程序存放在微程序控制器中,是硬件(固件)

的一部分,因此其速度比纯软件的模拟方法快。但是,微程序控制器依

赖于计算机的系统结构,设计起来较为复杂,因此常把仿真与模拟方法

结合起来使用。

2.系列机与兼容机

(1)系列机的概念

系列机一般是按同一系统结构而生产的一系列计算机。这些计算机

在性能参数上有所不同,但是具有相同的概念性结构和物理属性,系统

软件在不同档次的计算机上都可以使用。也就是说,在设计和制造时采

用统一的机器语言、数据表示和概念性结构,实现了系统软件在不同档

次计算机上的可移植性。

例如IBM360、370系列机,DEC公司的PDP-11、VAX-11、Intel公司

的80x86、Motor。la公司的680x0以及我国的银河等系列机。

■同

在一个系列中,

又有许多不同型号的

计算机,例如,在

IBM370包含有115,

125,135,145,158,

168等型号的计算机,

其性能是由低到高。

但是机器语言级的程

序员所看到的概念性

结构和功能属性是一

样的,如图1.8所示。

图1.8IBM370系列机的概念性结构

都是由中央处理器/主存--通道--设备控制器--外围设备四级组

成。

(2)系列机的实现

于系列机的生产,要预先确定一种系统结构,即软件与硬件之间的

界面。然后进行系统软件的设计和采用不同的组成方式和物理实现的技

术,以生产出

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论