計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)(計(jì)算機(jī)類)第1章_第1頁(yè)
計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)(計(jì)算機(jī)類)第1章_第2頁(yè)
計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)(計(jì)算機(jī)類)第1章_第3頁(yè)
計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)(計(jì)算機(jī)類)第1章_第4頁(yè)
計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)(計(jì)算機(jī)類)第1章_第5頁(yè)
已閱讀5頁(yè),還剩145頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

面向21世紀(jì)>高等學(xué)校計(jì)算機(jī)類專業(yè)系列教材

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

陳智勇

第乞電孑科技大孽出版社

目錄

第1章基礎(chǔ)知識(shí)

第2章指令系統(tǒng)

第3章存儲(chǔ)系統(tǒng)設(shè)計(jì)

第4章流水線計(jì)算機(jī)設(shè)計(jì)技術(shù)

第5章并行處理技術(shù)

第6章向量處理機(jī)

第7章多處理機(jī)

第8章并行算法

第9章數(shù)據(jù)流計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)

第1章基礎(chǔ)知識(shí)

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

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

L3計(jì)算機(jī)組成

L4計(jì)算機(jī)實(shí)現(xiàn)

L5計(jì)算機(jī)性能

1.6計(jì)算機(jī)系統(tǒng)的分類

習(xí)題1

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

1.1.1按功能劃分的多級(jí)層次結(jié)構(gòu)

現(xiàn)代計(jì)算機(jī)是通過(guò)執(zhí)行指令來(lái)解決問(wèn)題的,它由

軟件和硬件兩大部分組成。描述一個(gè)任務(wù)如何實(shí)現(xiàn)的

指令序列稱為程序,所有程序在執(zhí)行前都必須轉(zhuǎn)換成

計(jì)算機(jī)能識(shí)別以及直接執(zhí)行的機(jī)器指令。這些機(jī)器指

令與機(jī)器硬件直接對(duì)應(yīng),并能被其直接識(shí)別和執(zhí)行,

然而使用機(jī)器語(yǔ)言編程既不方便,也無(wú)法適應(yīng)解題需

要和計(jì)算機(jī)應(yīng)用范圍的擴(kuò)大。

這個(gè)問(wèn)題可從兩方面去解決,前提是都需要設(shè)計(jì)一個(gè)

比機(jī)器指令更方便使用或編程的指令集合,由它構(gòu)成

新的語(yǔ)言,例如匯編語(yǔ)言。匯編語(yǔ)言是一種符號(hào)語(yǔ)

言,給程序員編程提供了方便,盡管每個(gè)語(yǔ)句仍基本

上與機(jī)器指令對(duì)應(yīng),卻并不能被機(jī)器直接識(shí)別和執(zhí)

行;用匯編語(yǔ)言開(kāi)發(fā)的程序需要某種轉(zhuǎn)換才能在實(shí)際

機(jī)器上執(zhí)行。一種方式是翻譯(translation),在執(zhí)行匯

編語(yǔ)言源程序之前生成一個(gè)等價(jià)的機(jī)器語(yǔ)言指令序列

來(lái)替換它,生成的程序全部由機(jī)器指令組成,計(jì)算機(jī)

執(zhí)行等效的機(jī)器語(yǔ)言源程序來(lái)代替原來(lái)的匯編語(yǔ)言源

程序。

即把源程序先轉(zhuǎn)換成目標(biāo)程序,而后再在機(jī)器上執(zhí)行

目標(biāo)程序以獲得結(jié)果。另一種方式是解釋

(interpretation),用機(jī)器指令寫一個(gè)程序,將匯編語(yǔ)言

源程序作為輸入數(shù)據(jù),按順序檢查它的每條指令,然

后直接執(zhí)行等效的機(jī)器指令序列來(lái)解決問(wèn)題。

第2級(jí)虛擬機(jī)器M2

具有L2機(jī)器語(yǔ)言(匯編語(yǔ)言)

第1級(jí)實(shí)際機(jī)器Ml

具有L1機(jī)器語(yǔ)言(機(jī)器指令系統(tǒng))

圖1.1虛擬機(jī)器和實(shí)際機(jī)器層次

結(jié)構(gòu)舉例

匯編語(yǔ)言源程序可以在機(jī)器上運(yùn)行并獲得結(jié)果,

是因?yàn)橛袇R編程序的支持。在匯編語(yǔ)言程序設(shè)計(jì)者看

來(lái),就好像有了一臺(tái)用匯編語(yǔ)言作為機(jī)器語(yǔ)言的機(jī)器。

這里的機(jī)器是指能存儲(chǔ)和執(zhí)行程序的算法和數(shù)據(jù)結(jié)構(gòu)

的集合體。我們把以軟件為主實(shí)現(xiàn)的機(jī)器,稱之為虛

擬機(jī)器,而把由硬件和固件實(shí)現(xiàn)的機(jī)器稱為實(shí)際機(jī)器。

顯然,虛擬機(jī)器的實(shí)現(xiàn)是構(gòu)筑在實(shí)際機(jī)器之上的。圖

1.1給出了虛擬機(jī)器與實(shí)際機(jī)器之間構(gòu)成的一個(gè)簡(jiǎn)單的

層次結(jié)構(gòu)。

語(yǔ)言與虛擬機(jī)之間存在著重要的對(duì)應(yīng)關(guān)系,每種

機(jī)器都有由它能執(zhí)行的指令組成的機(jī)器語(yǔ)言。同時(shí),

語(yǔ)言也定義了機(jī)器,即機(jī)器要能執(zhí)行這種語(yǔ)言所寫的

程序。有n層不同的語(yǔ)言,就對(duì)應(yīng)有n層不同的虛擬機(jī)。

在圖1.2中我們給出了典型的現(xiàn)代計(jì)算機(jī)的多級(jí)層次結(jié)

構(gòu)。例如,匯編語(yǔ)言(L3)是面向機(jī)器的一種符號(hào)語(yǔ)

言,其語(yǔ)法、語(yǔ)義結(jié)構(gòu)仍然和二進(jìn)制機(jī)器語(yǔ)言的基本

相同,但與解題所需的差別較大,于是進(jìn)一步出現(xiàn)了

面向題目和過(guò)程的高級(jí)語(yǔ)言(L4);

在高級(jí)語(yǔ)言的基礎(chǔ)上還出現(xiàn)了面向應(yīng)用的應(yīng)用語(yǔ)言

(L5),因此我們可以得到多個(gè)層次的虛擬機(jī)器;而對(duì)

于實(shí)際機(jī)器級(jí)若采用微程序(L0)控制,它又可分解成

傳統(tǒng)機(jī)器級(jí)Ml和微程序級(jí)M0;雖然目前很多機(jī)器上

的操作系統(tǒng)(L2)已不再用匯編語(yǔ)言編寫,而是用面向

系統(tǒng)軟件的高級(jí)語(yǔ)言,如C語(yǔ)言,但從實(shí)質(zhì)上看,操作

系統(tǒng)是傳統(tǒng)機(jī)器的引伸,它要提供傳統(tǒng)機(jī)器所沒(méi)有但

為匯編語(yǔ)言和高級(jí)語(yǔ)言的使用和實(shí)現(xiàn)所需的某些基本

操作和數(shù)據(jù)結(jié)構(gòu),如文件管理、進(jìn)程管理、中斷管理、

作業(yè)控制、存儲(chǔ)管理和輸入輸出等等,它們?cè)谠S多機(jī)

器上是經(jīng)機(jī)器語(yǔ)言程序解釋實(shí)現(xiàn)的。因此,操作系統(tǒng)

級(jí)放在傳統(tǒng)機(jī)器級(jí)之上,匯編語(yǔ)言級(jí)之下。

第5級(jí)

(虛擬機(jī)器)

第4級(jí)

(虛擬機(jī)器)

第3級(jí)

(虛擬機(jī)器)

第2級(jí)

(虛擬機(jī)器)

第1級(jí)

(實(shí)際機(jī)器)

第0級(jí)

(實(shí)際機(jī)器)

圖1.2計(jì)算機(jī)系統(tǒng)的多級(jí)層次結(jié)構(gòu)

把計(jì)算機(jī)系統(tǒng)按功能劃分為多個(gè)層次結(jié)構(gòu)后,對(duì)

各機(jī)器級(jí)的程序員而言,只要熟悉和遵守該級(jí)語(yǔ)言的

規(guī)范準(zhǔn)則,所編寫的程序總能在此機(jī)器級(jí)上運(yùn)行并得

到結(jié)果,而不用了解該機(jī)器級(jí)是如何實(shí)現(xiàn)的。各機(jī)器

級(jí)的實(shí)現(xiàn)主要靠翻譯或解釋,或者是這兩者的結(jié)合。

翻譯是先用轉(zhuǎn)換程序?qū)⒏咭患?jí)機(jī)器級(jí)上的程序整個(gè)地

變換成低一級(jí)機(jī)器級(jí)上可運(yùn)行的等效程序,然后再在

低一級(jí)機(jī)器級(jí)上實(shí)現(xiàn)的技術(shù)。解釋則是在低一級(jí)機(jī)器

級(jí)上用它的一串語(yǔ)句或指令來(lái)仿真高一級(jí)機(jī)器級(jí)上的

