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

下載本文檔

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

文檔簡介

第1章計算機系統(tǒng)結(jié)構(gòu)基礎(chǔ)1.1引言1.2計算機系統(tǒng)結(jié)構(gòu)基本概念1.3計算機系統(tǒng)的設(shè)計1.4計算機系統(tǒng)的性能評測1.5計算機系統(tǒng)結(jié)構(gòu)的發(fā)展1.6計算機系統(tǒng)結(jié)構(gòu)中并行性的發(fā)展計算機系統(tǒng)結(jié)構(gòu)第1章計算機系統(tǒng)結(jié)構(gòu)基礎(chǔ)1.1引言第一臺通用電子計算機誕生于1946年計算機技術(shù)的飛速發(fā)展受益于兩個方面計算機制造技術(shù)的發(fā)展計算機系統(tǒng)結(jié)構(gòu)的創(chuàng)新經(jīng)歷了四個發(fā)展過程1.1引言1.1引言體系結(jié)構(gòu)與組織方式的發(fā)展一起促成了計算機性能以超過50%的年增長率持續(xù)增長17年(1986~2003),這一飛速發(fā)展共有四重效果:顯著增強了可供計算機用戶使用的功能性價比的大幅度提高導(dǎo)致了新型計算機的出現(xiàn)。根據(jù)摩爾定律的預(yù)測,半導(dǎo)體制造業(yè)的持續(xù)發(fā)展已經(jīng)使基于微處理器的計算機在整個計算機設(shè)計領(lǐng)域中占據(jù)了主導(dǎo)地位。對軟件開發(fā)的影響,允許今天的程序員以性能換取生產(chǎn)效率。1.1引言從2003年開始,由于風(fēng)冷芯片最大功耗和無法有效地開發(fā)更多指令級并行這兩大孿生瓶頸,單處理器的性能提高速度下降到每年不足22%。事實上,Intel在2004年取消了自己的高性能單核處理器項目,轉(zhuǎn)而和其他公司一起宣布:為了獲得更高性能的處理器,應(yīng)當提高一個芯片上集成的核心數(shù)目,而不是加快單核處理器的速度。這是一個標著歷史性轉(zhuǎn)折的里程碑信號,處理器性能的提高從單純依賴指令級并行轉(zhuǎn)向數(shù)據(jù)級并行和線程級并行甚至請求級并行。結(jié)論:計算機系統(tǒng)結(jié)構(gòu)在計算機的發(fā)展中有著極其重要的作用。1.1引言計算機的分類:第1章計算機系統(tǒng)結(jié)構(gòu)基礎(chǔ)1.2計算機系統(tǒng)結(jié)構(gòu)基本概念本節(jié)導(dǎo)引:計算機系統(tǒng)的層次結(jié)構(gòu)計算機系統(tǒng)結(jié)構(gòu)的定義計算機組成和計算機實現(xiàn)計算機系統(tǒng)的分類1.2計算機系統(tǒng)結(jié)構(gòu)基本概念1.2.1計算機系統(tǒng)的層次結(jié)構(gòu)計算機系統(tǒng)=硬件/固件+軟件計算機語言從低級向高級發(fā)展高一級語言的語句相對于低一級語言來說功能更強,更便于應(yīng)用,但又都以低級語言為基礎(chǔ)。從計算機語言的角度,把計算機系統(tǒng)按功能劃分成多級層次結(jié)構(gòu)。每一層以一種語言為特征1.2計算機系統(tǒng)結(jié)構(gòu)基本概念虛擬機物理機應(yīng)用語言程序經(jīng)應(yīng)用程序包翻譯成高級語言程序高級語言程序經(jīng)編譯程序翻譯成匯編語言(或是某種中間語言程序,或是機器語言程序)匯編語言程序經(jīng)匯編程序翻譯成機器語言程序一般用機器語言程序解釋作業(yè)控制語句等用微指令程序解釋機器指令微指令由硬件直接執(zhí)行1.2計算機系統(tǒng)結(jié)構(gòu)基本概念物理機:用硬件/固件實現(xiàn)的機器固件:具有軟件功能的硬件。虛擬機:由軟件實現(xiàn)的機器各機器級的實現(xiàn)主要靠翻譯或解釋,或兩者的結(jié)合。翻譯:先用轉(zhuǎn)換程序把高一級機器上的程序轉(zhuǎn)換為低一級機器上等效的程序,然后再在這低一級機器上運行,實現(xiàn)程序的功能。解釋:對于高一級機器上的程序中的每一條語句或指令,都是轉(zhuǎn)去執(zhí)行低一級機器上的一段等效程序。執(zhí)行完后,再去高一級機器取下一條語句或指令,再進行解釋執(zhí)行,如此反復(fù),直到解釋執(zhí)行完整個程序。解釋執(zhí)行比編譯后再執(zhí)行所花的時間多,但占用的存儲空間較少。1.2計算機系統(tǒng)結(jié)構(gòu)基本概念1.2.2計算機系統(tǒng)結(jié)構(gòu)的定義計算機系統(tǒng)結(jié)構(gòu)的經(jīng)典定義傳統(tǒng)機器程序員所看到的計算機屬性,即概念性結(jié)構(gòu)與功能特性。(1964年Amdahl在介紹IBM360系統(tǒng)時提出的)按照計算機系統(tǒng)的多級層次結(jié)構(gòu),不同級程序員所看到的計算機具有不同的屬性。透明性在計算機技術(shù)中,把這種本來存在的事物或?qū)傩?,但從某種角度看又好像不存在的概念稱為透明性。計算機系統(tǒng)結(jié)構(gòu)的實質(zhì):確定計算機系統(tǒng)中軟硬件的界面,界面之上是軟件實現(xiàn)的功能,界面之下是硬件和固件實現(xiàn)的功能。1.2計算機系統(tǒng)結(jié)構(gòu)基本概念1.2.3計算機組成和計算機實現(xiàn)計算機系統(tǒng)結(jié)構(gòu):計算機系統(tǒng)的軟、硬件的界面即機器語言程序員所看到的傳統(tǒng)機器級所具有的屬性。計算機組成:計算機系統(tǒng)結(jié)構(gòu)的邏輯實現(xiàn)包含物理機器級中的數(shù)據(jù)流和控制流的組成以及邏輯設(shè)計等。著眼于:物理機器級內(nèi)各事件的排序方式與控制方式、各部件的功能以及各部件之間的聯(lián)系。第1章計算機系統(tǒng)結(jié)構(gòu)基礎(chǔ)計算機實現(xiàn):計算機組成的物理實現(xiàn)包括處理機、主存等部件的物理結(jié)構(gòu),器件的集成度和速度,模塊、插件、底板的劃分與連接,信號傳輸,電源、冷卻及整機裝配技術(shù)等。著眼于:器件技術(shù)(起主導(dǎo)作用)、微組裝技術(shù)。具有相同系統(tǒng)結(jié)構(gòu)的計算機可以采用不同的計算機組成。同一種計算機組成又可以采用多種不同的計算機實現(xiàn)。1.2計算機系統(tǒng)結(jié)構(gòu)基本概念1.2.4計算機系統(tǒng)的分類常見的計算機系統(tǒng)分類法:

