計算機(jī)體系結(jié)構(gòu)(張晨曦)_第1章_PPT_第1頁
計算機(jī)體系結(jié)構(gòu)(張晨曦)_第1章_PPT_第2頁
計算機(jī)體系結(jié)構(gòu)(張晨曦)_第1章_PPT_第3頁
計算機(jī)體系結(jié)構(gòu)(張晨曦)_第1章_PPT_第4頁
計算機(jī)體系結(jié)構(gòu)(張晨曦)_第1章_PPT_第5頁
已閱讀5頁,還剩130頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、2022-6-26計算機(jī)系統(tǒng)結(jié)構(gòu) 第一章 基本概念1計算機(jī)系統(tǒng)結(jié)構(gòu)計算機(jī)系統(tǒng)結(jié)構(gòu) Computer Architecture包仲賢蘭州理工大學(xué)計算機(jī)與通信學(xué)院中 國 宮 廷 式歐 洲 哥 特 式阿拉伯風(fēng)格印度泰姬陵1. 課程名稱課程名稱 Computer Architecture 計算機(jī)系統(tǒng)結(jié)構(gòu)計算機(jī)系統(tǒng)結(jié)構(gòu) 計算機(jī)體系結(jié)構(gòu)計算機(jī)體系結(jié)構(gòu)2. 研究內(nèi)容研究內(nèi)容 從外部來研究計算機(jī)系統(tǒng)從外部來研究計算機(jī)系統(tǒng) 使用者所看到的物理計算機(jī)的抽象使用者所看到的物理計算機(jī)的抽象 編寫出能夠在機(jī)器上正確運(yùn)行的程序所編寫出能夠在機(jī)器上正確運(yùn)行的程序所必須了解到的計算機(jī)屬性必須了解到的計算機(jī)屬性3. 學(xué)習(xí)目的學(xué)

2、習(xí)目的建立計算機(jī)系統(tǒng)的建立計算機(jī)系統(tǒng)的完整概念完整概念學(xué)習(xí)計算機(jī)系統(tǒng)的學(xué)習(xí)計算機(jī)系統(tǒng)的分析方法和設(shè)計方法分析方法和設(shè)計方法了解計算機(jī)系統(tǒng)的了解計算機(jī)系統(tǒng)的最新研究成果最新研究成果5. 與其他學(xué)科的交叉與其他學(xué)科的交叉學(xué)科交叉:學(xué)科交叉:計算機(jī)組成、操作系統(tǒng)、匯編語計算機(jī)組成、操作系統(tǒng)、匯編語言、數(shù)據(jù)結(jié)構(gòu)、微計算機(jī)技術(shù)、計算機(jī)網(wǎng)言、數(shù)據(jù)結(jié)構(gòu)、微計算機(jī)技術(shù)、計算機(jī)網(wǎng)絡(luò)、絡(luò)、新內(nèi)容:新內(nèi)容:超標(biāo)量處理機(jī)、超流水線處理機(jī)、超標(biāo)量處理機(jī)、超流水線處理機(jī)、VLIW處理機(jī)、向量處理機(jī)、并行處理機(jī)、處理機(jī)、向量處理機(jī)、并行處理機(jī)、多處理機(jī)、互連網(wǎng)絡(luò)、多處理機(jī)、互連網(wǎng)絡(luò)、計算機(jī)系統(tǒng)結(jié)構(gòu)正處于變革時期計算機(jī)系統(tǒng)結(jié)

3、構(gòu)正處于變革時期 軟件軟件-系統(tǒng)結(jié)構(gòu)系統(tǒng)結(jié)構(gòu)-實現(xiàn)技術(shù)實現(xiàn)技術(shù), 兩頭發(fā)展快中間兩頭發(fā)展快中間慢慢 非馮計算機(jī)正興起非馮計算機(jī)正興起 系統(tǒng)結(jié)構(gòu)的發(fā)展時期已經(jīng)到來系統(tǒng)結(jié)構(gòu)的發(fā)展時期已經(jīng)到來6. 課程安排課程安排課內(nèi):課內(nèi):48學(xué)時,學(xué)時,課內(nèi)外比例:課內(nèi)課內(nèi)外比例:課內(nèi)1:課外:課外1除完成作業(yè)之外,還要多看參考書除完成作業(yè)之外,還要多看參考書了解國內(nèi)外最新研究成果了解國內(nèi)外最新研究成果7. 教材和參考書教材和參考書教材:教材: 張晨曦張晨曦 計算機(jī)體系結(jié)構(gòu)計算機(jī)體系結(jié)構(gòu)(第二版第二版) ,高等教育出版社高等教育出版社參考書:參考書:(1)鄭偉民)鄭偉民 湯志忠湯志忠 計算機(jī)系統(tǒng)結(jié)構(gòu)計算機(jī)系統(tǒng)結(jié)

4、構(gòu)(第二第二 版版) ,清華大學(xué)出版社,清華大學(xué)出版社(3)李學(xué)干)李學(xué)干 計算機(jī)系統(tǒng)的體系結(jié)構(gòu)計算機(jī)系統(tǒng)的體系結(jié)構(gòu) 清華大學(xué)出版社清華大學(xué)出版社(2)David A. Patterson and John L. Hennessy, Computer Architecture: A Quantitative Approach 3 Ed. San Francisco: Morgan Kaufmann Publishers 中文:中文:計算機(jī)系統(tǒng)結(jié)構(gòu):一種定量的方法計算機(jī)系統(tǒng)結(jié)構(gòu):一種定量的方法1.1 引言1.2 計算機(jī)體系結(jié)構(gòu)的概念1.3 計算機(jī)體系結(jié)構(gòu)的發(fā)展1.4 影響計算機(jī)體系結(jié)構(gòu)的成本和價

5、格因素1.5 定量分析技術(shù)基礎(chǔ)1.6 計算機(jī)體系結(jié)構(gòu)中并行性的發(fā)展第一章 計算機(jī)體系結(jié)構(gòu)的基本概念1.1 引 言 1.2.1 計算機(jī)系統(tǒng)中的層次概念1. 計算機(jī)系統(tǒng)軟件硬件/固件2. 計算機(jī)語言由低級向高級發(fā)展 高一級語言的語句相對于低級語言功高一級語言的語句相對于低級語言功能更強(qiáng),更便于應(yīng)用,但又都以低級語言為能更強(qiáng),更便于應(yīng)用,但又都以低級語言為基礎(chǔ)?;A(chǔ)。 3. 從計算機(jī)語言的角度,把計算機(jī)系統(tǒng)按功能劃分成多級層次結(jié)構(gòu)。 1.2 計算機(jī)體系結(jié)構(gòu)的概念軟件硬件或固件 第第6級:應(yīng)用語言虛擬機(jī)級:應(yīng)用語言虛擬機(jī) 第第5級:高級語言虛擬機(jī)級:高級語言虛擬機(jī) 第第4級:匯編語言虛擬機(jī)級:匯編語言

6、虛擬機(jī) 第第 3 3 級:操作系統(tǒng)虛擬機(jī)級:操作系統(tǒng)虛擬機(jī) 第第 2 2 級:機(jī)器語言級:機(jī)器語言( (傳統(tǒng)機(jī)器級傳統(tǒng)機(jī)器級 ) ) 第第 1 1 級:微程序機(jī)器級級:微程序機(jī)器級 (1) (1) 虛擬機(jī):由軟件實現(xiàn)的機(jī)器。虛擬機(jī):由軟件實現(xiàn)的機(jī)器。(2) (2) 語言實現(xiàn)的兩種基本技術(shù)語言實現(xiàn)的兩種基本技術(shù) 翻譯:先把翻譯:先把N+1N+1級程序全部變換成級程序全部變換成N N級程序后,級程序后, 再去執(zhí)行新產(chǎn)生的再去執(zhí)行新產(chǎn)生的N N級程序,在執(zhí)行過程中級程序,在執(zhí)行過程中N+1N+1 級程序不再被訪問。級程序不再被訪問。 解釋:每當(dāng)一條解釋:每當(dāng)一條N+1N+1級指令被譯碼后,就直接級指

