第1章_計算機系統(tǒng)概述_第1頁
第1章_計算機系統(tǒng)概述_第2頁
第1章_計算機系統(tǒng)概述_第3頁
第1章_計算機系統(tǒng)概述_第4頁
第1章_計算機系統(tǒng)概述_第5頁
已閱讀5頁,還剩43頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、Ch1: Computer Abstractions 計算機系統(tǒng)概述計算機系統(tǒng)概述2021年年12月月2日星期四日星期四第第1講:計算機系統(tǒng)概述講:計算機系統(tǒng)概述第第2講:計算機性能評價講:計算機性能評價 Chapter 1 .22021年年12月月2日星期四日星期四第一講第一講 計算機系統(tǒng)概述計算機系統(tǒng)概述計算機發(fā)展簡史計算機發(fā)展簡史 IAS通用計算機模型機:馮通用計算機模型機:馮.諾依曼結(jié)構(gòu)諾依曼結(jié)構(gòu) IBM360系列機:引入兼容性(系列機)概念系列機:引入兼容性(系列機)概念 DEC PDP-8:引入總線結(jié)構(gòu):引入總線結(jié)構(gòu)計算機系統(tǒng)的組成計算機系統(tǒng)的組成 計算機硬件:計算機硬件:CPU

2、+ MM + I/O 計算機軟件:系統(tǒng)軟件計算機軟件:系統(tǒng)軟件+應用軟件應用軟件計算機層次結(jié)構(gòu)計算機層次結(jié)構(gòu) 計算機硬件和軟件的接口:指令系統(tǒng)計算機硬件和軟件的接口:指令系統(tǒng) 計算機軟件如何在硬件上執(zhí)行計算機軟件如何在硬件上執(zhí)行本課程主要內(nèi)容本課程主要內(nèi)容 Chapter 1 .32021年年12月月2日星期四日星期四什么是計算機?什么是計算機?計算機是一種能對計算機是一種能對數(shù)字化信息數(shù)字化信息進行進行自動、高速自動、高速算術算術和邏輯和邏輯運算運算的通用處理裝置。的通用處理裝置。計算機的功能:計算機的功能:數(shù)據(jù)運算、數(shù)據(jù)存儲、數(shù)據(jù)傳送、控制數(shù)據(jù)運算、數(shù)據(jù)存儲、數(shù)據(jù)傳送、控制計算機的特點:計