Flynn分類法、馮氏分類法1.2計算機系統(tǒng)結(jié)構(gòu)基本概念Flynn分類法按照指令流和數(shù)據(jù)流的多倍性進行分類。指令流:計算機執(zhí)行的指令序列數(shù)據(jù)流:由指令流調(diào)用的數(shù)據(jù)序列,包括輸入數(shù)據(jù)和中間結(jié)果。多倍性:在系統(tǒng)性能瓶頸部件上處于同一執(zhí)行階段的指令或數(shù)據(jù)的最大可能個數(shù)。據(jù)此把計算機系統(tǒng)分為4類:單指令流單數(shù)據(jù)流SISD單指令流多數(shù)據(jù)流SIMD多指令流單數(shù)據(jù)流MISD多指令流多數(shù)據(jù)流MIMD1.2計算機系統(tǒng)結(jié)構(gòu)基本概念單指令流單數(shù)據(jù)流(SISD)傳統(tǒng)的單處理器計算機。每次指令部件對一條指令進行譯碼并只對一個操作部件分配數(shù)據(jù)。CU--控制部件;PU—處理機;MM—主存模塊;SM—共享主存;IS—指令流;CS—控制流;DS—數(shù)據(jù)流1.2計算機系統(tǒng)結(jié)構(gòu)基本概念單指令流多數(shù)據(jù)流(SIMD)陣列處理機和相聯(lián)處理機。CU--控制部件;PU—處理機;MM—主存模塊;SM—共享主存;IS—指令流;CS—控制流;DS—數(shù)據(jù)流1.2計算機系統(tǒng)結(jié)構(gòu)基本概念多指令流單數(shù)據(jù)流(MISD)處理機間的宏流水及脈動陣列流水處理機。按不同指令的要求對同一數(shù)據(jù)流及其中間結(jié)果進行不同的處理,一個處理單元的輸出作為另一個處理單元的輸入。CU--控制部件;PU—處理機;MM—主存模塊;SM—共享主存;IS—指令流;CS—控制流;DS—數(shù)據(jù)流1.2計算機系統(tǒng)結(jié)構(gòu)基本概念多指令流多數(shù)據(jù)流能實現(xiàn)作業(yè)、任務(wù)、指令、數(shù)組各級全面并行的多機系統(tǒng)。CU--控制部件;PU—處理機;MM—主存模塊;SM—共享主存;IS—指令流;CS—控制流;DS—數(shù)據(jù)流1.2計算機系統(tǒng)結(jié)構(gòu)基本概念馮氏分類法按數(shù)據(jù)處理的并行度進行分類。1、字串位串(WSBS)位串處理方式,每次只處理一個字中的一位,早期的位串行計算機。2、字串位并(WSBP)字(字片)處理方式,每次處理一個字中的n位,位并行單處理機。3、字并位串(WPBS)位(位片)處理方式,每次處理m個字中的一位,相聯(lián)處理機,陣列處理機。4、字并位并(WPBP)全并行處理方式,一次處理m個字,其每個字為n位,相聯(lián)處理機,陣列處理機,多處理機。第1章計算機系統(tǒng)結(jié)構(gòu)基礎(chǔ)1.3計算機系統(tǒng)的設(shè)計本節(jié)導(dǎo)引:計算機系統(tǒng)設(shè)計的定量原理計算機系統(tǒng)設(shè)計者的主要任務(wù)計算機系統(tǒng)設(shè)計的主要方法1.3計算機系統(tǒng)的設(shè)計1.3.1計算機系統(tǒng)設(shè)計的定量原理4個定量原理:以經(jīng)常性事件為重點Amdahl定律CPU性能公式程序的局部性原理1.3計算機系統(tǒng)的設(shè)計以經(jīng)常性事件為重點對經(jīng)常發(fā)生的情況采用優(yōu)化方法的原則進行選擇,以得到更多的總體上的改進。優(yōu)化是指分配更多的資源、達到更高的性能或者分配更多的電能等。如,處理器的取值指令和譯碼器比乘法器用得更頻繁,所以應(yīng)該先對取值指令和譯碼器進行優(yōu)化設(shè)計。1.3計算機系統(tǒng)的設(shè)計Amdahl定律該定律是1967年IBM公司的Amdahl在設(shè)計IBM360系列機時首先提出的。該定律可用于確定對系統(tǒng)中性能瓶頸部件采取措施提高速度后能得到的系統(tǒng)性能改進的程度。加快某部件執(zhí)行速度所能獲得的系統(tǒng)性能加速比,受限于該部件的執(zhí)行時間占系統(tǒng)中總執(zhí)行時間的百分比。系統(tǒng)性能加速比:1.3計算機系統(tǒng)的設(shè)計加速比依賴于兩個因素可改進比例:在改進前的系統(tǒng)中,可改進部分的執(zhí)行時間在總的執(zhí)行時間中所占的比例。