一條語(yǔ)句或指令的功能,通過(guò)對(duì)高一級(jí)程序中的每條

語(yǔ)句或指令逐條解釋來(lái)實(shí)現(xiàn)的技術(shù)。

計(jì)算機(jī)系統(tǒng)采用何種實(shí)現(xiàn)方式,要從效率、速度、

價(jià)格、資源狀況、可靠性等多方面因素全盤考慮,對(duì)

軟件、硬件及固件的取舍進(jìn)行綜合平衡。

軟件和硬件在邏輯功能上是等效的,同一邏輯功

能既可以用軟件也可以用硬件或固件實(shí)現(xiàn),從原理上

講,軟件實(shí)現(xiàn)的功能完全可以用硬件或固件完成,同

樣,硬件實(shí)現(xiàn)的邏輯功能也可以由軟件的模擬來(lái)完

成,只是性能、價(jià)格以及實(shí)現(xiàn)的難易程度不同而已。

例如,在計(jì)算機(jī)中實(shí)現(xiàn)十進(jìn)制乘法這一功能,既

可以用硬件來(lái)實(shí)現(xiàn),也可以用軟件來(lái)完成。用硬件實(shí)

現(xiàn),需設(shè)計(jì)十進(jìn)制乘法機(jī)器指令,用硬件電路來(lái)實(shí)現(xiàn)

該指令,其特點(diǎn)是完成這一功能的速度快,但需要更

多的硬件。而用軟件來(lái)實(shí)現(xiàn)這個(gè)功能,則要采用加法、

移位等指令通過(guò)編程來(lái)實(shí)現(xiàn),其特點(diǎn)是實(shí)現(xiàn)的速度

慢,但不需增加硬件。

軟、硬件的功能分配比例可以在很寬的范圍內(nèi)變

化,這種變化是動(dòng)態(tài)的,如圖1.3所示,軟硬功能分配

的比例隨不同時(shí)期以及同一時(shí)期的不同機(jī)器的變化而

變化。由于軟、硬件是緊密相關(guān)的,軟硬界面常常是

模糊不清的,在計(jì)算機(jī)系統(tǒng)的功能實(shí)現(xiàn)上,有時(shí)候很

難分清哪些功能是由硬件完成的,哪些功能是由軟件

完成的。在滿足應(yīng)用的前提下,軟硬功能分配比例的

確定,主要是看能否充分利用硬件、器件技術(shù)的現(xiàn)狀

和進(jìn)展,使計(jì)算機(jī)系統(tǒng)達(dá)到較高的性能價(jià)格比。對(duì)于

計(jì)算機(jī)系統(tǒng)的用戶,還要考慮他所直接面對(duì)的應(yīng)用語(yǔ)

言所對(duì)應(yīng)的機(jī)器級(jí)的發(fā)展?fàn)顩r。

功能分配比例%

圖1.3軟硬件功能分配

從目前軟硬件技術(shù)的發(fā)展速度及實(shí)現(xiàn)成本上看,

隨著器件技術(shù)的高速發(fā)展,特別是半導(dǎo)體集成技術(shù)的

高速發(fā)展,以前由軟件來(lái)實(shí)現(xiàn)的功能,越來(lái)越多的由

硬件來(lái)實(shí)現(xiàn),總的來(lái)說(shuō),軟件硬化是目前計(jì)算機(jī)系統(tǒng)

發(fā)展的主要趨勢(shì)。

1.1.2按功能劃分層次的好處

從概念和功能上把一個(gè)復(fù)雜的計(jì)算機(jī)系統(tǒng)看成是

由多個(gè)機(jī)器級(jí)構(gòu)成的層次結(jié)構(gòu),可以有如下的好處:

首先,有利于理解軟件、硬件和固件在系統(tǒng)中的地位

和作用;從系統(tǒng)層次的劃分中,可以看出,微程序機(jī)

器級(jí)(M0)、傳統(tǒng)機(jī)器級(jí)(Ml)、操作系統(tǒng)機(jī)器級(jí)

(M2)不是為應(yīng)用程序員解題設(shè)計(jì)的,而是為運(yùn)行支

持更高層次機(jī)器級(jí)程序所必須的解釋程序和翻譯程序

而設(shè)計(jì)的,以便能設(shè)計(jì)和實(shí)現(xiàn)新的虛擬機(jī)器級(jí)。

在這之上的機(jī)器級(jí)(M3?M5級(jí))則主要是為應(yīng)用程序

設(shè)計(jì)人員解決各類實(shí)際應(yīng)用問(wèn)題而設(shè)計(jì)的。其次,系

統(tǒng)按層次進(jìn)行劃分,有利于理解各種語(yǔ)言的實(shí)質(zhì)和實(shí)

現(xiàn)途徑;計(jì)算機(jī)各層次的語(yǔ)言總是通過(guò)低一級(jí)的語(yǔ)言

翻譯或解釋來(lái)實(shí)現(xiàn)的,這就說(shuō)明相鄰機(jī)器級(jí)之間的語(yǔ)

義差別不能太大。再次,系統(tǒng)按層次進(jìn)行劃分,有利

于推動(dòng)計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)的發(fā)展;例如,可以重新分配

軟、硬件的比例,為虛擬機(jī)器的各個(gè)層次提供更多更

好的硬件支持,改變硬件及器件快速發(fā)展而軟件卻日

益復(fù)雜、開(kāi)銷過(guò)大的狀況。

可以用硬件和固件來(lái)實(shí)現(xiàn)高級(jí)語(yǔ)言和操作系統(tǒng)而形成高

級(jí)語(yǔ)言機(jī)器和操作系統(tǒng)機(jī)器。再如,用真正的機(jī)器來(lái)

取代各級(jí)虛擬機(jī),擺脫各級(jí)功能都在同一臺(tái)實(shí)際機(jī)器

上實(shí)現(xiàn)的狀況,發(fā)展多處理機(jī)系統(tǒng)、分布處理系統(tǒng)、

計(jì)算機(jī)網(wǎng)絡(luò)等系統(tǒng)結(jié)構(gòu)。最后,系統(tǒng)按層次進(jìn)行劃

分,有利于理解計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)的定義。把計(jì)算機(jī)按

功能劃分成多個(gè)不同的層次結(jié)構(gòu),從各個(gè)層次的功能

劃分和實(shí)現(xiàn)去了解計(jì)算機(jī)系統(tǒng),有助于更深入的了解

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

<Back4、

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

“計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)”這個(gè)名詞來(lái)源于英文computer

architecture,也譯成“計(jì)算機(jī)體系結(jié)構(gòu)"。architecture這

個(gè)詞原來(lái)用在建筑領(lǐng)域,60年代這個(gè)名詞被引入計(jì)算

機(jī)領(lǐng)域,“計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)”一詞已經(jīng)得到普遍應(yīng)用,

它研究的內(nèi)容不但涉及計(jì)算機(jī)硬件,也涉及計(jì)算機(jī)軟

件,已經(jīng)成為一門學(xué)科。

1.2.1計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)的定義

計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)這個(gè)詞是Amdahl等人在1964年介紹

IBM360時(shí)提出的。他們把系統(tǒng)結(jié)構(gòu)定義為由程序設(shè)計(jì)

者所看到的一個(gè)計(jì)算機(jī)系統(tǒng)的屬性,即概念性結(jié)構(gòu)和功

能特性。這實(shí)際上是計(jì)算機(jī)系統(tǒng)的外特性。按照計(jì)算機(jī)

層次結(jié)構(gòu),不同程序設(shè)計(jì)者所看到的計(jì)算機(jī)具有不同的

屬性。在計(jì)算機(jī)技術(shù)中,—種本來(lái)是存在的事物或?qū)?/p>

性,但從某種角度看卻好象不存在,稱為透明性。通

常,在一個(gè)計(jì)算機(jī)系統(tǒng)中,低層機(jī)器級(jí)的概念性結(jié)構(gòu)和

功能特性,對(duì)高級(jí)語(yǔ)言程序員來(lái)說(shuō)是透明的。

例如使用高級(jí)語(yǔ)言的程序員所看到的計(jì)算機(jī)屬性

主要是軟件子系統(tǒng)和固件子系統(tǒng)的屬性,包括程序語(yǔ)

言以及操作系統(tǒng)、數(shù)據(jù)庫(kù)管理系統(tǒng)、網(wǎng)絡(luò)軟件等用戶

界面。例如,IBM370系列機(jī)的中央處理器都具有相同

的基本指令系統(tǒng),指令的解釋過(guò)程在不同檔次機(jī)器中

的處理方式不相同,但對(duì)程序設(shè)計(jì)者而言,所看到的

數(shù)據(jù)形式都是相同的32位字長(zhǎng)。

同樣,對(duì)于其不同檔次機(jī)器,在組成與實(shí)現(xiàn)時(shí),數(shù)據(jù)

通路寬度(數(shù)據(jù)總線)可以分別采用8位、16位、32位

或64位,但對(duì)于程序員而言,數(shù)據(jù)總線寬度是透明

的,即在設(shè)計(jì)程序時(shí)不需要考慮數(shù)據(jù)總線寬度的位數(shù)。

Amdahl等人提出的系統(tǒng)結(jié)構(gòu)定義中的程序設(shè)計(jì)者是指

