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

下載本文檔

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

文檔簡介

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

1.1.1按功能劃分的多級層次結(jié)構(gòu)現(xiàn)代計(jì)算機(jī)是通過執(zhí)行指令來解決問題的,它由軟件和硬件兩大部分組成。描述一個任務(wù)如何實(shí)現(xiàn)的指令序列稱為程序,所有程序在執(zhí)行前都必須轉(zhuǎn)換成計(jì)算機(jī)能識別以及直接執(zhí)行的機(jī)器指令。這些機(jī)器指令與機(jī)器硬件直接對應(yīng),并能被其直接識別和執(zhí)行,然而使用機(jī)器語言編程既不方便,也無法適應(yīng)解題需要和計(jì)算機(jī)應(yīng)用范圍的擴(kuò)大。第2頁,共152頁,2024年2月25日,星期天這個問題可從兩方面去解決,前提是都需要設(shè)計(jì)一個比機(jī)器指令更方便使用或編程的指令集合,由它構(gòu)成新的語言,例如匯編語言。匯編語言是一種符號語言,給程序員編程提供了方便,盡管每個語句仍基本上與機(jī)器指令對應(yīng),卻并不能被機(jī)器直接識別和執(zhí)行;用匯編語言開發(fā)的程序需要某種轉(zhuǎn)換才能在實(shí)際機(jī)器上執(zhí)行。轉(zhuǎn)換的方式有以下兩種:第3頁,共152頁,2024年2月25日,星期天

翻譯(translation):在執(zhí)行匯編語言源程序之前生成一個等價的機(jī)器語言指令序列來替換它,生成的程序全部由機(jī)器指令組成,計(jì)算機(jī)執(zhí)行等效的機(jī)器語言源程序來代替原來的匯編語言源程序。即把源程序先轉(zhuǎn)換成目標(biāo)程序,而后再在機(jī)器上執(zhí)行目標(biāo)程序以獲得結(jié)果。

解釋(interpretation):用機(jī)器指令寫一個程序,將匯編語言源程序作為輸入數(shù)據(jù),按順序檢查它的每條指令,然后直接執(zhí)行等效的機(jī)器指令序列來解決問題。第4頁,共152頁,2024年2月25日,星期天匯編語言源程序可以在機(jī)器上運(yùn)行并獲得結(jié)果,是因?yàn)橛袇R編程序的支持。在匯編語言程序設(shè)計(jì)者看來,就好像有了一臺用匯編語言作為機(jī)器語言的機(jī)器。這里的機(jī)器是指能存儲和執(zhí)行程序的算法和數(shù)據(jù)結(jié)構(gòu)的集合體。我們把以軟件(Software)為主實(shí)現(xiàn)的機(jī)器,稱之為虛擬機(jī)器,而把由硬件(Hardware)和固件(Firmware)實(shí)現(xiàn)的機(jī)器稱為實(shí)際機(jī)器。顯然,虛擬機(jī)器的實(shí)現(xiàn)是構(gòu)筑在實(shí)際機(jī)器之上的。下圖給出了虛擬機(jī)器與實(shí)際機(jī)器之間構(gòu)成的一個簡單的層次結(jié)構(gòu)。第5頁,共152頁,2024年2月25日,星期天圖1.1虛擬機(jī)器和實(shí)際機(jī)器層次結(jié)構(gòu)舉例第6頁,共152頁,2024年2月25日,星期天語言與虛擬機(jī)之間存在著重要的對應(yīng)關(guān)系,每種機(jī)器都有由它能執(zhí)行的指令組成的機(jī)器語言。同時,語言也定義了機(jī)器,即機(jī)器要能執(zhí)行這種語言所寫的程序。有n層不同的語言,就對應(yīng)有n層不同的虛擬機(jī)。在圖1.2中我們給出了典型的現(xiàn)代計(jì)算機(jī)的多級層次結(jié)構(gòu)。例如,匯編語言(L3)是面向機(jī)器的一種符號語言,其語法、語義結(jié)構(gòu)仍然和二進(jìn)制機(jī)器語言的基本相同,但與解題所需的差別較大,于是進(jìn)一步出現(xiàn)了面向題目和過程的高級語言(L4);第7頁,共152頁,2024年2月25日,星期天在高級語言的基礎(chǔ)上還出現(xiàn)了面向應(yīng)用的應(yīng)用語言(L5),因此我們可以得到多個層次的虛擬機(jī)器;而對于實(shí)際機(jī)器級若采用微程序(L0)控制,它又可分解成傳統(tǒng)機(jī)器級M1和微程序級M0;雖然目前很多機(jī)器上的操作系統(tǒng)(L2)已不再用匯編語言編寫,而是用面向系統(tǒng)軟件的高級語言,如C語言,但從實(shí)質(zhì)上看,操作系統(tǒng)是傳統(tǒng)機(jī)器的引伸,它要提供傳統(tǒng)機(jī)器所沒有但為匯編語言和高級語言的使用和實(shí)現(xiàn)所需的某些基本操作和數(shù)據(jù)結(jié)構(gòu),如文件管理、進(jìn)程管理、中斷管理、作業(yè)控制、存儲管理和輸入輸出等等,它們在許多機(jī)器上是經(jīng)機(jī)器語言程序解釋實(shí)現(xiàn)的。因此,操作系統(tǒng)級放在傳統(tǒng)機(jī)器級之上,匯編語言級之下。第8頁,共152頁,2024年2月25日,星期天圖1.2計(jì)算機(jī)系統(tǒng)的多級層次結(jié)構(gòu)第9頁,共152頁,2024年2月25日,星期天把計(jì)算機(jī)系統(tǒng)按功能劃分為多個層次結(jié)構(gòu)后,對各機(jī)器級的程序員而言,只要熟悉和遵守該級語言的規(guī)范準(zhǔn)則,所編寫的程序總能在此機(jī)器級上運(yùn)行并得到結(jié)果,而不用了解該機(jī)器級是如何實(shí)現(xiàn)的。各機(jī)器級的實(shí)現(xiàn)主要靠翻譯或解釋,或者是這兩者的結(jié)合。翻譯是先用轉(zhuǎn)換程序?qū)⒏咭患墮C(jī)器級上的程序整個地變換成低一級機(jī)器級上可運(yùn)行的等效程序,然后再在低一級機(jī)器級上實(shí)現(xiàn)的技術(shù)。解釋則是在低一級機(jī)器級上用它的一串語句或指令來仿真高一級機(jī)器級上的一條語句或指令的功能,通過對高一級程序中的每條語句或指令逐條解釋來實(shí)現(xiàn)的技術(shù)。第10頁,共152頁,2024年2月25日,星期天計(jì)算機(jī)系統(tǒng)采用何種實(shí)現(xiàn)方式,要從效率、速度、價格、資源狀況、可靠性等多方面因素全盤考慮,對軟件、硬件及固件的取舍進(jìn)行綜合平衡。

軟件和硬件在邏輯功能上是等效的,同一邏輯功能既可以用軟件也可以用硬件或固件實(shí)現(xiàn),從原理上講,軟件實(shí)現(xiàn)的功能完全可以用硬件或固件完成,同樣,硬件實(shí)現(xiàn)的邏輯功能也可以由軟件的模擬來完成,只是性能、價格以及實(shí)現(xiàn)的難易程度不同而已。第11頁,共152頁,2024年2月25日,星期天例如,在計(jì)算機(jī)中實(shí)現(xiàn)十進(jìn)制乘法這一功能,既可以用硬件來實(shí)現(xiàn),也可以用軟件來完成。用硬件實(shí)現(xiàn),需設(shè)計(jì)十進(jìn)制乘法機(jī)器指令,用硬件電路來實(shí)現(xiàn)該指令,其特點(diǎn)是完成這一功能的速度快,但需要更多的硬件。而用軟件來實(shí)現(xiàn)這個功能,則要采用加法、移位等指令通過編程來實(shí)現(xiàn),其特點(diǎn)是實(shí)現(xiàn)的速度慢,但不需增加硬件。第12頁,共152頁,2024年2月25日,星期天