7、令被譯碼后,就直接 去執(zhí)行一串等效的去執(zhí)行一串等效的N N級指令,然后再去取下一級指令,然后再去取下一 條條N+1N+1級的指令,依此重復(fù)進(jìn)行。級的指令,依此重復(fù)進(jìn)行。 解釋執(zhí)行比翻譯花的時間多,但存儲空間占用較少。1.2 計算機(jī)體系結(jié)構(gòu)的概念1.2.2 計算機(jī)體系結(jié)構(gòu)1. 計算機(jī)體系結(jié)構(gòu)的定義: 程序員所看到的計算機(jī)的屬性,即概念性程序員所看到的計算機(jī)的屬性,即概念性 結(jié)構(gòu)與功能特性。結(jié)構(gòu)與功能特性。2. 按照計算機(jī)系統(tǒng)的多級層次結(jié)構(gòu),不同級程序 員所看到的計算機(jī)具有不同的屬性。3. 透明性 在計算機(jī)技術(shù)中,對這種本來是存在的在計算機(jī)技術(shù)中,對這種本來是存在的 事物或?qū)傩?,但從某種角度看又好

8、象不存在。事物或?qū)傩裕珡哪撤N角度看又好象不存在。1.2 計算機(jī)體系結(jié)構(gòu)的概念4. Amdahl提出的體系結(jié)構(gòu):傳統(tǒng)機(jī)器級的體系結(jié)構(gòu)。傳統(tǒng)機(jī)器級的體系結(jié)構(gòu)。 即一般所說的機(jī)器語言程序員所看到的傳統(tǒng)即一般所說的機(jī)器語言程序員所看到的傳統(tǒng) 機(jī)器級所具有的屬性。機(jī)器級所具有的屬性。 5. 對于通用寄存器型機(jī)器,這些屬性主要是指: (1) (1) 數(shù)據(jù)表示數(shù)據(jù)表示 (硬件能直接辯認(rèn)和處理的數(shù)據(jù)類型)(硬件能直接辯認(rèn)和處理的數(shù)據(jù)類型) (2) (2) 尋址規(guī)則尋址規(guī)則 (包括最小尋址單元、尋址方式及其表示)(包括最小尋址單元、尋址方式及其表示) (3) (3) 寄存器定義寄存器定義 (包括各種寄存器的定

9、義、數(shù)量和使用方式)(包括各種寄存器的定義、數(shù)量和使用方式) (4) (4) 指令集指令集 (包括機(jī)器指令的操作類型和格式、指令間的排(包括機(jī)器指令的操作類型和格式、指令間的排 序和控制機(jī)構(gòu)等)序和控制機(jī)構(gòu)等)(5) (5) 中斷系統(tǒng)中斷系統(tǒng) (中斷的類型和中斷響應(yīng)硬件的功能等)(中斷的類型和中斷響應(yīng)硬件的功能等)(6) (6) 機(jī)器工作狀態(tài)的定義和切換機(jī)器工作狀態(tài)的定義和切換 (如管態(tài)和目態(tài)等)(如管態(tài)和目態(tài)等)(7) (7) 存儲系統(tǒng)存儲系統(tǒng) (主存容量、程序員可用的最大存儲容量等)(主存容量、程序員可用的最大存儲容量等)(8) (8) 信息保護(hù)信息保護(hù) (包括信息保護(hù)方式和硬件對信息保護(hù)

10、的支持)(包括信息保護(hù)方式和硬件對信息保護(hù)的支持) (9) I/O(9) I/O結(jié)構(gòu)結(jié)構(gòu) (包括(包括I/OI/O連接方式、處理機(jī)連接方式、處理機(jī)/ /存儲器與存儲器與I/OI/O設(shè)備設(shè)備 間數(shù)據(jù)傳送的方式和格式以及間數(shù)據(jù)傳送的方式和格式以及I/OI/O操作的狀態(tài)等)操作的狀態(tài)等)經(jīng)典計算機(jī)體系結(jié)構(gòu)概念的實質(zhì): 計算機(jī)系統(tǒng)中軟硬件界面的確定,其界面之上計算機(jī)系統(tǒng)中軟硬件界面的確定,其界面之上的是軟件的功能,界面之下的是硬件和固件的功能。的是軟件的功能,界面之下的是硬件和固件的功能。1.2.3 計算機(jī)組成和計算機(jī)實現(xiàn)技術(shù)1. 計算機(jī)組成:計算機(jī)體系結(jié)構(gòu)的邏輯實現(xiàn)。2. 計算機(jī)實現(xiàn):計算機(jī)組成的物

11、理實現(xiàn)。 一種體系結(jié)構(gòu)可以有多種組成。一種體系結(jié)構(gòu)可以有多種組成。 一種組成可以有多種物理實現(xiàn)。一種組成可以有多種物理實現(xiàn)。3. 系列機(jī) (1) (1) 系列機(jī)系列機(jī) 在一個廠家內(nèi)生產(chǎn)的具有相同的體系在一個廠家內(nèi)生產(chǎn)的具有相同的體系 結(jié)構(gòu),但具有不同組成和實現(xiàn)的一系列不結(jié)構(gòu),但具有不同組成和實現(xiàn)的一系列不 同型號的機(jī)器。同型號的機(jī)器。 (2) IBM PC(2) IBM PC系列機(jī)系列機(jī) (處理器、處理器字寬、主要(處理器、處理器字寬、主要I/OI/O總線、存儲空間、總線、存儲空間、 主要操作系統(tǒng)和計算機(jī)結(jié)構(gòu))主要操作系統(tǒng)和計算機(jī)結(jié)構(gòu))如:如:IBM 370IBM 370系列有系列有370/1

12、15370/115、125125、135135、145145、158158、168168等一系列從低速到高速的各種型號。等一系列從低速到高速的各種型號。 8088/80286 CPU (a) PC、 XT 和和 PC AT 存儲器存儲器 I/O 設(shè)備設(shè)備 PC/AT 總線總線 80386 /80486 CPU (b) 80386/80486 PC 存儲器存儲器 I/O 設(shè)備設(shè)備 ISA 總線總線 總線控制器總線控制器 處理器總線處理器總線/VL 總線總線 VL 設(shè)備設(shè)備 P en tiu m C P U 存存 儲儲 器器 P C I 設(shè)設(shè) 備備 P C I 總 線 總總 線線 控控 制制 器器

13、1 處處 理理 器器 總總 線線 (c) P en tiu m P C I/O 設(shè)設(shè) 備備 IS A 總 線 總總 線線 控控 制制 器器2 P e n tiu m II/ C P U 存存 儲儲 器器 P C I 設(shè)設(shè) 備備 P C I 總總 線線 總總 線線 控控 制制 器器1 處處 理理 器器 總總 線線 (d ) P e n tiu m II/ P C I/O 設(shè)設(shè) 備備 IS A 總總 線線 總總 線線 控控 制制 器器2 A G P 總總 線線 A G P 顯顯 示示 卡卡 P e n tiu m 4 C P U 存 儲 器 P C I 設(shè) 備 P C I /P C I - E 總