機(jī)器語(yǔ)言或編譯程序設(shè)計(jì)者所看到的計(jì)算機(jī)屬性,是

硬件子系統(tǒng)的概念結(jié)構(gòu)及其功能特性。

1.2.2計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)研究的內(nèi)容

計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)研究的主要內(nèi)容是計(jì)算機(jī)系統(tǒng)中

各級(jí)之間界面的定義及其上下的功能分配。在這里,

我們主要討論傳統(tǒng)機(jī)器級(jí)的系統(tǒng)結(jié)構(gòu),即從機(jī)器語(yǔ)言

程序員的角度所看到的計(jì)算機(jī)系統(tǒng)結(jié)構(gòu),如圖1.4所示。

界面之上的功能由軟件實(shí)現(xiàn);界面之下的功能由

硬件/固件實(shí)現(xiàn)。所以本書是研究軟、硬件功能的分配

以及對(duì)機(jī)器級(jí)界面的確定,即由機(jī)器語(yǔ)言設(shè)計(jì)者或編

譯程序設(shè)計(jì)者所看到的機(jī)器物理系統(tǒng)的抽象或定義。

它是機(jī)器語(yǔ)言程序設(shè)計(jì)者或是編譯程序生成系統(tǒng)為使

其所設(shè)計(jì)或生成的程序能在機(jī)器上正確運(yùn)行,所需看

到和遵循的計(jì)算機(jī)屬性。它不包括機(jī)器內(nèi)部的數(shù)據(jù)流

和控制流、邏輯設(shè)計(jì)或器件設(shè)計(jì)等。

軟件和硬件的交界面

軟件/(從機(jī)器語(yǔ)言程序員的角度看)

硬件

圖L4計(jì)算機(jī)系統(tǒng)軟硬件交界面

對(duì)于目前的通用型機(jī)器,計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)(傳統(tǒng)機(jī)

器程序員所看到的屬性)一般包括:

(1)機(jī)器內(nèi)的數(shù)據(jù)表示,包括硬件能直接識(shí)別和處

理的數(shù)據(jù)類型和格式等;

(2)尋址方式,包括最小尋址單位,尋址方式的種

類、表示和地址計(jì)算等;

(3)寄存器組織,包括操作數(shù)寄存器、變址寄存器、

控制寄存器及某些專用寄存器的定義、數(shù)量和使用約

定;

(4)指令系統(tǒng),包括機(jī)器指令的操作類型和格式、

指令間的排序方式和控制機(jī)構(gòu)等;

(5)存儲(chǔ)系統(tǒng),包括最小編址單位、編址方式、主

存容量和最大可編址空間等;

(6)中斷機(jī)構(gòu),包括中斷的類型、中斷分級(jí)、中斷

處理程序的功能和入口地址等;

(7)機(jī)器工作狀態(tài)的定義及切換,如在管態(tài),處理

機(jī)可以使用系統(tǒng)的全部指令和全部資源,而在目態(tài),

處理機(jī)只能執(zhí)行用戶程序;

(8)輸入輸出機(jī)構(gòu),包括輸入輸出設(shè)備的連結(jié)方

式,處理機(jī)/存儲(chǔ)器與輸入輸出設(shè)備間數(shù)據(jù)傳送的方式

與格式、傳送的數(shù)據(jù)量、以及輸入輸出操作的結(jié)束與

出錯(cuò)標(biāo)志等;

(9)信息保護(hù),包括信息保護(hù)方式和硬件對(duì)信息保

護(hù)的支持等。

<Back4、

1.3計(jì)算機(jī)組成

1.3.1計(jì)算機(jī)組成的定義

計(jì)算機(jī)組成(computerorganization,又稱計(jì)算機(jī)設(shè)

計(jì))是指計(jì)算機(jī)系統(tǒng)的邏輯實(shí)現(xiàn)。包括機(jī)器內(nèi)部的數(shù)

據(jù)流和控制流的組成以及邏輯設(shè)計(jì)等。它著眼于機(jī)器

內(nèi)各事件的排序方式與控制機(jī)構(gòu)、各部件的功能以及

各部件間的聯(lián)系。

計(jì)算機(jī)組成的設(shè)計(jì)是按所希望達(dá)到的性能價(jià)格比,

最佳、最合理的把各種設(shè)備和部件組成計(jì)算機(jī),以實(shí)

現(xiàn)所確定的計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)。對(duì)傳統(tǒng)機(jī)器程序員來(lái)

說(shuō),計(jì)算機(jī)組成的設(shè)計(jì)內(nèi)容一般是透明的。

1.3.2計(jì)算機(jī)組成設(shè)計(jì)

計(jì)算機(jī)組成的任務(wù)是在計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)確定分配

給硬件子系統(tǒng)的功能及其概念結(jié)構(gòu)之后,研究各組成

部分的內(nèi)部構(gòu)造和相互聯(lián)系,以實(shí)現(xiàn)機(jī)器指令級(jí)的各

種功能和特性。這種相互聯(lián)系包括各功能部件的配置、

相互連接和相互作用。各功能部件的性能參數(shù)相互匹

配是計(jì)算機(jī)組成合理的重要標(biāo)志,因而相應(yīng)地就有許

多計(jì)算機(jī)組織方法。例如,為了使存儲(chǔ)器的容量大、

速度快,人們研究出存儲(chǔ)體系。在存儲(chǔ)體系中,又有

虛擬存儲(chǔ)器、高速緩存、多模塊交叉工作、多寄存器

組和堆棧等技術(shù)。

再如,為了使輸入輸出設(shè)備與處理機(jī)間的信息流量

達(dá)到平衡,人們研究出通道、外圍處理機(jī)等方式。為

了提高處理機(jī)速度,人們研究出先行控制、流水線、

多執(zhí)行部件等方式。在各功能部件的內(nèi)部結(jié)構(gòu)研究方

面,產(chǎn)生了許多組合邏輯、時(shí)序邏輯的高效設(shè)計(jì)方法

和結(jié)構(gòu)。

一般來(lái)講,計(jì)算機(jī)組成設(shè)計(jì)要確定的內(nèi)容應(yīng)包括:

(1)數(shù)據(jù)通路的寬度,指數(shù)據(jù)總線上一次能并行傳送

的信息位數(shù);

(2)專用部件的設(shè)置,包括設(shè)置哪些專用部件,如

乘除法專用部件、浮點(diǎn)運(yùn)算部件、字符處理部件、地

址運(yùn)算部件等,每種專用部件的個(gè)數(shù)等等,這些都決

于所需達(dá)到的機(jī)器速度、專用部件的使用頻度及允許

的價(jià)格等;

(3)各種操作對(duì)部件的共享程度,若共享程度太

高,由于共享部件的分時(shí)使用將會(huì)降低操作的速度;

若對(duì)同一功能部件設(shè)置多個(gè)以降低共享度,但系統(tǒng)的

價(jià)格會(huì)隨之升高。

(4)功能部件的并行度,如功能部件的控制和處理

方式是采用順序串行方式,還是采用重疊、流水、分

布處理方式;

(5)控制機(jī)構(gòu)的組成方式,如控制機(jī)構(gòu)是采用硬連

線控制還是微程序控制,是采用單機(jī)處理還是多機(jī)處

理或功能分布處理;

(6)緩沖和排隊(duì)技術(shù),包括如何在部件間設(shè)置多大

容量的緩沖器來(lái)彌補(bǔ)它們的速度差異,對(duì)于等待要求

處理的事件如何排隊(duì),如隨機(jī)、先進(jìn)先出、先進(jìn)后出、

優(yōu)先級(jí)、循環(huán)隊(duì)等不同方式;

(7)預(yù)估、預(yù)判技術(shù),如采用何種原則來(lái)預(yù)測(cè)未來(lái)

的行為,以優(yōu)化性能和優(yōu)化處理;

(8)可靠性技術(shù),如采用什么樣的冗余技術(shù)和容錯(cuò)技

術(shù)來(lái)提高可靠性。

<Back4、

1.4計(jì)算機(jī)實(shí)現(xiàn)

1.4.1計(jì)算機(jī)實(shí)現(xiàn)的定義

計(jì)算機(jī)實(shí)現(xiàn)(computerimplementation)是指計(jì)算機(jī)

組成的物理實(shí)現(xiàn)。它包括處理機(jī)、主存等部件的物理

結(jié)構(gòu),器件的集成度和速度,信號(hào)傳輸,器件、模塊、

插件、底板的劃分與連接,專用器件的設(shè)計(jì)。電源、

冷卻、裝配等技術(shù)以及有關(guān)的制造技術(shù)和工藝等。它

著眼于器件技術(shù)和微組裝技術(shù)。其中,器件技術(shù)在實(shí)

現(xiàn)技術(shù)中起著主導(dǎo)作用。

1.4.2器件技術(shù)研究的內(nèi)容

器件技術(shù)研究的內(nèi)容包括:處理機(jī)、主存等部件的

物理結(jié)構(gòu),器件的集成度和速度,專用器件的設(shè)計(jì),

信號(hào)傳輸?shù)?。例如,集成電路采用TTL類型還是MOS

類型,最小光刻線條的尺寸,連線采用鋁連線還是銅

連線,集成電路內(nèi)部的電容、電阻的設(shè)計(jì),集成電路

