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

下載本文檔

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

文檔簡介

1、 第1章 計算機系統(tǒng)結(jié)構(gòu)的基礎(chǔ)知識A 課程起源與專業(yè)課程比較B 前修課程1 關(guān)于教材與參考書目2 關(guān)于考試3 關(guān)于作業(yè)4 關(guān)于實驗5 關(guān)于課堂筆記與課件6 學(xué)習(xí)的方法1.1 計算機系統(tǒng)結(jié)構(gòu)的基本概念1.2 計算機系統(tǒng)的設(shè)計1.3 計算機系統(tǒng)的性能評測1.4 計算機系統(tǒng)結(jié)構(gòu)的發(fā)展1.5 計算機系統(tǒng)結(jié)構(gòu)中并行性的發(fā)展第一臺通用電子計算機誕生于1946年 計算機技術(shù)的飛速發(fā)展受益于兩個方面 計算機制造技術(shù)的發(fā)展 計算機系統(tǒng)結(jié)構(gòu)的創(chuàng)新經(jīng)歷了四個發(fā)展過程 1.1 計算機系統(tǒng)結(jié)構(gòu)的基本概念時 間原 因每年的性能增長1946年起的25年 兩種因素都起著主要的作用 25% 20世紀(jì)70年代末80年代初 大規(guī)模

2、集成電路和微處理器出現(xiàn),以集成電路為代表的制造技術(shù)的發(fā)展 約35% 80年代中開始 RISC結(jié)構(gòu)的出現(xiàn),系統(tǒng)結(jié)構(gòu)不斷更新和變革,制造技術(shù)不斷發(fā)展50%以上維持了約16年 2002年以來 3個(見下頁)約30%1.1 計算機系統(tǒng)結(jié)構(gòu)的基本概念1.1 計算機系統(tǒng)結(jié)構(gòu)的基本概念 大功耗問題; 可以進(jìn)一步有效地開發(fā)的指令級并行性已經(jīng)很少; 存儲器訪問速度的提高緩慢。 1.1 計算機系統(tǒng)結(jié)構(gòu)的基本概念系統(tǒng)結(jié)構(gòu)的重大轉(zhuǎn)折: 從單純依靠指令級并行轉(zhuǎn)向開發(fā)線程級并行和數(shù)據(jù)級并行。 計算機系統(tǒng)結(jié)構(gòu)在計算機的發(fā)展中有著極其重要的作用。計算機系統(tǒng)硬件/固件軟件計算機語言從低級向高級發(fā)展 高一級語言的語句相對于低一級

3、語言來說功能更強,更便于應(yīng)用,但又都以低級語言為基礎(chǔ)。 從計算機語言的角度,把計算機系統(tǒng)按功能劃分成 多級層次結(jié)構(gòu)。 每一層以一種語言為特征 1.1.1 計算機系統(tǒng)的層次結(jié)構(gòu)1.1 計算機系統(tǒng)結(jié)構(gòu)的基本概念虛擬機物理機1.1 計算機系統(tǒng)結(jié)構(gòu)的基本概念物理機: 用硬件/固件實現(xiàn)的機器 (最下面的兩級機器)虛擬機:由軟件實現(xiàn)的機器虛擬機中有些操作可以由硬件或固件實現(xiàn)。固件:具有軟件功能的硬件。 各機器級的實現(xiàn)主要靠翻譯或解釋,或兩者的結(jié)合。 翻譯:先用轉(zhuǎn)換程序把高一級機器上的程序轉(zhuǎn)換為低一級機器上等效的程序,然后再在這低一級機器上運行,實現(xiàn)程序的功能。 解釋:對于高一級機器上的程序中的每一條語句或

4、指令,都是轉(zhuǎn)去執(zhí)行低一級機器上的一段等效程序。執(zhí)行1.1 計算機系統(tǒng)結(jié)構(gòu)的基本概念完后,再去高一級機器取下一條語句或指令,再進(jìn)行解釋執(zhí)行,如此反復(fù),直到解釋執(zhí)行完整個程序。 解釋執(zhí)行比編譯后再執(zhí)行所花的時間多,但占用的存儲空間較少。 1.1.2 計算機系統(tǒng)結(jié)構(gòu)的定義計算機系統(tǒng)結(jié)構(gòu)的經(jīng)典定義 傳統(tǒng)機器程序員所看到的計算機屬性,即概念性結(jié)構(gòu)與功能特性。(1964年 Amdahl在介紹IBM360系統(tǒng)時提出的)1.1 計算機系統(tǒng)結(jié)構(gòu)的基本概念按照計算機系統(tǒng)的多級層次結(jié)構(gòu),不同級程序員所看到的計算機具有不同的屬性。透明性 在計算機技術(shù)中,把這種本來存在的事物或?qū)傩裕珡哪撤N角度看又好像不存在的概念稱為

5、透明性。廣義的系統(tǒng)結(jié)構(gòu)定義:指令系統(tǒng)結(jié)構(gòu)、組成、硬件 (計算機設(shè)計的3個方面)1.1 計算機系統(tǒng)結(jié)構(gòu)的基本概念計算機系統(tǒng)結(jié)構(gòu)的實質(zhì): 確定計算機系統(tǒng)中軟硬件的界面,界面之上是軟件實現(xiàn)的功能,界面之下是硬件和固件實現(xiàn)的功能。1.1.3 計算機組成和計算機實現(xiàn)計算機系統(tǒng)結(jié)構(gòu):計算機系統(tǒng)的軟、硬件的界面 即機器語言程序員所看到的傳統(tǒng)機器級所具有的屬性。 計算機組成:計算機系統(tǒng)結(jié)構(gòu)的邏輯實現(xiàn)1.1 計算機系統(tǒng)結(jié)構(gòu)的基本概念包含物理機器級中的數(shù)據(jù)流和控制流的組成以及 邏輯設(shè)計等。著眼于:物理機器級內(nèi)各事件的排序方式與控制 方式、各部件的功能以及各部件之間的聯(lián)系。計算機實現(xiàn):計算機組成的物理實現(xiàn)包括處理機