軟、硬件的功能分配比例可以在很寬的范圍內(nèi)變化,這種變化是動態(tài)的,如圖1.3所示,軟硬功能分配的比例隨不同時期以及同一時期的不同機(jī)器的變化而變化。由于軟、硬件是緊密相關(guān)的,軟硬界面常常是模糊不清的,在計(jì)算機(jī)系統(tǒng)的功能實(shí)現(xiàn)上,有時候很難分清哪些功能是由硬件完成的,哪些功能是由軟件完成的。在滿足應(yīng)用的前提下,軟硬功能分配比例的確定,主要是看能否充分利用硬件、器件技術(shù)的現(xiàn)狀和進(jìn)展,使計(jì)算機(jī)系統(tǒng)達(dá)到較高的性能價格比。對于計(jì)算機(jī)系統(tǒng)的用戶,還要考慮他所直接面對的應(yīng)用語言所對應(yīng)的機(jī)器級的發(fā)展?fàn)顩r。第13頁,共152頁,2024年2月25日,星期天圖1.3軟硬件功能分配第14頁,共152頁,2024年2月25日,星期天從目前軟硬件技術(shù)的發(fā)展速度及實(shí)現(xiàn)成本上看,隨著器件技術(shù)的高速發(fā)展,特別是半導(dǎo)體集成技術(shù)的高速發(fā)展,以前由軟件來實(shí)現(xiàn)的功能,越來越多的由硬件來實(shí)現(xiàn),總的來說,軟件硬化是目前計(jì)算機(jī)系統(tǒng)發(fā)展的主要趨勢。第15頁,共152頁,2024年2月25日,星期天

1.1.2按功能劃分層次的好處從概念和功能上把一個復(fù)雜的計(jì)算機(jī)系統(tǒng)看成是由多個機(jī)器級構(gòu)成的層次結(jié)構(gòu),可以有如下的好處:首先,有利于理解軟件、硬件和固件在系統(tǒng)中的地位和作用;從系統(tǒng)層次的劃分中,可以看出,微程序機(jī)器級(M0)、傳統(tǒng)機(jī)器級(M1)、操作系統(tǒng)機(jī)器級(M2)不是為應(yīng)用程序員解題設(shè)計(jì)的,而是為運(yùn)行支持更高層次機(jī)器級程序所必須的解釋程序和翻譯程序而設(shè)計(jì)的,以便能設(shè)計(jì)和實(shí)現(xiàn)新的虛擬機(jī)器級。第16頁,共152頁,2024年2月25日,星期天在這之上的機(jī)器級(M3~M5級)則主要是為應(yīng)用程序設(shè)計(jì)人員解決各類實(shí)際應(yīng)用問題而設(shè)計(jì)的。其次,系統(tǒng)按層次進(jìn)行劃分,有利于理解各種語言的實(shí)質(zhì)和實(shí)現(xiàn)途徑;計(jì)算機(jī)各層次的語言總是通過低一級的語言翻譯或解釋來實(shí)現(xiàn)的,這就說明相鄰機(jī)器級之間的語義差別不能太大。再次,系統(tǒng)按層次進(jìn)行劃分,有利于推動計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)的發(fā)展;例如,可以重新分配軟、硬件的比例,為虛擬機(jī)器的各個層次提供更多更好的硬件支持,改變硬件及器件快速發(fā)展而軟件卻日益復(fù)雜、開銷過大的狀況。第17頁,共152頁,2024年2月25日,星期天可以用硬件和固件來實(shí)現(xiàn)高級語言和操作系統(tǒng)而形成高級語言機(jī)器和操作系統(tǒng)機(jī)器。再如,用真正的機(jī)器來取代各級虛擬機(jī),擺脫各級功能都在同一臺實(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ī)按功能劃分成多個不同的層次結(jié)構(gòu),從各個層次的功能劃分和實(shí)現(xiàn)去了解計(jì)算機(jī)系統(tǒng),有助于更深入的了解系統(tǒng)結(jié)構(gòu)的定義。第18頁,共152頁,2024年2月25日,星期天1.2計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)“計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)”這個名詞來源于英文ComputerArchitecture,也譯成“計(jì)算機(jī)體系結(jié)構(gòu)”。architecture這個詞原來用在建筑領(lǐng)域,原意“建筑、建筑學(xué)”,60年代這個名詞被引入計(jì)算機(jī)領(lǐng)域,“計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)”一詞已經(jīng)得到普遍應(yīng)用,它研究的內(nèi)容不但涉及計(jì)算機(jī)硬件,也涉及計(jì)算機(jī)軟件,已經(jīng)成為一門學(xué)科。第19頁,共152頁,2024年2月25日,星期天

1.2.1計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)的定義計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)這個詞是Amdahl(Gene.Amdahl吉恩.阿姆達(dá)爾)等人在1964年介紹IBM360時提出的。他們把系統(tǒng)結(jié)構(gòu)定義為由程序設(shè)計(jì)者所看到的一個計(jì)算機(jī)系統(tǒng)的屬性,即概念性結(jié)構(gòu)和功能特性。這實(shí)際上是計(jì)算機(jī)系統(tǒng)的外特性。按照計(jì)算機(jī)層次結(jié)構(gòu),不同程序設(shè)計(jì)者所看到的計(jì)算機(jī)具有不同的屬性。在計(jì)算機(jī)技術(shù)中,一種本來是存在的事物或?qū)傩?,但從某種角度看卻好象不存在,稱為透明性。通常,在一個計(jì)算機(jī)系統(tǒng)中,低層機(jī)器級的概念性結(jié)構(gòu)和功能特性,對高級語言程序員來說是透明的。第20頁,共152頁,2024年2月25日,星期天–概念性結(jié)構(gòu)指的是計(jì)算機(jī)系統(tǒng)中所有部件之間 的邏輯連接結(jié)構(gòu)–功能特性主要指的是計(jì)算機(jī)系統(tǒng)的如下功 能:數(shù)據(jù)表示,尋址方式,寄存器 組織,指令系統(tǒng),存儲系統(tǒng),中斷 機(jī)構(gòu),I/O結(jié)構(gòu)第21頁,共152頁,2024年2月25日,星期天例如使用高級語言的程序員所看到的計(jì)算機(jī)屬性主要是軟件子系統(tǒng)和固件子系統(tǒng)的屬性,包括程序語言以及操作系統(tǒng)、數(shù)據(jù)庫管理系統(tǒng)、網(wǎng)絡(luò)軟件等用戶界面。例如,IBM370系列機(jī)的中央處理器都具有相同的基本指令系統(tǒng),指令的解釋過程在不同檔次機(jī)器中的處理方式不相同,但對程序設(shè)計(jì)者而言,所看到的數(shù)據(jù)形式都是相同的32位字長。第22頁,共152頁,2024年2月25日,星期天同樣,對于其不同檔次機(jī)器,在組成與實(shí)現(xiàn)時,數(shù)據(jù)通路寬度(數(shù)據(jù)總線)可以分別采用8位、16位、32位或64位,但對于程序員而言,數(shù)據(jù)總線寬度是透明的,即在設(shè)計(jì)程序時不需要考慮數(shù)據(jù)總線寬度的位數(shù)。Amdahl等人提出的系統(tǒng)結(jié)構(gòu)定義中的程序設(shè)計(jì)者是指機(jī)器語言或編譯程序設(shè)計(jì)者所看到的計(jì)算機(jī)屬性,是硬件子系統(tǒng)的概念結(jié)構(gòu)及其功能特性。第23頁,共152頁,2024年2月25日,星期天

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)中各級之間界面的定義及其上下的功能分配。在這里,我們主要討論傳統(tǒng)機(jī)器級的系統(tǒng)結(jié)構(gòu),即從機(jī)器語言程序員的角度所看到的計(jì)算機(jī)系統(tǒng)結(jié)構(gòu),如圖1.4所示。第24頁,共152頁,2024年2月25日,星期天圖1.4計(jì)算機(jī)系統(tǒng)軟硬件交界面第25頁,共152頁,2024年2月25日,星期天界面之上的功能由軟件實(shí)現(xiàn);界面之下的功能由硬件/固件實(shí)現(xiàn)。所以本書是研究軟、硬件功能的分配以及對機(jī)器級界面的確定,即由機(jī)器語言設(shè)計(jì)者或編譯程序設(shè)計(jì)者所看到的機(jī)器物理系統(tǒng)的抽象或定義。它是機(jī)器語言程序設(shè)計(jì)者或是編譯程序生成系統(tǒng)為使其所設(shè)計(jì)或生成的程序能在機(jī)器上正確運(yùn)行,所需看到和遵循的計(jì)算機(jī)屬性。它不包括機(jī)器內(nèi)部的數(shù)據(jù)流和控制流、邏輯設(shè)計(jì)或器件設(shè)計(jì)等。第26頁,共152頁,2024年2月25日,星期天因此,計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)