它總是小于等于1。例如:一個需運行60秒的程序中有20秒的運算可以加速,那么這個比例就是20/60。部件加速比:可改進部分改進以后性能提高的倍數(shù)。它是改進前所需的執(zhí)行時間與改進后執(zhí)行時間的比。

一般情況下部件加速比是大于1的。例如:若系統(tǒng)改進后,可改進部分的執(zhí)行時間是2秒,而改進前其執(zhí)行時間為5秒,則部件加速比為5/2。1.3計算機系統(tǒng)的設(shè)計改進后程序的總執(zhí)行時間:1.3計算機系統(tǒng)的設(shè)計系統(tǒng)加速比1.3計算機系統(tǒng)的設(shè)計在多個部件可改進的情況下,Amdahl定理的擴展:其中:Sn為系統(tǒng)加速比,F(xiàn)i為第i個部件的可改進比例,Si為第i個部件的部件加速比。1.3計算機系統(tǒng)的設(shè)計

例1.1將計算機系統(tǒng)中某一功能的處理速度加快15倍,但該功能的處理時間僅占整個系統(tǒng)運行時間的40%,則采用此增強功能方法后,能使整個系統(tǒng)的性能提高多少?解由題可知:可改進比例Fe=40%=0.4

部件加速比Se=15

根據(jù)Amdahl定律可知:采用此增強功能方法后,能使整個系統(tǒng)的性能提高到原來的1.6倍。1.3計算機系統(tǒng)的設(shè)計

例1.2某計算機系統(tǒng)采用浮點運算部件后,使浮點運算速度提高到原來的25倍,而系統(tǒng)運行某一程序的整體性能提高到原來的4倍,試計算該程序中浮點操作所占的比例。解由題可知:部件加速比Se=25系統(tǒng)加速比Sn=4

根據(jù)Amdahl定律可知:

由此可得:可改進比例

=78.1%

即程序中浮點操作所占的比例為78.1%。1.3計算機系統(tǒng)的設(shè)計例1.3計算機系統(tǒng)中有三個部件可以改進,這三個部件的部件加速比為:

部件加速比1=30;

部件加速比2=20;

部件加速比3=10如果部件1和部件2的可改進比例均為30%,那么當部件3的可改進比例為多少時,系統(tǒng)加速比才可以達到10?解:(1)在多個部件可改進情況下,Amdahl定理的擴展:

已知S1=30,S2=20,S3=10,Sn=10,F(xiàn)1=0.3,F(xiàn)2=0.3,得:得F3=0.36,即部件3的可改進比例為36%。1.3計算機系統(tǒng)的設(shè)計Amdahl定律:一種性能改進的遞減規(guī)則如果僅僅對計算任務(wù)中的一部分做性能改進,則改進得越多,所得到的總體性能的提升就越有限。以例1.1來說,如果部件加速比由15增大到100,則在可改進比例仍為0.4的條件下,系統(tǒng)加速比只約為1.66。Amdahl定律告訴我們,改進效果好的高性能系統(tǒng)應(yīng)是一個各部分性能均能平衡地得到提高的系統(tǒng),不能只是其中某一個功能部件的性能得到提高。1.3計算機系統(tǒng)的設(shè)計CPU性能公式執(zhí)行一個程序所需的CPU時間CPU時間=執(zhí)行程序所需的時鐘周期數(shù)×?xí)r鐘周期時間其中:時鐘周期時間是系統(tǒng)時鐘頻率的倒數(shù)。每條指令執(zhí)行的平均時鐘周期數(shù)CPI

(CyclesPerInstruction)

CPI=執(zhí)行程序所需的時鐘周期數(shù)/IC

IC:所執(zhí)行的指令條數(shù)程序執(zhí)行的CPU時間可以寫成

CPU時間=IC×CPI×?xí)r鐘周期時間

1.3計算機系統(tǒng)的設(shè)計CPU的性能取決于三個參數(shù)時鐘周期時間:取決于硬件實現(xiàn)技術(shù)和計算機組成;CPI:取決于計算機組成和指令系統(tǒng)的結(jié)構(gòu);IC:取決于指令系統(tǒng)的結(jié)構(gòu)和編譯技術(shù)。對CPU性能公式進行進一步細化假設(shè):計算機系統(tǒng)有n種指令;CPIi:第i種指令的處理時間;

ICi:在程序中第i種指令出現(xiàn)的次數(shù);則:

CPU時鐘周期數(shù)=(CPIiIci)ni=11.3計算機系統(tǒng)的設(shè)計CPU時間=執(zhí)行程序所需的時鐘周期數(shù)×?xí)r鐘周期時間=(CPIi×ICi)×?xí)r鐘周期時間CPI可以表示為:CPI===其中:(ICi/IC)反映了第i種指令在程序中所占的比例。i=1n時鐘周期數(shù)IC(CPIi×ICi)i=1nIC(CPIi×)i=1nICiIC1.3計算機系統(tǒng)的設(shè)計

例1.4

假設(shè)浮點數(shù)指令FP的比例為25%,其中,浮點數(shù)平方根指令FPSQR占全部指令的比例為2%,F(xiàn)P操作的CPI為4,F(xiàn)PSQR操作的CPI為20

