第1章 計算機系統(tǒng)結(jié)構(gòu)的基本概念_第1頁
第1章 計算機系統(tǒng)結(jié)構(gòu)的基本概念_第2頁
第1章 計算機系統(tǒng)結(jié)構(gòu)的基本概念_第3頁
第1章 計算機系統(tǒng)結(jié)構(gòu)的基本概念_第4頁
第1章 計算機系統(tǒng)結(jié)構(gòu)的基本概念_第5頁
已閱讀5頁,還剩77頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

計算機系統(tǒng)結(jié)構(gòu)

課件

編著:陳建鐸

設(shè)計:程俊波

西安石油大學計算機學院

目錄

第一章計算機系統(tǒng)結(jié)構(gòu)的基本概念

第二章數(shù)據(jù)與指令系統(tǒng)設(shè)計

第三章存儲器體系結(jié)構(gòu)

第四章標量流水線技術(shù)

第五章向量流水與向量處理機

第六章互連網(wǎng)絡(luò)

第七章并行處理技術(shù)與SIMD陣列機

第八章多處理機

第九章計算機體系結(jié)構(gòu)的發(fā)展

第1章計算機系統(tǒng)結(jié)構(gòu)的基本概念

?內(nèi)容提要:

本章首先簡要介紹計算機系統(tǒng)結(jié)構(gòu)的含義、層次結(jié)構(gòu)類型,然后講

述計算機系統(tǒng)結(jié)構(gòu)性能分析的方法、計算機系統(tǒng)結(jié)構(gòu)的發(fā)展及計算機系

統(tǒng)的成本、性能與價格。重點是計算機系統(tǒng)的層次結(jié)構(gòu)、按“流”分

類、定量分析、Amdahl定律、影響計算機系統(tǒng)結(jié)構(gòu)的要素。難點是計

算機系統(tǒng)的層次結(jié)構(gòu)、按“流”分類、定量分析及Amdahl定律。

mi第1章計算機系統(tǒng)

結(jié)構(gòu)的基本概念

概述

>1.2計算機系統(tǒng)結(jié)構(gòu)的定義與內(nèi)涵

±1.3計算機系統(tǒng)結(jié)構(gòu)的類型

->>1.4計算機系統(tǒng)性能分析

.5計算機系統(tǒng)結(jié)構(gòu)的發(fā)展過程

工1.6計算機系統(tǒng)的成本、性能與價格

■與

1.1概述

自從上世紀40年代上第一臺數(shù)字計算機誕生以來,其結(jié)構(gòu)、

規(guī)模、類型、性能、應(yīng)用領(lǐng)域發(fā)生了翻天覆地的變化,其中決

定因素是器件和系統(tǒng)結(jié)構(gòu)的發(fā)展與變化。人們把計算機的發(fā)展

過程歸結(jié)為四個歷史時期,也稱為四代。現(xiàn)在,正在向第五代

發(fā)展。各歷史時期及其主要特征如表1.1一所示。

表1.1計算機的發(fā)展歷史

特征

器件結(jié)構(gòu)軟件典型機器

年代

第一代電子管和存儲程序計算機機器語言與

ENIAC、IBM701

1945—1954年繼電器程序控制I/O匯編語言

浮點數(shù)據(jù)表示、多尋址高級語言與編譯、批UnivacLARC

第二代晶體管、磁芯、

方式、中斷技術(shù)、I/O處理技術(shù)與CDC1604

1955—1964年印刷電路

處理機監(jiān)控系統(tǒng)IBM7030

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

第三代SSLMSL多層多道程序處理

技術(shù)、CacheCDC6600/7600

1965—1974年印刷電路分時操作系統(tǒng)

先行處理、系列機DECPDP-8

Cray-1IBM3090

第四代LSI、VLSL半導(dǎo)向量處理、并行計算、并行與分布式

DECVAX9000

1975—1990年體存儲器分布式存儲器處理

Convax-1

SGICrayT3E

第五代高性能微處理器、超標量、超級流水線大規(guī)??蓴U展并行與

IBMSP2DEC

1991—現(xiàn)在高密度器件SMP、MP、MPP分布式處理

AlphaServer8400

計算機科學家恩斯洛(P.H.Enslow)曾對1965?1975年間計算機的發(fā)

展進行了研究。結(jié)果表明,計算機系統(tǒng)的性能提高了10。倍,其中1。倍

歸功于器件的發(fā)展,而另外1。倍歸于系統(tǒng)結(jié)構(gòu)的變化。

在計算機進入第四代以后,人們認為第五代計算機應(yīng)當是智能化計

算機。但是,經(jīng)過多年的努力,一時還難以實現(xiàn)。

而在上世紀90年代以后,計算機的硬件體系結(jié)構(gòu)有了新的突破性的

發(fā)展,于是人們把其歸結(jié)為第五代系統(tǒng)結(jié)構(gòu)的發(fā)展時期。典型機種除了

表1.1中所列舉的幾種之外,還有:

Fujitsu的VPP500、CrayResearch的MPP、ThinkingMachines公司

的CM-5、Intel超級計算機系統(tǒng)Paragon、SGI的0rigin2000以及SUN

10000服務(wù)器等。

目前,就計算機的規(guī)模而言,有微型機、小型機、中型機、大型機

和巨型機;就計算機的體系結(jié)構(gòu)而言,有標量流水機、向量流水機、陣

列機、并行多處理機、數(shù)據(jù)流機以及規(guī)約機等;另外,人工智能計算機

仍然在發(fā)展之中。

在進入上世紀80年代以后,由于軟件技術(shù)的發(fā)展,對計算機