研究的是軟、硬件之間的功能分配以及對傳統(tǒng)機(jī)器級界面的確定,提供機(jī)器語言、匯編語言程序設(shè)計(jì)者或編譯程序生成系統(tǒng)為使其所設(shè)計(jì)或生成的程序能在機(jī)器上正確運(yùn)行,應(yīng)看到和遵循的計(jì)算機(jī)屬性。第27頁,共152頁,2024年2月25日,星期天對于目前的通用型機(jī)器,計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)(傳統(tǒng)機(jī)器程序員所看到的屬性)一般包括:

(1)機(jī)器內(nèi)的數(shù)據(jù)表示,包括硬件能直接識別和處理的數(shù)據(jù)類型和格式等;

(2)尋址方式,包括最小尋址單位,尋址方式的種類、表示和地址計(jì)算等;

(3)寄存器組織,包括操作數(shù)寄存器、變址寄存器、控制寄存器及某些專用寄存器的定義、數(shù)量和使用約定;

第28頁,共152頁,2024年2月25日,星期天

(4)指令系統(tǒng),包括機(jī)器指令的操作類型和格式、指令間的排序方式和控制機(jī)構(gòu)等;

(5)存儲系統(tǒng),包括最小編址單位、編址方式、主存容量和最大可編址空間等;

(6)中斷機(jī)構(gòu),包括中斷的類型、中斷分級、中斷處理程序的功能和入口地址等;

(7)機(jī)器工作狀態(tài)的定義及切換,如在管態(tài),處理機(jī)可以使用系統(tǒng)的全部指令和全部資源,而在目態(tài),處理機(jī)只能執(zhí)行用戶程序;第29頁,共152頁,2024年2月25日,星期天

(8)輸入輸出機(jī)構(gòu),包括輸入輸出設(shè)備的連結(jié)方式,處理機(jī)/存儲器與輸入輸出設(shè)備間數(shù)據(jù)傳送的方式與格式、傳送的數(shù)據(jù)量、以及輸入輸出操作的結(jié)束與出錯標(biāo)志等;

(9)信息保護(hù),包括信息保護(hù)方式和硬件對信息保護(hù)的支持等。第30頁,共152頁,2024年2月25日,星期天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)系。第31頁,共152頁,2024年2月25日,星期天計(jì)算機(jī)組成的設(shè)計(jì)是按所希望達(dá)到的性能價格比,最佳、最合理的把各種設(shè)備和部件組成計(jì)算機(jī),以實(shí)現(xiàn)所確定的計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)。對傳統(tǒng)機(jī)器程序員來說,計(jì)算機(jī)組成的設(shè)計(jì)內(nèi)容一般是透明的。第32頁,共152頁,2024年2月25日,星期天

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ī)器指令級的各種功能和特性。這種相互聯(lián)系包括各功能部件的配置、相互連接和相互作用。各功能部件的性能參數(shù)相互匹配是計(jì)算機(jī)組成合理的重要標(biāo)志,因而相應(yīng)地就有許多計(jì)算機(jī)組織方法。例如,為了使存儲器的容量大、速度快,人們研究出存儲體系。在存儲體系中,又有虛擬存儲器、高速緩存、多模塊交叉工作、多寄存器組和堆棧等技術(shù)。第33頁,共152頁,2024年2月25日,星期天再如,為了使輸入輸出設(shè)備與處理機(jī)間的信息流量達(dá)到平衡,人們研究出通道、外圍處理機(jī)等方式。為了提高處理機(jī)速度,人們研究出先行控制、流水線、多執(zhí)行部件等方式。在各功能部件的內(nèi)部結(jié)構(gòu)研究方面,產(chǎn)生了許多組合邏輯、時序邏輯的高效設(shè)計(jì)方法和結(jié)構(gòu)。第34頁,共152頁,2024年2月25日,星期天一般來講,計(jì)算機(jī)組成設(shè)計(jì)要確定的內(nèi)容應(yīng)包括:

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

(2)專用部件的設(shè)置,包括設(shè)置哪些專用部件,如乘除法專用部件、浮點(diǎn)運(yùn)算部件、字符處理部件、地址運(yùn)算部件等,每種專用部件的個數(shù)等等,這些都決于所需達(dá)到的機(jī)器速度、專用部件的使用頻度及允許的價格等;第35頁,共152頁,2024年2月25日,星期天

(3)各種操作對部件的共享程度,若共享程度太高,由于共享部件的分時使用將會降低操作的速度;若對同一功能部件設(shè)置多個以降低共享度,但系統(tǒng)的價格會隨之升高。

(4)功能部件的并行度,如功能部件的控制和處理方式是采用順序串行方式,還是采用重疊、流水、分布處理方式;

(5)控制機(jī)構(gòu)的組成方式,如控制機(jī)構(gòu)是采用硬連線控制還是微程序控制,是采用單機(jī)處理還是多機(jī)處理或功能分布處理;第36頁,共152頁,2024年2月25日,星期天

(6)緩沖和排隊(duì)技術(shù),包括如何在部件間設(shè)置多大容量的緩沖器來彌補(bǔ)它們的速度差異,對于等待要求處理的事件如何排隊(duì),如隨機(jī)、先進(jìn)先出、先進(jìn)后出、優(yōu)先級、循環(huán)隊(duì)等不同方式;

(7)預(yù)估、預(yù)判技術(shù),如采用何種原則來預(yù)測未來的行為,以優(yōu)化性能和優(yōu)化處理;

(8)可靠性技術(shù),如采用什么樣的冗余技術(shù)和容錯技術(shù)來提高可靠性。第37頁,共152頁,2024年2月25日,星期天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),器件的集成度和速度,信號傳輸,器件、模塊、插件、底板的劃分與連接,專用器件的設(shè)計(jì)。電源、冷卻、裝配等技術(shù)以及有關(guān)的制造技術(shù)和工藝等。它著眼于器件技術(shù)和微組裝技術(shù)。其中,器件技術(shù)在實(shí)現(xiàn)技術(shù)中起著主導(dǎo)作用。第38頁,共152頁,2024年2月25日,星期天