上的晶體管采用什么樣的材料和工藝,如不同場(chǎng)合下

可以選用硅、硅鑄合金、硅化錢等等,其帶來(lái)的物理

特性、響應(yīng)特性、功耗也各有不同。隨著時(shí)間的推

移,芯片的封裝技術(shù)已經(jīng)歷了好幾代的變遷,從DIP、

QFP、PGA、BGA至UCSP,再到MCM等等。

計(jì)算機(jī)所用的基本器件已經(jīng)從初期的電子管、晶

體管、中小規(guī)模集成電路、大規(guī)模集成電路,發(fā)展到

現(xiàn)在的超大規(guī)模集成電路,其生產(chǎn)工藝從上世紀(jì)70年

代的10微米發(fā)展到現(xiàn)在的0.09微米的水平,只用了不到

30年的時(shí)間。其所能達(dá)到的集成度可以在一個(gè)芯片上

集成上億個(gè)晶體管。例如,在處理器方面,英特爾公

司的第一個(gè)CPU的集成度為2000多個(gè)晶體管,而在

1999年,英特爾公司推出的PentiumIII處理器的集成度

就達(dá)到2400萬(wàn)個(gè)晶體管,到了2000年,采用Willamette

核心,使用0.18微米生產(chǎn)工藝的Pentium4處理器的集

成度就達(dá)到3400萬(wàn)個(gè)晶體管;

而其后推出的采用Northwood核心,使用0.13微米生

產(chǎn)工藝的Pentium42.53GHz處理器其集成度達(dá)到5500

萬(wàn)個(gè)晶體管。同期,AMD公司的AthlonXP2600+處理

器的集成度也達(dá)到3760萬(wàn)個(gè)晶體管。其即將推出的代

號(hào)為Hammer的新一代微處理器集成度將達(dá)到1億個(gè)晶

體管。

計(jì)算機(jī)所用的基本器件不僅由分立器件發(fā)展到集成

電路,其速度也有顯著的提高。器件的發(fā)展是推動(dòng)系統(tǒng)

結(jié)構(gòu)和組成前進(jìn)的關(guān)鍵因素和主要?jiǎng)恿?。隨著生產(chǎn)工藝

以及材料工藝的進(jìn)展,單個(gè)器件的尺寸可以越來(lái)越小,

單個(gè)晶體管的尺寸已經(jīng)從微米級(jí)縮小到納米級(jí),響應(yīng)速

度可以達(dá)到100GHz的量級(jí),例如,IBM使用硅鑄材料

制造的晶體管,速度達(dá)到350GHz,為CPU的主頻達(dá)到

10G的水平提供了技術(shù)保障。器件技術(shù)的快速發(fā)展,使

單個(gè)器件或集成電路的性能越來(lái)越高,而價(jià)格則越來(lái)越

低;同時(shí),也為各種新的系統(tǒng)結(jié)構(gòu)和組成實(shí)現(xiàn)提供了硬

件支持,并使計(jì)算機(jī)的應(yīng)用得到快速普及。

器件技術(shù)的發(fā)展還促進(jìn)了算法、語(yǔ)言和軟件的發(fā)

展。隨著CPU性價(jià)比的迅速改善,加速了大規(guī)模高性

能并行處理機(jī)和通信網(wǎng)絡(luò)的發(fā)展。由數(shù)百甚至上萬(wàn)個(gè)

微處理器組成的MPP系統(tǒng)促使人們不斷研究新的并行

算法、并行語(yǔ)言及相關(guān)應(yīng)用軟件和操作系統(tǒng),以使系

統(tǒng)的規(guī)模和處理速度能隨結(jié)點(diǎn)處理器數(shù)的增加而顯著

提高。在2002年全球高性能計(jì)算機(jī)500強(qiáng)的排行榜上,

位居榜首的是日本NEC研制,安置在橫濱地球模擬研

究發(fā)展中心的EarthSimulator(地球模擬器),

它由日本政府資助,其實(shí)測(cè)運(yùn)算速度可達(dá)到每秒

35.86TFLOPS,由5120個(gè)處理器構(gòu)成。IBM公司研制的

由8192個(gè)處理器構(gòu)成的“ASCIWhite-Pacific”超級(jí)計(jì)算

機(jī),以7.3TFLOPS排名第二。由我國(guó)聯(lián)想公司研制的

由512個(gè)xeon處理器組成的深騰1800的運(yùn)算速度達(dá)到

1.027TFLOPS,排名第43。

1.4.3系統(tǒng)結(jié)構(gòu)、組成、實(shí)現(xiàn)三者的關(guān)系和相互影響

計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)、計(jì)算機(jī)組成和計(jì)算機(jī)實(shí)現(xiàn)是三個(gè)

互不相同的概念,但它們是互相聯(lián)系和相互影響的。

計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)是計(jì)算機(jī)系統(tǒng)的軟、硬件分界面,是

機(jī)器語(yǔ)言程序設(shè)計(jì)者或是編譯程序生成系統(tǒng)為使其設(shè)

計(jì)或生成的程序能在機(jī)器上運(yùn)行所看到的計(jì)算機(jī)屬

性;計(jì)算機(jī)組成是計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)的邏輯實(shí)現(xiàn);計(jì)算

機(jī)實(shí)現(xiàn)是計(jì)算機(jī)組成的物理實(shí)現(xiàn)。

具有相同系統(tǒng)結(jié)構(gòu)的計(jì)算機(jī)可以采用不同的組成。

例如,具有相同指令系統(tǒng)的計(jì)算機(jī),指令的取出、譯

碼、取操作數(shù)、運(yùn)算、存結(jié)果既可以采用順序方式進(jìn)

行解釋,也可以采用流水方式讓它們?cè)跁r(shí)間上重疊進(jìn)

行來(lái)提高速度。又如乘法指令可以利用專用乘法器來(lái)

實(shí)現(xiàn),也可以通過(guò)加法器重復(fù)相加、移位來(lái)實(shí)現(xiàn),這

主要取決于對(duì)速度的要求、乘法指令出現(xiàn)的頻度和所

采用的乘法運(yùn)算方法。顯然,前一種方法可以有效的

提高乘法運(yùn)算速度,而后一種方法則可以降低系統(tǒng)的

價(jià)格。

一種系統(tǒng)結(jié)構(gòu)可以有多種計(jì)算機(jī)組成,同樣,一種

計(jì)算機(jī)組成可以采用多種不同的計(jì)算機(jī)實(shí)現(xiàn)。例如,

在CPU的選擇上,同一類型的CPU一般都有多個(gè)不同

的工作頻率,從速度及價(jià)格等角度考慮,可以選擇工

作頻率較高的CPU,來(lái)實(shí)現(xiàn)較高的運(yùn)算速度,也可以

選擇工作頻率較低的CPU,來(lái)保證系統(tǒng)的價(jià)格相對(duì)較

低。又如在主存器件的選擇上,可以選擇TTL型的器

件,也可以采用MOS型器件;即可以采用單片VLSI集

成電路,也可以采用多片LSI或MSI集成電路組成;

既可以選擇響應(yīng)時(shí)間速度較快的芯片,也可以選擇響應(yīng)

速度較慢的芯片。實(shí)際上,這也是在速度、價(jià)格等因

素之間進(jìn)行選擇;換句話說(shuō),采用什么樣的實(shí)現(xiàn)技術(shù)

主要考慮所要達(dá)到的性能價(jià)格比及器件技術(shù)的現(xiàn)狀。

反過(guò)來(lái),計(jì)算機(jī)實(shí)現(xiàn)是計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)和計(jì)算機(jī)組

成的基礎(chǔ),其技術(shù)的發(fā)展對(duì)計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)有著很大

的影響,而計(jì)算機(jī)組成也會(huì)影響計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)。例

如器件的發(fā)展使系統(tǒng)結(jié)構(gòu)由大型機(jī)下移到小型機(jī)及微

機(jī)的速度加快。早期用于大型機(jī)的各種數(shù)據(jù)表示、指

令系統(tǒng)、操作系統(tǒng)很快應(yīng)用到小型機(jī)以及微機(jī)上。例

如,在目前的PC上使用的CPU,都普遍采用了在早期

大型機(jī)才使用的超標(biāo)量技術(shù),并引入了VLIW技術(shù),有

些機(jī)器還使用了超流水線技術(shù)。

系統(tǒng)結(jié)構(gòu)的設(shè)計(jì)必須結(jié)合應(yīng)用考慮,為軟件和算

法的實(shí)現(xiàn)提供更多更好的支持。同時(shí),還要涉及到可

能采用和準(zhǔn)備采用的組成技術(shù)。即計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)的

設(shè)計(jì)應(yīng)考慮減少對(duì)各種組成及實(shí)現(xiàn)技術(shù)的使用限制,

在一種系統(tǒng)結(jié)構(gòu)中,應(yīng)允許有多種不同的組成和實(shí)現(xiàn)

技術(shù)。既能方便的在低檔機(jī)器上用簡(jiǎn)單、低成本的組

成實(shí)現(xiàn),也能在高檔機(jī)器上以較高的成本、復(fù)雜的組

成實(shí)現(xiàn)。例如,在IBM370系列機(jī)中,由低到高有不同