系統(tǒng)結(jié)構(gòu)的發(fā)展也起到了一定的促進作用。一方面是對匯編語言

的要求有所降低,放寬了對目標代碼兼容性的苛刻要求;另一方

面,與廠商無關(guān)、類似于UNIX操作系統(tǒng)那樣的標準化的建立,使

新的系統(tǒng)結(jié)構(gòu)的設(shè)計成本與風險有所降低,這就促使許多廠商相

繼推出了許多新型計算機,比如小巨型機、高性能的微處理機、

工程工作站以及各種多處理機等。

在微型計算機的發(fā)展中,隨著芯片集成度的提高,一方面向

工程工作站、小型機靠攏;另一方面,各種高性能的微控制器、

嵌入式芯片大量涌現(xiàn)出來,廣泛地用于自動控制、電信和智能化

儀器儀表中。

在進入80年代以后,另一個突破性的進展出現(xiàn)了。這就是精

簡指令系統(tǒng)計算機RISC,它是對CISC計算機的一種挑戰(zhàn),使計算

機的體系結(jié)構(gòu)再一次發(fā)生了質(zhì)的改變。

m

1.2計算機系統(tǒng)結(jié)構(gòu)的

定義與內(nèi)涵

彳1.2.1計算機系統(tǒng)的層次結(jié)構(gòu)

彳122計算機系統(tǒng)結(jié)構(gòu)的定義

與內(nèi)涵

,123計算機系統(tǒng)的組成與實

現(xiàn)

U11.2.1計算機系統(tǒng)的層次結(jié)構(gòu)

隨著軟件技術(shù)的U應(yīng)用語言級虛擬機

t

發(fā)展,人們使用不同

高級語言級

L5虛擬機

的高級語言編程,站應(yīng)用軟件Yt

匯編語言級

L4虛擬機

在不同的層面上使用?

操作系統(tǒng)級虛擬機

L3

計算機。于是,產(chǎn)生硬、軟件界面

了計算機系統(tǒng)的多層硬件L?機器語言(傳統(tǒng)機器)級物理機

*

次結(jié)構(gòu),如圖1.1Li微程序機器級

固件《?

所示。Lo電子線路級

圖1.1計算機系統(tǒng)的層次結(jié)構(gòu)

圖中每一層對應(yīng)一種“機器”,為該層的操作者所使用。操作者

通過該層的語言與“機器”對話,或者交互信息,而不必關(guān)心其內(nèi)層

的結(jié)構(gòu)和工作過程。這體現(xiàn)的是一種稱之為透明性的特性。

L0和L1級是計算機的底層硬件,指中央控制器。其中

L0級由電子線路組成,用來實現(xiàn)微指令的功能。

L1是微程序控制器,也稱為固件。

L2是傳統(tǒng)的機器語言級機器,也稱為物理機,程序員通過機器語

言指令編程。向下,進入L1級,每一條機器語言指令對應(yīng)于一段微程

序,通過執(zhí)行其微程序,實現(xiàn)該指令的功能。

L3是操作系統(tǒng)虛擬機。在這一級,多數(shù)指令是傳統(tǒng)的機器語言指

令,操作系統(tǒng)提供自己的命令集,比如打開/關(guān)閉文件、讀/寫文件等。

程序員主要使用操作系統(tǒng)的命令對文件進行操作,其功能由軟件來實

現(xiàn),因此稱為操作系統(tǒng)虛擬機。

L4是匯編語言虛擬機。程序員通過對匯編語言指令的編程,來實

現(xiàn)外部的功能要求。匯編語言程序需要翻譯成L3和L2級語言,然后再

由機器執(zhí)行。這種翻譯程序稱為匯編程序。

L5是高級語言虛擬機。程序員使用高級語言進行程序設(shè)計,

然后再由編譯或解釋程序翻譯成L4級或L3級上的語言,然后由

下一級機器執(zhí)行。

L6是應(yīng)用語言虛擬機,是為某些專門的應(yīng)用而設(shè)計的,使用

面向問題或?qū)ο笳Z言,可設(shè)計出用于不同領(lǐng)域的虛擬機。應(yīng)用

語言編寫的程序一般是由應(yīng)用程序包翻譯到L5級上,然后再一

級一級地翻譯或解釋執(zhí)行。

1.2.2計算機系統(tǒng)結(jié)構(gòu)的定義與內(nèi)涵

計算機系統(tǒng)結(jié)構(gòu)(Computerarchitecture)這一概念,是在

1962年Buchholz描述IBM7030的擴展性(Stretch)時首先提出來的;

主要是指計算機的外貌,也稱為外特性。1964年,IBM370的主設(shè)計

師Amdahl給出了它的定義:

計算機系統(tǒng)結(jié)構(gòu)就是程序員所看到的計算機的基本屬性,即概念

性結(jié)構(gòu)與功能特性。

對于不同層次上的程序員來說,由于使用的程序設(shè)計語言不同,

可能看到的概念性結(jié)構(gòu)與功能特性會有所不同。例如,使用機器語言

或匯編語言分別在PDP-11和80X86機上進行程序設(shè)計,就會發(fā)現(xiàn)兩種

機器的基本屬性截然不同;如果使用高級語言,比如FORTRAN或C/C++,

進行程序設(shè)計,經(jīng)編譯后再在這兩種機器上運行,就會發(fā)現(xiàn)它們之間

不再有多大的區(qū)別。

/JJ

是什么原因呢?主要是編譯程序填補了兩種機器之間的差異。象

這種本來存在差異或區(qū)別的事物或特性,站在某一角度來看,似乎不