6、、主存等部件的物理結(jié)構(gòu),器件的集 成度和速度,模塊、插件、底板的劃分與連接, 信號傳輸,電源、冷卻及整機裝配技術(shù)等。著眼于:器件技術(shù)(起主導(dǎo)作用)、微組裝技術(shù)。1.1 計算機系統(tǒng)結(jié)構(gòu)的基本概念具有相同系統(tǒng)結(jié)構(gòu)的計算機可以采用不同的計算機組成。同一種計算機組成又可以采用多種不同的計算機實現(xiàn)。 舉例:乘法指令 、主存容量與編址方式系列機 由同一廠家生產(chǎn)的具有相同系統(tǒng)結(jié)構(gòu)、但具有不同組成和實現(xiàn)的一系列不同型號的機器。 例如 IBM公司的IBM370系列,Intel公司的x86系列等。1.1 計算機系統(tǒng)結(jié)構(gòu)的基本概念1.1.4 計算機系統(tǒng)結(jié)構(gòu)的分類常見的計算機系統(tǒng)結(jié)構(gòu)分類法有3種: Flynn分類法、

7、馮氏分類法和Handler分類法 Flynn分類法 按照指令流和數(shù)據(jù)流的多倍性進(jìn)行分類。指令流:計算機執(zhí)行的指令序列數(shù)據(jù)流:由指令流調(diào)用的數(shù)據(jù)序列多倍性:在系統(tǒng)最受限的部件上,同時處于同一執(zhí)行階段的指令或數(shù)據(jù)的最大數(shù)目。1.1 計算機系統(tǒng)結(jié)構(gòu)的基本概念把計算機系統(tǒng)的結(jié)構(gòu)分為4類單指令流單數(shù)據(jù)流SISD(Single Instruction stream Single Data stream)單指令流多數(shù)據(jù)流SIMD(Single Instruction stream Multiple Data stream)多指令流單數(shù)據(jù)流MISD(Multiple Instruction stream Si

8、ngle Data stream)多指令流多數(shù)據(jù)流MIMD(Multiple Instruction stream Multiple Data stream) 1.1 計算機系統(tǒng)結(jié)構(gòu)的基本概念4類計算機的基本結(jié)構(gòu)IS:指令流DS:數(shù)據(jù)流CS:控制流CU:控制部件PU:處理部件MM和SM:存儲器 1.1 計算機系統(tǒng)結(jié)構(gòu)的基本概念馮氏分類法用系統(tǒng)的最大并行度對計算機進(jìn)行分類。最大并行度:計算機系統(tǒng)在單位時間內(nèi)能夠處理 的最大的二進(jìn)制位數(shù)。 用平面直角坐標(biāo)系中的一個點代表一個計算機系統(tǒng),其橫坐標(biāo)表示字寬(n位),縱坐標(biāo)表示一次能同時處理的字?jǐn)?shù)(m字)。mn就表示了其最大并行度。 1.1 計算機系統(tǒng)結(jié)

9、構(gòu)的基本概念1.1 計算機系統(tǒng)結(jié)構(gòu)的基本概念4類不同最大并行度的計算機系統(tǒng)結(jié)構(gòu)字串位串:n1,m1。 (第一代計算機發(fā)展初期的純串行計算機)字串位并: n1,m1。這是傳統(tǒng)的單處理機,同時處理單個字的多個位,如16位、32位等。字并位串:n1,m1。同時處理多個字的同一位(位片)。字并位并:n1,m1。同時處理多個字的多個位。平均并行度 與最大并行度密切相關(guān)的一個指標(biāo)。 取決于系統(tǒng)的運用程度,與應(yīng)用程序有關(guān)。 1.1 計算機系統(tǒng)結(jié)構(gòu)的基本概念 假設(shè)每個時鐘周期內(nèi)能同時處理的二進(jìn)制位數(shù)為Pi,則T個時鐘周期內(nèi)的平均并行度為: 系統(tǒng)在T個時鐘周期內(nèi)的平均利用率定義為:1.1 計算機系統(tǒng)結(jié)構(gòu)的基本概

10、念Handler分類法根據(jù)并行度和流水線對計算機進(jìn)行分類。把計算機的硬件結(jié)構(gòu)分成3個層次程序控制部件(PCU)的個數(shù)k算術(shù)邏輯部件(ALU)或處理部件(PE)的個數(shù)d每個算術(shù)邏輯部件包含基本邏輯線路(ELC)的套數(shù)w用公式表示 t(系統(tǒng)型號)(k,d,w)進(jìn)一步改進(jìn) t (系統(tǒng)型號)(kk,dd,ww) 1.1 計算機系統(tǒng)結(jié)構(gòu)的基本概念k:宏流水線中程序控制部件的個數(shù)d:指令流水線中算術(shù)邏輯部件的個數(shù)w:操作流水線中基本邏輯線路的套數(shù) 例如:Cray-1有1個CPU,12個相當(dāng)于ALU或PE的處理部件,可以最多實現(xiàn)8級流水線。字長為64位,可以實現(xiàn)114位流水線處理。所以Cray-1系統(tǒng)結(jié)構(gòu)可