,其他指令的平均CPI為1.33?,F(xiàn)有兩種改進方案,第一種是把FPSQR操作的CPI減至2,第二種是把所有的FP操作的CPI減至2,試比較兩種方案對系統(tǒng)性能的提高程度。解沒有改進之前,每條指令的平均時鐘周期CPI為:

1.3計算機系統(tǒng)的設(shè)計

(1)采用第一種方案FPSQR操作的CPI由CPIFPSQR=20減至CPI’FPSQR=2,則整個系統(tǒng)的指令平均時鐘周期數(shù)為(從原CPI中減去節(jié)省的周期數(shù)):

CPI1=CPI―(CPIFPSQR―CPI’FPSQR)×2%=2―(20―2)×2%=1.64

(2)采用第二種方案所有FP操作的CPI由CPIFP=4減至CPI’FP=2,則整個系統(tǒng)的指令平均時鐘周期數(shù)為:

CPI2=CPI―(CPIFP―CPI’FP)×25%=2―(4―2)×25%=1.5

從降低整個系統(tǒng)的指令平均時鐘周期數(shù)的程度來看,第二種方案優(yōu)于第一種方案。1.3計算機系統(tǒng)的設(shè)計例1.5考慮條件分支指令的兩種不同設(shè)計方法:(1)CPU1:通過比較指令設(shè)置條件碼,然后測試條件碼進行分支。(2)CPU2:在分支指令中包括比較過程。在這兩種CPU中,條件分支指令都占用2個時鐘周期,而所有其它指令占用1個時鐘周期。對于CPU1,執(zhí)行的指令中分支指令占30%;由于每條分支指令之前都需要有比較指令,因此比較指令也占30%。由于CPU1在分支時不需要比較,因此假設(shè)CPU2的時鐘周期時間是CPU1的1.35倍。問:哪一個CPU更快?如果CPU2的時鐘周期時間只是CPU1的1.15倍,哪一個CPU更快呢?1.3計算機系統(tǒng)的設(shè)計解

我們不考慮所有系統(tǒng)問題,所以可用CPU性能公式。占用2個時鐘周期的分支指令占總指令的30%,剩下的指令占用1個時鐘周期。所以

CPI1=0.3×2+0.70×1=1.3則CPU1性能為:

總CPU時間1=IC1×1.3×?xí)r鐘周期1根據(jù)假設(shè),有:

時鐘周期2=1.35×?xí)r鐘周期1在CPU2中沒有獨立的比較指令,所以CPU2的程序量為CPU1的70%,分支指令的比例為:30%/70%=42.8%1.3計算機系統(tǒng)的設(shè)計這些分支指令占用2個時鐘周期,而剩下的57.2%的指令占用1個時鐘周期,因此:

CPI2=0.428×2+0.572×1=1.428因為CPU2不執(zhí)行比較,故:

IC2=0.7×IC1因此CPU2性能為:

總CPU時間2=IC2×CPI2×?xí)r鐘周期2=0.7×IC1×1.428×1.35×?xí)r鐘周期1)=1.349×IC1×?xí)r鐘周期1在這些假設(shè)之下,盡管CPU2執(zhí)行指令條數(shù)較少,CPU1因為有著更短的時鐘周期,所以比CPU2快。1.3計算機系統(tǒng)的設(shè)計如果CPU2的時鐘周期時間僅僅是CPU1的1.15倍,則

時鐘周期2=1.15×?xí)r鐘周期1CPU2的性能為:

總CPU時間2=IC2×CPI2×?xí)r鐘周期2

=0.7×IC1×1.428×1.15×?xí)r鐘周期1)=1.15×IC1×?xí)r鐘周期1因此CPU2由于執(zhí)行更少指令條數(shù),比CPU1運行更快。1.3計算機系統(tǒng)的設(shè)計程序的局部性原理程序執(zhí)行時所訪問的存儲器地址分布不是隨機的,而是相對地簇聚。這種簇聚同時存在于指令訪問和數(shù)據(jù)訪問中。常用的一個經(jīng)驗規(guī)則程序執(zhí)行時間的90%都是在執(zhí)行程序中10%的代碼。程序的時間局部性程序即將用到的信息很可能就是目前正在使用的信息。程序的空間局部性程序即將用到的信息很可能與目前正在使用的信息在空間上相鄰或者臨近。程序的這種局部性原理是計算機系統(tǒng)多層存儲體系的基本原理依據(jù),特別是高速緩沖存儲器Cache。1.3計算機系統(tǒng)的設(shè)計1.3.2計算機系統(tǒng)設(shè)計者的主要任務(wù)計算機系統(tǒng)設(shè)計者的任務(wù)包括:指令系統(tǒng)的設(shè)計、數(shù)據(jù)表示的設(shè)計、功能的組織、邏輯設(shè)計以及其物理實現(xiàn)等。設(shè)計一個計算機系統(tǒng)大致要完成3個方面的工作。確定用戶對計算機系統(tǒng)的功能、價格和性能的要求計算機系統(tǒng)設(shè)計者的目標設(shè)計出能滿足用戶的功能需求、有較長的生命周期、且又具有很高的性能價格比的系統(tǒng)。1.3計算機系統(tǒng)的設(shè)計功能需求:根據(jù)市場的需要以及所設(shè)計系統(tǒng)的應(yīng)用領(lǐng)域來確定應(yīng)用領(lǐng)域

專用還是通用?面向科學(xué)計算還是面向商用處理?

軟件兼容軟件兼容是指一臺計算機上的程序不加修改就可以搬到另一臺計算機上正常運行。操作系統(tǒng)需求包括地址空間大小、存儲管理、保護等。從系統(tǒng)結(jié)構(gòu)上對操作系統(tǒng)的需求提供支持,是很重要的一點。標準確定系統(tǒng)中哪些方面要采用標準以及采用什么標準。如:浮點數(shù)標準、I/O總線標準、網(wǎng)絡(luò)標準、程序設(shè)計語言標準等。1.3計算機系統(tǒng)的設(shè)計軟硬件功能分配考慮如何優(yōu)化設(shè)計?