再有什么差異或者區(qū)別,這種現(xiàn)象或概念稱為透明性(Transparency)。

由此可見,在層次結(jié)構(gòu)的各級機器上都有相應(yīng)的系統(tǒng)結(jié)構(gòu)。

Amdahl提出的系統(tǒng)結(jié)構(gòu)是指傳統(tǒng)機器語言級的系統(tǒng)結(jié)構(gòu),即機器語言

程序員所看到的計算機外特性,是在傳統(tǒng)的硬件層面上看到的特性。

這種外特性主要有:

①指令系統(tǒng)②數(shù)據(jù)表示③尋址規(guī)則

④寄存器結(jié)構(gòu)⑤中斷系統(tǒng)⑥工作狀態(tài)的定義與切換

⑦存儲系統(tǒng)⑧信息保護方式⑨I/O結(jié)構(gòu)等。

/JJ

這些在計算機系統(tǒng)中是由硬件或固件完成的功能。由圖

1.1可以看出,計算機系統(tǒng)的概念性結(jié)構(gòu)和功能特性實質(zhì)上是由

計算機系統(tǒng)中軟件與硬件之間的界面所確定,界面之上主要是

軟件功能,界面之下則主要是硬件。

以上是針對經(jīng)典的計算機系統(tǒng)結(jié)構(gòu)的概念而言的。隨著計

算機技術(shù)的發(fā)展,計算機系統(tǒng)結(jié)構(gòu)的概念和它所包含的內(nèi)容也

正處在不斷的發(fā)展與變化之中,它涉及到廣義計算機系統(tǒng)結(jié)構(gòu)

的概念,包括計算機新的組成與實現(xiàn)技術(shù)。

圖L1計算機系統(tǒng)的層次結(jié)構(gòu)

1.2.3計算機系統(tǒng)的組成與實現(xiàn)

計算機組成與實現(xiàn)

n>2.外特性、內(nèi)特性與微外特性

,3.計算機系統(tǒng)的組成與實現(xiàn)

1.計算機組成與實現(xiàn)

所謂計算機組成是在明確計算機系統(tǒng)結(jié)構(gòu)分配給硬件的功能與概念性

結(jié)構(gòu)之后,研究如何組成其硬件體系,并建立相互之間的聯(lián)系,以實現(xiàn)機器

語言級指令的功能與特性。其中包括各功能部件的配置、組成、相互之間的

連接與相互作用等。

各功能部件的性能、參數(shù)以及相互之間的合理匹配是計算機組成的重要

指標。例如,運算器的組成、功能、運算速度,存儲器的層次結(jié)構(gòu)、容量、

存取周期、虛擬存儲技術(shù)、通道技術(shù)或I/O處理機、先行控制、流水線技術(shù)、

多功能部件、陣列機以及并行多處理機技術(shù)等。

計算機組成是計算機系統(tǒng)結(jié)構(gòu)的邏輯實現(xiàn),包括機器內(nèi)部數(shù)據(jù)流和控制

流的組成及其邏輯設(shè)計。在研究計算機組成時,又涉及到各種功能部件的組

成邏輯、時序電路以及時鐘信號的設(shè)計與選用。

例如,在設(shè)計運算器時,既涉及到時序電路,又涉及到算法;

在設(shè)計存儲器時既涉及到采用什么樣的器件,又涉及到它的容量、外

圍電路和速度;在設(shè)計輸入輸出通道時,同樣也涉及到采用什么樣的

器件及外圍電路。另外,在構(gòu)成計算機時還涉及到信號的傳輸方式、

模塊的劃分、插件與底版的連接,以及電源、冷卻方式、組裝工藝和

技術(shù)等。這些,統(tǒng)稱為計算機組成的物理實現(xiàn)。

計算機系統(tǒng)結(jié)構(gòu)、計算機組成和計算機實現(xiàn)是三個不同的概念。

系統(tǒng)結(jié)構(gòu)是計算機系統(tǒng)的軟件與硬件之間的界面;計算機組成是指計

算機系統(tǒng)結(jié)構(gòu)的邏輯實現(xiàn);計算機實現(xiàn)是指計算機組成的物理實現(xiàn)。

它們各自包含有不同的內(nèi)容,相互之間又有著密切的聯(lián)系。

上述三種概念所包含的內(nèi)容隨不同的機器可能有所變化。在一些

機器中屬于系統(tǒng)結(jié)構(gòu)內(nèi)容,到了另一種機器中可能成為計算機組成或

實現(xiàn)的內(nèi)容。例如高速緩沖存儲器Cache一般是作為計算機組成提出來

的,其中存儲的信息全部由硬件管理,對程序員來說是透明的;然而

在有的機器中為了提高效率,配置了Cache操作指令,使程序員可通過

指令參與Cache的管理。這樣,Cache就成為系統(tǒng)結(jié)構(gòu)的一部分,對程

序員不再透明了。

按照Amdahl的定義,在一個系列機中不同檔次的機器具有相同的

系統(tǒng)結(jié)構(gòu)。

2.外特性、內(nèi)特性與微外特性

對于機器語言程序員所看到的計算機的概念性結(jié)構(gòu)與功能特

性,我們稱之為計算機的系統(tǒng)結(jié)構(gòu),也就是“外特性”。這種外

特性是由硬件和固件來實現(xiàn)的,而它們本身則是由電子線路、邏

輯門、寄存器等器件組成的。對這些器件和電子線路的抽象,稱

為計算機系統(tǒng)的“內(nèi)特性”,對應(yīng)于計算機組成,其本身實際上

就是計算機系統(tǒng)的實現(xiàn)。