14、 線 總 線 控 制 器 1 處 理 器 總 線 (e ) P e n tiu m 4 P C U S B 設(shè) 備 U S B 總 線 總 線 控 制 器 2 P C I - E 設(shè) 備 計算機(jī) PC和PC XT PC AT 80386 PC 80486 PC Pentium PCPentium II PCPentium III PCPentium 4 PC時間19811982198519891993199719992000處理器8088802868038680486PentiumPentium IIPentium IIIPentium 4字寬16位16位32位32位32位32位32位32位主

15、要I/O總線PC總線AT(ISA)ISA/EISAISA+VLISA+PCIISA+PCI+AGPPCI+AGP +USBPCI-X+AGP +USB存儲空間20位24位32位32位32位32位32位32位主要操作系統(tǒng)DOSDOS、XENIXDOS、Windows 3.0 DOS、Windows 3.1DOS、Windows 3.1Windows 95Windows 98、2000Windows Me、XP表1.1 PC系列機(jī)典型特性比較 4. 軟件兼容:同一個軟件可以不加修改地運(yùn)行于體同一個軟件可以不加修改地運(yùn)行于體 系結(jié)構(gòu)相同的各檔機(jī)器,而且它們所獲得的結(jié)果系結(jié)構(gòu)相同的各檔機(jī)器,而且它們所

16、獲得的結(jié)果 一樣,差別只在于有不同的運(yùn)行時間。一樣,差別只在于有不同的運(yùn)行時間。 時時間間 機(jī)機(jī)器器檔檔次次 高高 低低 向向上上兼兼容容 向向下下兼兼容容 向向前前兼兼容容 向向后后兼兼容容 當(dāng)當(dāng)前前機(jī)機(jī)器器 向上向上( (下下) )兼容:兼容:按某檔機(jī)器編制的程序,不加修按某檔機(jī)器編制的程序,不加修 改的就能運(yùn)行于比它高改的就能運(yùn)行于比它高( (低低) )檔的機(jī)器。檔的機(jī)器。 向前向前( (后后) )兼容:兼容:按某個時期投入市場的某種型號按某個時期投入市場的某種型號 機(jī)器編制的程序,不加修改地就能運(yùn)行于在它之機(jī)器編制的程序,不加修改地就能運(yùn)行于在它之 前前( (后后) )投入市場的機(jī)器。

17、投入市場的機(jī)器。 向后兼容是軟件兼容的根本特征,也是系列機(jī)的根本特征。 5. 兼容機(jī) 不同廠家生產(chǎn)的具有相同體系結(jié)構(gòu)的計算機(jī)。不同廠家生產(chǎn)的具有相同體系結(jié)構(gòu)的計算機(jī)。計算機(jī)系統(tǒng)的發(fā)展馮馮諾依曼結(jié)構(gòu)諾依曼結(jié)構(gòu)器件發(fā)展的影響器件發(fā)展的影響應(yīng)用發(fā)展的影響應(yīng)用發(fā)展的影響改進(jìn)算法的影響改進(jìn)算法的影響馮諾依曼結(jié)構(gòu)Van Nenmann基本思想于1936年1946年期 間形成,由馮由馮諾依曼等諾依曼等人于人于1946年提出年提出輸 入 設(shè) 備輸 出 設(shè) 備運(yùn) 算 器ALU控 制 器存 儲 器1. 特點特點: 存儲程序、運(yùn)算器為中心、集中控制存儲程序、運(yùn)算器為中心、集中控制存儲器是字長固定的、順序線性編址的一

18、維結(jié)構(gòu),每個地址是唯一定義的。 4096個字、40位。由指令形式的低級機(jī)器語言驅(qū)動。指令順序執(zhí)行,即一般按照指令在存儲器中存放的順序執(zhí)行,程序分支由轉(zhuǎn)移指令實現(xiàn)。運(yùn)算器為中心,輸入輸出設(shè)備與存儲器之間的數(shù)據(jù)傳送都途經(jīng)運(yùn)算器。運(yùn)算器、存儲器、輸入輸出設(shè)備的操作以及它們之間的聯(lián)系都由控制器集中控制。2. 現(xiàn)代處理機(jī)對馮現(xiàn)代處理機(jī)對馮諾依曼結(jié)構(gòu)的改進(jìn)諾依曼結(jié)構(gòu)的改進(jìn) 不變的:不變的:存儲程序存儲程序 改變的:改變的:存儲器為中心存儲器為中心, 總線結(jié)構(gòu)總線結(jié)構(gòu), 分散控制分散控制分布處理分布處理從基于串行算法變?yōu)檫m應(yīng)并行算法,出現(xiàn)了向量計算機(jī),并行計算機(jī)、多處理機(jī)等流水線處理機(jī),超標(biāo)量處理機(jī),超流水

19、線處理機(jī),超標(biāo)量超流水線處理機(jī)數(shù)據(jù)庫計算機(jī)和知識庫計算機(jī)專用計算機(jī),如過程控制計算機(jī)為獲得高可靠性而研制容錯計算機(jī) 功能分散化、專業(yè)化,出現(xiàn)了各種分布計算機(jī)、外圍處理機(jī)、通信處理機(jī)等存儲器為中心、分散控制存儲器為中心、分散控制 系統(tǒng)總線系統(tǒng)總線 IO 總線總線 中央處理機(jī)中央處理機(jī)(CPU)主存儲器主存儲器(MM)輸入設(shè)備輸入設(shè)備輸出輸出設(shè)備輸出輸出設(shè)備輸出設(shè)備輸出設(shè)備 總線結(jié)構(gòu),分散控制總線結(jié)構(gòu),分散控制總線:總線: 連接計算機(jī)各功能部件的連線和管理信連接計算機(jī)各功能部件的連線和管理信息傳輸規(guī)則的邏輯電路稱為總線。息傳輸規(guī)則的邏輯電路稱為總線。特點:特點:在任何時刻,只能有一個部件向總線上在

20、任何時刻,只能有一個部件向總線上發(fā)送信息,可以有多個部件同時接收信息。發(fā)送信息,可以有多個部件同時接收信息。組成:組成: 數(shù)據(jù)總線、地址總線、控制總線。數(shù)據(jù)總線、地址總線、控制總線。 單總線結(jié)構(gòu)單總線結(jié)構(gòu)CPU主存主存輸入輸入設(shè)備設(shè)備輸出輸出設(shè)備設(shè)備總線總線 雙總線結(jié)構(gòu)雙總線結(jié)構(gòu)CPU主存主存擴(kuò)展總線擴(kuò)展總線控制線路控制線路I/O設(shè)備設(shè)備I/O設(shè)備設(shè)備處理機(jī)總線處理機(jī)總線32MHz32或或64位位ISA / EISA8.33MHz 8、16、32位位 . . . . . 三總線結(jié)構(gòu)CPU主存主存PCI橋橋I/O設(shè)備設(shè)備I/O設(shè)備設(shè)備處理機(jī)總線處理機(jī)總線100MHz32或或64位位ISA / E

21、ISA8.33MHz 8、16、32位位 . . . . .PCI BUS 33MHz 4B擴(kuò)展總線擴(kuò)展總線控制線路控制線路I/O設(shè)備設(shè)備I/O設(shè)備設(shè)備接快速設(shè)備接快速設(shè)備接慢速設(shè)備接慢速設(shè)備分布的分布的I/OI/O處理能力處理能力 以運(yùn)算器為中心帶來了慢速輸入輸以運(yùn)算器為中心帶來了慢速輸入輸 出操作占用快速運(yùn)算器的問題。出操作占用快速運(yùn)算器的問題。 為了解決這一問題,人們提出了各種為了解決這一問題,人們提出了各種 輸入輸入/ /輸出方式。輸出方式。 程程序序控控制制 輸輸入入輸輸出出方方式式 DMA I/O 處處理理機(jī)機(jī) 程程序序等等待待 程程序序中中斷斷 成成組組傳傳遞遞 周周期期挪挪用用