必須考慮軟硬件功能的合理分配。

軟件和硬件在實現(xiàn)功能上是等價的用軟件實現(xiàn)的優(yōu)點:設(shè)計容易、修改簡單,而且可以減少硬件成本。但是所實現(xiàn)的功能的速度較慢。用硬件實現(xiàn)的優(yōu)點:速度快、性能高,但它修改困難,靈活性差。在軟硬件之間進行折中和取舍。設(shè)計出生命周期長的系統(tǒng)結(jié)構(gòu)特別注意計算機應(yīng)用和計算機技術(shù)的發(fā)展趨勢設(shè)計出具有一定前瞻性的系統(tǒng)結(jié)構(gòu),以使得它具有較長的生命周期。1.3計算機系統(tǒng)的設(shè)計1.3.3計算機系統(tǒng)設(shè)計的主要方法“由上往下”(top-down)設(shè)計從層次結(jié)構(gòu)中的最上面一級開始,逐層往下設(shè)計各層的機器。首先確定面對使用者的那級機器的基本特征、數(shù)據(jù)類型和格式、基本命令等。然后再逐級往下設(shè)計,每級都考慮如何優(yōu)化上一級的實現(xiàn)。適合于專用機的設(shè)計,而不適合通用機的設(shè)計。1.3計算機系統(tǒng)的設(shè)計“由下往上”(bottom-up)設(shè)計從層次結(jié)構(gòu)的最下面一級開始,逐層往上設(shè)計各層的機器。采用這種方法時,軟件技術(shù)完全處于被動狀態(tài),這會造成軟件和硬件的脫節(jié),使整個系統(tǒng)的效率降低。(在早期被采用得比較多,現(xiàn)在已經(jīng)很少被采用了)1.3計算機系統(tǒng)的設(shè)計“從中間開始”(middle-out)設(shè)計“由上往下”和“由下往上”設(shè)計方法的主要缺點軟、硬件設(shè)計分離和脫節(jié)解決方法:綜合考慮軟、硬件的分工,從中間開始設(shè)計?!爸虚g”:層次結(jié)構(gòu)中的軟硬件的交界面,目前一般是在傳統(tǒng)機器語言機器級與操作系統(tǒng)機器級之間。從中間開始設(shè)計首先要進行軟、硬件功能分配,確定好這個界面。然后從這個界面開始,軟件設(shè)計者開始往上設(shè)計操作系統(tǒng)、匯編、編譯系統(tǒng)等,硬件設(shè)計者開始往下設(shè)計傳統(tǒng)機器級、微程序機器級等。第1章計算機系統(tǒng)結(jié)構(gòu)基礎(chǔ)1.4計算機系統(tǒng)的性能評測本節(jié)導(dǎo)引:執(zhí)行時間和吞吐率基準測試程序性能比較1.4計算機系統(tǒng)的性能評測1.4.1執(zhí)行時間和吞吐率如何評測一臺計算機的性能,與測試者看問題的角度有關(guān)。用戶關(guān)心的是:單個程序的執(zhí)行時間(執(zhí)行單個程序所花的時間很少)數(shù)據(jù)處理中心的管理員關(guān)心的是:吞吐率(在單位時間里能夠完成的任務(wù)很多)1.4計算機系統(tǒng)的性能評測假設(shè)兩臺計算機為X和Y,X比Y快的意思是:

對于給定任務(wù),X的執(zhí)行時間比Y的執(zhí)行時間少。X的性能是Y的n倍:執(zhí)行時間與性能成反比:執(zhí)行時間Y執(zhí)行時間X=nn===執(zhí)行時間Y執(zhí)行時間X性能Y1性能X1性能X性能Y1.4計算機系統(tǒng)的性能評測執(zhí)行時間可以有多種定義:計算機完成某一任務(wù)所花費的全部時間,包括磁盤訪問、存儲器訪問、輸入/輸出、操作系統(tǒng)開銷等。CPU時間:CPU執(zhí)行所給定的程序所花費的時間,不包含I/O等待時間以及運行其它程序的時間。用戶CPU時間:用戶程序所耗費的CPU時間。系統(tǒng)CPU時間:用戶程序運行期間操作系統(tǒng)耗費的CPU時間。1.4計算機系統(tǒng)的性能評測1.4.2基準測試程序用于測試和比較性能的基準測試程序的最佳選擇是真實應(yīng)用程序。

(例如編譯器)以前常采用簡化了的程序,例如:核心測試程序:從真實程序中選出的關(guān)鍵代碼段構(gòu)成的小程序。小測試程序:簡單的只有幾十行的小程序。合成的測試程序:人工合成出來的程序。Whetstone與Dhrystone是最流行的合成測試程序。

從測試性能的角度來看,上述測試程序不可信了。1.4計算機系統(tǒng)的性能評測原因:這些程序比較小,具有片面性;系統(tǒng)結(jié)構(gòu)設(shè)計者和編譯器的設(shè)計者可以“合謀”把他們的機器面向這些測試程序進行優(yōu)化設(shè)計,使得該機器顯得性能更高。性能測試的結(jié)果除了和采用什么測試程序有關(guān)以外,還和在什么條件下進行測試有關(guān)?;鶞蕼y試程序設(shè)計者對制造商的要求采用同一種編譯器;對同一種語言的程序都采用相同的一組編譯標志。1.4計算機系統(tǒng)的性能評測基準測試程序套件:由各種不同的真實應(yīng)用程序構(gòu)成。(能比較全面地反映計算機在各個方面的處理性能)SPEC系列:最成功和最常見的測試程序套件(美國的標準性能測試公司創(chuàng)建)桌面計算機的基準測試程序套件可以分為兩大類:

處理器性能測試程序,圖形性能測試程序1.4計算機系統(tǒng)的性能評測SPEC89:用于測試處理器性能。10個程序(4個整數(shù)程序,6個浮點程序)演化出了4個版本

SPEC92:20個程序

SPEC95:18個程序

SPEC2000:26個程序

SPECCPU2006:29個程序SPECCPU2006整數(shù)程序12個(CINT2006)9個是用C寫的,3個是用C++寫的浮點程序17個(CFP2006)6個是用FORTRAN寫的,4個是用C++寫的,3個是用C寫的,4個是用C和FORTRAN混合編寫的。1.4計算機系統(tǒng)的性能評測SPEC測試程序套件中的其它一系列測試程序組件SPECSFS:用于NFS(網(wǎng)絡(luò)文件系統(tǒng))文件服務(wù)器的測試程序。它不僅測試處理器的性能,而且測試I/O系統(tǒng)的性能。它重點測試吞吐率。SPECWeb:Web服務(wù)器測試程序。SPECviewperf:用于測試圖形系統(tǒng)支持OpenGL庫的性能。SPECapc:用于測試圖形密集型應(yīng)用的性能。1.4計算機系統(tǒng)的性能評測事務(wù)處理(TP)性能測試程序:用于測試計算機在事務(wù)處理方面的能力,包括數(shù)據(jù)庫訪問和更新等。20世紀80年代中期,一些工程師成立了稱為TPC的獨立組織,目的是開發(fā)用于TP性能測試的真實而公平的基準程序。先后發(fā)布了多個版本: TPC-A、TPC-C、TPC-H、TPC-W、TPC-App等 (主要用于測試服務(wù)器的性能)1.4計算機系統(tǒng)的性能評測用于測試基于Microsoft公司的Windows系列操作系統(tǒng)平臺的測試套件PCMark04:中央處理器測試組、內(nèi)存測試組、圖形芯片測試組、硬盤測試組等。BusinessWinstone2004:主要用于測試計算機系統(tǒng)商業(yè)應(yīng)用的綜合性能。MultimediaContentCreationWinstone2004:主要用于測試計算機系統(tǒng)多媒體應(yīng)用的綜合性能。SiSoftSandraPro2004:一套功能強大的系統(tǒng)分析評比工具,擁有超過30中以上的分析與測試模塊。主要包括:CPU、存儲器、I/O接口、I/O設(shè)備、主板等。1.4計算機系統(tǒng)的性能評測1.4.3性能比較兩個程序在A、B、C三臺機器上的執(zhí)行時間Wi:第i個測試程序在測試程序組中所占的比重1.4計算機系統(tǒng)的性能評測如何比較這三臺機器的性能呢?從該表可以得出:執(zhí)行程序1:A機的速度是B機的10倍A機的速度是C機的20倍B機的速度是C機的2倍執(zhí)行程序2:B機的速度是A機的100倍C機的速度是A機的50倍B機的速度是C機的2倍1.4計算機系統(tǒng)的性能評測總執(zhí)行時間:機器執(zhí)行所有測試程序的總時間B機執(zhí)行程序1和程序2的速度是A機的50.05倍C機執(zhí)行程序1和程序2的速度是A機的24.02倍B機執(zhí)行程序1和程序2的速度是C機的2倍平均執(zhí)行時間:各測試程序執(zhí)行時間的算術(shù)平均值其中:Ti:第i個測試程序的執(zhí)行時間

n:測試程序組中程序的個數(shù)1.4計算機系統(tǒng)的性能評測加權(quán)執(zhí)行時間:各測試程序執(zhí)行時間的加權(quán)平均值其中,Wi:第i個測試程序在測試程序組中所占的比重

Ti:該程序的執(zhí)行時間1.4計算機系統(tǒng)的性能評測調(diào)和平均值法其中,Ri:由n個程序組成的工作負荷中執(zhí)行第i個程序的速度

Ri=1/TiTi:第i個程序的執(zhí)行時間加權(quán)調(diào)和平均值公式

1.4計算機系統(tǒng)的性能評測幾何平均值法:以某臺計算機的性能作為參考標準,其他計算機性能則除以該參考標準而獲得一個比值。

Ri:由n個程序組成的工作負荷中執(zhí)行第i個程序的速度Ri=1/Ti加權(quán)幾何平均值Gm表示法有一個很好的特性

幾何平均值的比等于比的幾何平均值