計算機系統(tǒng)的內(nèi)特性所涉及到的內(nèi)容主要包括機器語言級內(nèi)

的數(shù)據(jù)流和控制流的組成,CPU與主存等部件的邏輯設(shè)計,各事件

的排序方式與控制機構(gòu),以及各部件之間的聯(lián)系等。它所涉及到

的問題是如何合理地配置硬件功能和技術(shù)指標

在設(shè)有微程序控制器的計算機系統(tǒng)中,執(zhí)行指令的過程實

際上就是執(zhí)行微程序的過程。這對于微程序設(shè)計人員來說,他們

所看到的外特性實際上就是微程序控制器的外特性,也稱為“微

外特性”。

如果把它作為一個抽象級,可以視為硬件與固件之間的界面,也

稱為微系統(tǒng)結(jié)構(gòu)。

外特性、內(nèi)特性及微系統(tǒng)結(jié)構(gòu)之間的關(guān)系如圖1.2所示。

由于計算機系統(tǒng)的外特性是對內(nèi)特性的抽象,因此二者之間的影射關(guān)

系是一對多的關(guān)系,即某一外特性可以影射多種內(nèi)特性;而某一內(nèi)特

性也可以影射多種物理實現(xiàn)。

外特性計算機系統(tǒng)結(jié)構(gòu)

一?抽象

-1

-I________

實現(xiàn)內(nèi)特性計算機組成

V;----?抽象~

__________i1

微系統(tǒng)結(jié)構(gòu)

I抽象

電子線路、邏輯門、寄存器等器件I計算機實現(xiàn)

圖L2計算機的外特性、內(nèi)特性與微系統(tǒng)結(jié)構(gòu)的關(guān)系

3.計算機系統(tǒng)的組成與實現(xiàn)

計算機系統(tǒng)的組成既包括硬件系統(tǒng),又包括軟件系統(tǒng)。

它的組成與實現(xiàn)如圖1.1所示,即分為下層的物理機和上層的

虛擬機。其系統(tǒng)的組成實際上就是各層的硬件和軟件構(gòu)成的

統(tǒng)一體,由其硬件和軟件實現(xiàn)各層次的功能。各層的組成與

作用已在1.2.1節(jié)介紹。

1.5軟件的戶生?發(fā)屐與軟件危機

計算機系統(tǒng)結(jié)構(gòu)分類方式主要有三種。一種是按“流”分

類,一種是按“并行級”和“流水線”分類,另一種是按照計

算機系統(tǒng)結(jié)構(gòu)的最大并行度進行分類。

1.3,1按“流”分類

按“并行級”和“流水線”

IS1分類

133馮氏分類法同

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

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

是按照計算機中指令流(Instructionstream)和數(shù)據(jù)流(Datastream)

的多倍性進行分類。

所謂指令流是指機器執(zhí)行的指令序列;所謂數(shù)據(jù)流是指指令流調(diào)

用的數(shù)據(jù)序列。多倍性是指在機器中最受限制(瓶頸最嚴重)的部件上,

在同一時間單位中,最多可并行執(zhí)行的指令條數(shù)或處理的數(shù)據(jù)個數(shù)。

這樣,可分成如表1.2所示的四種類

型,即:單指令流單數(shù)據(jù)流(SISD)表1.2計算機系統(tǒng)結(jié)構(gòu)

單指令流多數(shù)據(jù)流(SIMD)的Flynn分類

多指令流單數(shù)據(jù)流(MISD)數(shù)據(jù)流

單多

多指令流多數(shù)據(jù)流(MIMD)指令流

四種類型如圖1.3所示,其中CU表示單SISDSIMD

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

多MISDMIMD

塊,CS表示控制流,DS表示數(shù)據(jù)流,IS表

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

/Il

1.SISD計算機

單指令流單數(shù)據(jù)流計算機如圖1.3(a)所示,控制部件(CU)只有一個,

處理部件(PU)也只有一個。同一時間單元中只能對一條指令進行譯碼和執(zhí)

行。由于主存模塊(MM)也是一個,因此一次所能處理的數(shù)據(jù)也是一個。

2.SIMD計算機

單指令流多數(shù)據(jù)流計算機如圖1.3(b)所示,控制部件(CU)只有一個,

在同一時間單元內(nèi)只能對一條指令進行譯碼和執(zhí)行;但是有多個處理部件

(PU),同時執(zhí)行控制單元分配給各自的任務(wù),對多個數(shù)據(jù)進行處理,即多

數(shù)據(jù)流。并行處理機可謂這種結(jié)構(gòu)的典型代表。例如ILLIACTV,ICL-DAP,

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

3;MISD計算機

多指令流單數(shù)據(jù)流計算機如圖1.3(c)所示,控制部件(CU)有多個,處

理部件(PU)也有多個,在同一時間單元內(nèi)可對多條指令進行譯碼和執(zhí)行,

即多個指令流。但是主存模塊(SM)只有一個數(shù)據(jù)通路,僅對一個數(shù)據(jù)流進

行處理。

目前,有人認為這種結(jié)構(gòu)尚不存在;但是也有學者認為,超級標量

機、超長指令字計算機、退耦以及脈動陣列機可歸屬于SIMD計算機。

4.MIMD計算機

多指令流多數(shù)據(jù)流計算機如圖1.3(d)所示,有多個控制部件(CU)和多

個處理部件(PU),可對多個數(shù)據(jù)流進行處理。目前的大多數(shù)多處理機系統(tǒng)

和多計算機系統(tǒng)當屬這種類型。其中,多個處理機共享一個主存空間,并