3、算機的特點:高速:高速:高速元件和高速元件和“存儲程序存儲程序”工作方式帶來高速工作方式帶來高速性性通用:通用:體現(xiàn)在處理對象和應用領域沒有限制體現(xiàn)在處理對象和應用領域沒有限制準確:準確:精度足夠的算術運算帶來準確性精度足夠的算術運算帶來準確性智能智能 :邏輯推理能力帶智能性邏輯推理能力帶智能性計算機的功能和特點計算機的功能和特點 Chapter 1 .42021年年12月月2日星期四日星期四回顧:計算機發(fā)展簡史回顧:計算機發(fā)展簡史第一代:真空管(電子管第一代:真空管(電子管Vacuum Tube Vacuum Tube )194619465757年年 4646年誕生第年誕生第1 1臺電子計算

4、機臺電子計算機 ENIACENIAC- 體積大,重體積大,重3030噸,有噸,有1800018000多個真空管,多個真空管,50005000次加法次加法/ /s s- 十進制表示十進制表示/ /運算,存儲器由運算,存儲器由2020個累加器組成,每個累個累加器組成,每個累加器存加器存1010位十進制數(shù),每一位由位十進制數(shù),每一位由1010個真空管表示。個真空管表示。- 采用手動編程,通過設置開關和插拔電纜來實現(xiàn)。采用手動編程,通過設置開關和插拔電纜來實現(xiàn)。 馮馮諾依曼機諾依曼機(Von Neumann MachineVon Neumann Machine)- 4545年馮年馮諾依曼提出諾依曼提出

5、“存儲程序存儲程序( (Stored-program)Stored-program)”思思想,并于想,并于4646年開始設計年開始設計“存儲程序存儲程序”計算機。計算機。- “存儲程序存儲程序”思想:思想: 將事先編好的程序和原始數(shù)據(jù)送入主存中,然后啟動執(zhí)行。計算機能在不需操作人員干預下,自動完成逐條取出指令和執(zhí)行指令的任務。 SKIPThe First Generation: Vacuum Tube Computers (1946 - 1957)The first general-purpose computer - ENIAC Chapter 1 .62021年年12月月2日星期四日星期四

6、ENIAC-Non von Neumann ModelBACK Chapter 1 .72021年年12月月2日星期四日星期四馮馮諾依曼結(jié)構(gòu)的主要思想諾依曼結(jié)構(gòu)的主要思想1.計算機應由運算器、控制器、存儲器、輸入設備和輸出設備計算機應由運算器、控制器、存儲器、輸入設備和輸出設備五個基本部件組成。五個基本部件組成。2.各基本部件的功能是:各基本部件的功能是:存儲器存儲器不僅能存放數(shù)據(jù),而且也能存放指令,形式上兩者不僅能存放數(shù)據(jù),而且也能存放指令,形式上兩者沒有區(qū)別,但計算機應能區(qū)分數(shù)據(jù)還是指令;沒有區(qū)別,但計算機應能區(qū)分數(shù)據(jù)還是指令;控制器控制器應能自動執(zhí)行指令;應能自動執(zhí)行指令;運算器運算器應

7、能進行加應能進行加/減減/乘乘/除四種基本算術運算,并且也能除四種基本算術運算,并且也能進行一些邏輯運算和附加運算;進行一些邏輯運算和附加運算;操作人員可以通過操作人員可以通過輸入設備輸入設備、輸出設備輸出設備和主機進行通信。和主機進行通信。3.內(nèi)部以內(nèi)部以二進制表示二進制表示指令和數(shù)據(jù)。每條指令由操作碼和地址碼指令和數(shù)據(jù)。每條指令由操作碼和地址碼兩部分組成。操作碼指出操作類型,地址碼指出操作數(shù)的地兩部分組成。操作碼指出操作類型,地址碼指出操作數(shù)的地址。由一串指令組成程序。址。由一串指令組成程序。4.采用采用“存儲程序存儲程序”工作方式。工作方式。 Chapter 1 .82021年年12月月

8、2日星期四日星期四計算機發(fā)展簡史計算機發(fā)展簡史第二代:晶體管 195864年 元器件:邏輯元件采用晶體管,內(nèi)存由磁芯構(gòu)成,外存為磁鼓與磁帶。 特點:變址,浮點運算,多路存儲器,I/O處理機,中央交換結(jié)構(gòu)(非總線結(jié)構(gòu))。 軟件:使用高級語言,提供了系統(tǒng)軟件。 代表機種:IBM 7094 (scientific)、1401 (business)和 DEC PDP-1DEC PDP-1晶體管:晶體管:Transistor Chapter 1 .92021年年12月月2日星期四日星期四計算機發(fā)展簡史計算機發(fā)展簡史第三代:第三代:SSI/MSI 196571年年 元器件:元器件:邏輯元件與主存儲器均由集

9、成電路(邏輯元件與主存儲器均由集成電路(IC)實現(xiàn)實現(xiàn) 。 特點:特點:微程序控制,微程序控制,Cache,虛擬存儲器,流水線等。虛擬存儲器,流水線等。 代表機種:代表機種:IBM 360和和DEC PDP-8(大大/巨型機與小型機同時發(fā)展巨型機與小型機同時發(fā)展 )-巨型機巨型機(Supercomputer):Cray-1-大型機大型機(Mainframe):IBM360系列系列-小型機小型機(Minicomputer):DEC PDP-8Cray-1 Chapter 1 .102021年年12月月2日星期四日星期四IBM System/360系列計算機系列計算機IBM公司于公司于1964年研

10、制成功年研制成功引入了引入了“兼容機兼容機”(“系列機系列機”)概念概念 兼容機的特征兼容機的特征 :-相同的或相似的指令集相同的或相似的指令集-相同或相似的操作系統(tǒng)相同或相似的操作系統(tǒng)-更高的速度更高的速度-更多的更多的I/O端口數(shù)端口數(shù)-更大的內(nèi)存容量更大的內(nèi)存容量-更高的價格更高的價格低端機指令集是高端機的一個低端機指令集是高端機的一個子集,稱為子集,稱為“向后兼容向后兼容”。功。功能相同,而性能不同。能相同,而性能不同。IBM 360問題問題1:引入:引入“兼容機兼容機”有什么好處?有什么好處?問題問題2:實現(xiàn):實現(xiàn)“系列機系列機”的關鍵是什么?的關鍵是什么? Chapter 1 .1

11、12021年年12月月2日星期四日星期四DEC公司的PDP-8機同在同在64年出現(xiàn)。與年出現(xiàn)。與IBM 360相比,價格更低、更小巧,因而相比,價格更低、更小巧,因而被稱為小型機(被稱為小型機(Minicomputer)PDP-8“創(chuàng)造了小型機的概念,并使之成為數(shù)十億美元的工創(chuàng)造了小型機的概念,并使之成為數(shù)十億美元的工業(yè)業(yè)”,使,使DEC成為了最大的小型機制造商。成為了最大的小型機制造商。主要特點:首次采用總線結(jié)構(gòu)。主要特點:首次采用總線結(jié)構(gòu)。 Omnibus總線包含了總線包含了96個獨立的信號通道,用以傳送控制個獨立的信號通道,用以傳送控制、地址和數(shù)據(jù)信號。這種結(jié)構(gòu)具有高度的靈活性,允許將模

12、、地址和數(shù)據(jù)信號。這種結(jié)構(gòu)具有高度的靈活性,允許將模塊插入總線以形成各種配置。塊插入總線以形成各種配置。 Chapter 1 .122021年年12月月2日星期四日星期四PDP8/E計算機系統(tǒng)框圖計算機系統(tǒng)框圖問題:問題:“總線結(jié)構(gòu)總線結(jié)構(gòu)”有什么好處?有什么好處?具有高度的靈活性,允許將模塊插入總線以形成各種配置節(jié)省器件,體積小,價格便宜 Chapter 1 .132021年年12月月2日星期四日星期四計算機發(fā)展簡史計算機發(fā)展簡史 (第四代:LSI/VLSI/ULSI 1972至今) 微處理器和半導體存儲器技術發(fā)展迅猛,微型計算機出現(xiàn)。 使計算機以辦公設備和個人電腦的方式走向普通用戶。半導體

13、存儲器- 70年Fairchild公司生產(chǎn)出第一個相對大容量半導體存儲器- 74年位價格低于磁芯的半導體存儲器出現(xiàn),并快速下跌- 從70年起,存儲密度呈4倍提高(幾乎是每3年)微處理器- 微處理器芯片密度不斷增加,使CPU中所有元件放在一塊芯片上成為可能。71年開發(fā)出第一個微處理器芯片4004。 特點:共享存儲器,分布式存儲器及大規(guī)模并行處理系統(tǒng)以后幾代(標準、意見不一)以后幾代(標準、意見不一) (注:有稱第四代是(注:有稱第四代是VLSI,從從80年代開始;年代開始;也有稱第四代是也有稱第四代是LSI,從從72年開始;有的又分成年開始;有的又分成LSI時代和時代和VLSI時代)時代) Ch

14、apter 1 .142021年年12月月2日星期四日星期四計算機硬件:打開計算機來看看計算機硬件:打開計算機來看看 Chapter 1 .152021年年12月月2日星期四日星期四PC主板主板CPU插座插座內(nèi)存條內(nèi)存條PCI總線插槽總線插槽 Chapter 1 .162021年年12月月2日星期四日星期四解剖一臺計算機解剖一臺計算機 個人計算機由主個人計算機由主機和外設組成機和外設組成主機中包含主機中包含多個電路板多個電路板每個電路板中有每個電路板中有十幾個集成電路十幾個集成電路每個集成電路中每個集成電路中有十幾個模塊有十幾個模塊每個模塊中有每個模塊中有上千萬個單元上千萬個單元每個單元中有每

15、個單元中有十幾個門電路十幾個門電路每個門電路實現(xiàn)基每個門電路實現(xiàn)基本的邏輯運算本的邏輯運算 所有信息都用二所有信息都用二進制編碼表示進制編碼表示 Chapter 1 .172021年年12月月2日星期四日星期四Integrated Circuits manufacturing process 單晶硅錠單晶硅錠圓形薄片圓形薄片 / 硅拋光片硅拋光片(6/8/12寸寸,厚度不足厚度不足1mm)IC小片小片 / 芯片芯片不合格的用磁不合格的用磁漿點上記號漿點上記號封裝:將芯片固定在塑膠或陶瓷基座上,把芯片上蝕刻出來封裝:將芯片固定在塑膠或陶瓷基座上,把芯片上蝕刻出來的引線與基座底部伸出的引腳連接,蓋

16、上蓋板并封焊成芯片的引線與基座底部伸出的引腳連接,蓋上蓋板并封焊成芯片約需約需400多道工序!多道工序!“晶圓晶圓” / 大芯片大芯片 Chapter 1 .202021年年12月月2日星期四日星期四Pentium4處理器內(nèi)部布局處理器內(nèi)部布局 Chapter 1 .212021年年12月月2日星期四日星期四Hardware/Software Interface , EXTop=1,ALUSelA=1,ALUSelB=11,ALUop=add,IorD=1,Read,MemtoReg=1,RegWr=1,.temp = vk;vk = vk+1;vk+1 = temp;lw $15, 0($2

17、)lw $16, 4($2)sw $16, 0($2)sw $15, 4($2)1000 1100 0100 1111 0000 0000 0000 00001000 1100 0101 0000 0000 0000 0000 01001010 1100 0101 0000 0000 0000 0000 00001010 1100 0100 1111 0000 0000 0000 0100軟軟件件硬硬件件 Chapter 1 .222021年年12月月2日星期四日星期四Hardware/Software Interface(界面)(界面)機器語言由指令代碼構(gòu)成,能被硬件直接執(zhí)行。 軟件和硬件的

18、界面:軟件和硬件的界面: ISA(Instruction Set Architecture ) 指令集體系結(jié)構(gòu)軟件軟件硬件硬件 Chapter 1 .232021年年12月月2日星期四日星期四Software System software(系統(tǒng)軟件系統(tǒng)軟件) - 簡化編程過程,使硬件資源被有效利用簡化編程過程,使硬件資源被有效利用 操作系統(tǒng)(操作系統(tǒng)(Operating System):):硬件資源管理,用戶接口硬件資源管理,用戶接口 語言處理系統(tǒng):翻譯程序語言處理系統(tǒng):翻譯程序+ Linker, Debug, Loader, etc -翻譯程序翻譯程序(Translator)有三類:有三類

19、:匯編程序匯編程序(Assembler):匯編語言源程序匯編語言源程序機器語言目標程序機器語言目標程序編譯程序編譯程序(Complier):高級語言源程序高級語言源程序匯編匯編/機器語言目標程序機器語言目標程序解釋程序解釋程序(Interpreter ):將高級語言語句逐條翻譯成機器指令并立將高級語言語句逐條翻譯成機器指令并立即執(zhí)行即執(zhí)行,不生成目標文件。不生成目標文件。 其他實用程序其他實用程序: 如:磁盤碎片整理程序、備份程序等如:磁盤碎片整理程序、備份程序等Application software(應用軟件應用軟件) - 解決具體應用問題解決具體應用問題/完成具體應用任務完成具體應用任務

20、 各類媒體處理程序:各類媒體處理程序:Word/ Image/ Graphics/ 管理信息系統(tǒng)管理信息系統(tǒng) (MIS) Game, Chapter 1 .242021年年12月月2日星期四日星期四Computer Hierarchy(計算機系統(tǒng)層次)(計算機系統(tǒng)層次)I/OCPUCompilerOperatingSystemApplicationDigital DesignCircuit Design 上圖給出的是計算機系統(tǒng)的層次結(jié)構(gòu)上圖給出的是計算機系統(tǒng)的層次結(jié)構(gòu) 指令系統(tǒng)(即指令系統(tǒng)(即ISA)是軟)是軟/硬件的交界面硬件的交界面Instruction Set Architecture不

21、同用戶工作在不同層次,所看到的計算機不一樣不同用戶工作在不同層次,所看到的計算機不一樣最終用戶最終用戶End User應用程序員應用程序員Application Programmer系統(tǒng)管理員系統(tǒng)管理員System Administrator系統(tǒng)程序員系統(tǒng)程序員System ProgrammerMMAssembler中間陰影部分就是本課程主要內(nèi)容,處于最核心的部分!中間陰影部分就是本課程主要內(nèi)容,處于最核心的部分! Chapter 1 .252021年年12月月2日星期四日星期四一個典型系統(tǒng)的硬件組成一個典型系統(tǒng)的硬件組成PC:程序計數(shù)器;:程序計數(shù)器;ALU:算術:算術/邏輯單元;邏輯單元;

22、USB:通用串行總線:通用串行總線CPUMMInput/Output Chapter 1 .262021年年12月月2日星期四日星期四一個典型程序的轉(zhuǎn)換處理過程一個典型程序的轉(zhuǎn)換處理過程1 #include 23 int main()4 5 printf(hello, worldn);6 經(jīng)典的經(jīng)典的“ hello.c ”C-源程序源程序# i n c l u d e n n i n t m a i n ( ) n 104 62 10 10 105 110 116 32 109 97 105 110 40 41 10 123n p r i n t f ( h e l10 32 32 32 32

23、 112 114 105 110 116 102 40 34 104 101 108l o , w o r l d n ) ; n 108 111 44 32 119 111 114 108 100 92 110 34 41 59 10 125hello.c的的ASCII文本表示文本表示計算機能夠直接識計算機能夠直接識別別hello.c源程序嗎?源程序嗎?不能,需要轉(zhuǎn)換為機不能,需要轉(zhuǎn)換為機器語言代碼器語言代碼! 即:編即:編譯譯程序的功能是:程序的功能是:輸出輸出“hello,world” Chapter 1 .272021年年12月月2日星期四日星期四Hello程序的數(shù)據(jù)流動過程程序的數(shù)據(jù)

24、流動過程“hello”Hello可執(zhí)行文件可執(zhí)行文件Red:shell命令行處理命令行處理Blue:可執(zhí)行文件加載:可執(zhí)行文件加載Cyan:hello程序執(zhí)行過程程序執(zhí)行過程“hello”“hello,world/n”“hello,world/n”所有過程都是在所有過程都是在CPU執(zhí)行指令所產(chǎn)生的控制信號的作用下進行的。執(zhí)行指令所產(chǎn)生的控制信號的作用下進行的。數(shù)據(jù)經(jīng)常在各存儲部件間傳送。故現(xiàn)代計算機大多采用數(shù)據(jù)經(jīng)常在各存儲部件間傳送。故現(xiàn)代計算機大多采用“緩存緩存”技術!技術!unix ./hellohello, worldunixEnter Chapter 1 .282021年年12月月2日

25、星期四日星期四該課程的主要學習內(nèi)容該課程的主要學習內(nèi)容信息(指令和數(shù)據(jù))在計算機中如何表示?信息(指令和數(shù)據(jù))在計算機中如何表示?指令系統(tǒng)如何設計?指令系統(tǒng)如何設計?如何設計高性能如何設計高性能CPU?如何設計存如何設計存儲器系統(tǒng)?儲器系統(tǒng)?如何設計如何設計I/O?如何設計總線如何設計總線BUS? Chapter 1 .292021年年12月月2日星期四日星期四Course Outline性能評價(性能評價(Performance measurement)計算機算術(計算機算術(Arithmetic for Computer) 數(shù)據(jù)的表示和運算數(shù)據(jù)的表示和運算存儲器層次結(jié)構(gòu)(存儲器層次結(jié)構(gòu)(M

26、emory Hierarchies )指令集體系結(jié)構(gòu)(指令集體系結(jié)構(gòu)(Instruction Set Architecture)CPU設計設計 數(shù)據(jù)通路數(shù)據(jù)通路 (Data path) 和控制器和控制器(Control Unit)流水線技術流水線技術 (Pipelining)系統(tǒng)總線系統(tǒng)總線 (System Buses)輸入輸入/輸出系統(tǒng)(輸出系統(tǒng)(Input / Output system) Chapter 1 .302021年年12月月2日星期四日星期四第二講第二講 計算機性能評價計算機性能評價制造成本(制造成本(manufacturing cost)衡量計算機性能的基本指標衡量計算機性能

27、的基本指標 響應時間(響應時間(response time)- 執(zhí)行時間(執(zhí)行時間(execution Time)、等待時間()、等待時間(latency) throughput (吞吐量)(吞吐量)- 帶寬(帶寬(bandwidth) 計算機性能測量計算機性能測量 指令執(zhí)行速度(指令執(zhí)行速度(MIPS、MFLOPS) 基準程序(基準程序( Benchmark) Chapter 1 .312021年年12月月2日星期四日星期四單晶硅錠圓形薄片 / 硅拋光片(6/8/12寸,厚度不足1mm)IC小片 / 芯片不合格的用磁漿點上記號封裝:將芯片固定在塑膠或陶瓷基座上,把芯片上蝕刻出來的引線與基座底

28、部伸出的引腳連接,蓋上蓋板并封焊成芯片約需400多道工序!“晶圓” / 大芯片回顧回顧: Integrated Circuits Costs - manufacturing process 在考察性能前,先考察成本!在考察性能前,先考察成本! Chapter 1 .322021年年12月月2日星期四日星期四Integrated Circuits Costs 公式公式Die cost = Dies per wafer = Die Yield = 由此看出:每個圓晶片上的小片數(shù)、集成電路成本都與芯片面積有關!areaDieareawafer_YieldwaferperDiewafterperCos

29、t_小片合格率小片合格率芯片成本與以下因素有關:芯片成本與以下因素有關: 圓晶價格圓晶價格 圓晶所含小片數(shù)圓晶所含小片數(shù) 小片合格率小片合格率2)_(1 (1areaDieareaperDefectx+ Chapter 1 .332021年年12月月2日星期四日星期四計算機性能的基本評價指標計算機性能的基本評價指標 X is n times faster than Y meansExTime(Y) Performance(X) =ExTime(X)Performance(Y)相對性能用執(zhí)行時相對性能用執(zhí)行時間的倒數(shù)來表示!間的倒數(shù)來表示!計算機有兩種不同的性能計算機有兩種不同的性能 Time

30、to do the task 響應時間(響應時間(response time) 執(zhí)行時間(執(zhí)行時間(execution time) 等待時間或時延(等待時間或時延(latency) Tasks per day, hour, sec, ns. . 吞吐率(吞吐率(throughput) 帶寬(帶寬(bandwidth) 基本的性能評價標準是:基本的性能評價標準是:CPU的執(zhí)行時間的執(zhí)行時間不同應用場合用戶關心的性能不同:不同應用場合用戶關心的性能不同:要求吞吐率高的場合,例如:要求吞吐率高的場合,例如: 多媒體應用(音多媒體應用(音/視頻播放要流暢)視頻播放要流暢)要求響應時間短的場合:例如:要

31、求響應時間短的場合:例如: 事務處理系統(tǒng)(存事務處理系統(tǒng)(存/取款速度要快)取款速度要快)要求吞吐率高且響應時間短的場合:要求吞吐率高且響應時間短的場合: ATM、文件服務器、文件服務器、Web服務器等服務器等 Chapter 1 .342021年年12月月2日星期四日星期四計算機性能的測量計算機性能的測量比較計算機的性能時,用執(zhí)行時間來衡量比較計算機的性能時,用執(zhí)行時間來衡量 完成同樣工作量所需時間最短的那臺計算機就是性能最好的完成同樣工作量所需時間最短的那臺計算機就是性能最好的 處理器時間往往被多個程序共享使用,因此,用戶感覺到的程序執(zhí)行時處理器時間往往被多個程序共享使用,因此,用戶感覺到

32、的程序執(zhí)行時間并不是程序真正的執(zhí)行時間間并不是程序真正的執(zhí)行時間(從(從hello程序執(zhí)行過程可知)程序執(zhí)行過程可知) 通常把用戶感覺到的響應時間分成以下兩個時間:通常把用戶感覺到的響應時間分成以下兩個時間:-CPU時間:指時間:指CPU真正花在程序執(zhí)行上的時間。又包括兩部分:真正花在程序執(zhí)行上的時間。又包括兩部分:用戶用戶CPU時間:用來運行用戶代碼的時間時間:用來運行用戶代碼的時間系統(tǒng)系統(tǒng)CPU時間:為了執(zhí)行用戶程序而需要運行操作系統(tǒng)程序的時間時間:為了執(zhí)行用戶程序而需要運行操作系統(tǒng)程序的時間-其他時間:指等待其他時間:指等待I/O操作完成或操作完成或CPU花在其他用戶程序的時間花在其他用

33、戶程序的時間 系統(tǒng)性能和系統(tǒng)性能和CPU性能不等價,有一定的區(qū)別性能不等價,有一定的區(qū)別-系統(tǒng)性能系統(tǒng)性能(System performance):系統(tǒng)響應時間,與:系統(tǒng)響應時間,與CPU外的其外的其他部分也都有關系他部分也都有關系-CPU性能性能(CPU performance):用戶:用戶CPU時間時間 本章主要討論本章主要討論CPU性能,即:性能,即:CPU真正用在用戶程序執(zhí)行上的時間真正用在用戶程序執(zhí)行上的時間 問題:用戶問題:用戶CPU時間與系統(tǒng)響應時間哪個更長?時間與系統(tǒng)響應時間哪個更長? Chapter 1 .352021年年12月月2日星期四日星期四CPU執(zhí)行時間的計算執(zhí)行時間

34、的計算CPU 執(zhí)行時間執(zhí)行時間 = CPU時鐘周期數(shù)時鐘周期數(shù) / 程序程序 X 時鐘周期時鐘周期 = CPU時鐘周期數(shù)時鐘周期數(shù) / 程序程序 時鐘頻率時鐘頻率 = 指令條數(shù)指令條數(shù) / 程序程序 X CPI X 時鐘周期時鐘周期CPU時鐘周期數(shù)時鐘周期數(shù) / 程序程序 = 指令條數(shù)指令條數(shù) / 程序程序 X CPICPI = CPU時鐘周期數(shù)時鐘周期數(shù) / 程序程序 指令條數(shù)指令條數(shù) / 程序程序 CPI 用來衡量以下各方面的綜合結(jié)果用來衡量以下各方面的綜合結(jié)果 Instruction Set Architecture(ISA) Implementation of that archite

35、cture Program(Compiler、Algorithm) CPI:Cycles Per Instruction Chapter 1 .362021年年12月月2日星期四日星期四Aspects of CPU PerformanceCPU time = Seconds = Instructions x Cycles x Seconds Program Program Instruction Cycleinstr. countCPI clock rateProgramCompilerInstr. Set Arch.OrganizationTechnology思考:三個因素與哪些方面有關?思

36、考:三個因素與哪些方面有關? Chapter 1 .372021年年12月月2日星期四日星期四Aspects of CPU PerformanceCPU time = Seconds = Instructions x Cycles x Seconds Program Program Instruction Cycleinstr. countCPI clock rateProgram X XCompiler X (X)Instr. Set Arch. X XOrganization X XTechnology X問題:問題:ISA、計算機組織(、計算機組織(Organization)、計算機實現(xiàn)

37、技術()、計算機實現(xiàn)技術(Technology)三者的關系是什么?三者的關系是什么? Chapter 1 .382021年年12月月2日星期四日星期四Architecture = Instruction Set Arch. + OrganizationComputer DesignComputer Hardware Design Machine Implementation Logic Designers View Processor Architecture Computer OrganizationConstruction EngineerInstruction Set Design Ma

38、chine Language Compiler View Computer Architecture Instruction Set ProcessorBuilding Architect“建筑設計師建筑設計師”功能定義與設計功能定義與設計“建造工程師建造工程師”考慮用什么材料,如何布線等考慮用什么材料,如何布線等例如,是否提供例如,是否提供“乘法指令乘法指令”是是ISA設計要考慮的問題;設計要考慮的問題; 如何實現(xiàn)乘法指令(用專門的乘如何實現(xiàn)乘法指令(用專門的乘法器還是用一個加法器法器還是用一個加法器+移位器實現(xiàn))是組成(移位器實現(xiàn))是組成(Organization)考慮的問題;考慮的問題;

39、 如何布線、如何布線、用什么材料、工藝設計等是計算機實現(xiàn)技術用什么材料、工藝設計等是計算機實現(xiàn)技術(Technology)考慮的問題考慮的問題。 Chapter 1 .392021年年12月月2日星期四日星期四如何計算CPI?對于某一條特定的指令而言,其CPI是一個確定的值。但是,對于某一類指令、或一個程序、或一臺機器而言,其CPI是一個平均值,表示該類指令或該程序或該機器的指令集中每條指令執(zhí)行時平均需要多少時鐘周期。假定CPIi 、 Fi是各指令CPI和在程序中的出現(xiàn)頻率,則程序綜合CPI為:CPI = where =xniiiFCPI1CountnInstructioCFii_=CPU時間

40、時間= 時鐘周期時鐘周期 x假定CPI i 和 C i分別為第 i類指令的CPI和指令條數(shù),則程序的總時鐘數(shù)為:=xniiiCCPI1=xniiiCCPI1總時鐘數(shù)總時鐘數(shù) =所以,所以,CPI = (CPU 時間時間時鐘頻率時鐘頻率) / 指令條數(shù)指令條數(shù) = 總時鐘周期數(shù)總時鐘周期數(shù) / 指令條數(shù)指令條數(shù)已知CPU時間、時鐘頻率、總時鐘數(shù)、指令條數(shù),則程序綜合CPI為:問題:指令的問題:指令的CPI、機器的、機器的CPI、程序的、程序的CPI各能反映哪方面的性能?各能反映哪方面的性能? 單靠單靠CPI不能反映不能反映CPU的性能!為什么?如:單周期處理器的性能!為什么?如:單周期處理器CP

41、I=1,但性能差!,但性能差! Chapter 1 .402021年年12月月2日星期四日星期四Example1程序程序P在機器在機器A上運行需上運行需10 s, 機器機器A的時鐘頻率為的時鐘頻率為400MHz。 現(xiàn)在要設計一臺機器現(xiàn)在要設計一臺機器B,希望該程序在,希望該程序在B上運行只需上運行只需6 s. 機器機器B時鐘頻率的提高導致了其時鐘頻率的提高導致了其CPI的增加,使得程序的增加,使得程序P在機器在機器B上時鐘周期數(shù)是在機器上時鐘周期數(shù)是在機器A上的上的1.2倍。機器倍。機器B的時鐘頻率達到的時鐘頻率達到A的多少倍才能使程序的多少倍才能使程序P在在B上執(zhí)行速度是上執(zhí)行速度是A上的上

42、的10/6=1.67倍?倍?Answer: CPU時間時間A = 時鐘周期數(shù)時鐘周期數(shù)A / 時鐘頻率時鐘頻率A 時鐘周期數(shù)時鐘周期數(shù)A = 10 sec x 400MHz = 4000M個個 時鐘頻率時鐘頻率B = 時鐘周期數(shù)時鐘周期數(shù)B / CPU時間時間B = 1.2 x 4000M / 6 sec = 800 MHz機器機器B的頻率是的頻率是A的兩倍,但機器的兩倍,但機器B的速度并不是的速度并不是A的兩倍!的兩倍! Chapter 1 .412021年年12月月2日星期四日星期四Marketing Metrics (產(chǎn)品宣稱指標)MIPS= Instruction Count / Ti

43、me x106= Clock Rate / CPI x 106Million Instructions Per Second因為每條指令執(zhí)行時間不同,所以因為每條指令執(zhí)行時間不同,所以MIPS總是一個平均值??偸且粋€平均值。 不同機器的指令集不同不同機器的指令集不同 程序由不同的指令混合而成程序由不同的指令混合而成 指令使用的頻度動態(tài)變化指令使用的頻度動態(tài)變化 Peak MIPS: (不實用)(不實用)所以所以MIPS數(shù)不能說明性能的好壞數(shù)不能說明性能的好壞(用下頁中的例子來說明)(用下頁中的例子來說明)MFLOPS = FP Operations / Time x106Million Flo

44、ating-point Operations Per Second 與機器相關性大與機器相關性大 并不是程序中花時間的部分并不是程序中花時間的部分用用MIPS數(shù)表示性數(shù)表示性能有沒有局限能有沒有局限?用用MFLOPS數(shù)表示數(shù)表示性能也有局限!性能也有局限!問題:問題:TFLOPS、PFLOPS等的含義是什么?等的含義是什么? Chapter 1 .422021年年12月月2日星期四日星期四Example: MIPS數(shù)不可靠!數(shù)不可靠!Assume we build an optimizing compiler for the load/store machine. The compiler d

45、iscards 50% of the ALU instructions.1) What is the CPI ?2) Assuming a 20 ns clock cycle time (50 MHz clock rate). What is the MIPS rating for optimized code versus unoptimized code? Does the MIPS rating agree with the rating of execution time?Op Freq Cycle ALU 43%1 Load 21%2 Store 12%2 Branch 24%2Ne

46、w Freq 27% 27% 15% 31%Optimizing compilerCPI 1.57 1.73MIPS 31.8 28.9 結(jié)果:因為優(yōu)化后減少了結(jié)果:因為優(yōu)化后減少了ALU指令(其他指令數(shù)沒變),所以指令(其他指令數(shù)沒變),所以程序執(zhí)行時間一定減少了,但優(yōu)化后的程序執(zhí)行時間一定減少了,但優(yōu)化后的MIPS數(shù)反而降低了。數(shù)反而降低了。21.5/ (21.5+21+12+24)=27%21 / (21.5+21+12+24)=27%12 / (21.5+21+12+24)=15%24 / (21.5+21+12+24)= 31%50M/1.57=31.8MIPS50M/1.73=28

47、.9MIPS僅僅在軟件上進行優(yōu)化,沒有涉及到任何硬件措施。僅僅在軟件上進行優(yōu)化,沒有涉及到任何硬件措施。 Chapter 1 .432021年年12月月2日星期四日星期四選擇性能評價程序(選擇性能評價程序(Benchmarks)用基準程序來評測計算機的性能用基準程序來評測計算機的性能 基準測試程序是專門用來進行性能評價的一組程序基準測試程序是專門用來進行性能評價的一組程序 不同用戶使用的計算機用不同的基準程序不同用戶使用的計算機用不同的基準程序 基準程序通過運行實際負載來反映計算機的性能基準程序通過運行實際負載來反映計算機的性能 最好的基準程序是用戶實際使用的程序或典型的簡單程序最好的基準程序

48、是用戶實際使用的程序或典型的簡單程序基準程序的缺陷基準程序的缺陷 現(xiàn)象:基準程序的性能與某段短代碼密切相關時,會被利用以得到不當現(xiàn)象:基準程序的性能與某段短代碼密切相關時,會被利用以得到不當?shù)男阅茉u測結(jié)果的性能評測結(jié)果 手段:硬件系統(tǒng)設計人員或編譯器開發(fā)者針對這些代碼片段進行特殊的手段:硬件系統(tǒng)設計人員或編譯器開發(fā)者針對這些代碼片段進行特殊的優(yōu)化,使得執(zhí)行這段代碼的速度非??靸?yōu)化,使得執(zhí)行這段代碼的速度非常快-例例1:Intel Pentium處理器運行處理器運行SPECint時用了公司內(nèi)部使用的特時用了公司內(nèi)部使用的特殊編譯器,使其性能極高殊編譯器,使其性能極高-例例2:矩陣乘法程序:矩陣乘

49、法程序SPECmatrix300有有99%的時間運行在一行語句的時間運行在一行語句上,有些廠商用特殊編譯器優(yōu)化該語句,使性能達上,有些廠商用特殊編譯器優(yōu)化該語句,使性能達VAX11/780的的729.8倍!倍! Chapter 1 .442021年年12月月2日星期四日星期四Successful Benchmark: SPEC 1988年,年,5家公司(家公司( Sun, MIPS, HP, Apollo, DEC )聯(lián)合提出了)聯(lián)合提出了SPEC (Systems Performance Evaluation Committee) SPEC給出了一組標準的測試程序、標準輸入和測試報告。它們是

50、一些實給出了一組標準的測試程序、標準輸入和測試報告。它們是一些實際的程序,包括際的程序,包括 OS calls、 I/O等。等。版本版本 89:10 programs = 4 for integer + 6 for FP, 用每個程序的執(zhí)行時用每個程序的執(zhí)行時間求出一個綜合性能指標間求出一個綜合性能指標 版本版本92:SPECInt92 (6 integer programs) and SPECfp92 (14 floating point programs) 整數(shù)和浮點數(shù)單獨提供衡量指標:整數(shù)和浮點數(shù)單獨提供衡量指標:SPECInt92和和SPECfp92 增加增加 SPECbase: 禁止

51、使用任何與程序有關的編譯優(yōu)化開關禁止使用任何與程序有關的編譯優(yōu)化開關版本版本95: 8 int + 10fp較新版本:較新版本: include SPEC HPC96, SPEC JVM98, SPEC WEB99, SPEC OMP2001. SPEC CPU2000,See “benchmarks useful for 3 years” Base machine is changed from VAX-11/780 to Sun SPARC 10/40 Chapter 1 .452021年年12月月2日星期四日星期四如何給出綜合評價結(jié)果如何給出綜合評價

52、結(jié)果?Program 1: 1 sec on machine A, 10 sec on machine BProgram 2: 1000 sec on A,100 sec on BWhat are your conclusions? A is 10 times faster than B for program1. B is 10 times faster than A for Program2.Total exec. time是一個綜合度量值,可以據(jù)此得出結(jié)論:是一個綜合度量值,可以據(jù)此得出結(jié)論:B is 1001/110=9.1 times faster than A實際上,可考慮每個程序在作業(yè)中的使用頻度,即加權(quán)平均實際上,可考慮每個程序在作業(yè)中的使用頻度,即加權(quán)平均問題:如果用一組基準程序在不同機器上測出了運行時間,問題:如果用一組基準程序在不同機器上測出了運行時間,那么如何綜

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論