22、 通通道道 外外圍圍處處理理機(jī)機(jī) 3. 非馮計算機(jī)的發(fā)展非馮計算機(jī)的發(fā)展什么是非馮計算機(jī)?非指令驅(qū)動,什么是非馮計算機(jī)?非指令驅(qū)動,從傳統(tǒng)的指令驅(qū)動型改變?yōu)閿?shù)據(jù)驅(qū)動型,出現(xiàn)了數(shù)據(jù)流機(jī)計算機(jī)。從傳統(tǒng)的指令驅(qū)動型改變?yōu)樾枨篁?qū)動型,出現(xiàn)各種圖歸約計算機(jī)。處理非數(shù)值化信息的智能計算機(jī),自然語言、聲音、圖形和圖象處理,虛擬現(xiàn)實處理等第五代計算機(jī),由推理機(jī)和知識庫機(jī)等組成。歷經(jīng)10年,召開過多次專題國際會議。神經(jīng)網(wǎng)絡(luò)計算機(jī),仿生計算機(jī),器件發(fā)展的影響1. 第第1代至第代至第4代計算機(jī)以器件來劃分代計算機(jī)以器件來劃分 第一代:第一代:電子管電子管(Valve) 第二代:第二代:晶體管晶體管(Transist

23、or) 第三代:第三代:集成電路集成電路(LSI) 第四代:第四代:大規(guī)模集成電路大規(guī)模集成電路(VLSI) 第五代:智能計算機(jī)智能計算機(jī)?(高性能微處理器高密度電路)第五代計算機(jī)以什么作為標(biāo)志來劃分?第五代計算機(jī)以什么作為標(biāo)志來劃分?第五代計算機(jī)什么時候誕生?第五代計算機(jī)什么時候誕生?2. 器件發(fā)展的特點器件發(fā)展的特點(1) 集成度迅速提高集成度迅速提高 目前水平:每個芯片有1010個晶體管 單芯片內(nèi)可以做大于1Gb存儲器, 單芯片內(nèi)可以集成多個CPU全部Cache 每45年提高一個數(shù)量級 還遠(yuǎn)沒有達(dá)到集成度的極限 問題?問題? 如何利用器件集成度的提高,不斷改進(jìn)計算機(jī)系統(tǒng)的性能:例如,有更

24、多指令并行執(zhí)行,采用更深的流有更多指令并行執(zhí)行,采用更深的流水線,集成更多的水線,集成更多的Cache等等(2) 提高提高速度空間不大速度空間不大 目前CPU主頻已經(jīng)到達(dá)6GHz, 時鐘周期0. 16ns,門延遲小于0.01ns 極限速度30萬公里/秒/21.5mm/0.01ns 信號在導(dǎo)體中傳遞速度小于光速的50。 Pentium芯片面積500mm2,即23mm 23mm 器件速度提高的余地已經(jīng)很小,將來提高處理 機(jī)速度更多依靠系統(tǒng)結(jié)構(gòu)的發(fā)展 可從系統(tǒng)結(jié)構(gòu)的兩個方面提高處理機(jī)速度: 提高IPC,從目前的2左右提高到8以上, 采用更深度的流水線和并行處理技術(shù)(3) 價格直線下降價格直線下降 C

25、PU芯片的價格每年要下降80%(4) 可靠性越來越高可靠性越來越高 芯片可靠性達(dá)到108小時,連續(xù)使用1萬年以上失失 效效 率率 使使 用用 期期 時時 間間 t3. 器件種類器件種類 通用片通用片:邏輯關(guān)系確定 大批量生產(chǎn),如:CPU、存儲器、寄存器 現(xiàn)場片現(xiàn)場片:可以一次或多次改寫邏輯關(guān)系 如:PLD、PAL、PROM、EPROM、FPGA 用戶片用戶片:各種專用芯片 需要單獨設(shè)計和生產(chǎn)。 半用戶片半用戶片:門陣列片等 標(biāo)準(zhǔn)的門電路,前幾到工序已經(jīng)完成; 根據(jù)用戶需要確定最終連線。4. 器件發(fā)展對計算機(jī)組成技術(shù)的影響器件發(fā)展對計算機(jī)組成技術(shù)的影響 器件速度與處理機(jī)工作主頻器件速度與處理機(jī)工

26、作主頻 1955年第一臺大型機(jī) IBM704 機(jī),主頻12us, 1976年巨型向量計算機(jī)CRAY,主頻12.5ns, 目前,Pentium4 的主頻已經(jīng)達(dá)到 3GHz 器件速度與指令執(zhí)行時間器件速度與指令執(zhí)行時間 46年來器件速度提高年來器件速度提高104,指令速度快,指令速度快108以上以上 系統(tǒng)結(jié)構(gòu)和組成技術(shù)的作用系統(tǒng)結(jié)構(gòu)和組成技術(shù)的作用 器件速度提高減慢器件速度提高減慢, 處理機(jī)主頻提高速度減緩處理機(jī)主頻提高速度減緩 指令執(zhí)行速度的提高基本保持不變指令執(zhí)行速度的提高基本保持不變(摩爾定理摩爾定理)應(yīng)用發(fā)展的影響1. 應(yīng)用需求應(yīng)用需求 高結(jié)構(gòu)化數(shù)值計算:氣象模型,流體流動,有限元分析。

27、非結(jié)構(gòu)化的數(shù)值計算:蒙特卡洛模擬, 稀疏矩陣。 實時多因素問題:語音識別,圖象處理, 計算機(jī)視覺。 海量存儲和輸入輸出密集問題:數(shù)據(jù)庫, 事務(wù)處理。 圖形學(xué)和設(shè)計系統(tǒng):計算機(jī)輔助設(shè)計。2. 三個時期三個時期 通用計算機(jī):主要是通用科學(xué)計算 專用計算機(jī):科學(xué)計算、事務(wù)處理、實時控制 高性能通用機(jī):滿足多種需求 目前又開始多種專用處理機(jī)的研制3. 兩個發(fā)展趨勢兩個發(fā)展趨勢維持價格不變,利用VLSI技術(shù)等,提高性能性能基本不變,價格迅速下降一般先推出中間機(jī)型,然后再分別向高端和低端兩個方向發(fā)展4. 三種設(shè)計思想三種設(shè)計思想最高性能價格比最高性能價格比:商用機(jī)。主要發(fā)展方向最高性能:最高性能:國家安全

28、需要,科技發(fā)展需要 例如:銀河計算機(jī)、神州計算機(jī)、最低價格:最低價格:家用學(xué)習(xí)機(jī)等改進(jìn)算法的影響 在多個層次上,算法影響著系統(tǒng)結(jié)構(gòu),在多個層次上,算法影響著系統(tǒng)結(jié)構(gòu),例如:快速乘法、除法、開平方等的實現(xiàn):記分板算法、Tomasulo算法提高指令級并行性消除名字相關(guān)、數(shù)據(jù)相關(guān)、控制相關(guān)的算法有些問題,如果算法上有突破,不需要高性能的系統(tǒng)結(jié)構(gòu),而在普通系統(tǒng)上就能得到解決。許多算法還有改進(jìn)的余地,通過算法的研究能夠大幅度提高系統(tǒng)的性能。系統(tǒng)結(jié)構(gòu)設(shè)計者要研究算法,應(yīng)該研究一系列算法,使所有同類問題都能很好解決。1.5定量分析技術(shù)基礎(chǔ)1.5.1 計算機(jī)性能的評測 響應(yīng)時間:從事件開始到結(jié)束之間的時間,響