1.4.2器件技術(shù)研究的內(nèi)容器件技術(shù)研究的內(nèi)容包括:處理機(jī)、主存等部件的物理結(jié)構(gòu),器件的集成度和速度,專用器件的設(shè)計(jì),信號傳輸?shù)?。例如,集成電路采用TTL類型還是MOS類型,最小光刻線條的尺寸,連線采用鋁連線還是銅連線,集成電路內(nèi)部的電容、電阻的設(shè)計(jì),集成電路上的晶體管采用什么樣的材料和工藝,如不同場合下可以選用硅、硅鍺合金、砷化鎵等等,其帶來的物理特性、響應(yīng)特性、功耗也各有不同。隨著時間的推移,芯片的封裝技術(shù)已經(jīng)歷了好幾代的變遷,從DIP、QFP、PGA、BGA到CSP,再到MCM等等。第39頁,共152頁,2024年2月25日,星期天計(jì)算機(jī)所用的基本器件已經(jīng)從初期的電子管、晶體管、中小規(guī)模集成電路、大規(guī)模集成電路,發(fā)展到現(xiàn)在的超大規(guī)模集成電路(VLSI),其生產(chǎn)工藝從上世紀(jì)70年代的10微米發(fā)展到現(xiàn)在的0.09微米的水平,只用了不到30年的時間。其所能達(dá)到的集成度可以在一個芯片上集成上億個晶體管。例如,在處理器方面,英特爾公司的第一個CPU的集成度為2000多個晶體管,而在1999年,英特爾公司推出的PentiumIII處理器的集成度就達(dá)到2400萬個晶體管,到了2000年,采用Willamette核心,使用0.18微米生產(chǎn)工藝的Pentium4處理器的集成度就達(dá)到3400萬個晶體管;第40頁,共152頁,2024年2月25日,星期天而其后推出的采用Northwood核心,使用0.13微米生產(chǎn)工藝的Pentium42.53GHz處理器其集成度達(dá)到5500萬個晶體管,最新的PentiumEE955處理器更是集成了3.76億個晶體管。并且,AMD公司的Athlon64X2處理器的集成度也達(dá)到2.33億個晶體管。第41頁,共152頁,2024年2月25日,星期天計(jì)算機(jī)所用的基本器件不僅由分立器件發(fā)展到集成電路,其速度也有顯著的提高。器件的發(fā)展是推動系統(tǒng)結(jié)構(gòu)和組成前進(jìn)的關(guān)鍵因素和主要動力。隨著生產(chǎn)工藝以及材料工藝的進(jìn)展,單個器件的尺寸可以越來越小,單個晶體管的尺寸已經(jīng)從微米級縮小到納米級,響應(yīng)速度可以達(dá)到100GHz的量級,例如,IBM使用硅鍺材料制造的晶體管,速度達(dá)到350GHz,為CPU的主頻達(dá)到10G的水平提供了技術(shù)保障。器件技術(shù)的快速發(fā)展,使單個器件或集成電路的性能越來越高,而價格則越來越低;同時,也為各種新的系統(tǒng)結(jié)構(gòu)和組成實(shí)現(xiàn)提供了硬件支持,并使計(jì)算機(jī)的應(yīng)用得到快速普及。第42頁,共152頁,2024年2月25日,星期天器件技術(shù)的發(fā)展還促進(jìn)了算法、語言和軟件的發(fā)展。隨著CPU性價比的迅速改善,加速了大規(guī)模高性能并行處理機(jī)和通信網(wǎng)絡(luò)的發(fā)展。由數(shù)百甚至上萬個微處理器組成的MPP(MassivelyParallelProcessor大量信息并行處理機(jī))系統(tǒng)促使人們不斷研究新的并行算法、并行語言及相關(guān)應(yīng)用軟件和操作系統(tǒng),以使系統(tǒng)的規(guī)模和處理速度能隨結(jié)點(diǎn)處理器數(shù)的增加而顯著提高。在2005年全球高性能計(jì)算機(jī)500強(qiáng)的排行榜上,位居榜首的是美國國際商用機(jī)器公司(IBM)研制的“藍(lán)色基因/L”,運(yùn)算速度高達(dá)每秒280.6萬億次浮點(diǎn)運(yùn)算,目前部署在美國勞倫斯-利弗莫爾國家實(shí)驗(yàn)室中。第43頁,共152頁,2024年2月25日,星期天位于IBM公司托馬斯·沃森研究中心的一臺“藍(lán)色基因”超級計(jì)算機(jī)名列第二,運(yùn)算速度為每秒91.2萬億次。中國上海超級計(jì)算中心的“曙光4000A”名列第41位,運(yùn)算速度為11萬億次,在中國研制的超級計(jì)算機(jī)中排名最高。

第44頁,共152頁,2024年2月25日,星期天

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)是三個互不相同的概念,但它們是互相聯(lián)系和相互影響的。計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)是計(jì)算機(jī)系統(tǒng)的軟、硬件分界面,是機(jī)器語言程序設(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)。第45頁,共152頁,2024年2月25日,星期天

具有相同系統(tǒng)結(jié)構(gòu)的計(jì)算機(jī)可以采用不同的組成。例如,具有相同指令系統(tǒng)的計(jì)算機(jī),指令的取出、譯碼、取操作數(shù)、運(yùn)算、存結(jié)果既可以采用順序方式進(jìn)行解釋,也可以采用流水方式讓它們在時間上重疊進(jìn)行來提高速度。又如乘法指令可以利用專用乘法器來實(shí)現(xiàn),也可以通過加法器重復(fù)相加、移位來實(shí)現(xiàn),這主要取決于對速度的要求、乘法指令出現(xiàn)的頻度和所采用的乘法運(yùn)算方法。顯然,前一種方法可以有效的提高乘法運(yùn)算速度,而后一種方法則可以降低系統(tǒng)的價格。第46頁,共152頁,2024年2月25日,星期天一種系統(tǒng)結(jié)構(gòu)可以有多種計(jì)算機(jī)組成,同樣,一種計(jì)算機(jī)組成可以采用多種不同的計(jì)算機(jī)實(shí)現(xiàn)。例如,在CPU的選擇上,同一類型的CPU一般都有多個不同的工作頻率,從速度及價格等角度考慮,可以選擇工作頻率較高的CPU,來實(shí)現(xiàn)較高的運(yùn)算速度,也可以選擇工作頻率較低的CPU,來保證系統(tǒng)的價格相對較低。又如在主存器件的選擇上,可以選擇TTL型的器件,也可以采用MOS型器件;即可以采用單片VLSI集成電路,也可以采用多片LSI或MSI集成電路組成;第47頁,共152頁,2024年2月25日,星期天既可以選擇響應(yīng)時間速度較快的芯片,也可以選擇響應(yīng)速度較慢的芯片。實(shí)際上,這也是在速度、價格等因素之間進(jìn)行選擇;換句話說,采用什么樣的實(shí)現(xiàn)技術(shù)主要考慮所要達(dá)到的性能價格比及器件技術(shù)的現(xiàn)狀。第48頁,共152頁,2024年2月25日,星期天反過來,計(jì)算機(jī)實(shí)現(xiàn)是計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)和計(jì)算機(jī)組成的基礎(chǔ),其技術(shù)的發(fā)展對計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)有著很大的影響,而計(jì)算機(jī)組成也會影響計(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(VeryLongInstructionWord超長指令集架構(gòu))技術(shù),有些機(jī)器還使用了超流水線技術(shù)。第49頁,共152頁,2024年2月25日,星期天

系統(tǒng)結(jié)構(gòu)的設(shè)計(jì)必須結(jié)合應(yīng)用考慮,為軟件和算法的實(shí)現(xiàn)提供更多更好的支持。同時,還要涉及到可能采用和準(zhǔn)備采用的組成技術(shù)。即計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)的設(shè)計(jì)應(yīng)考慮減少對各種組成及實(shí)現(xiàn)技術(shù)的使用限制,在一種系統(tǒng)結(jié)構(gòu)中,應(yīng)允許有多種不同的組成和實(shí)現(xiàn)技術(shù)。既能方便的在低檔機(jī)器上用簡單、低成本的組成實(shí)現(xiàn),也能在高檔機(jī)器上以較高的成本、復(fù)雜的組成實(shí)現(xiàn)。例如,在IBM370系列機(jī)中,由低到高有不同檔次的機(jī)器,它們的中央處理器都具有相同的基本指令系統(tǒng),第50頁,共152頁,2024年2月25日,星期天只是指令的分析、執(zhí)行方式不同,在低檔機(jī)器上用順序方式處理,在高檔機(jī)器上用并行方式處理。又如,在數(shù)據(jù)通路寬度的組成和實(shí)現(xiàn)上,不同檔次機(jī)器可以分別采用8位、16位、32位和64位。IBM370系列機(jī)采用通道方式進(jìn)行輸入輸出,其組成又可以分為在低檔機(jī)器中采用的結(jié)合型通道和在高檔機(jī)器中采用的獨(dú)立型通道。第51頁,共152頁,2024年2月25日,星期天