11、表示為: t(Cray-1)(1,128,64(114))幾個例子: t(PDP-11)(1,1,16) t(Illiac )(1,64,64) t(STARAN)(1,8192,1) t(Cmmp)(16,1,16) t(PEPE)(13,288,32) t(TI-ASC)(1,4,648)4個定量原理:以經(jīng)常性事件為重點對經(jīng)常發(fā)生的情況采用優(yōu)化方法的原則進(jìn)行選 擇,以得到更多的總體上的改進(jìn)。優(yōu)化是指分配更多的資源、達(dá)到更高的性能或 者分配更多的電能等。 1.2.1 計算機系統(tǒng)設(shè)計的定量原理1.2 計算機系統(tǒng)的設(shè)計1.2 計算機系統(tǒng)的設(shè)計Amdahl定律 加快某部件執(zhí)行速度所能獲得的系統(tǒng)性能

12、加速比,受限于該部件的執(zhí)行時間占系統(tǒng)中總執(zhí)行時間的百分比。系統(tǒng)性能加速比:加速比系統(tǒng)性能改進(jìn)后系統(tǒng)性能改進(jìn)前總執(zhí)行時間改進(jìn)前總執(zhí)行時間改進(jìn)后 1.2 計算機系統(tǒng)的設(shè)計加速比依賴于兩個因素可改進(jìn)比例(Fe):在改進(jìn)前的系統(tǒng)中,可改進(jìn)部分的執(zhí)行時間在總的執(zhí)行時間中所占的比例。 它總是小于等于1。例如:一個需運行60秒的程序中有20秒的運算可以加速, 那么這個比例就是20/60。部件加速比(Se) :可改進(jìn)部分改進(jìn)以后性能提高的倍數(shù)。它是改進(jìn)前所需的執(zhí)行時間與改進(jìn)后執(zhí)行時間的比。 一般情況下部件加速比是大于1的。例如:若系統(tǒng)改進(jìn)后,可改進(jìn)部分的執(zhí)行時間是2秒, 而改進(jìn)前其執(zhí)行時間為5秒,則部件加速比