由共享主存交換或傳遞數(shù)據(jù)信息的稱為緊耦合MIMD系統(tǒng);對于不直接共享

一個主存空間的,稱為松耦合MIMD系統(tǒng)。實際上,它也是多個獨立的SISD

計算機系統(tǒng)的集合。例如IBM370/168MP,CRAYX-MP,YH-2等。

1.3.2按“并行級”和“流水線”

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

出的。是在計算機系統(tǒng)的三個子系統(tǒng)集上,按照并行性和流水線的處

理程度分類。三個層次是處理控制器(PCU)、運算部件(ALU)和位級電

路(BLC)。這樣,一個計算機系統(tǒng)可描述為:

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

C表示計算機系統(tǒng)型號;

后表示計算機系統(tǒng)中處理控制器(PCU)的個數(shù);

々'表示可組成流水線的處理控制器的個數(shù);

d表示每一個PCU中運算部件(ALU或PE)的個數(shù);

"表示可組成流水線的ALU或PE的個數(shù);

碌示ALU或PE的字長;

”表示所有ALU或一個PE中的流水段數(shù)。

如果任意一對參數(shù)的第二個元素值為1,則可以省略。

UA

【例1.1】CDC6600計算機系統(tǒng)有一個CPU,它的ALU有10個功能部件,

所有的功能部件可以連成一條流水線,字長60位;此外,配有10個可并行

工作的I/O處理機,每一個I/O處理機有一個ALU,字長12位。貝ICDC6600計

算機系統(tǒng)可以描述為:

7(CDC6600)=7<中央處理機〉x<1/0處理機)

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

【例1.2]CRAY-1計算機有一個CPU,12個相當于ALU或PE的處理部件,

最多可實現(xiàn)8級流水線;字長64位,可實現(xiàn)1?14位流水線處理。則CRAY-1

計算機系統(tǒng)可描述為:

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年提出來的一種分類方法。

他是按照“最大并行度”對計算機系統(tǒng)結(jié)構(gòu)進行分類。

所謂最大并行度用用]表示,定義為計算機系統(tǒng)在單位時間內(nèi)所

能處理的最大二進制位數(shù)。若設(shè)每一個時鐘周期△行內(nèi)能同時處理

的二進制位數(shù)為Pi,則葉時鐘周期內(nèi)平均并行度為:

T

pa=(ZAAA)/T

i=l

平均并行度取決于系統(tǒng)的運行程度,與應(yīng)用程序有關(guān)。

為了表示這一特性,可引入系統(tǒng)在什時鐘周期內(nèi)的平均利用

率,用〃表示:

T

〃=2/幾=)/T/Tm

i=l

/11!

下面可通過圖1.4給出用“最大并行度”對計算機系統(tǒng)結(jié)構(gòu)進行分類

的方法。其中直角坐標系中的一個點代表一個計算機系統(tǒng);橫坐標表示

字寬S位),即在一個字中可同時處理的二進制位數(shù);縱坐標表示位片寬

度("字),即在一個位片中可同時處理的字數(shù)。這樣,對于一個計算機系

統(tǒng)的最大并行度可用兩個量的乘積來表示,即通過該點的水平線、垂直

線與兩坐標軸圍成的矩形面積。

加序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可見,按照對數(shù)據(jù)處理的方式,可得到4種不同處理方式的計算

機系統(tǒng)結(jié)構(gòu):

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

片1。這主要是第一代計算機發(fā)展的初期,采用純串行工作方式的一類

計算機。

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

片L這主要是傳統(tǒng)的并行單處理機。

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

/〃>1。STARAN.MPP、DAP等屬于這種結(jié)構(gòu)。

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

力>1。PEPE、ILLIAC-IV.C.mmp等屬于這種結(jié)構(gòu)。

1.4.1定量分析法

1.大概率事件優(yōu)先原理

大概率事件優(yōu)先原理的基本思想是對大概率事件(最常見的事件)

賦予優(yōu)先處理權(quán)和資源使用權(quán),以獲得全局最優(yōu)結(jié)果。例如在CPU的加

法運算中,溢出是小概率事件,無溢出是大概率事件。相比之下,應(yīng)

對無溢出加法進行優(yōu)化設(shè)計,力口快無溢出加法的速度;而溢出會降低

機器的運算速度,但是它的概率很小。因此,從總體上來看,機器的

性能還是提高了。

2.Amdahl定律

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

取某種更快的執(zhí)行方式,所獲得的系統(tǒng)性能改進程度取決于這種執(zhí)行

方式被使用的概率或所占用總執(zhí)行時間的比例。簡言之,加快某種部

件執(zhí)行的速度所獲得系統(tǒng)性能加速比,受限于該部件在系統(tǒng)中的重要

性或使用概率。

若用76表示某部件改進前執(zhí)行某一任務(wù)所用的時間,7b表示改進后執(zhí)行

該任務(wù)所用的時間;re表示部件經(jīng)改進后其功能加快的倍數(shù),/b表示該部

件執(zhí)行占系統(tǒng)總執(zhí)行時間的百分比;則系統(tǒng)性能(或時間)加速比Sp的公式

可表示如下:

,(1—兀+

J

顯然,當於為0時,Sp為1,表示被改進或增強功能的設(shè)備沒有使用;

當ret8時:

—0,貝凡f-------

re(1-J/e)

/JJ

【例1.3]若將計算機系統(tǒng)中某一部件的處理速度提高8倍,該

部件處理時間占整個系統(tǒng)運行時間的60%。試問該部件的處理

速度提高后,整個系統(tǒng)的性能提高了多少?

解:根據(jù)題意,re=8,/e=60%,則

11

樂=----------------=-----------------2.11

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

8

若以Sp為縱坐

標,/b為橫坐標,對

不同的re,可畫出函

數(shù):

5p=A/e)