在不同時期,系統(tǒng)結(jié)構(gòu)、組成和實(shí)現(xiàn)所包含的內(nèi)容會有所不同。在某些計(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ā)展,各種功能都集成到一個芯片上,使系統(tǒng)結(jié)構(gòu)、組成和實(shí)現(xiàn)融合于一體,系統(tǒng)結(jié)構(gòu)、組成和實(shí)現(xiàn)三者之間的界限越來越模糊。第52頁,共152頁,2024年2月25日,星期天1.5計(jì)算機(jī)性能

計(jì)算機(jī)系統(tǒng)的性能指標(biāo),主要取決于計(jì)算機(jī)的本質(zhì)屬性,即時空屬性。各項(xiàng)指標(biāo)都圍繞著它的本質(zhì)屬性來定義。時間是衡量計(jì)算機(jī)性能的標(biāo)準(zhǔn)。同樣的工作量,花費(fèi)的時間越少速度就越快。衡量機(jī)器性能的唯一固定而且可靠的標(biāo)準(zhǔn)就是真正執(zhí)行程序的時間。第53頁,共152頁,2024年2月25日,星期天

1.5.1性能因子CPI

CPU的工作是建立在一個固定的時鐘節(jié)拍上的,這個節(jié)拍有一定的時間長度Tc,我們稱之為時鐘周期(clockcycles)。它是計(jì)算機(jī)內(nèi)部操作的基本時間單位,即計(jì)算機(jī)內(nèi)部每一基本功能操作在一個或多個時鐘周期的時間內(nèi)完成。時鐘周期的單位通常使用納秒(ns),它的倒數(shù)則是時鐘的頻率,即CPU的主頻,通常使用MHz或GHz來表示。第54頁,共152頁,2024年2月25日,星期天定義:表示要執(zhí)行程序中的指令總數(shù),CPI表示執(zhí)行每 條指令所需的平均時鐘周期數(shù)(clockcyclesper instruction)。則有,一個程序在CPU上運(yùn)行所需 的時間TCPU可以用下述公式表示:

(1.1)第55頁,共152頁,2024年2月25日,星期天由此公式可見,程序運(yùn)行的時間取決于三個特征:時鐘周期(或速率),每條指令所需的時鐘周期數(shù)以及程序中總的指令數(shù)。由式1.1可得到CPI的表達(dá)式:(1.2)第56頁,共152頁,2024年2月25日,星期天在程序執(zhí)行過程中,要用到不同類型的指令,令I(lǐng)i表示第i類指令在程序中執(zhí)行次數(shù),CPIi表示執(zhí)行一條第i類指令所需的平均時鐘周期數(shù),n為程序中所有的指令種類數(shù)。則式1.2可以改寫為:(1.3)第57頁,共152頁,2024年2月25日,星期天因?yàn)镮N是一個常數(shù),所以式1.3可以改寫為:(1.4)第58頁,共152頁,2024年2月25日,星期天其中表示第i類指令在程序中所占的比例。式1.4說明平均CPI,或稱有效CPI,是等于每類指令的平均CPI和該類指令在整個程序中出現(xiàn)的百分比的乘積之和。在這里,我們可以用CPU時間來評價CPU性能,即(1.5)第59頁,共152頁,2024年2月25日,星期天由式1.5可以看出,要改善CPU性能,可以通過改變其中某一項(xiàng)或幾項(xiàng)因素來實(shí)現(xiàn)。事實(shí)上,這三個因素是相互關(guān)聯(lián)的。時鐘頻率fC由硬件技術(shù)和組成技術(shù)決定,CPI與組成和指令集有關(guān),而指令數(shù)IN則與指令集和編譯技術(shù)有關(guān)。第60頁,共152頁,2024年2月25日,星期天

1.5.2計(jì)算機(jī)性能常用指標(biāo)MIPS和MFLOPS1.MIPS(millioninstructionspersecond,每秒百萬次指令)

這是一個用來描述計(jì)算機(jī)性能的尺度。對于一個給定的程序,MIPS定義為:(1.6)第61頁,共152頁,2024年2月25日,星期天其中,表示時鐘速率,它是時鐘周期的倒數(shù)。如果用TE代替來表示程序的執(zhí)行時間,則由式1.6可得TE的表達(dá)式:(1.7)第62頁,共152頁,2024年2月25日,星期天例1.1已知PentiumII處理機(jī)的CPI=0.5,試計(jì)算PentiumII450處理機(jī)的運(yùn)算速度。解:由于PentiumII450處理機(jī)fc=450MHz,因此,應(yīng)用式1.6可求出:第63頁,共152頁,2024年2月25日,星期天即PentiumII450處理機(jī)的運(yùn)算速度為900MIPS。

顯然,既然MIPS是單位時間內(nèi)的執(zhí)行次數(shù),所以機(jī)器工作頻率越高,其MIPS愈高;同樣,執(zhí)行每條指令所需的平均時鐘周期數(shù)(CPI)越小,其MIPS值也越高。MIPS從一定程度上反映了機(jī)器的性能。但是MIPS有三個方面的缺陷:第64頁,共152頁,2024年2月25日,星期天

(1)MIPS依賴于指令集,所以使用MIPS來衡量指令集不同的機(jī)器的性能優(yōu)劣時,其結(jié)果是很不準(zhǔn)確的。只適合于評價有相同指令集的機(jī)器。

(2)從式1.4和1.6可以看出,在同一臺機(jī)器上,程序不同,其CPI也會不同,其MIPS計(jì)算結(jié)果也會因?yàn)槌绦虿煌l(fā)生變化,有時其差異是很大的。第65頁,共152頁,2024年2月25日,星期天

(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)算的時間少,這時MIPS與機(jī)器性能恰好相反(為什么?)。在使用MIPS時應(yīng)注意它的應(yīng)用范圍,它只適宜于評估標(biāo)量機(jī),因?yàn)樵跇?biāo)量機(jī)中執(zhí)行一條指令,一般可得到一個運(yùn)算結(jié)果,而向量機(jī)中,執(zhí)行一條向量指令通??傻玫蕉鄠€運(yùn)算結(jié)果。因此,用MIPS來衡量向量機(jī)是不合適的。第66頁,共152頁,2024年2月25日,星期天

2.MFLOPS(millionfloatingpointoperationspersecond,每秒百萬次浮點(diǎn)運(yùn)算)

MFLOPS可用如下公式表示:(1.8)其中,IFN表示程序中的浮點(diǎn)運(yùn)算次數(shù)。第67頁,共152頁,2024年2月25日,星期天由于MFLOPS取決于機(jī)器和程序兩個方面,因此MFLOPS只能用來衡量機(jī)器浮點(diǎn)操作的性能,而不能體現(xiàn)機(jī)器的整體性能。例如編譯程序,不管機(jī)器的性能有多好,它的MFLOPS不會太高。第68頁,共152頁,2024年2月25日,星期天

MFLOPS測量單位比較適用于衡量向量機(jī)的性能,因?yàn)镸FLOPS是基于操作而非指令的,所以它可以用來比較兩種不同的機(jī)器。一般而言,同一程序運(yùn)行在不同計(jì)算機(jī)上時往往會執(zhí)行不同的指令數(shù),但所執(zhí)行的浮點(diǎn)數(shù)個數(shù)常常是相同的。采用MFLOPS作為衡量單位時,應(yīng)注意它的值不但會隨整數(shù)、浮點(diǎn)數(shù)操作混合比例的不同發(fā)生變化,而且也會隨快速和慢速浮點(diǎn)操作混合比例的變化而變化。例如,運(yùn)行由100%浮點(diǎn)加組成的程序所得到的MFLOPS值將比由100%浮點(diǎn)除法組成的程序要高。第69頁,共152頁,2024年2月25日,星期天