13、為5/2。1.2 計算機系統(tǒng)的設(shè)計改進(jìn)后程序的總執(zhí)行時間TnT0:改進(jìn)前整個程序的執(zhí)行時間1Fe:不可改進(jìn)比例 系統(tǒng)加速比Sn為改進(jìn)前與改進(jìn)后總執(zhí)行時間之比:1.2 計算機系統(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.2 計算機系統(tǒng)的設(shè)計 例1.2 某計算機系統(tǒng)采用浮點運算部件后,使浮點運算速度提高到原來的25倍,而系

14、統(tǒng)運行某一程序的整體性能提高到原來的4倍,試計算該程序中浮點操作所占的比例。 解 由題可知: Se = 25 Sn = 4 根據(jù)Amdahl定律可知: 由此可得:Fe = 78.1% 即程序中浮點操作所占的比例為78.1%。1.2 計算機系統(tǒng)的設(shè)計Amdahl定律:一種性能改進(jìn)的遞減規(guī)則如果僅僅對計算任務(wù)中的一部分做性能改進(jìn),則改 進(jìn)得越多,所得到的總體性能的提升就越有限。重要推論:如果只針對整個任務(wù)的一部分進(jìn)行改 進(jìn)和優(yōu)化,那么所獲得的加速比不超過: 1/(1可改進(jìn)比例) 1.2 計算機系統(tǒng)的設(shè)計CPU性能公式執(zhí)行一個程序所需的CPU時間CPU時間 = 執(zhí)行程序所需的時鐘周期數(shù)時鐘周期時間其

15、中:時鐘周期時間是系統(tǒng)時鐘頻率的倒數(shù)。每條指令執(zhí)行的平均時鐘周期數(shù)CPI (Cycles Per Instruction) CPI = 執(zhí)行程序所需的時鐘周期數(shù)IC IC:所執(zhí)行的指令條數(shù)程序執(zhí)行的CPU時間可以寫成 CPU時間 = IC CPI 時鐘周期時間 1.2 計算機系統(tǒng)的設(shè)計CPU的性能取決于三個參數(shù)時鐘周期時間:取決于硬件實現(xiàn)技術(shù)和計算機組成;CPI:取決于計算機組成和指令系統(tǒng)的結(jié)構(gòu);IC:取決于指令系統(tǒng)的結(jié)構(gòu)和編譯技術(shù)。對CPU性能公式進(jìn)行進(jìn)一步細(xì)化 假設(shè):計算機系統(tǒng)有n種指令; CPIi :第i種指令的處理時間; ICi :在程序中第i種指令出現(xiàn)的次數(shù);則: CPU時鐘周期數(shù)

16、= (CPIi ICi)ni=11.2 計算機系統(tǒng)的設(shè)計CPU時間 = 執(zhí)行程序所需的時鐘周期數(shù)時鐘周期時間 = (CPIiICi)時鐘周期時間CPI可以表示為:CPI = = = 其中:(ICi/IC)反映了第i種指令在程序中所占的比例。 i=1n時鐘周期數(shù)IC(CPIiICi)i=1nIC(CPIi )i=1nICiIC1.2 計算機系統(tǒng)的設(shè)計 例1.3 假設(shè)FP指令的比例為25%,其中,F(xiàn)PSQR占全部指令的比例為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操作的

17、CPI減至2,試比較兩種方案對系統(tǒng)性能的提高程度。 解 沒有改進(jìn)之前,每條指令的平均時鐘周期CPI為: 1.2 計算機系統(tǒng)的設(shè)計 (1)采用第一種方案 FPSQR操作的CPI由CPIFPSQR20減至CPIFPSQR2,則整個系統(tǒng)的指令平均時鐘周期數(shù)為: CPI1CPI(CPIFPSQRCPIFPSQR)2% 2(202) 2%1.64 (2)采用第二種方案 所有FP操作的CPI由CPIFP4減至CPIFP2,則整個系統(tǒng)的指令平均時鐘周期數(shù)為: CPI2CPI(CPIFPCPIFP)25% 2(42) 25%1.5 從降低整個系統(tǒng)的指令平均時鐘周期數(shù)的程度來看,第二種方案優(yōu)于第一種方案。1.2

18、 計算機系統(tǒng)的設(shè)計 例1.4 考慮條件分支指令的兩種不同設(shè)計方法: (1)CPU1:通過比較指令設(shè)置條件碼,然后測試條件碼進(jìn)行分支。 (2)CPU2:在分支指令中包括比較過程。 在這兩種CPU中,條件分支指令都占用2個時鐘周期,而所有其它指令占用1個時鐘周期。對于CPU1,執(zhí)行的指令中分支指令占30%;由于每條分支指令之前都需要有比較指令,因此比較指令也占30%。由于CPU1在分支時不需要比較,因此CPU2的時鐘周期時間是CPU1的1.35倍。問:哪一個CPU更快?如果CPU2的時鐘周期時間只是CPU1的1.15倍,哪一個CPU更快呢?1.2 計算機系統(tǒng)的設(shè)計 解 我們不考慮所有系統(tǒng)問題,所以

19、可用CPU性能公式。占用2個時鐘周期的分支指令占總指令的30%,剩下的指令占用1個時鐘周期。所以 CPI1 = 0.3 2 + 0.70 1 = 1.3則CPU1性能為: 總CPU時間1 = IC1 1.3 時鐘周期1根據(jù)假設(shè),有: 時鐘周期2 = 1.35 時鐘周期1 在CPU2中沒有獨立的比較指令,所以CPU2的程序量為CPU1的70%,分支指令的比例為: 1.2 計算機系統(tǒng)的設(shè)計 30%/70% = 42.8% 這些分支指令占用2個時鐘周期,而剩下的57.2%的指令占用1個時鐘周期,因此: CPI2 = 0.428 2 + 0.572 1 = 1.428因為CPU2不執(zhí)行比較,故: IC

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

21、CPU1運行更快。1.2 計算機系統(tǒng)的設(shè)計程序的局部性原理 程序執(zhí)行時所訪問的存儲器地址分布不是隨機的,而是相對地簇聚。常用的一個經(jīng)驗規(guī)則程序執(zhí)行時間的90%都是在執(zhí)行程序中10%的代碼。程序的時間局部性程序即將用到的信息很可能就是目前正在使用的信息。程序的空間局部性 程序即將用到的信息很可能與目前正在使用的信息在空間上相鄰或者臨近。1.2 計算機系統(tǒng)的設(shè)計計算機系統(tǒng)設(shè)計者的任務(wù)包括:指令系統(tǒng)的設(shè)計、數(shù)據(jù)表示的設(shè)計、功能的組織、邏輯設(shè)計以及其物理實現(xiàn)等。設(shè)計一個計算機系統(tǒng)大致要完成3個方面的工作。確定用戶對計算機系統(tǒng)的功能、價格和性能的要求計算機系統(tǒng)設(shè)計者的目標(biāo) 設(shè)計出能滿足用戶的功能需求、有

22、較長的生命周期、且又具有很高的性能價格比的系統(tǒng)。功能需求:根據(jù)市場的需要以及所設(shè)計系統(tǒng)的應(yīng)用領(lǐng)域來確定1.2.2 計算機系統(tǒng)設(shè)計者的主要任務(wù)1.2 計算機系統(tǒng)的設(shè)計應(yīng)用領(lǐng)域 專用還是通用?面向科學(xué)計算還是面向商用處理? 軟件兼容 軟件兼容是指一臺計算機上的程序不加修改就可以搬到另一臺計算機上正常運行。操作系統(tǒng)需求 包括地址空間大小、存儲管理、保護(hù)等。從系統(tǒng)結(jié)構(gòu)上對操作系統(tǒng)的需求提供支持,是很重要的一點。標(biāo)準(zhǔn) 確定系統(tǒng)中哪些方面要采用標(biāo)準(zhǔn)以及采用什么標(biāo)準(zhǔn)。 如:浮點數(shù)標(biāo)準(zhǔn)、I/O總線標(biāo)準(zhǔn)、網(wǎng)絡(luò)標(biāo)準(zhǔn)、程序設(shè)計語言 標(biāo)準(zhǔn)等。1.2 計算機系統(tǒng)的設(shè)計軟硬件功能分配考慮如何優(yōu)化設(shè)計? 必須考慮軟硬件功能

23、的合理分配。 軟件和硬件在實現(xiàn)功能上是等價的用軟件實現(xiàn)的優(yōu)點:設(shè)計容易、修改簡單,而且可以減少硬件成本。但是所實現(xiàn)的功能的速度較慢。用硬件實現(xiàn)的優(yōu)點:速度快、性能高,但它修改困難,靈活性差。在軟硬件之間進(jìn)行折中和取舍。 1.2 計算機系統(tǒng)的設(shè)計設(shè)計出生命周期長的系統(tǒng)結(jié)構(gòu)特別注意計算機應(yīng)用和計算機技術(shù)的發(fā)展趨勢設(shè)計出具有一定前瞻性的系統(tǒng)結(jié)構(gòu),以使得它具有較長的生命周期。 1.2.3 計算機系統(tǒng)設(shè)計的主要方法“由上往下”(top-down)設(shè)計從層次結(jié)構(gòu)中的最上面一級開始,逐層往下設(shè)計各層的機器。 1.2 計算機系統(tǒng)的設(shè)計首先確定面對使用者的那級機器的基本特征、數(shù)據(jù)類型和格式、基本命令等。然后再逐

24、級往下設(shè)計,每級都考慮如何優(yōu)化上一級的實現(xiàn)。適合于專用機的設(shè)計,而不適合通用機的設(shè)計?!坝上峦稀保╞ottom-up)設(shè)計 從層次結(jié)構(gòu)的最下面一級開始,逐層往上設(shè)計各層的機器。采用這種方法時,軟件技術(shù)完全處于被動狀態(tài),這會造成軟件和硬件的脫節(jié),使整個系統(tǒng)的效率降低。(在早期被采用得比較多,現(xiàn)在已經(jīng)很少被采用了 )1.2 計算機系統(tǒng)的設(shè)計“從中間開始”(middle-out)設(shè)計 “由上往下”和“由下往上”設(shè)計方法的主要缺點 軟、硬件設(shè)計分離和脫節(jié)解決方法:綜合考慮軟、硬件的分工,從中間開始設(shè)計。“中間”:層次結(jié)構(gòu)中的軟硬件的交界面,目前一般是在傳統(tǒng)機器語言機器級與操作系統(tǒng)機器級之間。從中間開