的曲線,如圖1.5

所示。

圖L5Sp4曲線

7

/」」【例1.4】假設(shè)某程序中,求浮點數(shù)平方根FPSQR操作占整個程序執(zhí)行時

間的20%,而所有浮點運算指令FP操作占整個程序執(zhí)行時間的50%?,F(xiàn)用兩

種措施來提高計算機系統(tǒng)的性能,一種是采用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性能分析

在大多數(shù)計算機中,時鐘周期用又表示,單位為ns。對于一個

有7N條指令的程序來說,執(zhí)行時間可7CPU來表示,貝上

x

TQPU=4xCPI7^

其中CPI表示執(zhí)行一條指令所需要的平均時鐘周期數(shù):

Z9Plx4)

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

IN

人表示程序中指令的總數(shù),人表示第/類指令在程序中執(zhí)行的次數(shù),

以Z表示執(zhí)行一條第/類指令所需要的平均時鐘周期數(shù),刀為程序中所

有指令的種類數(shù)。

/Ill

上述還可以表示為:n

CPICPI=Z(CPLX-)

/=1

【例1.5]假設(shè)某標量計算機使用的時鐘頻

率為40MHz,在執(zhí)行一個典型的測試程序時,所

測到的指令類型、指令的條數(shù)以及所用時鐘周表1.3』執(zhí)行程序參數(shù)表

期數(shù)如表1.3所示。試求執(zhí)行該程序時的平均時指令類型指令數(shù)時鐘周期數(shù)

鐘周期數(shù)CPI和總的CPU執(zhí)行時間。整數(shù)算術(shù)450001

數(shù)據(jù)傳送320002

解:根據(jù)題意6

Tc=l/(40x10)=25ns浮點運算150004

控制轉(zhuǎn)移80002

4

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

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

1.4.3MIPS與MFLOPS指標

除了上述性能加速比Sp和平均時鐘周期數(shù)CPI之外,在衡量計算

機的運算速度時常用的還有MIPS和MFLOPS指標。

1.基本公式

(1)MIPS

MIPS表示每秒百萬條指令,用來衡量標量處理機定點運算的速度。

對于一個給定的程序,MIPS可表示為:

,N_______________________________Rc

MIPS666

=TEXIO=/Nxcpixrcxio=CPIXIo

式中久表示程序執(zhí)行時間;竟表示時鐘速率,是時鐘周期兀的倒數(shù)。

根據(jù)這一定義,上述例1.6中處理機的MIPS值為:

,N7N

MIPS==21.62(百萬條指令/秒)

696

rExio4625000X10-X10

/JJ

(2)MFLOPS

MFLOPS表示每秒百萬條浮點運算指令,用來衡量浮點處理機的運算速

度。對于一個給定的程序,MFLOPS可表示為:

MFLOPS=1FN

TexIO,

式中之表示程序中浮點運算的次數(shù)(即指令的條數(shù)),4表示程序執(zhí)行

時間。

在MFLOPS和MIPS的量值之間沒有直接的聯(lián)系和統(tǒng)一的標準,但是人們

認為在一般標量機上進行一次浮點運算需要2?5條指令,取平均值3,故

1MFLOPS?3MIPSO

2.基準測試程序

為了較好地反映計算機系統(tǒng)的性能,常用不同層次的基準應(yīng)用程

序(Bebchmark)來評價系統(tǒng)的性能,主要有以下幾種。

(1)采用實際應(yīng)用程序

根據(jù)不同的被測系統(tǒng),可選用不同的實際測試程序。例如C語言編譯

程序、TeX文本處理程序、CAD工具軟件Spice等。

(2)采用核心程序

是從實際運行的程序中抽出少量關(guān)鍵性的循環(huán)程序段,以此測試和評

估計算機系統(tǒng)的性能,例如livermore24Loops>Linpack等。

(3)合成測試程序

類似于核心程序,它是考慮到各種操作和程序的比例而專門編寫

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

運算和浮點運算混合組成,包括超越函數(shù)、條件轉(zhuǎn)移和函數(shù)調(diào)用等;

Dhrystone主要是有關(guān)的整型運算,包括字符串及數(shù)組處理等。

LU

(4)小測試程序

通常測試程序代碼在100行以下,運行結(jié)果可以預(yù)知,例如Sieveof

Erastosthenes>Puzzle、Quicksort等程序。

(5)SPEC測試程序

為了對計算機系統(tǒng)有一個比較公正的評價,1988年起,美國HP、DEC、

MIPS、SUN等公司發(fā)起成立了一個系統(tǒng)性能評價合作團體(SPEC組織),用

一組實用程序和相應(yīng)輸入來評價計算機系統(tǒng)的性能。典型測試程序主要

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

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

語言編寫,進行整型運算;其余是用FORTRAN語言編寫,進行浮點運算。

測試結(jié)果用SPECmark分值表示,其值越大越好。1SPECmark約相

當于0.2?0.3MFL0PSo測試程序進一步分為整型SPECint和浮點SPECfp。

與之類似,還有Perfect俱樂部的一組稱為PerfectClub的典型

測試程序。

1.4.4性能測試結(jié)果的統(tǒng)計與比較

1.性能測試結(jié)果的統(tǒng)計

關(guān)于計算機系統(tǒng)性能的評價,通常有峰值性能(Peak

performance)和持續(xù)性能(Sustainedperformance)兩個標準。表

示持續(xù)性能的主要有算術(shù)平均值、幾何平均值和調(diào)和平均值。