MFLOPS和MIPS兩個衡量值之間的量值關(guān)系,沒有統(tǒng)一標(biāo)準(zhǔn),一般認(rèn)為在標(biāo)量計(jì)算機(jī)中執(zhí)行一次浮點(diǎn)運(yùn)算需要2~5條指令,平均約需3條指令,故有1MFLOPS≈3MIPS。例1.2

用一臺40MHZ處理機(jī)執(zhí)行標(biāo)準(zhǔn)測試程序,程序所含的混合指令數(shù)和每類指令的CPI如表1.1所示,求有效CPI、MIPS速率和程序的執(zhí)行時間。第70頁,共152頁,2024年2月25日,星期天表1.1標(biāo)準(zhǔn)測試程序的混合指令數(shù)和相應(yīng)所需的時鐘周期數(shù)指令類型整數(shù)運(yùn)算數(shù)據(jù)傳送浮點(diǎn)操作控制傳送指令數(shù)4500032000150008000CPI1222第71頁,共152頁,2024年2月25日,星期天解:總的指令數(shù)為:45000+32000+15000+8000=100000條,因此各類指令所占的比例分別是:整數(shù)運(yùn)算為45%,數(shù)據(jù)傳送為32%,浮點(diǎn)操作為15%,控制傳送為8%有效CPI、MIPS速率和程序的執(zhí)行時間分別計(jì)算如下:

(1)有效CPI為:1×0.45+2×0.32+2×0.15+2×0.08=1.55CPI(2)MIPS速率為:1/1.55×40=25.8MIPS(3)程序的執(zhí)行時間為:100000×1.55/(40×106)=0.003875s=3875us第72頁,共152頁,2024年2月25日,星期天例1.3假定你是一個計(jì)算機(jī)設(shè)計(jì)者,已設(shè)想了一個優(yōu)化的設(shè)計(jì)方案,它能減少過程調(diào)用和返回所需的取/存指令次數(shù)。為了進(jìn)行驗(yàn)證,對未加優(yōu)化和已優(yōu)化的方案進(jìn)行實(shí)驗(yàn)測試,其中假定所使用的是相同的優(yōu)化編譯器。實(shí)驗(yàn)測得的結(jié)果如下:▲優(yōu)化方案的時鐘周期比未優(yōu)化的快15%;▲未優(yōu)化方案中的取/存指令數(shù)占總指令數(shù)的30%;第73頁,共152頁,2024年2月25日,星期天▲優(yōu)化方案中的取/存指令比未優(yōu)化的少1/3。對于其它指令,兩種方案的動態(tài)執(zhí)行數(shù)沒有變化;▲未優(yōu)化方案的所有指令執(zhí)行均只需1個時鐘周期,而優(yōu)化方案只有取/存指令執(zhí)行需要2個時鐘周期,其它指令執(zhí)行也只需1個時鐘周期。試計(jì)算:

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

(2)優(yōu)化方案加速比。第74頁,共152頁,2024年2月25日,星期天

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

0.2/0.9×2+0.7/0.9×1≈1.22CPI第75頁,共152頁,2024年2月25日,星期天

(2)由題意,因?yàn)槲磧?yōu)化方案的所有指令執(zhí)行均只需1個時鐘周期,因此其平均CPI為1CPI。根據(jù)題意,有:

(Tc未優(yōu)化-Tc優(yōu)化)/Tc未優(yōu)化=0.15

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

第76頁,共152頁,2024年2月25日,星期天優(yōu)化方案的加速比為:

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

=(IN未優(yōu)化×CPI未優(yōu)化×Tc未優(yōu)化)/(IN優(yōu)化×CPI優(yōu)化×Tc優(yōu)化)=(IN未優(yōu)化×1×Tc未優(yōu)化)/(0.9IN未優(yōu)化×1.22×0.85Tc未優(yōu)化)≈1.075第77頁,共152頁,2024年2月25日,星期天

3.用基準(zhǔn)程序來評價計(jì)算機(jī)性能基準(zhǔn)程序(benchmark)是性能測試程序,并假設(shè)它能刻劃某一類應(yīng)用問題的處理和數(shù)據(jù)移動特征。基準(zhǔn)程序用來測量和預(yù)測計(jì)算機(jī)系統(tǒng)的性能,并能提示它們的體系結(jié)構(gòu)的弱點(diǎn)和優(yōu)點(diǎn)?;鶞?zhǔn)程序組(benchmarksuite)是一套基準(zhǔn)程序的控制測試條件及過程的一組特定規(guī)則,包括輸入數(shù)據(jù)、輸出結(jié)果以及性能指標(biāo)?;鶞?zhǔn)程序系列(benchmarkfamily)則是一套基準(zhǔn)程序組。第78頁,共152頁,2024年2月25日,星期天基準(zhǔn)程序可分為宏基準(zhǔn)程序和微基準(zhǔn)程序兩大類。宏基準(zhǔn)程序用來測量一個計(jì)算機(jī)系統(tǒng)的總體性能,而微基準(zhǔn)程序則是用來測量一個計(jì)算機(jī)系統(tǒng)某一特定方面的性能,如CPU速度、存儲器速度、I/O速度、操作系統(tǒng)性能及網(wǎng)絡(luò)性能等等。表1.2示出了幾個具有代表性的微基準(zhǔn)程序組和宏基準(zhǔn)程序組。第79頁,共152頁,2024年2月25日,星期天

SPEC(StandardPerformanceEvaluationCorporation)最初是由30個左右世界知名計(jì)算機(jī)大廠商所支持的非盈利的合作組織,成員包括:IBM、AT&T、BULL、Compaq、CDC、DG、DEC、Fujitsu、HP、Intel、MIPS、SGI、SUN、Unisys等;SPEC基準(zhǔn)測試程序能夠全面反映機(jī)器的性能,具有很高的參考價值,已成為事實(shí)上的工業(yè)標(biāo)準(zhǔn)。隨著因特網(wǎng)的快速發(fā)展,各種各樣的新技術(shù)的應(yīng)用,SPEC也不斷變化和增加其測試的范圍和內(nèi)容。第80頁,共152頁,2024年2月25日,星期天

SPEC已經(jīng)從早期只進(jìn)行CPU性能測試發(fā)展到電子商務(wù)、萬維網(wǎng)服務(wù)、電子郵件服務(wù)、高性能機(jī)群計(jì)算機(jī)等等多方面應(yīng)用的測試。例如,SPECjAppServer2002應(yīng)用于JAVA應(yīng)用服務(wù)器性能測試,SPECMAIL2001提供電子郵件服務(wù)器性能測試,SPECweb99則是用來評估萬維網(wǎng)服務(wù)器性能的測試。第81頁,共152頁,2024年2月25日,星期天表1.2幾個具有代表性的微基準(zhǔn)程序組和宏基準(zhǔn)程序組類型名稱測試范圍微基準(zhǔn)程序LINPACK數(shù)值計(jì)算(線性代數(shù))

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

STREAM存儲器帶寬宏基準(zhǔn)程序NAS并行計(jì)算(CFD)

PARKBENCH并行計(jì)算

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

Splash并行計(jì)算

STAP信號處理

TPC商業(yè)應(yīng)用第82頁,共152頁,2024年2月25日,星期天在1989年10月,SPEC發(fā)布了第一個基準(zhǔn)測試程序,包含10個測試程序,程序量超過15萬行,4個定點(diǎn)程序,6個浮點(diǎn)程序;其測試結(jié)果用SPECint89和SPECfp89表示。1992年,又增加10個測試程序,共有6個定點(diǎn)程序和14個浮點(diǎn)程序,測試結(jié)果用SPECint92和SPECfp92表示。1995年推出SPECint95和SPECfp95。到了1999年,發(fā)布了測試標(biāo)準(zhǔn)為SPECCPU2000的第一個版本V1.0,2001年推出了SPECCPU2000的V1.2版本。第83頁,共152頁,2024年2月25日,星期天