檔次的機(jī)器,它們的中央處理器都具有相同的基本指

令系統(tǒng),

只是指令的分析、執(zhí)行方式不同,在低檔機(jī)器上用順序

方式處理,在高檔機(jī)器上用并行方式處理。又如,在

數(shù)據(jù)通路寬度的組成和實(shí)現(xiàn)上,不同檔次機(jī)器可以分

別采用8位、16位、32位和64位。IBM370系列機(jī)采用

通道方式進(jìn)行輸入輸出,其組成又可以分為在低檔機(jī)

器中采用的結(jié)合型通道和在高檔機(jī)器中采用的獨(dú)立型

通道。

在不同時(shí)期,系統(tǒng)結(jié)構(gòu)、組成和實(shí)現(xiàn)所包含的內(nèi)容

會(huì)有所不同。在某些計(jì)算機(jī)系統(tǒng)中作為系統(tǒng)結(jié)構(gòu)的內(nèi)

容,在另一些計(jì)算機(jī)系統(tǒng)中可能是組成和實(shí)現(xiàn)的內(nèi)容。

隨著各種新技術(shù)的出現(xiàn)和發(fā)展,特別是器件技術(shù)的發(fā)

展,各種功能都集成到一個(gè)芯片上,使系統(tǒng)結(jié)構(gòu)、組

成和實(shí)現(xiàn)融合于一體,系統(tǒng)結(jié)構(gòu)、組成和實(shí)現(xiàn)三者之

間的界限越來(lái)越模糊。

<Back*

1.5計(jì)算機(jī)性能

計(jì)算機(jī)系統(tǒng)的性能指標(biāo),主要取決于計(jì)算機(jī)的本質(zhì)

屬性,即時(shí)空屬性。各項(xiàng)指標(biāo)都圍繞著它的本質(zhì)屬性

來(lái)定義。時(shí)間是衡量計(jì)算機(jī)性能的標(biāo)準(zhǔn)。同樣的工作

量,花費(fèi)的時(shí)間越少速度就越快。衡量機(jī)器性能的唯

一固定而且可靠的標(biāo)準(zhǔn)就是真正執(zhí)行程序的時(shí)間。

151性能因子CPI

CPU的工作是建立在一個(gè)固定的時(shí)鐘節(jié)拍上的,這

個(gè)節(jié)拍有一定的時(shí)間長(zhǎng)度Tc,我們稱之為時(shí)鐘周期

(clockcycles)o它是計(jì)算機(jī)內(nèi)部操作的基本時(shí)間單位,

即計(jì)算機(jī)內(nèi)部每一基本功能操作在一個(gè)或多個(gè)時(shí)鐘周

期的時(shí)間內(nèi)完成。時(shí)鐘周期的單位通常使用納秒

(ns),它的倒數(shù)則是時(shí)鐘的頻率,即CPU的主頻,

通常使用MHz或GHz來(lái)表示。

一個(gè)程序在CPU上運(yùn)行所需的時(shí)間TCPU可以用下述

公式表示:

(1.1)

TCPU=【N義CPIxTc

在式1.1中,表示要執(zhí)行程序中的指令總數(shù),CPI

表示執(zhí)行每條指令所需的平均時(shí)鐘周期數(shù)(Clock

cyclesperinstruction)。由此公式可見(jiàn),程序運(yùn)行的時(shí)

間取決于三個(gè)特征:時(shí)鐘周期(或速率),每條指令

所需的時(shí)鐘周期數(shù)以及程序中總的指令數(shù)。由式1.1可

得到CPI的表達(dá)式:

執(zhí)行整個(gè)程序所需CPU時(shí)鐘周期數(shù)般.

二程序中指令總數(shù)

在程序執(zhí)行過(guò)程中,要用到不同類型的指令,令I(lǐng)表

示第i類指令在程序中執(zhí)行次數(shù),CP1表示執(zhí)行一條第i

類指令所需的平均時(shí)鐘周期數(shù),n為程序中所有的指令

種類數(shù)。則式1.2可以改寫為:

n

£cPIjXli

i=l

CPI=(1.3)

N

因?yàn)镮N是一個(gè)常數(shù),所以式L3可以改寫為:

CPI=E(CPIiXl』N)(L4)

i=l

其中A表示第i類指令在程序中所占的比例。式

1.4說(shuō)明平均CPI,或稱有效CPI,是等于每類指令的平

均CPI和該類指令在整個(gè)程序中出現(xiàn)的百分比的乘積之

和。在這里,我們可以用CPU時(shí)間來(lái)評(píng)價(jià)CPU性能,

。尸。性能=(,NXCPIXTCY1=^4^5)

C

INxCPI

由式1.5可以看出,要改善CPU性能,可以通過(guò)改變

其中某一項(xiàng)或幾項(xiàng)因素來(lái)實(shí)現(xiàn)。事實(shí)上,這三個(gè)因素

是相互關(guān)聯(lián)的。時(shí)鐘頻率Q由硬件技術(shù)和組成技術(shù)決

定,CPI與組成和指令集有關(guān),而指令數(shù)IN則與指令集

和編譯技術(shù)有關(guān)。

1.5.2計(jì)算機(jī)性能常用指標(biāo)MIPS和MFLOPS

1.MIPS(millioninstructionspersecond,每秒百萬(wàn)次

指令)

這是一個(gè)用來(lái)描述計(jì)算機(jī)性能的尺度。對(duì)于一個(gè)給定

的程序,MIPS定義為:

MIPS==—(1.6)

66

TCPUxlOCPZxlO

其中,森示時(shí)鐘速率,它是時(shí)鐘周期的倒數(shù)。

如果用TE代替來(lái)表示程序的執(zhí)行時(shí)間,則由式

L6可得TE的表達(dá)式:

T=-----

MIPSxElO6(1.7)

例1.1已知PentiumII處理機(jī)的CPI=0.5,試計(jì)算

PentiumII450處理機(jī)的運(yùn)算速度。

解:由于Pentium]1450處理機(jī)fc=450MHz,因

此,應(yīng)用式1.6可求出:

fc450xlQ6

iMVlIiPlS二900MIPS

°Pentiumll45QCP/xlO60.5xlO6

BPPentiumll450處理機(jī)的運(yùn)算速度為900MlpS。

顯然,既然MIPS是單位時(shí)間內(nèi)的執(zhí)行次數(shù),所以機(jī)

器工作頻率越高,其MIPS愈高;同樣,執(zhí)行每條指令

所需的平均時(shí)鐘周期數(shù)(CPI)越小,其MIPS值也越

高。MIPS從一定程度上反映了機(jī)器的性能。但是MIPS

有三個(gè)方面的缺陷:

(l)MIPS依賴于指令集,所以使用MIPS來(lái)衡量指令

集不同的機(jī)器的性能優(yōu)劣時(shí),其結(jié)果是很不準(zhǔn)確的。

只適合于評(píng)價(jià)有相同指令集的機(jī)器。

(2)從式1.4和1.6可以看出,在同一臺(tái)機(jī)器上,程序

不同,其CPI也會(huì)不同,其MIPS計(jì)算結(jié)果也會(huì)因?yàn)槌?/p>

序不同而發(fā)生變化,有時(shí)其差異是很大的。

(3)MIPS可能與性能相反。典型例子就是具有可選硬

件浮點(diǎn)運(yùn)算部件的機(jī)器。因?yàn)楦↑c(diǎn)運(yùn)算遠(yuǎn)慢于整數(shù)運(yùn)

算,所以很多機(jī)器提供了可選的硬件浮點(diǎn)運(yùn)算部件,

但是軟件實(shí)現(xiàn)浮點(diǎn)運(yùn)算的MIPS高。然而硬件實(shí)現(xiàn)浮點(diǎn)

運(yùn)算的時(shí)間少,這時(shí)MIPS與機(jī)器性能恰好相反。

在使用MIPS時(shí)應(yīng)注意它的應(yīng)用范圍,它只適宜于評(píng)

估標(biāo)量機(jī),因?yàn)樵跇?biāo)量機(jī)中執(zhí)行一條指令,一般可得

到一個(gè)運(yùn)算結(jié)果,而向量機(jī)中,執(zhí)行一條向量指令通

??傻玫蕉鄠€(gè)運(yùn)算結(jié)果。因此,用MIPS來(lái)衡量向量機(jī)

是不合適的。

2.MFLOPS(millionfloatingpointoperationsper

second,每秒百萬(wàn)次浮點(diǎn)運(yùn)算)

MFLOPS可用如下公式表示:

1FN

MFLOPS=

6(1.8)

TExio

其中,*N表示程序中的浮點(diǎn)運(yùn)算次數(shù)。

由于MFLOPS取決于機(jī)器和程序兩個(gè)方面,因此

MFLOPS只能用來(lái)衡量機(jī)器浮點(diǎn)操作的性能,而不能

體現(xiàn)機(jī)器的整體性能。例如編譯程序,不管機(jī)器的性

能有多好,它的MFLOPS不會(huì)太高。

MFLOPS測(cè)量單位比較適用于衡量向量機(jī)的性能,

因?yàn)镸FLOPS是基于操作而非指令的,所以它可以用

來(lái)比較兩種不同的機(jī)器。一般而言,同一程序運(yùn)行在