(1)算術(shù)平均值

設(shè)有刀個測試程序,其中第/個程序的執(zhí)行速率用人表示,執(zhí)行周

期用力表示,則算術(shù)平均值和可表示為:

1"1"1

Am——Ri———

瞳』幾t=iTi

若用執(zhí)行時間表示性能,貝心

/JJ

如果考慮不同的程序在總的任務(wù)中所占的比例不同,比如程序1占20%,

程序2占40%等,那么可以用權(quán)因子予以表述,其權(quán)分別為0.2和0.4。若用外

表示權(quán)因子,則加權(quán)平均值可表示為:

n"]

Am=£WiRi=£仍—

i=\i=\Ti

(2)調(diào)和平均值

nn

設(shè)調(diào)和平均值用捌表示,則Hm=F一廠=F一■

i=l八'z=l

加權(quán)調(diào)和平均值可表示為:nn

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

"Wi"

y——ynwi

Z=111Z=1

UA

(3)幾何平均值

設(shè)幾何平均值用的表示,則

Gm勺中i

加權(quán)幾何平均值可表示為:

ri1

Gm=TT因嚴

i=\

采用施1表示計算機系統(tǒng)的性能時有一個很好的特性:

GQi)yj

在以上三種表示中,由于幾何平均比值與比的幾何平均值相等,

因此有時使用6hi較為方便。

【例1.6】已知A、B、C三臺計表1.4執(zhí)行程序參數(shù)表

算機執(zhí)行4個程序所用的時間如表1.4計算機執(zhí)行時間(s)

所示。假設(shè)每一個程序都有108條指程序ABC

令,試計算三臺計算機執(zhí)行每一個程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計算機系統(tǒng)結(jié)構(gòu)的

I發(fā)展過程

71.5.1計算機系統(tǒng)結(jié)構(gòu)的演變過

-1.5.2軟件對計算機系統(tǒng)結(jié)構(gòu)發(fā)展

的影響問答題

/1.5.3應(yīng)用需求對計算機系統(tǒng)結(jié)構(gòu)

發(fā)展的影響

一154器件對計算機系統(tǒng)結(jié)構(gòu)發(fā)展

的影響

一155算法對計算機系統(tǒng)結(jié)構(gòu)發(fā)展

的影響

1.5.1計算機系統(tǒng)結(jié)構(gòu)的演變過程

早期的計算機是以運算器為中心的體系結(jié)構(gòu)。以后50多年

逐步演變成以存儲器為中心,并采用流水線、多處理器、多處

理機的并行處理技術(shù),使其功能得到不斷地提高。

按其規(guī)模,相繼出現(xiàn)了小型機、中型機、大型機、巨型機、

微型機,以后又演變出超級小型機、小巨型機、工程工作站以

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

按其結(jié)構(gòu),相繼出現(xiàn)了流水線計算機、向量機、并行多處

理機以及非馮.諾依曼的數(shù)據(jù)流機、歸約機和人工智能推理機等;

目前,隨著計算機網(wǎng)絡(luò)和工業(yè)控制的發(fā)展,各種專用計算

機層出不窮。

1.以運算器為中心的體系結(jié)構(gòu)

早期的計算機主要是以運算器為中心,所有的輸入輸出都通過

運算器來進行,其示意如圖1.6所示,

廣存儲器

入J1

士>|運算器

原始數(shù)據(jù)口設(shè)

設(shè)=>輸出結(jié)果

和運算步驟備

T

控制器

圖1.6以運算器為中心的體系結(jié)構(gòu)

主要特點如下:

①存儲程序方式;

②單處理器結(jié)構(gòu);

③使用單元定長的一維存儲器空間;

④使用低級的機器語言,數(shù)據(jù)以二進制形式表示;

⑤以運算器為中心,所有輸入輸出都要通過運算器進行。

這種結(jié)構(gòu)有兩個瓶頸。一是物理瓶頸,數(shù)據(jù)只能通過累加器傳送;

二是智能瓶頸,每次只能由控制器依次取出一條指令執(zhí)行。

2.單CPU系統(tǒng)結(jié)構(gòu)的演變

以后計算機有了很大的發(fā)展,可概括為兩個方面。一種是改進

的方法,即保留馮?諾依曼的“存儲程序”思想,在體系結(jié)構(gòu)和實現(xiàn)

方法上進行改進。另一種是革命的方法,發(fā)展非馮?諾依曼計算機。

在改進馮?諾依曼計算機的過程中,產(chǎn)生了以存儲器為中心的體

系結(jié)構(gòu),如圖L7所示。改進的思想和方法可歸納如下:

運算器

設(shè)

設(shè)輸出

T備

控制器

圖L7以存儲器為中心的體系結(jié)構(gòu)

①增加新的數(shù)據(jù)表示形式,比如浮點數(shù)、字符串、十進制等,采

用虛擬存儲器,引入堆棧,以提高不同類型數(shù)據(jù)的處理能力,支持高級

語言編程以及其中的過程調(diào)用、遞歸運算及表達式求值等操作。

②采用變址寄存器,提供多種間接尋址方式,以方便對結(jié)構(gòu)化數(shù)

據(jù)對象的訪問與處理。

③大量使用通用寄存器,增設(shè)高速緩沖存儲器Cache,以減少訪問

主存儲器的次數(shù),緩解CPU與主存之間數(shù)據(jù)的頻繁傳送。

④采用自定義數(shù)據(jù),由數(shù)據(jù)標識符表明CPU進行何種操作,以減少

指令的類型和條數(shù),方便程序設(shè)計。