SPECCPU2000由CINT2000和CFP2000組成,其中CINT2000由12個基準(zhǔn)測試程序(11個由C語言編寫,1個由C++語言編寫)組成,分別是gzip、vpr、gcc、mcf、crafty、parser、eon、perlbmk、gap、vortex、bzip2和twolf,程序說明見表1.3;CINT2000主要完成在各種不同應(yīng)用環(huán)境下計(jì)算機(jī)的整數(shù)運(yùn)算能力的測試,其結(jié)果用SPECint2000表示。第84頁,共152頁,2024年2月25日,星期天表1.3CINT2000的基準(zhǔn)測試程序基準(zhǔn)測試程序編程語言設(shè)計(jì)者基準(zhǔn)時間說明gzipANSICJean-LoupGaily1400數(shù)據(jù)壓縮vprANSICVaughnBetz1400FPGA電路布線gccANSIC

1100C優(yōu)化編譯器mcfANSICAndreasLoebel1800組合優(yōu)化(交通運(yùn)輸調(diào)度)craftyANSICRobertHyatt1000國際象棋游戲parserANSICDannySleator,DavyTemperley1800字處理第85頁,共152頁,2024年2月25日,星期天eonC++PeterShirley,KenChiu,et.al.1300計(jì)算機(jī)可視化perlbmkANSICLarryWall,et.al.1800Perl程序設(shè)計(jì)語言gapANSICMartinSchoenert1100群論、解釋程序vortexANSICPeterR.Homan1900面向?qū)ο蟮臄?shù)據(jù)庫bzip2ANSICJulianSeward1500數(shù)據(jù)壓縮twolfANSICBillSwartz3000布線布局模型第86頁,共152頁,2024年2月25日,星期天

CFP2000由14個浮點(diǎn)測試程序(6個由Fortran-77編寫,4個由Fortran-90編寫,4個由C語言編寫)組成,分別是wupwise、swim、mgrid、applu、mesa、galgel、art、equake、facerec、ammp、lucas、fma3d、sixtrack和apsi,程序說明見表1.4。CFP2000主要完成在不同應(yīng)用環(huán)境下計(jì)算機(jī)的浮點(diǎn)運(yùn)算能力測試,其結(jié)果用SPECfp2000表示。第87頁,共152頁,2024年2月25日,星期天表1.4CFP2000的基準(zhǔn)測試程序測試程序編程語言設(shè)計(jì)者基準(zhǔn)時間說明wupwiseFortran77BjoernMedeke1600量子色動力學(xué)swimFortran77PaulN.Swarztrauber3100淺水區(qū)建模mgridFortran77EricBarszcz,PaulO.Frederickson18003D勢場appluFortran77SisiraWeeratunga2100拋物線/橢圓型偏微分方程mesaCBrianE.Paul14003D圖形庫galgelFortran90AlexanderGelfgat2900計(jì)算機(jī)流體力學(xué)第88頁,共152頁,2024年2月25日,星期天artCCharlesRoberson&MaxDomeika2600圖象識別/神經(jīng)網(wǎng)絡(luò)equakeCDavidR.O'HallaronandLoukasF.Kallivokas1300模擬地震波在水庫中的傳播facerecFortran90JanC.Vorbrueggen1900圖象處理ammpCRobertW.Harrison2200計(jì)算化學(xué)lucasFortran90ErnstMayer2000數(shù)論:原始測試fma3dFortran90SamuelW.Key2100有限元法碰撞仿真sixtrackFortran77FrankSchmidt1100高能核物理加速器設(shè)計(jì)apsiFortran77ZaphirisD.Christidis2600污染物分布(氣象學(xué))第89頁,共152頁,2024年2月25日,星期天從表1.3和表1.4中,也可以看出,SPECCPU2000基準(zhǔn)測試程序包含了不同領(lǐng)域間的應(yīng)用,如天氣預(yù)報(bào)、流體力學(xué)、數(shù)據(jù)壓縮、數(shù)據(jù)庫、編譯、物理、化學(xué)、人工智能、圖象處理等方面,能更好的反映計(jì)算機(jī)的性能。表1.5給出了2000年到2003年間一些常用CPU的測試結(jié)果。第90頁,共152頁,2024年2月25日,星期天表1.5SPECCPU2000測試結(jié)果CPU工作頻率(MHz)SPECint2000SPECfp2000測試時間Alpha21264A8335336442000.1PowerPC604e250105842000.4R120004003474072000.4PA-86005504224142000.10AMDAthlon12004584172000.11UltraSPARC-IIe5001741822001.2第91頁,共152頁,2024年2月25日,星期天RS64IV7504393762001.7SPARC64GP6004064032001.8PentiumIII10004082642001.8POWER3-II4503184332001.9Pentium4(2.0AGHz)20007597732002.5Pentium4(3.06GHz)3067110710912002.8R140006005005292002.8AMDAthlon(TM)MP2400+20007666932002.11第92頁,共152頁,2024年2月25日,星期天Alpha21264C125087713652002.11UltraSPARCIIICu120071211062003.3AMDOpteron1441800110011542003.4POWER4+1700111316782003.4AMDAthlon(TM)XP3200+220010809822003.5SPARC64V110068210302003.5IntelItanium21500107720552003.6IntelXeon3066125811842003.6第93頁,共152頁,2024年2月25日,星期天

SPECCPU2000基準(zhǔn)測試程序選擇SunUltra5_10工作站性能作為參考性能,此工作站具有300MHZSunSPARC微處理器,帶有256MB主存。表1.5中的SPECint2000值是對CINT2000基準(zhǔn)程序組中12個基準(zhǔn)程序速率與SunUltra5_10工作站速率之比取幾何平均值得到的。同樣,SPECfp2000值是對CFP2000基準(zhǔn)程序組中14個基準(zhǔn)程序速率與SunUltra5_10工作站速率之比取幾何平均值得到的。第94頁,共152頁,2024年2月25日,星期天

1.5.3計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)的性能評價標(biāo)準(zhǔn)關(guān)于計(jì)算機(jī)的性能評價,通常用峰值性能(peakperformance)及持續(xù)性能(sustainedperformance)兩個指標(biāo)。峰值性能是指在理想情況下計(jì)算機(jī)系統(tǒng)可獲得的最高理論性能值,它不能反映系統(tǒng)的實(shí)際性能。持續(xù)性能又稱實(shí)際性能,它的值往往只有峰值性能的5%到35%(因算法而異)。第95頁,共152頁,2024年2月25日,星期天持續(xù)性能的表示常用算術(shù)平均值、調(diào)和平均值和幾何平均值三種方法,這三種性能值(運(yùn)算速率)的計(jì)算公式表示如下:

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

以程序執(zhí)行的速率Ri來進(jìn)行性能評價,則有(1.9)第96頁,共152頁,2024年2月25日,星期天其中Ti是第i個程序的執(zhí)行時間,式1.9得到的結(jié)果是n個程序的平均執(zhí)行速率。若根據(jù)執(zhí)行時間進(jìn)行評價,則平均執(zhí)行時間是各執(zhí)行時間的算術(shù)平均值。式1.9則改寫為:(1.10)這時的Am表示的是n個程序的平均執(zhí)行時間。第97頁,共152頁,2024年2月25日,星期天

2.調(diào)和性能平均值Hm調(diào)和性能平均值Hm的表達(dá)式為:(1.11)第98頁,共152頁,2024年2月25日,星期天由式1.11可以看出,Hm的值與運(yùn)行所有程序所需時間的總和成反比關(guān)系,從執(zhí)行時間是衡量性能指標(biāo)的唯一標(biāo)準(zhǔn)這一點(diǎn)來看,用Hm值來衡量計(jì)算機(jī)系統(tǒng)性能是較為精確的。第99頁,共152頁,2024年2月25日,星期天

3.幾何性能平均值Gm