不同計(jì)算機(jī)上時(shí)往往會(huì)執(zhí)行不同的指令數(shù),但所執(zhí)行

的浮點(diǎn)數(shù)個(gè)數(shù)常常是相同的。采用MFLOPS作為衡量

單位時(shí),應(yīng)注意它的值不但會(huì)隨整數(shù)、浮點(diǎn)數(shù)操作混

合比例的不同發(fā)生變化,而且也會(huì)隨快速和慢速浮點(diǎn)

操作混合比例的變化而變化。例如,運(yùn)行由100%浮點(diǎn)

加組成的程序所得到的MFLOPS值將比由100%浮點(diǎn)除

法組成的程序要高。

MFLOPS和MIPS兩個(gè)衡量值之間的量值關(guān)系,沒(méi)

有統(tǒng)一標(biāo)準(zhǔn),一般認(rèn)為在標(biāo)量計(jì)算機(jī)中執(zhí)行一次浮點(diǎn)

運(yùn)算需要2?5條指令,平均約需3條指令,故有

1MFLOPS^3MIPSo

例L2用一臺(tái)40MHz處理機(jī)執(zhí)行標(biāo)準(zhǔn)測(cè)試程序,程

序所含的混合指令數(shù)和每類指令的CPI如表1.1所示,

求有效CPI、MIPS速率和程序的執(zhí)行時(shí)間。

解:總的指令數(shù)為:

45000+32000+15000+8000=100000條,因此各類指令所

占的比例分別是:整數(shù)運(yùn)算為45%,數(shù)據(jù)傳送為32%,

浮點(diǎn)操作為15%,控制傳送為8%。

有效CPI、MIPS速率和程序的執(zhí)行時(shí)間分別計(jì)算如下:

⑴有效CPI為:

1X0.45+2X0.32+2X0.15+2X0.08=1.55CPI

(2)MIPS速率為:1/1.55X40=25.8MIPS

(3)程序的執(zhí)行時(shí)間為:

100000X1.55/(40X106)=0.003875s=3875us

表1.1標(biāo)準(zhǔn)測(cè)試程序的混合指令數(shù)和相應(yīng)

所需的時(shí)鐘周期數(shù)

指令類型整數(shù)運(yùn)算數(shù)據(jù)傳送浮點(diǎn)操作控制傳送

指令數(shù)4500032000150008000

CPI1222

例L3假定你是一個(gè)計(jì)算機(jī)設(shè)計(jì)者,已設(shè)想了一個(gè)

優(yōu)化的設(shè)計(jì)方案,它能減少過(guò)程調(diào)用和返回所需的取/

存指令次數(shù)。為了進(jìn)行驗(yàn)證,對(duì)未加優(yōu)化和已優(yōu)化的

方案進(jìn)行實(shí)驗(yàn)測(cè)試,其中假定所使用的是相同的優(yōu)化

編譯器。實(shí)驗(yàn)測(cè)得的結(jié)果如下:

▲優(yōu)化方案的時(shí)鐘周期比未優(yōu)化的快15%;

▲未優(yōu)化方案中的取/存指令數(shù)占總指令數(shù)的

30%;

▲優(yōu)化方案中的取/存指令比未優(yōu)化的少1/3。對(duì)于

其它指令,兩種方案的動(dòng)態(tài)執(zhí)行數(shù)沒(méi)有變化;

▲未優(yōu)化方案的所有指令執(zhí)行均只需1個(gè)時(shí)鐘周

期,而優(yōu)化方案只有取/存指令執(zhí)行需要2個(gè)時(shí)鐘周

期,其它指令執(zhí)行也只需1個(gè)時(shí)鐘周期。

試計(jì)算:

(1)優(yōu)化方案的平均CPI;

(2)優(yōu)化方案加速比。

解:(1)優(yōu)化方案的平均CPI為:

0.2/0.9X2+0.7/0.9X171.22CPI

(2)由題意,因?yàn)槲磧?yōu)化方案的所有指令執(zhí)行均只需

1個(gè)時(shí)鐘周期,因此其平均CPI為1CPI。根據(jù)題意,有:

(■未優(yōu)化工優(yōu)化)工未優(yōu)化二0?15

解之,得:,優(yōu)化=0.85,未優(yōu)化

優(yōu)化方案的加速比為:

Sp=未優(yōu)化方案程序的執(zhí)行時(shí)間/已優(yōu)化方案程序的執(zhí)行

時(shí)間

二(1N未優(yōu)化XC叫優(yōu)化x1未優(yōu)化)/(1優(yōu)化xCPI優(yōu)化XTc優(yōu)化)

二(1N未優(yōu)化X1X1未優(yōu)化)/(0?91未優(yōu)化X1.22X0.85Tc未優(yōu)化)

心1.075

3.用基準(zhǔn)程序來(lái)評(píng)價(jià)計(jì)算機(jī)性能

基準(zhǔn)程序(benchmark)是性能測(cè)試程序,并假設(shè)它

能刻劃某一類應(yīng)用問(wèn)題的處理和數(shù)據(jù)移動(dòng)特征?;鶞?zhǔn)

程序用來(lái)測(cè)量和預(yù)測(cè)計(jì)算機(jī)系統(tǒng)的性能,并能提示它

們的體系結(jié)構(gòu)的弱點(diǎn)和優(yōu)點(diǎn)?;鶞?zhǔn)程序組(benchmark

suite)是一套基準(zhǔn)程序的控制測(cè)試條件及過(guò)程的一組特

定規(guī)則,包括輸入數(shù)據(jù)、輸出結(jié)果以及性能指標(biāo)?;?/p>

準(zhǔn)程序系列(benchmarkfamily)則是一套基準(zhǔn)程序組。

基準(zhǔn)程序可分為宏基準(zhǔn)程序和微基準(zhǔn)程序兩大類。

宏基準(zhǔn)程序用來(lái)測(cè)量一個(gè)計(jì)算機(jī)系統(tǒng)的總體性能,而

微基準(zhǔn)程序則是用來(lái)測(cè)量一個(gè)計(jì)算機(jī)系統(tǒng)某一特定方

面的性能,如CPU速度、存儲(chǔ)器速度、I/O速度、操作

系統(tǒng)性能及網(wǎng)絡(luò)性能等等。表1.2示出了幾個(gè)具有代表

性的微基準(zhǔn)程序組和宏基準(zhǔn)程序組。

SPEC(StandardPerformanceEvaluationCorporation)

最初是由30個(gè)左右世界知名計(jì)算機(jī)大廠商所支持的非

盈利的合作組織,成員包括:IBM、AT&T、BULL、

Compaq>CDC、DG、DEC、Fujitsu>HP、英特爾、

MIPS、SGLSUN、Unisys等;SPEC基準(zhǔn)測(cè)試程序能

夠全面反映機(jī)器的性能,具有很高的參考價(jià)值,已成

為事實(shí)上的工業(yè)標(biāo)準(zhǔn)。隨著因特網(wǎng)的快速發(fā)展,各種

各樣的新技術(shù)的應(yīng)用,SPEC也不斷變化和增加其測(cè)試

的范圍和內(nèi)容。

SPEC已經(jīng)從早期只進(jìn)行CPU性能測(cè)試發(fā)展到電子

商務(wù)、萬(wàn)維網(wǎng)服務(wù)、電子郵件服務(wù)、高性能機(jī)群計(jì)算

機(jī)等等多方面應(yīng)用的測(cè)試。例如,

SPECjAppServer2002應(yīng)用于JAVA應(yīng)用服務(wù)器性能測(cè)

試,SPECMAIL2001提供電子郵件服務(wù)器性能測(cè)試,

SPECweb99則是用來(lái)評(píng)估萬(wàn)維網(wǎng)服務(wù)器性能的測(cè)試。

表1.2幾個(gè)具有代表性的微基準(zhǔn)程序組和宏基

準(zhǔn)程序組

類型名稱測(cè)試范圍

微基準(zhǔn)程序UNPACK數(shù)值計(jì)算(線性代數(shù))

LMBENCHunix中的系統(tǒng)調(diào)用和數(shù)據(jù)移動(dòng)

STREAM存儲(chǔ)器帶寬

宏基準(zhǔn)程序NAS并行計(jì)算(CFD)

PARKBENCH并行計(jì)算

SPEC混合基準(zhǔn)程序系列

Splash并行計(jì)算

STAP信號(hào)處理

TPC商業(yè)應(yīng)用

在1989年10月,SPEC發(fā)布了第一個(gè)基準(zhǔn)測(cè)試程

序,包含10個(gè)測(cè)試程序,程序量超過(guò)15萬(wàn)行,4個(gè)定點(diǎn)

程序,6個(gè)浮點(diǎn)程序;其測(cè)試結(jié)果用SPECint89和

SPECfp89表示。1992年,又增加10個(gè)測(cè)試程序,共有6

個(gè)定點(diǎn)程序和14個(gè)浮點(diǎn)程序,測(cè)試結(jié)果用SPECint92和

SPECfp92表示o1995年推出SPECint95和SPECfp95。

到了1999年,發(fā)布了測(cè)試標(biāo)準(zhǔn)為SPECCPU2000的第一

個(gè)版本V1.0,2001年推出了SPECCPU2000的Vl.2版本。

SPECCPU2000由CINT2000和CFP2000組成,其中