第1章計算機系統(tǒng)結(jié)構(gòu)基礎(chǔ)1.5計算機系統(tǒng)結(jié)構(gòu)的發(fā)展本節(jié)導(dǎo)引:馮·諾依曼結(jié)構(gòu)及其改進軟件對系統(tǒng)結(jié)構(gòu)的影響器件發(fā)展對系統(tǒng)結(jié)構(gòu)的影響應(yīng)用對系統(tǒng)結(jié)構(gòu)的影響1.5計算機系統(tǒng)結(jié)構(gòu)的發(fā)展1.5.1馮·諾依曼結(jié)構(gòu)及其改進存儲程序計算機的結(jié)構(gòu)1.5計算機系統(tǒng)結(jié)構(gòu)的發(fā)展存儲程序原理的基本點:指令驅(qū)動程序預(yù)先存放在計算機存儲器中,機器一旦啟動,就能按照程序指定的邏輯順序執(zhí)行這些程序,自動完成由程序所描述的處理工作。馮·諾依曼結(jié)構(gòu)的主要特點計算機以運算器為中心。在存儲器中,指令和數(shù)據(jù)同等對待。指令和數(shù)據(jù)一樣可以進行運算,即由指令組成的程序是可以修改的。存儲器是按地址訪問、按順序線性編址的一維結(jié)構(gòu),每個單元的位數(shù)是固定的。1.5計算機系統(tǒng)結(jié)構(gòu)的發(fā)展指令的執(zhí)行是順序的。一般是按照指令在存儲器中存放的順序執(zhí)行。程序的分支由轉(zhuǎn)移指令實現(xiàn)。由指令計數(shù)器PC指明當前正在執(zhí)行的指令在存儲器中的地址。指令由操作碼和地址碼組成。指令和數(shù)據(jù)均以二進制編碼表示,采用二進制運算。1.5計算機系統(tǒng)結(jié)構(gòu)的發(fā)展對系統(tǒng)結(jié)構(gòu)進行的改進輸入/輸出方式的改進采用并行處理技術(shù)如何挖掘傳統(tǒng)機器中的并行性?在不同的級別采用并行技術(shù)。例如:微操作級、指令級、線程級、進程級、任務(wù)級等。1.5計算機系統(tǒng)結(jié)構(gòu)的發(fā)展存儲器組織結(jié)構(gòu)的發(fā)展相聯(lián)存儲器與相聯(lián)處理機通用寄存器組高速緩沖存儲器Cache指令系統(tǒng)的發(fā)展兩個發(fā)展方向:復(fù)雜指令集計算機CISC精減指令集計算機RISC1.5計算機系統(tǒng)結(jié)構(gòu)的發(fā)展1.5.2軟件對系統(tǒng)結(jié)構(gòu)的影響軟件的可移植性:一個軟件可以不經(jīng)修改或者只需少量修改就可以由一臺機器移植到另一臺機器上正確地運行。差別只是執(zhí)行時間的不同。我們稱這兩臺機器是軟件兼容的。實現(xiàn)可移植性的常用方法采用系列機,模擬與仿真,統(tǒng)一高級語言。1.5計算機系統(tǒng)結(jié)構(gòu)的發(fā)展1.統(tǒng)一高級語言實現(xiàn)軟件移植的一種理想的方法較難實現(xiàn)2.系列機由同一廠家生產(chǎn)的具有相同的系統(tǒng)結(jié)構(gòu),但具有不同組成和實現(xiàn)的一系列不同型號的機器。系列機與前述從中間向兩邊設(shè)計相呼應(yīng)。在軟、硬件界面上設(shè)定好一種系統(tǒng)機構(gòu),其后,軟件設(shè)計者按此設(shè)計軟件,硬件設(shè)計者根據(jù)機器速度、性能、價格的不同,選擇不同器件、硬件和組成、實現(xiàn)技術(shù),研制并提供不同檔次的機器。較好地解決軟件開發(fā)要求系統(tǒng)結(jié)構(gòu)相對穩(wěn)定與器件、硬件技術(shù)迅速發(fā)展的矛盾。1.5計算機系統(tǒng)結(jié)構(gòu)的發(fā)展軟件兼容:向上(下)兼容:按某檔機器編制的程序,不加修改就能運行于比它高(低)檔的機器。向前(后)兼容:按某個時期投入市場的某種型號機器編制的程序,不加修改地就能運行于在它之前(后)投入市場的機器。1.5計算機系統(tǒng)結(jié)構(gòu)的發(fā)展系列機軟件必須保證向后兼容力爭向上兼容至于之后的軟件完全可以發(fā)展,不一定非要向前兼容。不一定要向下兼容,特別是與機器速度有關(guān)的實時性軟件向下兼容就難以做到。1.5計算機系統(tǒng)結(jié)構(gòu)的發(fā)展3.模擬和仿真使軟件能在具有不同系統(tǒng)結(jié)構(gòu)的機器之間相互移植。在一種系統(tǒng)結(jié)構(gòu)上實現(xiàn)另一種系統(tǒng)結(jié)構(gòu)。從指令集的角度來看,就是要在一種機器上實現(xiàn)另一種機器的指令集。1.5計算機系統(tǒng)結(jié)構(gòu)的發(fā)展模擬:例如,要求用原來在B機器上運行的應(yīng)用軟件,能移植到有不同系統(tǒng)結(jié)構(gòu)的A機器上,根據(jù)層次結(jié)構(gòu)概念,可把B機器的機器語言看成是在A機器的機器語言級之上的一個虛擬機器語言,在A機器上用虛擬機的概念來實現(xiàn)B機器的指令系統(tǒng)。B機器的每條機器指令用A機器的一段機器語言程序解釋,如同A機器上也有B機器的指令系統(tǒng)一樣。這種用機器語言程序解釋實現(xiàn)軟件移植的方法稱為模擬。進行模擬的A機器稱為宿主機,被模擬的B機器稱為虛擬機。通常用解釋的方法來實現(xiàn)。運行速度較慢,性能較差。1.5計算機系統(tǒng)結(jié)構(gòu)的發(fā)展仿真如果宿主機本身采用微程序控制,那么模擬時,一條B機器指令就需要通過二重解釋。先經(jīng)A機器的機器語言程序解釋,然后每條A機器指令又經(jīng)一段微程序解釋。如果能直接用微程序去解釋B機器的指令,顯然就會加快這一解釋過程。這種用微程序直接解釋另一種機器指令系統(tǒng)的方法就稱為仿真。進行仿真的A機器稱為宿主機,被仿真的B機器稱為目標機。運行速度比模擬方法的快仿真只能在系統(tǒng)結(jié)構(gòu)差距不大的機器之間使用1.5計算機系統(tǒng)結(jié)構(gòu)的發(fā)展仿真和模擬的主要區(qū)別在于解釋用的語言。仿真是用微程序解釋,而模擬是用機器語言程序解釋。不同系列間的軟件移植一般是仿真和模擬并行。頻繁使用的、易于仿真的機器指令宜用仿真以提高速度,很少使用的、難以仿真的指令及I/O操作宜用模擬。即使兩種機器系統(tǒng)差別不大,往往也需用模擬來完成機器間的映象。1.5計算機系統(tǒng)結(jié)構(gòu)的發(fā)展1.5.3器件發(fā)展對系統(tǒng)結(jié)構(gòu)的影響 推動計算機系統(tǒng)結(jié)構(gòu)不斷發(fā)展的最活躍的因素摩爾定律集成電路芯片上所集成的晶體管數(shù)目每隔18個月就翻一番。計算機的分代主要以器件作為劃分標準。它們在器件、系統(tǒng)結(jié)構(gòu)和軟件技術(shù)等方面都有各的特征。SMP:對稱式共享存儲器多處理機

