版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1計算機組成原理計算機科學與工程學院廖建明liaojm@辦公室地址:主樓B1-302(左側(cè)門)教學安排總教學時數(shù)為56,其中課堂講授54學時,習題課2學時。課程成績評定方法:平時考評與作業(yè)占20%,半期測驗占10%,期末考試占70%。教材:《計算機組成與系統(tǒng)結(jié)構(gòu)》(第2版).袁春風主編.清華大學出版社,2015.8參考教材:《計算機組成與設(shè)計-硬件/軟件接口》(第四版)(美)DavidA.Patterson,JohnL.Hennessy著,機械工業(yè)出版社,2011.11
《計算機組成原理》(第3版),紀祿平等編,電子工業(yè)出版社,2014.92教學安排(續(xù))關(guān)于實驗:與本課程同步開設(shè)了“計算機組成原理綜合實驗”課程,16學時,獨立開課,獨立學分,該課程是計算機學院各專業(yè)的必修課。3
Ch1:ComputerAbstractions
計算機系統(tǒng)概述第1講:計算機系統(tǒng)簡介第2講:計算機性能評價第一講計算機系統(tǒng)簡介計算機發(fā)展簡史IAS通用計算機模型機:馮.諾依曼結(jié)構(gòu)IBM360系列機:引入兼容性(系列機)概念DECPDP-8:引入總線結(jié)構(gòu)計算機系統(tǒng)的組成計算機層次結(jié)構(gòu)計算機發(fā)展簡史第一代:真空管計算機(電子管VacuumTube)1946~1957年1946年誕生第1臺電子計算機ENIAC(ElectronicNumericalIntegratorAndCalculator)體積大,重30噸,有18000多個真空管,5000次加法/s十進制表示/運算,存儲器由20個累加器組成,每個累加器存10位十進制數(shù),每一位由10個真空管表示。采用手動編程,通過設(shè)置開關(guān)和插拔連線來實現(xiàn)。馮·諾依曼機(VonNeumannMachine)1945年馮·諾依曼提出“存儲程序(Stored-program)”思想,并于46年開始設(shè)計“存儲程序”計算機?!按鎯Τ绦颉彼枷耄?/p>
將事先編好的程序和原始數(shù)據(jù)送入主存中,然后啟動執(zhí)行。在不需操作人員干預(yù)下,自動完成逐條取出指令和執(zhí)行指令的任務(wù)。
SKIP真空管TheFirstGeneration:VacuumTubeComputers(1946-1957)Thefirstgeneral-purposecomputer-ENIACENIAC----NonvonNeumannModelBACK馮·諾依曼的故事1944年,馮·諾依曼參加原子彈的研制工作,涉及到極為困難的計算。1944年夏的一天,諾依曼巧遇美國彈道實驗室的軍方負責人戈爾斯坦,他正參與ENIAC的研制工作。馮·諾依曼被戈爾斯坦介紹加入ENIAC研制組,1945年,在共同討論的基礎(chǔ)上,馮·諾依曼起草了一份“關(guān)于EDVAC的報告草案”,報告長達101頁,這就是全新的“存儲程序通用電子計算機方案”。一向?qū)8憷碚撗芯康钠樟炙诡D高等研究院批準讓馮·諾依曼建造計算機,其依據(jù)就是這份報告。ElectronicDiscreteVariableAutomaticComputer馮·諾依曼結(jié)構(gòu)的主要思想計算機應(yīng)由運算器、控制器、存儲器、輸入設(shè)備和輸出設(shè)備五個基本部件組成。各基本部件的功能是:存儲器不僅能存放數(shù)據(jù),而且也能存放指令,形式上兩者沒有區(qū)別,但計算機應(yīng)能區(qū)分數(shù)據(jù)還是指令;控制器應(yīng)能自動執(zhí)行指令;運算器應(yīng)能進行加/減/乘/除四種基本算術(shù)運算,并且也能進行一些邏輯運算和附加運算;操作人員可以通過輸入設(shè)備和輸出設(shè)備與主機進行通信。內(nèi)部以二進制表示指令和數(shù)據(jù)。每條指令由操作碼和地址碼兩部分組成。操作碼指出操作類型,地址碼指出操作數(shù)的地址。由一串指令組成程序。采用“存儲程序”工作方式。計算機發(fā)展簡史第二代:晶體管計算機1958~64年元器件:邏輯元件采用晶體管,內(nèi)存由磁芯構(gòu)成,外存為磁鼓與磁帶。
特點:變址,浮點運算,多路存儲器,I/O處理機,中央交換結(jié)構(gòu)(非總線結(jié)構(gòu))。軟件:使用高級語言,提供了系統(tǒng)軟件。代表機種:IBM7094(scientific)、1401(business)和DECPDP-1DECPDP-1晶體管:Transistor磁芯存儲器計算機發(fā)展簡史第三代:中小規(guī)模集成電路(SSI/MSI)計算機1965~71年元器件:邏輯元件與主存儲器均由集成電路(IC)實現(xiàn)。特點:微程序控制,Cache,虛擬存儲器,流水線等。代表機種:IBM360和DECPDP-8(大/巨型機與小型機同時發(fā)展)巨型機(Supercomputer):Cray-1大型機(Mainframe):IBM360系列小型機(Minicomputer):DECPDP-8Cray-1IBMSystem/360系列計算機IBM公司于1964年研制成功引入“兼容機”(系列機)概念兼容機的特征:相同的或相似的指令集相同或相似的操作系統(tǒng)更高的速度更多的I/O端口數(shù)更大的內(nèi)存容量更高的價格低端機指令集是高端機的一個子集,稱為“向后兼容”。原來機器上的程序可以不改動而在新機器上運行,但性能不同。IBM360問題1:引入“兼容機”有什么好處?問題2:保持“兼容”的關(guān)鍵是什么?DEC公司的PDP-8機它同樣在1964年出現(xiàn)。與IBM360相比,價格更低、更小巧,因而被稱為小型機(Minicomputer)PDP-8“創(chuàng)造了小型機概念,并使之成為數(shù)十億美元的工業(yè)”,使DEC成為了最大的小型機制造商。主要特點:首次采用總線結(jié)構(gòu)。具有高度的靈活性,允許將模塊插入總線以形成各種配置。PDP–8/E計算機系統(tǒng)框圖問題:“總線結(jié)構(gòu)”有什么好處?可擴充性好(允許將新的符合標準的模塊插入總線,形成各種配置)、節(jié)省器件,體積小,價格便宜Omni總線包含了96個獨立的信號通道,用以傳送控制、地址和數(shù)據(jù)信號。計算機發(fā)展簡史第四代:大規(guī)模/超大規(guī)模計算機LSI/VLSI/ULSI1972~至今微處理器和半導(dǎo)體存儲器技術(shù)發(fā)展迅猛,微型計算機出現(xiàn)。使計算機以辦公設(shè)備和個人電腦的方式走向普通用戶。半導(dǎo)體存儲器1970年Fairchild公司生產(chǎn)出第一個相對大容量半導(dǎo)體存儲器1974年位價格低于磁芯的半導(dǎo)體存儲器出現(xiàn),并快速下跌從1970年起,存儲密度幾乎是每3年提高4倍微處理器微處理器芯片密度不斷增加,使CPU中所有元件放在一塊芯片上成為可能。1971年開發(fā)出第一個微處理器芯片Intel4004。特點:共享存儲器,分布式存儲器及大規(guī)模并行處理系統(tǒng)以后幾代(標準、意見不一)
(注:有稱第四代是VLSI,從80年代開始;也有稱第四代是LSI,從1972年開始;有的又分成LSI時代和VLSI時代)PCEra:Mid1980s-Mid
2000s19Usingmicroprocessors,Apple,IBM,…build$1kcomputerfor1person=>Basic,Java,WindowsOS資料來源:UC-Berkeley,CourseCS61C,Spring2011Lecture#1IBMPCServer,Rack,Array20資料來源:UC-Berkeley,CourseCS61C,Spring2011Lecture#1服務(wù)器,機架式,陣列式第一講計算機系統(tǒng)簡介計算機發(fā)展簡史IAS通用計算機模型機:馮.諾依曼結(jié)構(gòu)IBM360系列機:引入兼容性(系列機)概念DECPDP-8:引入總線結(jié)構(gòu)計算機系統(tǒng)的組成計算機硬件:CPU+MM+I/O計算機軟件:系統(tǒng)軟件+應(yīng)用軟件計算機層次結(jié)構(gòu)什么是計算機?計算機是一種能對數(shù)字化信息進行自動、高速的算術(shù)和邏輯運算的處理裝置。計算機的基本部件及功能運算器(數(shù)據(jù)運算):ALU、GPRs、標志寄存器等存儲器(數(shù)據(jù)存儲):存儲陣列、地址譯碼器、讀寫控制電路總線(數(shù)據(jù)傳送):數(shù)據(jù)(MDR)、地址(MAR)和控制線控制器(控制):對指令譯碼生成控制信號計算機實現(xiàn)的所有任務(wù)都是通過執(zhí)行一條一條指令完成的!計算機的基本組成與基本功能計算機硬件:打開PC來看看PC主板CPU插座內(nèi)存條PCI總線插槽現(xiàn)代計算機的原型
1946年,普林斯頓高等研究院(theInstituteforAdvanceStudyatPrinceton,IAS)開始設(shè)計“存儲程序”計算機,被稱為IAS計算機(1951年才完成,它并不是第一臺存儲程序計算機,1949年由英國劍橋大學完成的EDSAC是第一臺)。在那個報告中提出的計算機結(jié)構(gòu)被稱為馮·諾依曼結(jié)構(gòu)。馮·諾依曼結(jié)構(gòu)最重要的思想是什么?“存儲程序(Stored-program)”工作方式:
任何要計算機完成的工作都要先被編寫成程序,然后將程序和原始數(shù)據(jù)送入主存并啟動執(zhí)行。一旦程序被啟動,計算機應(yīng)能在不需操作人員干預(yù)下,自動完成逐條取出指令和執(zhí)行指令的任務(wù)。馮·諾依曼結(jié)構(gòu)計算機也稱為馮·諾依曼機器(VonNeumannMachine)。幾乎現(xiàn)代所有的通用計算機都采用馮·諾依曼結(jié)構(gòu),因此,IAS計算機是現(xiàn)代計算機的原型機。馮·諾依曼結(jié)構(gòu)計算機采用存儲程序工作方式:
任何要計算機完成的工作都要先被編寫成程序,然后將程序和原始數(shù)據(jù)送入主存并啟動執(zhí)行。一旦程序被啟動,計算機應(yīng)能在不需操作人員干預(yù)下,自動完成逐條取出指令和執(zhí)行指令的任務(wù)。你認為馮·諾依曼結(jié)構(gòu)是怎樣的?程序由指令構(gòu)成,指令描述如何對數(shù)據(jù)進行處理。應(yīng)該有個主存,用來存放程序和數(shù)據(jù)應(yīng)該有一個自動逐條取出指令的部件還應(yīng)該有具體執(zhí)行指令(即運算)的部件應(yīng)該有將程序和原始數(shù)據(jù)輸入計算機的部件應(yīng)該有將運算結(jié)果輸出計算機的部件你還能想出更多嗎?你猜得八九不離十了IAS計算機結(jié)構(gòu)馮.諾依曼結(jié)構(gòu)計算機模型早期,部件之間用分散方式相連現(xiàn)在,部件之間大多用總線方式相連趨勢,點對點(分散方式)高速連接回顧:馮·諾依曼結(jié)構(gòu)的主要思想計算機應(yīng)由運算器、控制器、存儲器、輸入設(shè)備和輸出設(shè)備五個基本部件組成。各基本部件的功能是:存儲器不僅能存放數(shù)據(jù),而且也能存放指令,形式上兩者沒有區(qū)別,但計算機應(yīng)能區(qū)分數(shù)據(jù)還是指令;控制器應(yīng)能自動取出指令來執(zhí)行;運算器應(yīng)能進行加/減/乘/除四種基本算術(shù)運算,并且也能進行一些邏輯運算和附加運算;操作人員可以通過輸入設(shè)備、輸出設(shè)備和主機進行通信。內(nèi)部以二進制表示指令和數(shù)據(jù)。每條指令由操作碼和地址碼兩部分組成。操作碼指出操作類型,地址碼指出操作數(shù)的地址。由一串指令組成程序。采用“存儲程序”工作方式。馮·諾依曼結(jié)構(gòu)的主要思想是什么呢?控制器CPUPC輸入設(shè)備輸出設(shè)備MARMDRALU標志寄存器
IR地址數(shù)據(jù)控制GPRs0123存儲器01234567你還記得馮.諾依曼計算機結(jié)構(gòu)的特點嗎?工廠、飯店?計算機是如何工作的呢?你能想到計算機相當于現(xiàn)實生活中的什么呢?現(xiàn)代計算機結(jié)構(gòu)模型認識計算機中最基本的部件CPU:中央處理器;PC:程序計數(shù)器;MAR:存儲器地址寄存器ALU:算術(shù)邏輯部件;IR:指令寄存器;MDR:存儲器數(shù)據(jù)寄存器GPRs:通用寄存器組(由若干通用寄存器組成,早期就是累加器)控制器CPUPC輸入設(shè)備輸出設(shè)備MARMDRALU標志寄存器
IR地址數(shù)據(jù)控制GPRs0123存儲器01234567計算機是如何工作的?先想象一下媽媽是怎樣做一桌你喜歡(指定)的菜的?
廚房-CPU,你媽-控制器,盤-GPRs,鍋灶等-ALU,架子-存儲器控制器CPUPC輸入設(shè)備輸出設(shè)備MARMDRALU標志寄存器
IR地址數(shù)據(jù)控制GPRs0123存儲器01234567計算機是如何工作的?做菜前原材料(數(shù)據(jù))和菜譜(指令)都按序放在廚房外的架子(存儲器)上,每個架子有編號(存儲單元地址)。菜譜上信息:原料位置、做法、做好的菜放在哪里等
例如,把10、11號架上的原料一起炒,并裝入3號盤然后,我告訴媽媽從第5個架上(起始PC=5)指定菜譜開始做開始做菜第一步:從5號架上取菜譜(根據(jù)PC取指令)第二步:看菜譜(指令譯碼)第三步:從架上或盤中取原材料(取操作數(shù))第四步:洗、切、炒等具體操作(指令執(zhí)行)第五步:裝盤或直接送桌(回寫結(jié)果)第六步:算出下一菜譜所在架子號6=5+1(修改PC的值)
繼續(xù)做下一道菜(執(zhí)行下一條指令)類似“存儲程序”工作方式計算機是如何工作的?如果你知道你媽媽是如何做菜的,你就已經(jīng)知道計算機是如何工作的!你能告訴我計算機是如何工作的嗎?“存儲程序”工作方式!控制器CPUPC輸入設(shè)備輸出設(shè)備MARMDRALU標志寄存器
IR地址數(shù)據(jù)控制GPRs0123存儲器01234567計算機是如何工作的?程序在執(zhí)行前
數(shù)據(jù)和指令事先存放在存儲器中,每條指令和每個數(shù)據(jù)都有地址,指令按序存放,指令由OP、ADDR字段組成,程序起始地址置PC (原材料和菜譜都放在廚房外的架子上,每個架子有編號。媽媽從第5個架上指定菜譜開始做)開始執(zhí)行程序第一步:根據(jù)PC取指令(從5號架上取菜譜)第二步:指令譯碼(看菜譜)第三步:取操作數(shù)(從架上或盤中取原材料)第四步:指令執(zhí)行(洗、切、炒等具體操作)第五步:回寫結(jié)果(裝盤或直接送桌)第六步:修改PC的值(算出下一菜譜所在架子號6=5+1)繼續(xù)執(zhí)行下一條指令(繼續(xù)做下一道菜)程序由指令組成(菜單由菜譜組成)指令和數(shù)據(jù)程序啟動前,指令和數(shù)據(jù)都存放在存儲器中,形式上沒有差別,都是0/1序列采用”存儲程序“工作方式:程序由指令組成,程序被啟動后,計算機能自動取出一條一條指令執(zhí)行,在執(zhí)行過程中無需人的干預(yù)。指令執(zhí)行過程中,指令和數(shù)據(jù)被從存儲器取到CPU,存放在CPU內(nèi)的寄存器中:指令在IR中,數(shù)據(jù)在GPR中。指令中需給出的信息:操作性質(zhì)(操作碼)源操作數(shù)1或/和源操作數(shù)2
(立即數(shù)、寄存器編號、存儲地址)目的操作數(shù)地址(寄存器編號、存儲地址)存儲地址的描述與操作數(shù)的數(shù)據(jù)結(jié)構(gòu)有關(guān)!IR?GPR?硬件與軟件的界面
Hardware/SoftwareInterface機器語言由指令代碼構(gòu)成,能被硬件直接執(zhí)行。軟件和硬件的界面:ISA(InstructionSetArchitecture)指令集體系結(jié)構(gòu)軟件硬件?InstructionsetSoftwareSystemsoftware(系統(tǒng)軟件)-
簡化編程,并使硬件資源被有效利用
操作系統(tǒng)(OperatingSystem):硬件資源管理,用戶接口語言處理系統(tǒng):翻譯程序+Linker,Debug,etc…翻譯程序(Translator)有三類:匯編程序(Assembler):匯編語言源程序→機器目標程序編譯程序(Complier):高級語言源程序→匯編/機器目標程序解釋程序(Interpreter):將高級語言語句逐條翻譯成機器指令并立即執(zhí)行,不生成目標文件。其他實用程序:如:磁盤碎片整理程序、備份程序等Applicationsoftware(應(yīng)用軟件)
-解決具體應(yīng)用問題/完成具體應(yīng)用各類媒體處理程序:Word/Image/Graphics/…管理信息系統(tǒng)(MIS)Game,…第一講計算機系統(tǒng)簡介計算機發(fā)展簡史IAS通用計算機模型機:馮.諾依曼結(jié)構(gòu)IBM360系列機:引入兼容性(系列機)概念DECPDP-8:引入總線結(jié)構(gòu)計算機系統(tǒng)的組成計算機硬件:CPU+MM+I/O計算機軟件:系統(tǒng)軟件+應(yīng)用軟件計算機層次結(jié)構(gòu)計算機硬件和軟件的接口:指令系統(tǒng)計算機軟件如何在硬件上執(zhí)行ComputerHierarchy(計算機系統(tǒng)層次)I/OCPUCompilerOperatingSystemApplicationDigitalDesignCircuitDesign°上圖給出的是計算機系統(tǒng)的層次結(jié)構(gòu)指令系統(tǒng)(即ISA)是軟/硬件的交界面InstructionSetArchitecture°不同用戶工作在不同層次,所看到的計算機不一樣最終用戶EndUser應(yīng)用程序員ApplicationProgrammer系統(tǒng)管理員SystemAdministrator系統(tǒng)程序員SystemProgrammerMMAssembler°中間陰影部分就是本課程主要內(nèi)容,處于最核心的部分!不同層次語言之間的等價轉(zhuǎn)換每條指令由操作碼和若干地址碼組成任何高級語言程序最終通過執(zhí)行若干條指令來完成!早期計算機系統(tǒng)的層次最早的計算機用機器語言編程
機器語言稱為第一代程序設(shè)計語言(Firstgenerationprogramminglanguage,1GL)后來用匯編語言編程
匯編語言稱為第二代程序設(shè)計語言(Secondgenerationprogramminglanguage,2GL)應(yīng)用程序指令集體系結(jié)構(gòu)計算機硬件
匯編程序操作系統(tǒng)指令集體系結(jié)構(gòu)計算機硬件應(yīng)用程序現(xiàn)代(傳統(tǒng))計算機系統(tǒng)的層次現(xiàn)代計算機用高級語言編程
第三代程序設(shè)計語言(3GL)為過程式語言,編碼時需要描述實現(xiàn)過程,即“如何做”。第四代程序設(shè)計語言(4GL)
為非過程化語言,編碼時只需說明“做什么”,不需要描述具體的算法實現(xiàn)細節(jié)。語言處理系統(tǒng)操作系統(tǒng)指令集體系結(jié)構(gòu)計算機硬件應(yīng)用程序可以看出:語言的發(fā)展是一個不斷“抽象”的過程,因而,相應(yīng)的計算機系統(tǒng)也不斷有新的層次出現(xiàn)語言處理系統(tǒng)包括:各種語言處理程序(如編譯、匯編、鏈接)、運行時系統(tǒng)(如庫函數(shù),調(diào)試、優(yōu)化等功能)操作系統(tǒng)包括人機交互界面、提供服務(wù)功能的內(nèi)核例程計算機系統(tǒng)抽象層的轉(zhuǎn)換程序執(zhí)行結(jié)果
不僅取決于算法、程序編寫而且取決于語言處理系統(tǒng)操作系統(tǒng)ISA微體系結(jié)構(gòu)不同計算機課程處于不同層次必須將各層次關(guān)聯(lián)起來解決問題功能轉(zhuǎn)換:上層是下層的抽象,下層是上層的實現(xiàn)底層為上層提供支撐環(huán)境!最高層抽象就是點點鼠標、拖拖圖標、敲敲鍵盤,但這背后有多少層轉(zhuǎn)化?。∮嬎銠C系統(tǒng)的不同用戶最終用戶工作在由應(yīng)用程序提供的最上面的抽象層系統(tǒng)管理員工作在由操作系統(tǒng)提供的抽象層應(yīng)用程序員工作在由語言處理系統(tǒng)(主要有編譯器和匯編器)的抽象層語言處理系統(tǒng)建立在操作系統(tǒng)之上系統(tǒng)程序員(實現(xiàn)系統(tǒng)軟件)工作在ISA層次,必須對ISA非常了解編譯器和匯編器的目標程序由機器級代碼組成操作系統(tǒng)通過指令直接對硬件進行編程控制ISA處于軟件和硬件的交界面(接口)ISA是對硬件的抽象所有軟件功能都建立在ISA之上ISA是最重要的層次!那么,什么是ISA呢?指令集體系結(jié)構(gòu)(ISA)ISA指InstructionSetArchitecture,即指令集體系結(jié)構(gòu)ISA是一種規(guī)約(Specification),它規(guī)定了如何使用硬件可執(zhí)行的指令的集合,包括指令格式、操作種類以及每種操作對應(yīng)的操作數(shù)的相應(yīng)規(guī)定;指令可以接受的操作數(shù)的類型;操作數(shù)所能存放的寄存器組的結(jié)構(gòu),包括每個寄存器的名稱、編號、長度和用途;操作數(shù)所能存放的存儲空間的大小和編址方式;操作數(shù)在存儲空間存放時按照大端還是小端方式存放;指令獲取操作數(shù)的方式,即尋址方式;指令執(zhí)行過程的控制方式,包括程序計數(shù)器、條件碼定義等。ISA在計算機系統(tǒng)中是必不可少的一個抽象層,Why?沒有它,軟件無法使用計算機硬件!沒有它,一臺計算機不能稱為“通用計算機”ISA和計算機組成(微結(jié)構(gòu))之間的關(guān)系
不同ISA規(guī)定的指令集不同,如,IA-32、MIPS、ARM等計算機組成必須能夠?qū)崿F(xiàn)ISA規(guī)定的功能,如提供GPR、標志、運算電路等同一種ISA可以有不同的計算機組成,如乘法指令可用ALU或乘法器實現(xiàn)控制器CPUPC輸入設(shè)備輸出設(shè)備MARMDRALU標志寄存器
IR地址數(shù)據(jù)控制GPRs0123存儲器01234567ISA是計算機組成的抽象第二講計算機性能評價衡量計算機性能的基本指標響應(yīng)時間(responsetime)執(zhí)行時間(executionTime)、等待時間(latency)吞吐量(throughput)帶寬(bandwidth)
計算機性能測量
指令執(zhí)行速度(MIPS、MFLOPS/TFLOPS/PFLOPS)基準程序(Benchmark)主要內(nèi)容:計算機性能的基本評價指標“機器X的速度(性能)是Y的n倍”的含義:
ExTime(Y) Performance(X) ==n ExTime(X) Performance(Y)相對性能用執(zhí)行時間的倒數(shù)來表示!°計算機有兩種不同的性能描述°Timetodothetask響應(yīng)時間(responsetime)。執(zhí)行時間(executiontime)。等待時間或時延(latency)°Tasksperday,hour,sec,ns...吞吐率(throughput)帶寬(bandwidth)°基本的性能評價標準是:CPU的執(zhí)行時間不同應(yīng)用場合用戶關(guān)心的性能不同:-要求吞吐率高的場合,例如:
多媒體應(yīng)用(音/視頻播放要流暢)-要求響應(yīng)時間短的場合:例如:
事務(wù)處理系統(tǒng)(存/取款速度要快)-要求吞吐率高且響應(yīng)時間短的場合:
文件服務(wù)器、Web服務(wù)器等程序由指令構(gòu)成。CPU執(zhí)行時間就是執(zhí)行程序中全部指令的時間。計算機性能的測量比較計算機的性能時,用執(zhí)行時間來衡量完成同樣工作量所需時間最短的那臺計算機就是性能最好的處理器時間往往被多個程序共享使用,因此,用戶感覺到的程序執(zhí)行時間并不是程序真正的執(zhí)行時間通常把用戶感覺到的響應(yīng)時間分成以下兩個時間:CPU時間:指CPU真正花在該程序執(zhí)行上的時間。又包括兩部分:用戶CPU時間:用來運行用戶代碼的時間系統(tǒng)CPU時間:為了執(zhí)行用戶程序而需要運行操作系統(tǒng)程序的時間其他時間:指等待I/O操作完成或CPU花在其他用戶程序的時間系統(tǒng)性能和CPU性能不等價,有一定的區(qū)別系統(tǒng)性能(Systemperformance):系統(tǒng)響應(yīng)時間,與CPU外的其他部分也都有關(guān)系CPU性能(CPUperformance):用戶CPU時間本章主要討論CPU性能,即:CPU真正用在用戶程序執(zhí)行上的時間問題:用戶CPU時間與系統(tǒng)響應(yīng)時間哪個更長?CPU執(zhí)行時間的計算CPU執(zhí)行時間
=CPU時鐘周期數(shù)/程序×
時鐘周期=CPU時鐘周期數(shù)/程序÷
時鐘頻率=
指令條數(shù)/程序×CPI×
時鐘周期CPU時鐘周期數(shù)/程序=
指令條數(shù)/程序×
CPICPI=CPU時鐘周期數(shù)/程序÷指令條數(shù)/程序CPI用來衡量以下各方面的綜合性能InstructionSetArchitecture(ISA)Implementationofthatarchitecture(Organization&Technology)Program(Compiler、Algorithm)
CPI:CyclesPerInstruction,每條指令執(zhí)行的時鐘周期數(shù)如何計算CPI?對于某一條特定的指令而言,其CPI是一個確定的值。但是,對于某一個程序或一臺機器而言,其CPI是一個平均值,表示該程序或該機器指令集中每條指令執(zhí)行時平均需要多少時鐘周期。假定CPIi、Fi是各指令的CPI和在程序中的出現(xiàn)頻率,則程序綜合CPI為:CPI=
=x∑niiiFCPI1其中:
CountnInstructioCFii_=假定CPIi
和Ci分別為第i類指令的CPI和指令條數(shù),則程序的總時鐘數(shù)為:=x∑niiiCCPI1總時鐘數(shù)=CPU時間=
時鐘周期x=x∑niiiCCPI1所以,CPI=(CPU時間×時鐘頻率)/指令條數(shù)=總時鐘周期數(shù)/指令條數(shù)已知CPU時間、時鐘頻率、總時鐘數(shù)、指令條數(shù),則程序綜合CPI為:問題:指令的CPI、機器的CPI、程序的CPI各能反映哪方面的性能?
單靠CPI不能反映CPU性能!為什么?例如,單周期處理器CPI=1,但性能差!Example1程序P在機器A上運行需10s,機器A的時鐘頻率為400MHz?,F(xiàn)在要設(shè)計一臺機器B,希望該程序在B上運行只需6s.機器B時鐘頻率的提高導(dǎo)致了其CPI的增加,使得程序P在機器B上時鐘周期數(shù)是在機器A上的1.2倍。機器B的時鐘頻率達到A的多少倍才能使程序P在B上執(zhí)行速度是A上的10/6=1.67倍?解:CPU時間A=時鐘周期數(shù)A/時鐘頻率A
時鐘周期數(shù)A=10secx400MHz=4000M個
時鐘頻率B=時鐘周期數(shù)B/CPU時間B=1.2x
4000M/6sec=800MHz機器B的頻率是A的兩倍,但機器B的速度并不是A的兩倍!MarketingMetrics(產(chǎn)品宣稱指標)MIPS =InstructionCount/Secondx1/106=ClockRate/CPIx1/106MillionInstructionsPerSecond(定點指令執(zhí)行速度)因為每條指令執(zhí)行時間不同,所以MIPS總是一個平均值。
不同機器的指令集不同程序由不同的指令混合而成指令使用的頻度動態(tài)變化PeakMIPS(峰值MIPS)所以MIPS數(shù)不能說明性能的好壞(用下頁中的例子來說明)MFLOPS=FPOperations/Secondx1/106MillionFloating-pointOperationsPerSecond(浮點操作速度)不一定是程序中花時間的部分用MIPS數(shù)表示性能有沒有局限?用MFLOPS數(shù)表示性能也有一定局限!Example:MIPS數(shù)不可靠!例1.3某程序編譯后目標代碼包含4類指令,優(yōu)化前各類指令數(shù)如下,優(yōu)化后A類指令減少了50%,其他類指令不變,設(shè)某運行機器主頻為50MHz。問優(yōu)化前后的CPI和MIPS分別是多少?OpFreqCycleA 43% 1B 21% 2C 12% 2D 24% 2NewFreq27%27%15%31% OptimizingcompilerCPI=43%*1+(21%+12%+24%)*2
=1.57MIPS=50M/1.57=31.8結(jié)果:因為優(yōu)化后減少了A類指令(其他指令數(shù)沒變),所以程序執(zhí)行時間一定減少了,但優(yōu)化后的MIPS數(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%1.7328.9選擇性能評價程序(Benchmarks)用基準程序來評測計算機的性能基準測試程序是專門用來進行性能評價的一組程序不同用戶使用的計算機用不同的基準程序基準程序通過運行實際負載來反映計算機的性能最好的基準程序是用戶實際使用的程序或典型的簡單程序基準程序的缺陷現(xiàn)象:基準程序的性能與某段短代碼密切相關(guān)時,會被利用以得到不當?shù)男阅茉u測結(jié)果手段:硬件系統(tǒng)設(shè)計人員或編譯器開發(fā)者針對這些代碼片段進行特殊的優(yōu)化,使得執(zhí)行這段代碼的速度非??炖?:IntelPentium處理器運行SPECint時用了公司內(nèi)部使用的特殊編譯器,使其性能極高例2:矩陣乘法程序SPECmatrix300有99%的時間運行在一行語句上,有些廠商用特殊編譯器優(yōu)化該語句,使性能達VAX11/780的729.8倍!SuccessfulBenchmark:SPEC
1988年,5家公司(Sun,MIPS,HP,Apollo,DEC)聯(lián)合提出了SPEC
(SystemsPerformanceEvaluationCommittee)SPEC給出了一組標準的測試程序、標準輸入和測試報告。它們是一些實際的程序,包括OScalls、I/O等。版本89:10programs=4forinteger+6forFP
溫馨提示
- 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)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024醫(yī)用氧產(chǎn)品采購與市場推廣服務(wù)合同3篇
- 新入職員工發(fā)言稿
- 異丙醇浮閥塔課程設(shè)計
- 學校學期工作計劃范文匯編八篇
- 2025年山東淄博高新區(qū)教育系統(tǒng)招聘初中小學幼兒教師156人歷年管理單位筆試遴選500模擬題附帶答案詳解
- 2025年山東浪潮集團限公司招聘25人管理單位筆試遴選500模擬題附帶答案詳解
- 2025年山東濟寧微山縣招聘鄉(xiāng)村公益性崗位人員120人歷年管理單位筆試遴選500模擬題附帶答案詳解
- 2025年山東濟南市質(zhì)量技術(shù)監(jiān)督局招考擬聘人員管理單位筆試遴選500模擬題附帶答案詳解
- 2025年山東德州樂陵市事業(yè)單位引進教師76人(第二批)管理單位筆試遴選500模擬題附帶答案詳解
- 2024全新智慧城市基礎(chǔ)設(shè)施合作協(xié)議與合同下載3篇
- 2024年保安員(初級)試題及答案
- 偵查學期末考試試題及答案
- 蔬菜采購框架合同模板
- 中國類風濕關(guān)節(jié)炎診療指南(2024版)解讀
- 中班藝術(shù)活動冬天的樹
- 2024秋國開電大《辦公室管理》形考任務(wù)1-5參考答案
- 讀書分享《非暴力溝通》課件(圖文)
- 醫(yī)療器械注冊專員培訓
- 2024-2025學年度廣東省春季高考英語模擬試卷(解析版) - 副本
- 《非洲民間故事》知識考試題庫附答案(含各題型)
- 廣東省廣州市2023-2024學年三年級上學期英語期中試卷(含答案)
評論
0/150
提交評論