CINT2000由12個(gè)基準(zhǔn)測(cè)試程序(H個(gè)由C語(yǔ)言編寫,1

個(gè)由C++語(yǔ)言編寫)組成,分別是gzip、vpr>gcc>

mcf、crafty、parser、eon、perlbmk、gap、vortex、

bzip2和twolf,程序說(shuō)明見(jiàn)表1.3;CINT2000主要完成

在各種不同應(yīng)用環(huán)境下計(jì)算機(jī)的整數(shù)運(yùn)算能力的測(cè)

試,其結(jié)果用SPECint2000表示。

表1.3CINT2000的基準(zhǔn)測(cè)試程序

基準(zhǔn)測(cè)試程序編程語(yǔ)言設(shè)計(jì)者基準(zhǔn)時(shí)間說(shuō)明

gzipANSICJean-LoupGailly1400數(shù)據(jù)壓縮

vprANSICVaughnBetz1400FPGA電路布線

gccANSIC1100C優(yōu)化編譯器

mcfANSICAndreasLoebel1800組合優(yōu)化(交通運(yùn)輸調(diào)度)

craftyANSICRobertHyatt1000國(guó)際象棋游戲

parserANSICDannySleator,Davy1800字處理

Temperley

eonC++PeterShirley,KenChiu,1300計(jì)算機(jī)可視化

et.al.

perlbmkANSICLarryWall,et.al.1800Perl程序設(shè)計(jì)語(yǔ)言

gapANSICMartinSchoenert1100群論、解釋程序

vortexANSICPeterR.Homan1900面向?qū)ο蟮臄?shù)據(jù)庫(kù)

bzip2ANSICJulianSeward1500數(shù)據(jù)壓縮

twolfANSICBillSwartz3000布線布局模型

CFP2000由14個(gè)浮點(diǎn)測(cè)試程序(6個(gè)由Fortran-77編

寫,4個(gè)由Fortran-90編寫,4個(gè)由C語(yǔ)言編寫)組成,

分另U是wupwise、swim、mgrid、applu>mesa>galgel>

art>equake>facerec>ammp>lucas>fma3d>sixtrack

和apsi,程序說(shuō)明見(jiàn)表1.4。CFP2000主要完成在不同應(yīng)

用環(huán)境下計(jì)算機(jī)的浮點(diǎn)運(yùn)算能力測(cè)試,其結(jié)果用

SPECfp2000表示。

表1.4CFP2000的基準(zhǔn)測(cè)試程序

測(cè)試程序編程語(yǔ)言設(shè)計(jì)者基準(zhǔn)時(shí)說(shuō)明

wupwiseFortran77BjoernMedeke1600量子色動(dòng)力學(xué)

swimFortran77PaulN.Swarztrauber3100淺水區(qū)建模

mgridFortran77EricBarszcz,PaulO.Frederickson18003D勢(shì)場(chǎng)

appluFortran77SisiraWeeratunga2100拋物線/橢圓型偏微

分方程

mesaCBrianE.Paul14003D圖形庫(kù)

galgelFortran90AlexanderGelfgat2900計(jì)算機(jī)流體力學(xué)

artcCharlesRoberson&MaxDomeika2600圖象識(shí)別/神經(jīng)網(wǎng)絡(luò)

equakecDavidR.O'HallaronandLoukasF.1300模擬地震波在水庫(kù)

Kallivokas中的傳播

facerecFortran90JanC.Vorbrueggen1900圖象處理

ammpCRobertW.Harrison2200計(jì)算化學(xué)

lucasFortran90ErnstMayer2000數(shù)論:原始測(cè)試

fma3dFortran90SamuelW.Key2100有限元法碰撞仿真

sixtrackFortran77FrankSchmidt1100高能核物理加速器

設(shè)計(jì)

apsiFortran77ZaphirisD.Christidis2600污染物分布(氣象

學(xué))

從表1.3和表1.4中,也可以看出,SPECCPU2000基

準(zhǔn)測(cè)試程序包含了不同領(lǐng)域間的應(yīng)用,如天氣預(yù)報(bào)、

流體力學(xué)、數(shù)據(jù)壓縮、數(shù)據(jù)庫(kù)、編譯、物理、化學(xué)、

人工智能、圖象處理等方面,能更好的反映計(jì)算機(jī)的

性能。表1.5給出了2000年到2003年間一些常用CPU的

測(cè)試結(jié)果。

SPECCPU2000基準(zhǔn)測(cè)試程序選擇SunUltra5_10I

作站性能作為參考性能,此工作站具有300MHzSun

SPARC微處理器,帶有256MB主存。表1.5中的

SPECint2000值是對(duì)CINT2000基準(zhǔn)程序組中12個(gè)基準(zhǔn)

程序速率與SunUltra5_10工作站速率之比取幾何平均

值得到的。同樣,SPECfp2000值是對(duì)CFP2000基準(zhǔn)程

序組中14個(gè)基準(zhǔn)程序速率與SunUltra5_10工作站速率

之比取幾何平均值得到的。

1.5.3計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)的性能評(píng)價(jià)標(biāo)準(zhǔn)

關(guān)于計(jì)算機(jī)的性能評(píng)價(jià),通常用峰值性能(peak

performance)及持續(xù)性能(sustainedperformance)兩個(gè)指

標(biāo)。峰值性能是指在理想情況下計(jì)算機(jī)系統(tǒng)可獲得的

最高理論性能值,它不能反映系統(tǒng)的實(shí)際性能。實(shí)際

性能又稱持續(xù)性能,它的值往往只有峰值性能的5%到

35%(因算法而異)。

持續(xù)性能的表示常用算術(shù)平均值、調(diào)和平均值和

幾何平均值三種方法,這三種性能值(運(yùn)算速率)的

計(jì)算公式表示如下:

1.算術(shù)性能平均值A(chǔ)m

以程序執(zhí)行的速率Ri來(lái)進(jìn)行性能評(píng)價(jià),則有

+,+?..+」

(1.9)

〃日n曰TnT】

Tn

其中Tj是第i個(gè)程序的執(zhí)行時(shí)間,式1.9得到的結(jié)果是

n個(gè)程序的平均執(zhí)行速率。若根據(jù)執(zhí)行時(shí)間進(jìn)行評(píng)價(jià),

則平均執(zhí)行時(shí)間是各執(zhí)行時(shí)間的算術(shù)平均值。式1.9則

改寫為:

]n

4=—X*(1」。)

這時(shí)的Am表示的是n個(gè)程序的平均執(zhí)行時(shí)間。

表1.5SPECCPU2000測(cè)試結(jié)果

CPU工作頻率(MHz)SPECint2000SPECfp2000測(cè)試時(shí)間

Alpha21264A8335336442000.1

PowerPC604e250105842000.4

RI20004003474072000.4

PA-86005504224142000.10

AMDAthlon12004584172000.11

UltraSPARC-IIe5001741822001.2

RS64IV7504393762001.7

SPARC64GP6004064032001.8

PentiumIII10004082642001.8

POWER3-II4503184332001.9

Pentium4(2.0AGHz)20007597732002.5

Pentium4(3.06GHz)3067110710912002.8

RI40006005005292002.8

AMDAthlon(TM)MP20007666932002.11

2400+

Alpha21264C125087713652002.11

UltraSPARCIIICu120071211062003.3

AMDOpteron1441800110011542003.4

POWER4+1700111316782003.4

AMDAthlon(TM)XP220010809822003.5

3200+

SPARC64V110068210302003.5

IntelItanium21500107720552003.6

IntelXeon3066125811842003.6

2.調(diào)和性能平均值Hm

調(diào)和性能平均值Hm的表達(dá)式為:

Hnnn

emnn(1.11)

£1學(xué)Tl+小

由式i.n可以看出,Hm的值與運(yùn)行所有程序所需時(shí)

間的總和成反比關(guān)系,從執(zhí)行時(shí)間是衡量性能指標(biāo)的

唯一標(biāo)準(zhǔn)這一點(diǎn)來(lái)看,用Hm值來(lái)衡量計(jì)算機(jī)系統(tǒng)性能

是較為精確的。

3.幾何性能平均值Gm

對(duì)性能的評(píng)價(jià)的第三種方法是使用幾何平均值,

其表達(dá)式如下:

(1.12)

使用Gm有一個(gè)很好的特性:G/X,)/G”區(qū))=Gm(XjYi)

,即幾何平均值之比與比的幾何平均值是相等的,因

此在對(duì)各種機(jī)器性能比較而進(jìn)行性能規(guī)格化(即以某

臺(tái)機(jī)器性能作參考標(biāo)準(zhǔn),其它機(jī)器性能除以該參考標(biāo)

準(zhǔn)所得到的值)過(guò)程中,不論取哪一臺(tái)作參考機(jī),Gm

均能保持比較結(jié)果的一致性,Am和Hm由于沒(méi)有這樣的

特性,因而在作比較時(shí),就不如仃皿那樣方便。下面我

們通過(guò)一個(gè)例子來(lái)說(shuō)明這一點(diǎn)。

例1.4已知四個(gè)程序在三臺(tái)計(jì)算機(jī)上的執(zhí)行時(shí)間

如表1.6所示,假設(shè)四個(gè)程序中每一個(gè)都有100000000