⑤使程序/數(shù)據(jù)存儲器獨立設(shè)置,采用多體交叉存儲器和無沖突并

行訪問技術(shù),以提高CPU訪問主存的帶寬與速度。

⑥采用多功能部件,以支持流水線技術(shù),加快指令處理速度,提

高MIPS/MFLOPS速率。

3.并行處理技術(shù)

即發(fā)展多處理器和以并行計算為基礎(chǔ)的并行處理技術(shù),從而出現(xiàn)

了陣列機和多處理機系統(tǒng);以后,隨著計算機網(wǎng)絡(luò)的發(fā)展,人們又在

發(fā)展各種適應(yīng)于網(wǎng)絡(luò)環(huán)境的計算機,以便更大范圍地實現(xiàn)并行處理與

資源共享。

①采用多處理器,以支持流水線和并行處理技術(shù),加快指令的

執(zhí)行和數(shù)據(jù)處理的速度,比如產(chǎn)生了針對向量運算的向量機、脈動陣

列機等。

②采用多個處理機,構(gòu)成并行處理機系統(tǒng),比如設(shè)置浮點運算

協(xié)處理機、I/O處理機等,以提高整機的數(shù)據(jù)處理能力和I/O速率;在

此基礎(chǔ)上,發(fā)展為多個處理機的并行處理機系統(tǒng)。

③隨著計算機網(wǎng)絡(luò)的發(fā)展,各種計算機都配置了調(diào)制解調(diào)器,

以便聯(lián)網(wǎng),以實現(xiàn)更大范圍的多機并行處理和資源共享。

4,非馮.諾依曼計算機

馮.諾依曼計算機是一種控制驅(qū)動方式。隨著科學技術(shù)的發(fā)展,

人們也在尋求其它驅(qū)動方式。于是,產(chǎn)生了數(shù)據(jù)驅(qū)動的數(shù)據(jù)流機、

需求驅(qū)動的歸約機。

為了使計算機能夠理解人們的自然語言,具有視覺能力,識另1

景物;能夠自主學習,并進行知識的積累與重構(gòu),于是產(chǎn)生了人工

智能計算機的研究。

這類計算機不遵循或者不完全遵循“存儲程序”的思想,因此

稱為非馮.諾依曼計算機。

1.5.2軟件對計算機系統(tǒng)結(jié)構(gòu)發(fā)展

的影響問答題

在計算機硬件和軟件的發(fā)展過程中,人們希望原有的軟件能夠繼續(xù)使

用;對于兩種不同的計算機,希望一臺計算機兼容另一臺計算機的功能。

于是,導(dǎo)致了模擬與仿真技術(shù)、系列機、兼容機以及統(tǒng)一高級語言標準的

出現(xiàn)。這些,都影響到計算機系統(tǒng)結(jié)構(gòu)的變化與發(fā)展。

1.模擬與仿真

為了在一臺計算機上實現(xiàn)另一臺計算機的功能,模擬和仿真技術(shù)成

為主要途徑。

(1)模擬

所謂“模擬”是用軟件的方法在一臺計算機上實現(xiàn)另一臺計算機的功

能。比如在A機上實現(xiàn)B機的指令系統(tǒng),可用解釋的方法來實現(xiàn)。就是說,

對于B機上的一條指令,在A機上用一段程序予以解釋和執(zhí)行。這種用已有

的機器語言程序進行解釋和執(zhí)行,以此實現(xiàn)軟件移植的方法稱為模擬。A

機通常稱為宿主機;因為B機實際上不一定存在,因此稱為虛擬機。

(2)仿真

所謂仿真,是當宿主機采用微程序控制器時,通過宿主機上的微程

序來實現(xiàn)虛擬機指令系統(tǒng)中一條指令的功能。也就是說,通過A機上的一

段微程序,來實現(xiàn)B機上一條指令的功能。這時,A機稱為宿主機,B機稱

為目標機。由于在A機中,微程序存放在微程序控制器中,是硬件(固件)

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

賴于計算機的系統(tǒng)結(jié)構(gòu),設(shè)計起來較為復(fù)雜,因此常把仿真與模擬方法

結(jié)合起來使用。

2.系列機與兼容機

(1)系列機的概念

系列機一般是按同一系統(tǒng)結(jié)構(gòu)而生產(chǎn)的一系列計算機。這些計算機

在性能參數(shù)上有所不同,但是具有相同的概念性結(jié)構(gòu)和物理屬性,系統(tǒng)

軟件在不同檔次的計算機上都可以使用。也就是說,在設(shè)計和制造時采

用統(tǒng)一的機器語言、數(shù)據(jù)表示和概念性結(jié)構(gòu),實現(xiàn)了系統(tǒng)軟件在不同檔

次計算機上的可移植性。

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

的80x86、Motor。la公司的680x0以及我國的銀河等系列機。

■同

在一個系列中,

又有許多不同型號的

計算機,例如,在

IBM370包含有115,

125,135,145,158,

168等型號的計算機,

其性能是由低到高。

但是機器語言級的程

序員所看到的概念性

結(jié)構(gòu)和功能屬性是一

樣的,如圖1.8所示。

圖1.8IBM370系列機的概念性結(jié)構(gòu)

都是由中央處理器/主存--通道--設(shè)備控制器--外圍設(shè)備四級組

成。

(2)系列機的實現(xiàn)

于系列機的生產(chǎn),要預(yù)先確定一種系統(tǒng)結(jié)構(gòu),即軟件與硬件之間的

界面。然后進行系統(tǒng)軟件的設(shè)計和采用不同的組成方式和物理實現(xiàn)的技

術(shù),以生產(chǎn)出

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論