25、始設(shè)計首先要進(jìn)行軟、硬件功能分配,確定好這個界面。然后從這個界面開始,軟件設(shè)計者開始往上設(shè)計1.2 計算機系統(tǒng)的設(shè)計操作系統(tǒng)、匯編、編譯系統(tǒng)等,硬件設(shè)計者開始往下設(shè)計傳統(tǒng)機器級、微程序機器級等。執(zhí)行時間和吞吐率 如何評測一臺計算機的性能,與測試者看問題的角度有關(guān)。用戶關(guān)心的是:單個程序的執(zhí)行時間(執(zhí)行單個 程序所花的時間很少)數(shù)據(jù)處理中心的管理員關(guān)心的是:吞吐率(在單 位時間里能夠完成的任務(wù)很多 )1.3 計算機系統(tǒng)的性能評測1.3 計算機系統(tǒng)的性能評測假設(shè)兩臺計算機為X和Y,X比Y快的意思是: 對于給定任務(wù),X的執(zhí)行時間比Y的執(zhí)行時間少。X的性能是Y的n倍:執(zhí)行時間與性能成反比: 執(zhí)行時間Y

26、執(zhí)行時間X=nn= = =執(zhí)行時間Y執(zhí)行時間X性能Y1性能X1性能X性能Y1.3 計算機系統(tǒng)的性能評測執(zhí)行時間可以有多種定義:計算機完成某一任務(wù)所花費的全部時間,包括磁盤訪問、存儲器訪問、輸入/輸出、操作系統(tǒng)開銷等。CPU時間:CPU執(zhí)行所給定的程序所花費的時間,不包含I/O等待時間以及運行其它程序的時間。用戶CPU時間:用戶程序所耗費的CPU時間。系統(tǒng)CPU時間:用戶程序運行期間操作系統(tǒng)耗費的 CPU時間。1.3 計算機系統(tǒng)的性能評測基準(zhǔn)測試程序 用于測試和比較性能的基準(zhǔn)測試程序的最佳選擇是真實應(yīng)用程序。 (例如編譯器) 以前常采用簡化了的程序,例如: 核心測試程序:從真實程序中選出的關(guān)鍵代

27、碼段構(gòu) 成的小程序。小測試程序:簡單的只有幾十行的小程序。合成的測試程序:人工合成出來的程序。Whetstone與Dhrystone是最流行的合成測試程序。 從測試性能的角度來看,上述測試程序不可信了。 1.3 計算機系統(tǒng)的性能評測原因:這些程序比較小,具有片面性;系統(tǒng)結(jié)構(gòu)設(shè)計者和編譯器的設(shè)計者可以“合謀”把他們的機器面向這些測試程序進(jìn)行優(yōu)化設(shè)計,使得該機器顯得性能更高。性能測試的結(jié)果除了和采用什么測試程序有關(guān)以 外,還和在什么條件下進(jìn)行測試有關(guān)?;鶞?zhǔn)測試程序設(shè)計者對制造商的要求采用同一種編譯器;對同一種語言的程序都采用相同的一組編譯標(biāo)志。 1.3 計算機系統(tǒng)的性能評測一個問題:是否允許修改測

28、試程序的源程序三種不同的處理方法:不允許修改;允許修改,但因測試程序很復(fù)雜或者很大,幾乎是無法修改。允許修改,只要保證最后輸出的結(jié)果相同?;鶞?zhǔn)測試程序套件:由各種不同的真實應(yīng)用程序構(gòu)成。 (能比較全面地反映計算機在各個方面的處理性能 )SPEC系列:最成功和最常見的測試程序套件(美國的標(biāo)準(zhǔn)性能測試公司創(chuàng)建)1.3 計算機系統(tǒng)的性能評測桌面計算機的基準(zhǔn)測試程序套件可以分為兩大類:處理器性能測試程序,圖形性能測試程序SPEC89:用于測試處理器性能。10個程序(4個整數(shù)程序,6個浮點程序)演化出了4個版本SPEC92:20個程序SPEC95:18個程序SPEC2000:26個程序SPEC CPU2