29、應(yīng)時間:從事件開始到結(jié)束之間的時間, 也稱為執(zhí)行時間。也稱為執(zhí)行時間。 ( (計算機(jī)完成某一任務(wù)所花費的全部時間計算機(jī)完成某一任務(wù)所花費的全部時間) ) 流量:在單位時間內(nèi)所能完成的工作量。流量:在單位時間內(nèi)所能完成的工作量。 相同點相同點:都認(rèn)為能夠以最短時間完成指定任務(wù)的:都認(rèn)為能夠以最短時間完成指定任務(wù)的 計算機(jī)就是最快的。計算機(jī)就是最快的。不同點:響應(yīng)時間針對單任務(wù),而流量針對多任務(wù)。不同點:響應(yīng)時間針對單任務(wù),而流量針對多任務(wù)。 響應(yīng)時間與性能成反比,上式變成響應(yīng)時間與性能成反比,上式變成n = = = n = = = XY響應(yīng)時間響應(yīng)時間XY性能性能11YX性能性能1. 1. 假設(shè)

30、兩臺計算機(jī)為假設(shè)兩臺計算機(jī)為X X和和Y Y,“X X比比Y Y快快”的意思是的意思是 對于給定任務(wù),對于給定任務(wù),X X的響應(yīng)時間比的響應(yīng)時間比Y Y少。少。 X X比比Y Y快快n n倍倍: = n= nXY響應(yīng)時間響應(yīng)時間l 用戶用戶CPUCPU時間時間l 系統(tǒng)系統(tǒng)CPUCPU時間時間 2. CPU時間 CPUCPU工作的時間,不包含工作的時間,不包含I/OI/O等待時間及運(yùn)行等待時間及運(yùn)行 其它程序的時間。其它程序的時間。1.5 定量分析技術(shù)基礎(chǔ)1.5.2 測試程序 1.目前常用的測試程序可以分為五類: (按測試可靠性由高至低的順序列出)(按測試可靠性由高至低的順序列出) (1) (1

31、) 實際應(yīng)用程序?qū)嶋H應(yīng)用程序 (2) (2) 修正的(或者腳本化)應(yīng)用程序修正的(或者腳本化)應(yīng)用程序 (3) (3) 核心測試程序核心測試程序 (3) (3) 小測試程序小測試程序 (4) (4) 合成測試程序合成測試程序 2. 測試程序組件 選擇一組各個方面有代表性的測試程序,組成一個選擇一組各個方面有代表性的測試程序,組成一個通用測試程序集合。通用測試程序集合。 最大優(yōu)點:最大優(yōu)點: 避免了獨立測試程序存在的片面性,盡避免了獨立測試程序存在的片面性,盡 可能全可能全面地測試了一個計算機(jī)系統(tǒng)的性能面地測試了一個計算機(jī)系統(tǒng)的性能。 最常見的測試程序組件是基于最常見的測試程序組件是基于UNIX

32、UNIX的的SPEC SPEC (System System Performance Evaluation CorporationPerformance Evaluation Corporation,系統(tǒng)性能評估測,系統(tǒng)性能評估測試試) ) 主要版本包括主要版本包括SPEC89SPEC89、SPEC92SPEC92、SPEC95SPEC95和和SPEC2000SPEC2000等。等。 測試程序程序類型SPEC89SPEC92SPEC95SPEC2000gcc整數(shù)采用修正修正修正espresso整數(shù)采用修正舍棄li整數(shù)采用修正修正舍棄eqntott整數(shù)采用舍棄spice浮點采用修正舍棄doduc

33、浮點采用舍棄nasa7浮點采用舍棄fpppp浮點采用修正舍棄matrix300浮點采用舍棄tomcatv浮點采用修正舍棄compress整數(shù)采用修正舍棄sc整數(shù)采用舍棄mdljdp2浮點采用舍棄wave5浮點采用修正舍棄ora浮點采用舍棄mdljsp2浮點采用舍棄alvinn浮點采用舍棄ear浮點采用舍棄表1.7 SPEC不同版本所包含測試程序的演化過程 swm256(aka swim)浮點采用修正修正su2cor浮點采用修正舍棄hydro2d浮點采用修正舍棄go整數(shù)采用舍棄m88ksim整數(shù)采用舍棄ijpeg整數(shù)采用舍棄perl整數(shù)采用修正vortex整數(shù)采用修正mgrid浮點采用修正app

34、lu浮點采用舍棄apsi浮點采用修正turb3d浮點采用舍棄表1.8 SPEC CPU2000測試程序組件中的程序 測試程序程序類型源碼類型說 明gzip整數(shù)C使用Lempel-Ziv的壓縮算法vpr整數(shù)CFPGA布局布線gcc整數(shù)C使用GNU C編譯器生成優(yōu)化的機(jī)器代碼mcf整數(shù)C公交調(diào)度的組合優(yōu)化crafty整數(shù)C下棋程序parser整數(shù)C英語句法分析eon整數(shù)C+一種圖形學(xué)中的光線跟蹤算法perlmbk整數(shù)C四個輸入腳本的Perlgap整數(shù)C一個群論算法包vortex整數(shù)C一個面向?qū)ο蟮臄?shù)據(jù)庫系統(tǒng)bzip2整數(shù)C一種塊分類壓縮算法twolf整數(shù)CTimberwolf:一種用于VLSI布局

35、布線的模擬退火算法wupwise浮點F77量子色動力學(xué)的格群論模型swim浮點F77使用有限差分方程求解淺水方程mgrid浮點F77三維場上的多柵格解算機(jī)apply浮點F77拋物線和橢圓偏微分方程解算器mesa浮點C三維圖形庫galgel浮點F90流體動力學(xué)計算art浮點C使用神經(jīng)網(wǎng)絡(luò)對溫度圖進(jìn)行圖像識別equake浮點C地震波傳播模擬facerec浮點C使用小波和圖形匹配進(jìn)行面像識別ammp浮點C一種水中蛋白質(zhì)的分子動力學(xué)模擬lucas浮點F90進(jìn)行Mersenne素數(shù)的基本測試fma3d浮點F90采用有限元方法的撞擊模擬sixtrack浮點F77設(shè)計高能加速器的模擬器apsi浮點F77大氣

36、污染的氣象學(xué)方法模擬 SPEC2000SPEC2000測試程序組件,除了含有測試測試程序組件,除了含有測試CPUCPU的的 SPEC CPU2000SPEC CPU2000,還包括其他一系列測試程序組,還包括其他一系列測試程序組 件:件: l SPECviewperf SPECviewperf 用于測試圖形系統(tǒng)支持用于測試圖形系統(tǒng)支持OpenGLOpenGL庫的性能庫的性能l SPECapcSPECapc 測試圖形密集型應(yīng)用的性能測試圖形密集型應(yīng)用的性能l SPECSFSSPECSFS 基于基于NFSNFS文件系統(tǒng)的文件服務(wù)器測試程文件系統(tǒng)的文件服務(wù)器測試程l SPECWebSPECWeb W