條指令要執(zhí)行,計(jì)算這三臺(tái)計(jì)算機(jī)中每臺(tái)機(jī)器上每個(gè)

程序的MIPS速率。根據(jù)這些速率值,能否得出有關(guān)三

臺(tái)計(jì)算機(jī)相對(duì)性能的明確結(jié)論?能否找到一種將它們

統(tǒng)計(jì)排序的方法,試說(shuō)明理由。

表1.6四個(gè)程序在三臺(tái)計(jì)算機(jī)上的執(zhí)行時(shí)間

執(zhí)行時(shí)間(s)

程序計(jì)算機(jī)A計(jì)算機(jī)B計(jì)算機(jī)C

程序111020

程序2100010020

程序3500100050

程序4100800100

解:(1)這三臺(tái)計(jì)算機(jī)中每臺(tái)機(jī)器上每個(gè)程序的

MIPS速率如表1.7所示。

表1.7四個(gè)程序在三臺(tái)計(jì)算機(jī)上的MIPS速率

MIPS速率(MIPS)

程序計(jì)算機(jī)A計(jì)算機(jī)B計(jì)算機(jī)C

程序1100105

程序20.115

程序30.20.12

程序410.1251

(2)以A機(jī)為標(biāo)準(zhǔn)的規(guī)格化測(cè)試值和Gm/GmA值如表1.8所示。

表1.8以A機(jī)為標(biāo)準(zhǔn)的規(guī)格化測(cè)試值和Gm/GmA值

執(zhí)行速率Ri(MIPS)

程序計(jì)算機(jī)A計(jì)算機(jī)B計(jì)算機(jī)C

程序1100(1)10(0.1)5(0.05)

程序20.1(1)1(10)5(50)

程序30.2(1)0.1(0.5)2(10)

程序41(1)0.125(0.125)1(1)

Gm/GmA機(jī)狄).0625場(chǎng)

GmC>mA>GmB

:.三臺(tái)計(jì)算機(jī)相對(duì)來(lái)說(shuō),C的性能最好,A的性能次

之,B的性能最差。

如果考慮工作負(fù)載中各程序不會(huì)以相等的比例出

現(xiàn)這一情況,就需要對(duì)各程序的執(zhí)行速率或執(zhí)行時(shí)間

加上相應(yīng)的權(quán)值。例如,一個(gè)任務(wù)由三個(gè)程序完成,

程序1的比例占10%,程序2的比例占35%,程序3的比

例占55%,那么它們的權(quán)值分別為0.1、0.35和0.55,將

其與對(duì)應(yīng)程序的執(zhí)行速率或執(zhí)行時(shí)間相乘,再累加求

和,即可得到加權(quán)算術(shù)平均值。

同理,可以得到加權(quán)幾何平均值和加權(quán)調(diào)和平均

值。在這里,用Wi來(lái)表示第i個(gè)程序的權(quán)值,則對(duì)應(yīng)表

達(dá)式如下:

加權(quán)算術(shù)平均值:

nnTTZ

(1.13)

i=\i-l1i

加權(quán)調(diào)和平均值:

.屋

%=少工尸(1.14)

i=li-lKi

加權(quán)幾何平均值:

n

Wix(7?2)%X…x(&)w〃(1.15)

Gm=Yl^=(R1產(chǎn)

i=\

1.5.4計(jì)算機(jī)系統(tǒng)設(shè)計(jì)的定量原理

這里將討論在計(jì)算機(jī)系統(tǒng)設(shè)計(jì)中應(yīng)遵循的一些重要

定量原理和應(yīng)注意的現(xiàn)象。

1.只加速使用頻率高的部件

這是最重要也是最廣泛采用的計(jì)算機(jī)設(shè)計(jì)準(zhǔn)則。

因?yàn)榧涌焯幚眍l繁出現(xiàn)事件對(duì)系統(tǒng)的影響遠(yuǎn)比加速處

理很少出現(xiàn)事件的影響要大。使經(jīng)常性事件的處理速

度加快能明顯提高整個(gè)系統(tǒng)的性能。一般說(shuō)來(lái),經(jīng)常

性事件的處理比較簡(jiǎn)單,因此比不經(jīng)常出現(xiàn)的事件處

理起來(lái)要快。

例如,在CPU中兩個(gè)數(shù)進(jìn)行相加運(yùn)算時(shí),相加結(jié)

果可能出現(xiàn)溢出現(xiàn)象,也可能無(wú)溢出發(fā)生,顯然經(jīng)常

出現(xiàn)的事件是不發(fā)生溢出的情況,而溢出是偶然發(fā)生

的事件。因此,在設(shè)計(jì)時(shí)應(yīng)優(yōu)化不發(fā)生溢出的情況,

使這個(gè)經(jīng)常性事件的處理速度盡可能快。而對(duì)溢出處

理則不必過(guò)多考慮優(yōu)化。因?yàn)榘l(fā)生溢出的概率很小,

即使發(fā)生了,處理得慢一些也不會(huì)對(duì)系統(tǒng)性能產(chǎn)生很

大的影響。

在計(jì)算機(jī)設(shè)計(jì)過(guò)程中經(jīng)常會(huì)遇到上述情況,如何

確定經(jīng)常性事件以及如何加快處理它的速度,這就是

下面介紹的Amdahl定律要解決的問(wèn)題。

2.阿姆達(dá)爾(Amdahl)定律

阿姆達(dá)爾定律是1967年由IBM360系列機(jī)的主要設(shè)計(jì)

者阿姆達(dá)爾首先提出來(lái)的。阿姆達(dá)爾定律是指:系統(tǒng)

中對(duì)某一部件采用某種更快執(zhí)行方式所能獲得的系統(tǒng)

性能改進(jìn)程度,取決于這種執(zhí)行方式被使用的頻率,

或所占總執(zhí)行時(shí)間的比例。Amdahl定律實(shí)際上定義了

采取增強(qiáng)(加速)某部分功能處理后可獲得的性能改

進(jìn)或執(zhí)行時(shí)間的加速比。

若用T0】d表示不采用任何增強(qiáng)功能措施完成某一任

務(wù)的時(shí)間,用丁.卬表示采用某種增強(qiáng)功能措施后計(jì)算

機(jī)完成同一任務(wù)所需時(shí)間。以二卬表示可采取增強(qiáng)功能

措施的部分所占百分比(顯然,OW/ewWl),而以

%w表示采用增強(qiáng)功能措施比不采用增強(qiáng)功能可加快執(zhí)

行的倍數(shù),則性能(或時(shí)間)加速比Sp可用如下公式

表不:

T

cold1

bp一~(1.16)

new(1—fnew)+fnew/^new

該公式分母中的(>fnew)表示不可增強(qiáng)性能部分

的百分比,顯然:

(1)當(dāng)£ew為0時(shí),即沒(méi)有可增強(qiáng)性部分時(shí),Sp=l;

(2)當(dāng)一^8時(shí),分母中fne/Zw項(xiàng)變?yōu)椤?,此時(shí)

Sp=l/(l£ew)。由此可以看出,可獲得性能改善的極

限值受值的約束。

例L5若考慮將系統(tǒng)中某一功能的處理速度加快10

倍,但該功能的處理使用時(shí)間僅為整個(gè)系統(tǒng)運(yùn)行時(shí)間

的40%,則采用此增強(qiáng)功能方法后,能使整個(gè)系統(tǒng)的

性能提高多少?

解:由題可知:%亞=1。,fnew=04根據(jù)公式,有:

S=______i______=_i—=156

P(1-0.4)+0.4/100.64.

即采用此增強(qiáng)功能方法后,能使整個(gè)系統(tǒng)的性能

提高為原來(lái)的1.56倍。

例1.6如果某一計(jì)算任務(wù)用向量方式求解比用標(biāo)

量方式求解要快20倍,稱可用向量方式求解部分所花

費(fèi)時(shí)間占總的時(shí)間的百分比為可向量化百分比。

(1)請(qǐng)寫出加速比Sp與可向量化比例x之間的關(guān)系表

達(dá)式。

(2)為達(dá)到加速比2,可向量化的百分比應(yīng)為多

少?

(3)為獲得采用向量方式最大加速比半值(即10)

時(shí),所需可量化的百分比為多少?

解:(1)根據(jù)公式,得:

]

P(1-x)+x/201-0.95%

(2)由題意:

解此方程,可得到x=0.526,即為達(dá)到加速比2,可

向量化的百分比應(yīng)為52.6%o

(3)由題意:

解此方程,可推出x=0.947,即為獲得采用向量方

式最大加速比半值時(shí),所需可量化的百分比為94.7%。

3.程序訪問(wèn)的局部性規(guī)律

所謂程序訪問(wèn)局部性是指程序執(zhí)行中,呈現(xiàn)出頻

繁重新使用那些最近已被使用過(guò)的數(shù)據(jù)和指令的規(guī)律。

統(tǒng)計(jì)表明一個(gè)程序執(zhí)行時(shí)間中的90%是花費(fèi)在10%程序

代碼上,而另外90%的指令的使用率合起來(lái)也只有

10%,有的指令的使用率連1%也不到。這為我們?cè)O(shè)計(jì)

指令系統(tǒng)時(shí)提供了指導(dǎo),

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論