對性能的評價的第三種方法是使用幾何平均值,其表達(dá)式如下:(1.12)第100頁,共152頁,2024年2月25日,星期天使用Gm有一個很好的特性:,即幾何平均值之比與比的幾何平均值是相等的,因此在對各種機(jī)器性能比較而進(jìn)行性能規(guī)格化(即以某臺機(jī)器性能作參考標(biāo)準(zhǔn),其它機(jī)器性能除以該參考標(biāo)準(zhǔn)所得到的值)過程中,不論取哪一臺作參考機(jī),Gm均能保持比較結(jié)果的一致性,Am和Hm由于沒有這樣的特性,因而在作比較時,就不如Gm那樣方便。下面我們通過一個例子來說明這一點(diǎn)。第101頁,共152頁,2024年2月25日,星期天例1.4

已知四個程序在三臺計(jì)算機(jī)上的執(zhí)行時間如表1.6所示,假設(shè)四個程序中每一個都有100000000條指令要執(zhí)行,計(jì)算這三臺計(jì)算機(jī)中每臺機(jī)器上每個程序的MIPS速率。根據(jù)這些速率值,能否得出有關(guān)三臺計(jì)算機(jī)相對性能的明確結(jié)論?能否找到一種將它們統(tǒng)計(jì)排序的方法,試說明理由。第102頁,共152頁,2024年2月25日,星期天表1.6四個程序在三臺計(jì)算機(jī)上的執(zhí)行時間執(zhí)行時間(s)程序計(jì)算機(jī)A計(jì)算機(jī)B計(jì)算機(jī)C程序111020程序2100010020程序3500100050程序4100800100第103頁,共152頁,2024年2月25日,星期天解:(1)這三臺計(jì)算機(jī)中每臺機(jī)器上每個程序的MIPS速率如表1.7所示。表1.7四個程序在三臺計(jì)算機(jī)上的MIPS速率MIPS速率(MIPS)程序計(jì)算機(jī)A計(jì)算機(jī)B計(jì)算機(jī)C程序1100105程序20.115程序30.20.12程序410.1251第104頁,共152頁,2024年2月25日,星期天

(2)以A機(jī)為標(biāo)準(zhǔn)的規(guī)格化測試值和Gmi/GmA值如表1.8所示。表1.8以A機(jī)為標(biāo)準(zhǔn)的規(guī)格化測試值和Gmi/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)Gmi/GmA

第105頁,共152頁,2024年2月25日,星期天∴三臺計(jì)算機(jī)相對來說,C的性能最好,A的性能次之,B的性能最差。如果考慮工作負(fù)載中各程序不會以相等的比例出現(xiàn)這一情況,就需要對各程序的執(zhí)行速率或執(zhí)行時間加上相應(yīng)的權(quán)值。例如,一個任務(wù)由三個程序完成,程序1的比例占10%,程序2的比例占35%,程序3的比例占55%,那么它們的權(quán)值分別為0.1、0.35和0.55,將其與對應(yīng)程序的執(zhí)行速率或執(zhí)行時間相乘,再累加求和,即可得到加權(quán)算術(shù)平均值。第106頁,共152頁,2024年2月25日,星期天同理,可以得到加權(quán)幾何平均值和加權(quán)調(diào)和平均值。在這里,用Wi來表示第i個程序的權(quán)值,則對應(yīng)表達(dá)式如下:加權(quán)算術(shù)平均值:(1.13)加權(quán)調(diào)和平均值:(1.14)第107頁,共152頁,2024年2月25日,星期天加權(quán)幾何平均值:(1.15)第108頁,共152頁,2024年2月25日,星期天

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)事件對系統(tǒng)的影響遠(yuǎn)比加速處理很少出現(xiàn)事件的影響要大。使經(jīng)常性事件的處理速度加快能明顯提高整個系統(tǒng)的性能。一般說來,經(jīng)常性事件的處理比較簡單,因此比不經(jīng)常出現(xiàn)的事件處理起來要快。第109頁,共152頁,2024年2月25日,星期天例如,在CPU中兩個數(shù)進(jìn)行相加運(yùn)算時,相加結(jié)果可能出現(xiàn)溢出現(xiàn)象,也可能無溢出發(fā)生,顯然經(jīng)常出現(xiàn)的事件是不發(fā)生溢出的情況,而溢出是偶然發(fā)生的事件。因此,在設(shè)計(jì)時應(yīng)優(yōu)化不發(fā)生溢出的情況,使這個經(jīng)常性事件的處理速度盡可能快。而對溢出處理則不必過多考慮優(yōu)化。因?yàn)榘l(fā)生溢出的概率很小,即使發(fā)生了,處理得慢一些也不會對系統(tǒng)性能產(chǎn)生很大的影響。在計(jì)算機(jī)設(shè)計(jì)過程中經(jīng)常會遇到上述情況,如何確定經(jīng)常性事件以及如何加快處理它的速度,這就是下面介紹的Amdahl定律要解決的問題。第110頁,共152頁,2024年2月25日,星期天

2.阿姆達(dá)爾(Amdahl)定律阿姆達(dá)爾定律是1967年由IBM360系列機(jī)的主要設(shè)計(jì)者阿姆達(dá)爾首先提出來的。阿姆達(dá)爾定律是指:系統(tǒng)中對某一部件采用某種更快執(zhí)行方式所能獲得的系統(tǒng)性能改進(jìn)程度,取決于這種執(zhí)行方式被使用的頻率,或所占總執(zhí)行時間的比例。Amdahl定律實(shí)際上定義了采取增強(qiáng)(加速)某部分功能處理后可獲得的性能改進(jìn)或執(zhí)行時間的加速比。第111頁,共152頁,2024年2月25日,星期天若用Told表示不采用任何增強(qiáng)功能措施完成某一任務(wù)的時間,用Tnew表示采用某種增強(qiáng)功能措施后計(jì)算機(jī)完成同一任務(wù)所需時間。以fnew表示可采取增強(qiáng)功能措施的部分所占百分比(顯然,0≤fnew≤1),而以rnew表示采用增強(qiáng)功能措施比不采用增強(qiáng)功能可加快執(zhí)行的倍數(shù),則性能(或時間)加速比Sp可用如下公式表示:(1.16)第112頁,共152頁,2024年2月25日,星期天該公式分母中的(1-fnew)表示不可增強(qiáng)性能部分的百分比,顯然:

(1)當(dāng)fnew為0時,即沒有可增強(qiáng)性部分時,Sp=1;

(2)當(dāng)rnew∞時,分母中fnew/rnew項(xiàng)變?yōu)?,此時Sp=1/(1-fnew)。由此可以看出,可獲得性能改善的極限值受fnew值的約束。第113頁,共152頁,2024年2月25日,星期天例1.5若考慮將系統(tǒng)中某一功能的處理速度加快10倍,但該功能的處理使用時間僅為整個系統(tǒng)運(yùn)行時間的40%,則采用此增強(qiáng)功能方法后,能使整個系統(tǒng)的性能提高多少?解:由題可知:rnew=10,fnew=0.4,根據(jù)公式,有:即采用此增強(qiáng)功能方法后,能使整個系統(tǒng)的性能提高為原來的1.56倍。第114頁,共152頁,2024年2月25日,星期天

例1.6如果某一計(jì)算任務(wù)用向量方式求解比用標(biāo)量方式求解要快20倍,稱可用向量方式求解部分所花費(fèi)時間占總的時間的百分比為可向量化百分比。

(1)請寫出加速比Sp與可向量化比例x之間的關(guān)系表達(dá)式。

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

(3)為獲得采用向量方式最大加速比半值(即10)時,所需可量化的百分比為多少?第115頁,共152頁,2024年2月25日,星期天解:(1)根據(jù)公式,得:第116頁,共152頁,2024年2月25日,星期天

(2)由題意:

解此方程,可得到x=0.526,即為達(dá)到加速比2,可向量化的百分比應(yīng)為52.6%。

(3)由題意:

解此方程,可推出x=0.947,即為獲得采用向量方式最大加速比半值時,所需可量化的百分比為94.7%。第117頁,共152頁,2024年2月25日,星期天

例1.7

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論