MPP:大規(guī)模并行處理機MP:多處理機1.5計算機系統(tǒng)結(jié)構(gòu)的發(fā)展1.5計算機系統(tǒng)結(jié)構(gòu)的發(fā)展1.5.4應(yīng)用對系統(tǒng)結(jié)構(gòu)的影響不同的應(yīng)用對計算機系統(tǒng)結(jié)構(gòu)的設(shè)計提出了不同的要求。應(yīng)用需求是促使計算機系統(tǒng)結(jié)構(gòu)發(fā)展的最根本的動力。一些特殊領(lǐng)域:需要高性能的系統(tǒng)結(jié)構(gòu)高結(jié)構(gòu)化的數(shù)值計算氣象模型、流體動力學(xué)、有限元分析非結(jié)構(gòu)化的數(shù)值計算蒙特卡洛模擬、稀疏矩陣實時多因素問題語音識別、圖象處理、計算機視覺1.5計算機系統(tǒng)結(jié)構(gòu)的發(fā)展大存儲容量和輸入輸出密集的問題數(shù)據(jù)庫系統(tǒng)、事務(wù)處理系統(tǒng)圖形學(xué)和設(shè)計問題計算機輔助設(shè)計人工智能面向知識的系統(tǒng)、推理系統(tǒng)等第1章計算機系統(tǒng)結(jié)構(gòu)基礎(chǔ)1.6計算機系統(tǒng)結(jié)構(gòu)中并行性的發(fā)展本節(jié)導(dǎo)引:并行性的概念提高并行性的技術(shù)途徑單機系統(tǒng)中并行性的發(fā)展多機系統(tǒng)中并行性的發(fā)展并行機的發(fā)展變化1.6計算機系統(tǒng)結(jié)構(gòu)中并行性的發(fā)展1.6.1并行性的概念并行性:計算機系統(tǒng)在同一時刻或者同一時間間隔內(nèi)進行多種運算或操作。只要在時間上相互重疊,就存在并行性。并行性包含同時性和并發(fā)性兩種含義:同時性:兩個或兩個以上的事件在同一時刻發(fā)生。并發(fā)性:兩個或兩個以上的事件在同一時間間隔內(nèi)發(fā)生。1.6計算機系統(tǒng)結(jié)構(gòu)中并行性的發(fā)展從執(zhí)行程序的角度來看,并行性等級從低到高可分為:指令內(nèi)部并行:單條指令中各微操作之間的并行。指令級并行:并行執(zhí)行兩條或兩條以上的指令。線程級并行:并行執(zhí)行兩個或兩個以上的線程。通常是以一個進程內(nèi)派生的多個線程為調(diào)度單位。任務(wù)級或過程級并行:并行執(zhí)行兩個或兩個以上的過程或任務(wù)(程序段)以子程序或進程為調(diào)度單元。作業(yè)或程序級并行:并行執(zhí)行兩個或兩個以上的作業(yè)或程序。1.6計算機系統(tǒng)結(jié)構(gòu)中并行性的發(fā)展從處理數(shù)據(jù)的角度來看,并行性等級從低到高可分為:字串位串:每次只對一個字的一位進行處理。最基本的串行處理方式,不存在并行性。字串位并:同時對一個字的全部位進行處理,不同字之間是串行的。開始出現(xiàn)并行性。字并位串:同時對許多字的同一位(稱為位片)進行處理。具有較高的并行性。全并行:同時對許多字的全部位或部分位進行處理。最高一級的并行。1.6計算機系統(tǒng)結(jié)構(gòu)中并行性的發(fā)展1.6.2提高并行性的技術(shù)途徑時間重疊引入時間因素,讓多個處理過程在時間上相互錯開,輪流重疊地使用同一套硬件設(shè)備的各個部分,以加快硬件周轉(zhuǎn)而贏得速度。資源重復(fù)引入空間因素,以數(shù)量取勝。通過重復(fù)設(shè)置硬件資源,大幅度地提高計算機系統(tǒng)的性能。資源共享這是一種軟件方法,它使多個任務(wù)按一定時間順序輪流使用同一套硬件設(shè)備。1.6計算機系統(tǒng)結(jié)構(gòu)中并行性的發(fā)展1.6.3單機系統(tǒng)中并行性的發(fā)展在發(fā)展高性能單處理機過程中,起主導(dǎo)作用的是時間重疊原理。在單處理機中,資源重復(fù)原理的運用也已經(jīng)十分普遍。多體存儲器多操作部件陣列處理機(并行處理機)在單處理機中,資源共享的概念實質(zhì)上是用單處理機模擬多處理機的功能,形成所謂虛擬機的概念。如分時系統(tǒng)。1.6計算機系統(tǒng)結(jié)構(gòu)中并行性的發(fā)展1.6.4多機系統(tǒng)中并行性的發(fā)展多機系統(tǒng)遵循時間重疊、資源重復(fù)、資源共享原理,發(fā)展為3種不同的多處理機:

同構(gòu)型多處理機、異構(gòu)型多處理機、分布式系統(tǒng)耦合度反映多機

溫馨提示

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

評論

0/150

提交評論