29、006: 29個程序SPEC CPU20061.3 計算機系統(tǒng)的性能評測整數(shù)程序12個(CINT2006)9個是用C寫的,3個是用C+寫的浮點程序17個(CFP2006)6個是用FORTRAN寫的,4個是用C+寫的,3個是用C寫的,4個是用C和FORTRAN混合編寫的。SPEC測試程序套件中的其它一系列測試程序組件SPECSFS:用于NFS(網(wǎng)絡(luò)文件系統(tǒng))文件服務(wù)器的測試程序。它不僅測試處理器的性能,而且測試I/O系統(tǒng)的性能。它重點測試吞吐率。SPECWeb:Web服務(wù)器測試程序。1.3 計算機系統(tǒng)的性能評測SPECviewperf:用于測試圖形系統(tǒng)支持OpenGL庫的性能。SPECapc:用

30、于測試圖形密集型應(yīng)用的性能。性能比較機器A 機器B 機器C W(1) W(2) W(3) 程序1 1.00 10.00 20.00 0.50 0.909 0.999 程序2 1000.00 10.00 20.000.50 0.091 0.001 加權(quán)算術(shù)平均值A(chǔ)m(1) 500.50 10.00 20.00加權(quán)算術(shù)平均值A(chǔ)m(2) 91.91 10.00 20.00加權(quán)算術(shù)平均值A(chǔ)m(3) 2.00 10.00 20.00兩個程序在A、B、C三臺機器上的執(zhí)行時間1.3 計算機系統(tǒng)的性能評測如何比較這三臺機器的性能呢?從該表可以得出:執(zhí)行程序1:A機的速度是B機的10倍A機的速度是C機的20倍B