37、eb Web服務(wù)器測試程序服務(wù)器測試程序 TPCTPC測試程序組件測試程序組件 事務(wù)處理(事務(wù)處理(Transaction-processingTransaction-processing,TPTP) 測試程序主要測試在線事務(wù)處理系統(tǒng)的性能。測試程序主要測試在線事務(wù)處理系統(tǒng)的性能。 核心內(nèi)容:數(shù)據(jù)庫訪問和相關(guān)的信息決策能力。核心內(nèi)容:數(shù)據(jù)庫訪問和相關(guān)的信息決策能力。 l TPC-A TPC-Al TPC-C TPC-C 模擬一個復(fù)雜隊列環(huán)境。模擬一個復(fù)雜隊列環(huán)境。l TPC-HTPC-H 一個特別的決策支持模型,其隊列執(zhí)一個特別的決策支持模型,其隊列執(zhí) 行時間特別長。行時間特別長。l TPC-

38、R TPC-R 模擬面向一組標(biāo)準(zhǔn)隊列的商業(yè)決策支持模擬面向一組標(biāo)準(zhǔn)隊列的商業(yè)決策支持 系統(tǒng),涉及到系統(tǒng),涉及到DBMSDBMS的優(yōu)化。的優(yōu)化。l TPC-WTPC-W 基于基于WebWeb的商業(yè)事務(wù)處理活動。的商業(yè)事務(wù)處理活動。 面向事務(wù)處理的測試程序組件主要用于測試服面向事務(wù)處理的測試程序組件主要用于測試服務(wù)器的性能。務(wù)器的性能。 測試基于測試基于MicrosoftMicrosoft公司的公司的WindowsWindows系列操系列操 作系統(tǒng)平臺的測試組件作系統(tǒng)平臺的測試組件 l PCMark04 PCMark04 包括中央處理器測試組、內(nèi)存測試組、圖包括中央處理器測試組、內(nèi)存測試組、圖 形

39、芯片測試組、硬盤測試組等。形芯片測試組、硬盤測試組等。l Business Winstone 2004Business Winstone 2004 主要用于測試計算機(jī)系統(tǒng)商業(yè)應(yīng)用的綜合主要用于測試計算機(jī)系統(tǒng)商業(yè)應(yīng)用的綜合 性能。性能。l Multimedia Content Creation Winstone 2004 主要用于測試計算機(jī)系統(tǒng)多媒體應(yīng)用的綜主要用于測試計算機(jī)系統(tǒng)多媒體應(yīng)用的綜合性能。合性能。l SiSoft Sandra Pro 2004 SiSoft Sandra Pro 2004 擁有超過擁有超過3030種以上的分析與測試模組,種以上的分析與測試模組, 主要包括有主要包括有

40、CPUCPU、存儲器、存儲器、I/OI/O接口(如接口(如SCSISCSI、 APM/ACPIAPM/ACPI、網(wǎng)絡(luò)等)、網(wǎng)絡(luò)等)、I/OI/O設(shè)備(如設(shè)備(如CD- CD- ROM/DVD ROM/DVD、鼠標(biāo)、鍵盤、打印機(jī)等)、主板、鼠標(biāo)、鍵盤、打印機(jī)等)、主板 等。等。l 3DMark03 3DMark03 主要測試顯卡性能和主要測試顯卡性能和DirectXDirectX的性能。的性能。l Prime95Prime95 用來估計分布式計算程序的通信情況,用來估計分布式計算程序的通信情況, 可使計算機(jī)高負(fù)荷運(yùn)轉(zhuǎn),所以也用來測試計可使計算機(jī)高負(fù)荷運(yùn)轉(zhuǎn),所以也用來測試計 算機(jī)的穩(wěn)定性。算機(jī)的穩(wěn)

41、定性。l SuperPi/SuperESuperPi/SuperE 計算圓周率計算圓周率/自然指數(shù)自然指數(shù)e e的軟件,通常的軟件,通常 用來測試用來測試CPUCPU的穩(wěn)定性。的穩(wěn)定性。 一些專門的性能指標(biāo)測試程序一些專門的性能指標(biāo)測試程序 Linpack性能測試基準(zhǔn)性能測試基準(zhǔn) Linpack現(xiàn)在在國際上已經(jīng)成為最流行的用于測試高性能計算機(jī)系統(tǒng)浮點性能的benchmark。通過利用高性能計算機(jī),用高斯消元法求解一元N次稠密線性代數(shù)方程組的測試,評價高性能計算機(jī)的浮點性能。Linpack測試包括三類,Linpack100、Linpack1000和HPL。Linpack100求解規(guī)模為100階的

42、稠密線性代數(shù)方程組,它只允許采用編譯優(yōu)化選項進(jìn)行優(yōu)化,不得更改代碼,甚至代碼中的注釋也不得修改。Linpack1000要求求解規(guī)模為1000階的線性代數(shù)方程組,達(dá)到指定的精度要求,可以在不改變計算量的前提下做算法和代碼上做優(yōu)化。HPL即High Performance Linpack,也叫高度并行計算基準(zhǔn)測試,它對數(shù)組大小N沒有限制,求解問題的規(guī)??梢愿淖?,除基本算法(計算量)不可改變外,可以采用其它任何優(yōu)化方法。前兩種測試運(yùn)行規(guī)模較小,已不是很適合現(xiàn)代計算機(jī)的發(fā)展,因此現(xiàn)在使用較多的測試標(biāo)準(zhǔn)為HPL,而且階次N也是linpack測試必須指明的參數(shù)。HPL是針對現(xiàn)代并行計算機(jī)提出的測試方式。用

43、戶在不修改任意測試程序的基礎(chǔ)上,可以調(diào)節(jié)問題規(guī)模大小N(矩陣大小)、使用到的CPU數(shù)目、使用各種優(yōu)化方法等來執(zhí)行該測試程序,以獲取最佳的性能。HPL采用高斯消元法求解線性方程組。當(dāng)求解問題規(guī)模為N時,浮點運(yùn)算次數(shù)為(2/3 * N32*N2)。因此,只要給出問題規(guī)模N,測得系統(tǒng)計算時間T,峰值=計算量(2/3 * N32*N2)/計算時間T,測試結(jié)果以浮點運(yùn)算每秒(Flops)給出。Top500從1993年開始對高性能計算機(jī)用Linpack程序進(jìn)行基準(zhǔn)測試,取前500個最優(yōu)質(zhì)系統(tǒng)進(jìn)行列表在Top500網(wǎng)站上進(jìn)行公布.超級計算機(jī)超級計算機(jī)top500 排名排名1.5.3 性能設(shè)計和評測的基本原則

44、 三條基本原則和方法:三條基本原則和方法:1. 大概率事件優(yōu)先的原則 對于大概率事件(最常見的事件),賦予對于大概率事件(最常見的事件),賦予 它優(yōu)先的處理權(quán)和資源使用權(quán),以獲得全局的它優(yōu)先的處理權(quán)和資源使用權(quán),以獲得全局的 最優(yōu)結(jié)果。最優(yōu)結(jié)果。2. 2. AmdahlAmdahl定律定律 加快某部件執(zhí)行速度所獲得的系統(tǒng)性能加快某部件執(zhí)行速度所獲得的系統(tǒng)性能 加速比,受限于該部件在系統(tǒng)中所占的重要性。加速比,受限于該部件在系統(tǒng)中所占的重要性。 (1) (1) 加速比加速比 系統(tǒng)加速比依賴于兩個因素:系統(tǒng)加速比依賴于兩個因素: 可改進(jìn)比例可改進(jìn)比例:可改進(jìn)部分在原系統(tǒng)計算時間中所占的:可改進(jìn)部分

45、在原系統(tǒng)計算時間中所占的 比例,它總是小于等于比例,它總是小于等于的。的。 例如例如: : 一個需運(yùn)行一個需運(yùn)行6060秒的程序中有秒的程序中有2020秒的運(yùn)算秒的運(yùn)算 可以加速,那么該比例就是可以加速,那么該比例就是20/6020/60。系統(tǒng)加速比系統(tǒng)加速比 = = =改進(jìn)前改進(jìn)后系統(tǒng)性能系統(tǒng)性能改進(jìn)后改進(jìn)前總執(zhí)行時間總執(zhí)行時間 部件加速比:可改進(jìn)部分改進(jìn)以后的性能提高,部件加速比:可改進(jìn)部分改進(jìn)以后的性能提高, 一般情況下它是大于的一般情況下它是大于的 。 例如例如: : 系統(tǒng)改進(jìn)后執(zhí)行程序,其中可改進(jìn)部分花系統(tǒng)改進(jìn)后執(zhí)行程序,其中可改進(jìn)部分花 費費2 2秒的時間,而改進(jìn)前該部分需花費秒的

46、時間,而改進(jìn)前該部分需花費5 5秒,秒, 則性能提高為則性能提高為5/25/2。 1.5 定量分析技術(shù)基礎(chǔ)總執(zhí)行時間總執(zhí)行時間改進(jìn)后改進(jìn)后=(1-=(1-可改進(jìn)比例可改進(jìn)比例) ) 總執(zhí)行時間總執(zhí)行時間改進(jìn)前改進(jìn)前 + + = (1-= (1-可改進(jìn)比例可改進(jìn)比例) + ) + 總執(zhí)行時間總執(zhí)行時間改進(jìn)前改進(jìn)前 總執(zhí)行時間總執(zhí)行時間改進(jìn)后改進(jìn)后 = = 不可改進(jìn)部分的執(zhí)行時間不可改進(jìn)部分的執(zhí)行時間 + + 可改進(jìn)部分改進(jìn)后的執(zhí)行時間可改進(jìn)部分改進(jìn)后的執(zhí)行時間部件加速比總執(zhí)行時間可改進(jìn)比例改進(jìn)前部件加速比可改進(jìn)比例系統(tǒng)加速比系統(tǒng)加速比為改進(jìn)前與改進(jìn)后總執(zhí)行時間之比為改進(jìn)前與改進(jìn)后總執(zhí)行時間之比:

47、 : 系統(tǒng)加速比系統(tǒng)加速比 = = = = 改進(jìn)后改進(jìn)前總執(zhí)行時間總執(zhí)行時間部件加速比可改進(jìn)比例可改進(jìn)比例 )1 (1(2) Amdahl(2) Amdahl定律:性能遞減規(guī)則定律:性能遞減規(guī)則 如果僅僅對計算機(jī)中的一部分做性能改如果僅僅對計算機(jī)中的一部分做性能改 進(jìn),則改進(jìn)越多,系統(tǒng)獲得的效果越小。進(jìn),則改進(jìn)越多,系統(tǒng)獲得的效果越小。 推論:如果只針對整個任務(wù)的一部分進(jìn)行優(yōu)化,推論:如果只針對整個任務(wù)的一部分進(jìn)行優(yōu)化, 那么所獲得的加速比不大于那么所獲得的加速比不大于1/(1-fe)1/(1-fe)。(3) (3) 一個一個“好好”的計算機(jī)系統(tǒng):具有高性價比的計的計算機(jī)系統(tǒng):具有高性價比的計

48、 算機(jī)系統(tǒng)是一個帶寬平衡的系統(tǒng),而不是看它算機(jī)系統(tǒng)是一個帶寬平衡的系統(tǒng),而不是看它 使用的某些部件的性能使用的某些部件的性能 。 3. 程序的局部性原理 程序在執(zhí)行時所訪問地址的分布不是隨機(jī)程序在執(zhí)行時所訪問地址的分布不是隨機(jī) 的,而是相對地簇聚;這種簇聚包括指令和數(shù)的,而是相對地簇聚;這種簇聚包括指令和數(shù) 據(jù)兩部分。據(jù)兩部分。 程序的時間局部性:程序即將用到的信息很程序的時間局部性:程序即將用到的信息很 可能就是目前正在使用的信息。可能就是目前正在使用的信息。 程序的空間局部性:程序即將用到的信息很程序的空間局部性:程序即將用到的信息很 可能與目前正在使用的信息在空間上相鄰或者可能與目前正在

49、使用的信息在空間上相鄰或者 臨近。臨近。 1.5.4 CPU的性能1. 將程序執(zhí)行的時間進(jìn)行分解 (1) (1) 計算機(jī)工作的時鐘頻率計算機(jī)工作的時鐘頻率 計算機(jī)系統(tǒng)中與實現(xiàn)技術(shù)和工藝有關(guān)的因素。計算機(jī)系統(tǒng)中與實現(xiàn)技術(shù)和工藝有關(guān)的因素。 單位是單位是MHz(f)MHz(f)。 (2) (2) 總時鐘周期數(shù)總時鐘周期數(shù) 程序執(zhí)行的程序執(zhí)行的cpucpu時間時間 : :CPU時間 = 總時鐘周期數(shù) / 時鐘頻率 2. “指令時鐘數(shù)”CPI(Cycles Per Instruction)Cycles Per Instruction) 一個與計算機(jī)體系結(jié)構(gòu)有關(guān)的參數(shù)。一個與計算機(jī)體系結(jié)構(gòu)有關(guān)的參數(shù)。C

