第1章 計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)基礎(chǔ)_第1頁(yè)
第1章 計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)基礎(chǔ)_第2頁(yè)
第1章 計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)基礎(chǔ)_第3頁(yè)
第1章 計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)基礎(chǔ)_第4頁(yè)
第1章 計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)基礎(chǔ)_第5頁(yè)
已閱讀5頁(yè),還剩92頁(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)介

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

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

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

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

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

部件加速比Se=15

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

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

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

由此可得:可改進(jìn)比例

=78.1%

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

部件加速比1=30;

部件加速比2=20;

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

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

(CyclesPerInstruction)

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

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

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

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

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

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

例1.4

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

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

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

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

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

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

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

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

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

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

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

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

CPI2=0.428×2+0.572×1=1.428因?yàn)镃PU2不執(zhí)行比較,故:

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

總CPU時(shí)間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因?yàn)橛兄痰臅r(shí)鐘周期,所以比CPU2快。1.3計(jì)算機(jī)系統(tǒng)的設(shè)計(jì)如果CPU2的時(shí)鐘周期時(shí)間僅僅是CPU1的1.15倍,則

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

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

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

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

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

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

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

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

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

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

SPEC92:20個(gè)程序

SPEC95:18個(gè)程序

SPEC2000:26個(gè)程序

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

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

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

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

1.4計(jì)算機(jī)系統(tǒng)的性能評(píng)測(cè)幾何平均值法:以某臺(tái)計(jì)算機(jī)的性能作為參考標(biāo)準(zhǔn),其他計(jì)算機(jī)性能則除以該參考標(biāo)準(zhǔn)而獲得一個(gè)比值。

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

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

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

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

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

溫馨提示

  • 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)論