31、機的速度是C機的2倍執(zhí)行程序2:B機的速度是A機的100倍C機的速度是A機的50倍B機的速度是C機的2倍1.3 計算機系統(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.3 計算機系統(tǒng)的性能評測加權(quán)執(zhí)行時間:各測試程序執(zhí)行時間的加權(quán)平均值其中,Wi:第i個測試程序在測試程序組中所占的比重 Ti:該程序的執(zhí)行時間1.3 計算機系統(tǒng)的性能評測調(diào)和平均

32、值法其中, Ri:由n個程序組成的工作負(fù)荷中執(zhí)行第i個程序的速度 Ri1/Ti Ti:第i個程序的執(zhí)行時間加權(quán)調(diào)和平均值公式 1.3 計算機系統(tǒng)的性能評測幾何平均值法 :以某臺計算機的性能作為參考標(biāo)準(zhǔn),其他計算機性能則除以該參考標(biāo)準(zhǔn)而獲得一個比值。 Ri:由n個程序組成的工作負(fù)荷中執(zhí)行第i個程序的速度 Ri1/Ti :連乘 1.3 計算機系統(tǒng)的性能評測加權(quán)幾何平均值 Gm表示法有一個很好的特性 幾何平均值的比等于比的幾何平均值 1.4 計算機系統(tǒng)結(jié)構(gòu)的發(fā)展1.4.1 馮諾依曼結(jié)構(gòu)及其改進(jìn) 存儲程序計算機的結(jié)構(gòu) 1.4 計算機系統(tǒng)結(jié)構(gòu)的發(fā)展存儲程序原理的基本點:指令驅(qū)動 程序預(yù)先存放在計算機存儲

33、器中,機器一旦啟動,就能按照程序指定的邏輯順序執(zhí)行這些程序,自動完成由程序所描述的處理工作。馮諾依曼結(jié)構(gòu)的主要特點計算機以運算器為中心。在存儲器中,指令和數(shù)據(jù)同等對待。 指令和數(shù)據(jù)一樣可以進(jìn)行運算,即由指令組成的程序是可以修改的。存儲器是按地址訪問、按順序線性編址的一維結(jié) 構(gòu),每個單元的位數(shù)是固定的。1.4 計算機系統(tǒng)結(jié)構(gòu)的發(fā)展指令的執(zhí)行是順序的。一般是按照指令在存儲器中存放的順序執(zhí)行。程序的分支由轉(zhuǎn)移指令實現(xiàn)。由指令計數(shù)器PC指明當(dāng)前正在執(zhí)行的指令在存儲器 中的地址。指令由操作碼和地址碼組成。指令和數(shù)據(jù)均以二進(jìn)制編碼表示,采用二進(jìn)制運算。1.4 計算機系統(tǒng)結(jié)構(gòu)的發(fā)展對系統(tǒng)結(jié)構(gòu)進(jìn)行的改進(jìn)輸入/

34、輸出方式的改進(jìn)采用并行處理技術(shù) 如何挖掘傳統(tǒng)機器中的并行性?在不同的級別采用并行技術(shù)。 例如:微操作級、指令級、線程級、進(jìn)程級、任務(wù)級等。1.4 計算機系統(tǒng)結(jié)構(gòu)的發(fā)展存儲器組織結(jié)構(gòu)的發(fā)展相聯(lián)存儲器與相聯(lián)處理機通用寄存器組高速緩沖存儲器Cache指令系統(tǒng)的發(fā)展 兩個發(fā)展方向:復(fù)雜指令集計算機CISC精減指令集計算機RISC1.4 計算機系統(tǒng)結(jié)構(gòu)的發(fā)展軟件的可移植性:一個軟件可以不經(jīng)修改或者只 需少量修改就可以由一臺機器移植到另一臺機器 上正確地運行。差別只是執(zhí)行時間的不同。 我們稱這兩臺機器是軟件兼容的。實現(xiàn)可移植性的常用方法 采用系列機,模擬與仿真,統(tǒng)一高級語言 。1.4.2 軟件對系統(tǒng)結(jié)構(gòu)的

35、影響 1.4 計算機系統(tǒng)結(jié)構(gòu)的發(fā)展統(tǒng)一高級語言 實現(xiàn)軟件移植的一種理想的方法較難實現(xiàn)系列機 由同一廠家生產(chǎn)的具有相同的系統(tǒng)結(jié)構(gòu),但具有不同組成和實現(xiàn)的一系列不同型號的機器。較好地解決軟件開發(fā)要求系統(tǒng)結(jié)構(gòu)相對穩(wěn)定與器 件、硬件技術(shù)迅速發(fā)展的矛盾。軟件兼容向上(下)兼容:按某檔機器編制的程序,不加修改 就能運行于比它高(低)檔的機器。向前(后)兼容:按某個時期投入市場的某種型號機 器編制的程序,不加修改地就能運行于在它之前 (后)投入市場的機器。1.4 計算機系統(tǒng)結(jié)構(gòu)的發(fā)展1.4 計算機系統(tǒng)結(jié)構(gòu)的發(fā)展向后兼容是系列機的根本特征。兼容機:由不同公司廠家生產(chǎn)的具有相同系統(tǒng)結(jié) 構(gòu)的計算機 。模擬和仿真使

36、軟件能在具有不同系統(tǒng)結(jié)構(gòu)的機器之間相互移植。在一種系統(tǒng)結(jié)構(gòu)上實現(xiàn)另一種系統(tǒng)結(jié)構(gòu)。從指令集的角度來看,就是要在一種機器上實現(xiàn) 另一種機器的指令集。1.4 計算機系統(tǒng)結(jié)構(gòu)的發(fā)展模擬:用軟件的方法在一臺現(xiàn)有的機器(稱為宿主機)上實現(xiàn)另一臺機器(稱為虛擬機)的指令集。通常用解釋的方法來實現(xiàn)。運行速度較慢,性能較差。1.4 計算機系統(tǒng)結(jié)構(gòu)的發(fā)展仿真:用一臺現(xiàn)有機器(宿主機)上的微程序 去解釋實現(xiàn)另一臺機器(目標(biāo)機)的指令集。運行速度比模擬方法的快仿真只能在系統(tǒng)結(jié)構(gòu)差距不大的機器之間使用1.4 計算機系統(tǒng)結(jié)構(gòu)的發(fā)展推動計算機系統(tǒng)結(jié)構(gòu)不斷發(fā)展的最活躍的因素 摩爾定律 集成電路芯片上所集成的晶體管數(shù)目每隔18

37、個月就翻一番。計算機的分代主要以器件作為劃分標(biāo)準(zhǔn)。它們在器件、系統(tǒng)結(jié)構(gòu)和軟件技術(shù)等方面都有各 自的特征。SMP:對稱式共享存儲器多處理機 MPP:大規(guī)模并行處理機 MP:多處理機 1.4.3 器件發(fā)展對系統(tǒng)結(jié)構(gòu)的影響 分代 器件特征 結(jié)構(gòu)特征 軟件特征 典型實例 第一代(19451954年) 電子管和繼電器 存儲程序計算機程序控制I/O 機器語言匯編語言 普林斯頓ISA,ENIAC,IBM 701 第二代(19551964年) 晶體管、磁芯印刷電路 浮點數(shù)據(jù)表示尋址技術(shù)中斷、I/O處理機 高級語言和編譯批處理監(jiān)控系統(tǒng) Univac LAPC,CDC 1604,IBM 7030 第三代(1965

38、1974年) SSI和MSI多層印刷電路微程序 流水線、Cache先行處理系列機 多道程序分時操作系統(tǒng) IBM 360/370,CDC 6600/7600,DEC PDP-8 第四代(19751990年) LSI和VLSI半導(dǎo)體存儲器 向量處理分布式存儲器 并行與分布處理 Cray-1,IBM 3090,DEC VAX 9000,Convax-1第五代(1991年) 高性能微處理器高密度電路超標(biāo)量、超流水SMP、MP、MPP機群 大規(guī)模、可擴(kuò)展并行與分布處理 SGI Cray T3E,IBM SP2,DECAlphaServer 8400 1.4 計算機系統(tǒng)結(jié)構(gòu)的發(fā)展不同的應(yīng)用對計算機系統(tǒng)結(jié)構(gòu)

39、的設(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.4.4 應(yīng)用對系統(tǒng)結(jié)構(gòu)的影響 1.4 計算機系統(tǒng)結(jié)構(gòu)的發(fā)展大存儲容量和輸入輸出密集的問題數(shù)據(jù)庫系統(tǒng)、事務(wù)處理系統(tǒng)圖形學(xué)和設(shè)計問題計算機輔助設(shè)計人工智能面向知識的系統(tǒng)、推理系統(tǒng)等并行性:計算機系統(tǒng)在同一時刻或者同一時間間隔內(nèi) 進(jìn)行多種運算或操作。只要在時間上相互重疊,就存在并行性。同時性:兩個或兩個以上的事件在同一時刻發(fā)生。并發(fā)性:兩個或兩個以上的事件在

40、同一時間間隔 內(nèi)發(fā)生。 1.5 計算機系統(tǒng)結(jié)構(gòu)中并行性的發(fā)展1.5.1 并行性的概念 1.5 計算機系統(tǒng)結(jié)構(gòu)中并行性的發(fā)展從處理數(shù)據(jù)的角度來看,并行性等級從低到高可分為:字串位串:每次只對一個字的一位進(jìn)行處理。 最基本的串行處理方式,不存在并行性。字串位并:同時對一個字的全部位進(jìn)行處理,不 同字之間是串行的。 開始出現(xiàn)并行性。字并位串:同時對許多字的同一位(稱為位片) 進(jìn)行處理。 具有較高的并行性。全并行:同時對許多字的全部位或部分位進(jìn)行處理。 最高一級的并行。1.5 計算機系統(tǒng)結(jié)構(gòu)中并行性的發(fā)展從執(zhí)行程序的角度來看,并行性等級從低到高可分為:指令內(nèi)部并行:單條指令中各微操作之間的并行。指令級

41、并行:并行執(zhí)行兩條或兩條以上的指令。線程級并行:并行執(zhí)行兩個或兩個以上的線程。 通常是以一個進(jìn)程內(nèi)派生的多個線程為調(diào)度單位。任務(wù)級或過程級并行:并行執(zhí)行兩個或兩個以上 的過程或任務(wù)(程序段) 以子程序或進(jìn)程為調(diào)度單元。作業(yè)或程序級并行:并行執(zhí)行兩個或兩個以上的 作業(yè)或程序。 1.5 計算機系統(tǒng)結(jié)構(gòu)中并行性的發(fā)展三種途徑:時間重疊 引入時間因素,讓多個處理過程在時間上相互錯開,輪流重疊地使用同一套硬件設(shè)備的各個部分,以加快硬件周轉(zhuǎn)而贏得速度。資源重復(fù) 引入空間因素,以數(shù)量取勝。通過重復(fù)設(shè)置硬件資源,大幅度地提高計算機系統(tǒng)的性能。1.5.2 提高并行性的技術(shù)途徑 1.5 計算機系統(tǒng)結(jié)構(gòu)中并行性的發(fā)

42、展資源共享 這是一種軟件方法,它使多個任務(wù)按一定時間順序輪流使用同一套硬件設(shè)備。 1.5 計算機系統(tǒng)結(jié)構(gòu)中并行性的發(fā)展在發(fā)展高性能單處理機過程中,起主導(dǎo)作用的是時間 重疊原理。實現(xiàn)時間重疊的基礎(chǔ):部件功能專用化把一件工作按功能分割為若干相互聯(lián)系的部分;把每一部分指定給專門的部件完成;然后按時間重疊原理把各部分的執(zhí)行過程在時間上 重疊起來,使所有部件依次分工完成一組同樣的工作。1.5.3 單機系統(tǒng)中并行性的發(fā)展 1.5 計算機系統(tǒng)結(jié)構(gòu)中并行性的發(fā)展在單處理機中,資源重復(fù)原理的運用也已經(jīng)十分普遍。多體存儲器多操作部件通用部件被分解成若干個專用部件,如加法部件、乘 法部件、除法部件、邏輯運算部件等,

43、而且同一種部 件也可以重復(fù)設(shè)置多個。只要指令所需的操作部件空閑,就可以開始執(zhí)行這條 指令(如果操作數(shù)已準(zhǔn)備好的話)。這實現(xiàn)了指令級并行。 1.5 計算機系統(tǒng)結(jié)構(gòu)中并行性的發(fā)展陣列處理機(并行處理機) 更進(jìn)一步,設(shè)置許多相同的處理單元,讓它們在同一個控制器的指揮下,按照同一條指令的要求,對向量或數(shù)組的各元素同時進(jìn)行同一操作,就形成了陣列處理機 。在單處理機中,資源共享的概念實質(zhì)上是用單處理機 模擬多處理機的功能,形成所謂虛擬機的概念。分時系統(tǒng)1.5 計算機系統(tǒng)結(jié)構(gòu)中并行性的發(fā)展多機系統(tǒng)遵循時間重疊、資源重復(fù)、資源共享原理,發(fā)展為3種不同的多處理機: 同構(gòu)型多處理機、異構(gòu)型多處理機、分布式系統(tǒng)耦合

44、度 反映多機系統(tǒng)中各機器之間物理連接的緊密程度和交互作用能力的強弱。緊密耦合系統(tǒng)(直接耦合系統(tǒng)):在這種系統(tǒng) 中,計算機之間的物理連接的頻帶較高,一般是1.5.4 多機系統(tǒng)中并行性的發(fā)展 1.5 計算機系統(tǒng)結(jié)構(gòu)中并行性的發(fā)展 通過總線或高速開關(guān)互連,可以共享主存。松散耦合系統(tǒng)(間接耦合系統(tǒng)):一般是通過通 道或通信線路實現(xiàn)計算機之間的互連,可以共享 外存設(shè)備(磁盤、磁帶等)。機器之間的相互作 用是在文件或數(shù)據(jù)集一級上進(jìn)行。表現(xiàn)為兩種形式: 多臺計算機和共享的外存設(shè)備連接,不同機器之間實現(xiàn)功能上的分工(功能專用化),機器處理的結(jié)果以文件或數(shù)據(jù)集的形式送到共享外存設(shè)備,供其它機器繼續(xù)處理。計算機網(wǎng),通過通信線路連接,實現(xiàn)更大范圍的資源共享。 1.5 計算機系統(tǒng)結(jié)構(gòu)中并行性的發(fā)展功能專用化(實現(xiàn)時間重疊 )專用外圍處理機例如:輸入/輸出功能的分離 專用處理機如數(shù)組運算、高級語言翻譯、數(shù)據(jù)庫管理等

溫馨提示

  • 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

提交評論