50、PI = 總時鐘周期數(shù) / IC 3. 程序執(zhí)行的CPU時間可以寫成 總CPU時間 = CPI IC / 時鐘頻率 時鐘頻率:反映了計算機(jī)實現(xiàn)技術(shù)、生產(chǎn)工藝時鐘頻率:反映了計算機(jī)實現(xiàn)技術(shù)、生產(chǎn)工藝 和計算機(jī)組織。和計算機(jī)組織。 IC IC:程序執(zhí)行過程中所處理的指令數(shù)。:程序執(zhí)行過程中所處理的指令數(shù)。 CPI CPI:反映了計算機(jī)實現(xiàn)技術(shù)、計算機(jī)指令集:反映了計算機(jī)實現(xiàn)技術(shù)、計算機(jī)指令集 的結(jié)構(gòu)和計算機(jī)組織。的結(jié)構(gòu)和計算機(jī)組織。 IC IC:反映了計算機(jī)指令集的結(jié)構(gòu)和編譯技術(shù)。:反映了計算機(jī)指令集的結(jié)構(gòu)和編譯技術(shù)。假設(shè)假設(shè):計算機(jī)系統(tǒng)有:計算機(jī)系統(tǒng)有n n種指令;種指令; CPICPIi i

51、:第:第i i種指令的處理時間;種指令的處理時間; ICICi i :在程序中第:在程序中第i i種指令出現(xiàn)的次數(shù);種指令出現(xiàn)的次數(shù);則程序執(zhí)行時間為則程序執(zhí)行時間為CPUCPU時間時間 = = (CPI(CPIi i IC ICi i) / ) / 時鐘頻率時鐘頻率CPI = CPI = (CPI(CPIi i IC ICi i) / IC = ) / IC = (CPI(CPIi i IC ICi i / IC) / IC)其中:其中:(IC(ICi i / IC) / IC)反映了第反映了第i i種指令在程序中所占的種指令在程序中所占的 比例。比例。 i=1i=1i=1nnn4. 對CP

52、U性能公式進(jìn)行進(jìn)一步細(xì)化這是一個用來描述計算機(jī)性能的尺度。對于一個給定的程序,MIPS定義為:MIPS(million instructions per second,每秒百萬次指令,每秒百萬次指令)661010CPIfTIMIPSCCPUN其中,其中,fc表示時鐘速率,它是時鐘周期的表示時鐘速率,它是時鐘周期的倒數(shù)。倒數(shù)。 如果用如果用TE代替代替Tcpu 來表示程序的執(zhí)行來表示程序的執(zhí)行時間,則上面的公式可得時間,則上面的公式可得TE的表達(dá)式:的表達(dá)式:610MIPSITNEMIPSCPIfMIPSCPentiumII900105 . 01045010666450例例: 已知已知Penti

53、um II處理機(jī)的處理機(jī)的CPI=0.5,試計,試計算算Pentium II 450處理機(jī)的運(yùn)算速度。處理機(jī)的運(yùn)算速度。 解:由于解:由于PentiumII 450處理機(jī)處理機(jī)fc450MHz, 既然既然MIPS是單位時間內(nèi)的執(zhí)行次數(shù),所以機(jī)是單位時間內(nèi)的執(zhí)行次數(shù),所以機(jī)器工作頻率越高,其器工作頻率越高,其MIPS愈高;同樣,執(zhí)行每條愈高;同樣,執(zhí)行每條指令所需的平均時鐘周期數(shù)(指令所需的平均時鐘周期數(shù)(CPI)越小,其)越小,其MIPS值也越高。值也越高。MIPS從一定程度上反映了機(jī)器的性能。但是從一定程度上反映了機(jī)器的性能。但是MIPS有三個方面的缺陷:有三個方面的缺陷:(1)MIPS依賴

54、于指令集,所以使用依賴于指令集,所以使用MIPS來衡量指來衡量指令集不同的機(jī)器的性能優(yōu)劣時,其結(jié)果是很不準(zhǔn)令集不同的機(jī)器的性能優(yōu)劣時,其結(jié)果是很不準(zhǔn)確的。只適合于評價有相同指令集的機(jī)器。確的。只適合于評價有相同指令集的機(jī)器。(2) 在同一臺機(jī)器上,程序不同,其在同一臺機(jī)器上,程序不同,其CPI也會不同,也會不同,其其MIPS計算結(jié)果也會因為程序不同而發(fā)生變化,計算結(jié)果也會因為程序不同而發(fā)生變化,有時其差異是很大的。有時其差異是很大的。 (3)MIPS可能與性能相反。典型例子就是具有可選硬件浮點運(yùn)算部件的機(jī)器。因為浮點運(yùn)算遠(yuǎn)慢于整數(shù)運(yùn)算,所以很多機(jī)器提供了可選的硬件浮點運(yùn)算部件,但是軟件實現(xiàn)浮點

55、運(yùn)算的MIPS高。然而硬件實現(xiàn)浮點運(yùn)算的時間少,這時MIPS與機(jī)器性能恰好相反。 在使用MIPS時應(yīng)注意它的應(yīng)用范圍,它只適宜于評估標(biāo)量機(jī),因為在標(biāo)量機(jī)中執(zhí)行一條指令,一般可得到一個運(yùn)算結(jié)果,而向量機(jī)中,執(zhí)行一條向量指令通??傻玫蕉鄠€運(yùn)算結(jié)果。因此,用MIPS來衡量向量機(jī)是不合適的。2. MFLOPS(million floating point operations per second,每秒百萬次,每秒百萬次浮點運(yùn)算浮點運(yùn)算) 其中,IFN表示程序中的浮點運(yùn)算次數(shù)。610EFNTIMFLOPS由于MFLOPS取決于機(jī)器和程序兩個方面,因此MFLOPS只能用來衡量機(jī)器浮點操作的性能,而不能體

56、現(xiàn)機(jī)器的整體性能。例如編譯程序,不管機(jī)器的性能有多好,它的MFLOPS不會太高。MFLOPS測量單位比較適用于衡量向量機(jī)的性能,因為MFLOPS是基于操作而非指令的,所以它可以用來比較兩種不同的機(jī)器。一般而言,同一程序運(yùn)行在不同計算機(jī)上時往往會執(zhí)行不同的指令數(shù),但所執(zhí)行的浮點數(shù)個數(shù)常常是相同的。采用MFLOPS作為衡量單位時,應(yīng)注意它的值不但會隨整數(shù)、浮點數(shù)操作混合比例的不同發(fā)生變化,而且也會隨快速和慢速浮點操作混合比例的變化而變化。例如,運(yùn)行由100%浮點加組成的程序所得到的MFLOPS值將比由100%浮點除法組成的程序要高。例例1 用一臺用一臺40MHZ處理機(jī)執(zhí)行標(biāo)準(zhǔn)測試程序,它含的處理機(jī)

57、執(zhí)行標(biāo)準(zhǔn)測試程序,它含的混合指令數(shù)和相應(yīng)所需的時鐘周期數(shù)如表所示?;旌现噶顢?shù)和相應(yīng)所需的時鐘周期數(shù)如表所示。求有效求有效CPI、MIPS速率和程序的執(zhí)行時間。速率和程序的執(zhí)行時間。 指令類型指令類型指令數(shù)指令數(shù)時鐘周期數(shù)時鐘周期數(shù)整數(shù)運(yùn)算整數(shù)運(yùn)算450001數(shù)據(jù)傳送數(shù)據(jù)傳送320002浮點浮點150002控制傳送控制傳送80002=1.55周期周期/指令指令 程序執(zhí)行時間:程序執(zhí)行時間:例例2 某工作站采用時鐘頻率某工作站采用時鐘頻率f為為15MHZ,處理速率為,處理速率為10MIPS的處理機(jī)來執(zhí)行一個已知混合程序。假定每次存儲的處理機(jī)來執(zhí)行一個已知混合程序。假定每次存儲器存取為器存取為1周期

58、延遲,試問:周期延遲,試問: (a) 此計算機(jī)的有效此計算機(jī)的有效CPI是多少是多少 (b) 假定將處理機(jī)的時鐘頻率假定將處理機(jī)的時鐘頻率f提高到提高到30MHZ,但存儲器子系,但存儲器子系統(tǒng)速率不變。這樣,每次存儲器存取需要兩個時鐘周期,如統(tǒng)速率不變。這樣,每次存儲器存取需要兩個時鐘周期,如果果30%指令每條只需要一次存儲存取,而另外指令每條只需要一次存儲存取,而另外5%每條需要每條需要兩次存儲存取,還假定已知混合程序的指令數(shù)不變,并與原兩次存儲存取,還假定已知混合程序的指令數(shù)不變,并與原工作站兼容,試求改進(jìn)后的處理機(jī)性能。工作站兼容,試求改進(jìn)后的處理機(jī)性能。 解:解: (a) CPIold

59、 = fold /(MIPS * 106)= 15106 / (10 * 106 ) =1.5 (b) 如題所述,如題所述,30的指令需要一次存儲存取,則這些指令在的指令需要一次存儲存取,則這些指令在處理器提高時鐘頻率之后需要增加一個時鐘周期;同樣,另外處理器提高時鐘頻率之后需要增加一個時鐘周期;同樣,另外5的指令需要增加兩個時鐘周期。的指令需要增加兩個時鐘周期。 CPInew= (改進(jìn)前執(zhí)行混合程序的所需時鐘周期數(shù)(改進(jìn)前執(zhí)行混合程序的所需時鐘周期數(shù) + 30%1 指令數(shù)指令數(shù) + 5%2指令數(shù)指令數(shù)) / 指令數(shù)指令數(shù) = 改進(jìn)前有效改進(jìn)前有效CPI + 30%1 + 5%2= 1.5 +

60、 0.3 + 0.1= 1.9 處理速率處理速率MIPS= fnew / (CPInew106) = 30106/(1.9106) = 15.79 MIPS 假設(shè)混合程序的指令數(shù)為假設(shè)混合程序的指令數(shù)為IC, 則有則有 可見可見, 改進(jìn)后工改進(jìn)后工作站性能提高了作站性能提高了. 例例3:某部件的處理時間僅為整個運(yùn)行時間的:某部件的處理時間僅為整個運(yùn)行時間的 40%,如果將該部件的處理速度加快到,如果將該部件的處理速度加快到10 倍,則采用加快措施后能使整個系統(tǒng)的倍,則采用加快措施后能使整個系統(tǒng)的 性能提高多少?性能提高多少?解:由題意可知:解:由題意可知:Fe=0.4, Se=10, 根據(jù)根據(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

提交評論