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

下載本文檔

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

文檔簡介

1計算機組成原理計算機科學與工程學院廖建明liaojm@辦公室地址:主樓B1-302(左側門)教學安排總教學時數為56,其中課堂講授54學時,習題課2學時。課程成績評定方法:平時考評與作業(yè)占20%,半期測驗占10%,期末考試占70%。教材:《計算機組成與系統(tǒng)結構》(第2版).袁春風主編.清華大學出版社,2015.8參考教材:《計算機組成與設計-硬件/軟件接口》(第四版)(美)DavidA.Patterson,JohnL.Hennessy著,機械工業(yè)出版社,2011.11

《計算機組成原理》(第3版),紀祿平等編,電子工業(yè)出版社,2014.92教學安排(續(xù))關于實驗:與本課程同步開設了“計算機組成原理綜合實驗”課程,16學時,獨立開課,獨立學分,該課程是計算機學院各專業(yè)的必修課。3

Ch1:ComputerAbstractions

計算機系統(tǒng)概述第1講:計算機系統(tǒng)簡介第2講:計算機性能評價第一講計算機系統(tǒng)簡介計算機發(fā)展簡史IAS通用計算機模型機:馮.諾依曼結構IBM360系列機:引入兼容性(系列機)概念DECPDP-8:引入總線結構計算機系統(tǒng)的組成計算機層次結構計算機發(fā)展簡史第一代:真空管計算機(電子管VacuumTube)1946~1957年1946年誕生第1臺電子計算機ENIAC(ElectronicNumericalIntegratorAndCalculator)體積大,重30噸,有18000多個真空管,5000次加法/s十進制表示/運算,存儲器由20個累加器組成,每個累加器存10位十進制數,每一位由10個真空管表示。采用手動編程,通過設置開關和插拔連線來實現。馮·諾依曼機(VonNeumannMachine)1945年馮·諾依曼提出“存儲程序(Stored-program)”思想,并于46年開始設計“存儲程序”計算機?!按鎯Τ绦颉彼枷耄?/p>

將事先編好的程序和原始數據送入主存中,然后啟動執(zhí)行。在不需操作人員干預下,自動完成逐條取出指令和執(zhí)行指令的任務。

SKIP真空管TheFirstGeneration:VacuumTubeComputers(1946-1957)Thefirstgeneral-purposecomputer-ENIACENIAC----NonvonNeumannModelBACK馮·諾依曼的故事1944年,馮·諾依曼參加原子彈的研制工作,涉及到極為困難的計算。1944年夏的一天,諾依曼巧遇美國彈道實驗室的軍方負責人戈爾斯坦,他正參與ENIAC的研制工作。馮·諾依曼被戈爾斯坦介紹加入ENIAC研制組,1945年,在共同討論的基礎上,馮·諾依曼起草了一份“關于EDVAC的報告草案”,報告長達101頁,這就是全新的“存儲程序通用電子計算機方案”。一向專搞理論研究的普林斯頓高等研究院批準讓馮·諾依曼建造計算機,其依據就是這份報告。ElectronicDiscreteVariableAutomaticComputer馮·諾依曼結構的主要思想計算機應由運算器、控制器、存儲器、輸入設備和輸出設備五個基本部件組成。各基本部件的功能是:存儲器不僅能存放數據,而且也能存放指令,形式上兩者沒有區(qū)別,但計算機應能區(qū)分數據還是指令;控制器應能自動執(zhí)行指令;運算器應能進行加/減/乘/除四種基本算術運算,并且也能進行一些邏輯運算和附加運算;操作人員可以通過輸入設備和輸出設備與主機進行通信。內部以二進制表示指令和數據。每條指令由操作碼和地址碼兩部分組成。操作碼指出操作類型,地址碼指出操作數的地址。由一串指令組成程序。采用“存儲程序”工作方式。計算機發(fā)展簡史第二代:晶體管計算機1958~64年元器件:邏輯元件采用晶體管,內存由磁芯構成,外存為磁鼓與磁帶。

特點:變址,浮點運算,多路存儲器,I/O處理機,中央交換結構(非總線結構)。軟件:使用高級語言,提供了系統(tǒng)軟件。代表機種:IBM7094(scientific)、1401(business)和DECPDP-1DECPDP-1晶體管:Transistor磁芯存儲器計算機發(fā)展簡史第三代:中小規(guī)模集成電路(SSI/MSI)計算機1965~71年元器件:邏輯元件與主存儲器均由集成電路(IC)實現。特點:微程序控制,Cache,虛擬存儲器,流水線等。代表機種:IBM360和DECPDP-8(大/巨型機與小型機同時發(fā)展)巨型機(Supercomputer):Cray-1大型機(Mainframe):IBM360系列小型機(Minicomputer):DECPDP-8Cray-1IBMSystem/360系列計算機IBM公司于1964年研制成功引入“兼容機”(系列機)概念兼容機的特征:相同的或相似的指令集相同或相似的操作系統(tǒng)更高的速度更多的I/O端口數更大的內存容量更高的價格低端機指令集是高端機的一個子集,稱為“向后兼容”。原來機器上的程序可以不改動而在新機器上運行,但性能不同。IBM360問題1:引入“兼容機”有什么好處?問題2:保持“兼容”的關鍵是什么?DEC公司的PDP-8機它同樣在1964年出現。與IBM360相比,價格更低、更小巧,因而被稱為小型機(Minicomputer)PDP-8“創(chuàng)造了小型機概念,并使之成為數十億美元的工業(yè)”,使DEC成為了最大的小型機制造商。主要特點:首次采用總線結構。具有高度的靈活性,允許將模塊插入總線以形成各種配置。PDP–8/E計算機系統(tǒng)框圖問題:“總線結構”有什么好處?可擴充性好(允許將新的符合標準的模塊插入總線,形成各種配置)、節(jié)省器件,體積小,價格便宜Omni總線包含了96個獨立的信號通道,用以傳送控制、地址和數據信號。計算機發(fā)展簡史第四代:大規(guī)模/超大規(guī)模計算機LSI/VLSI/ULSI1972~至今微處理器和半導體存儲器技術發(fā)展迅猛,微型計算機出現。使計算機以辦公設備和個人電腦的方式走向普通用戶。半導體存儲器1970年Fairchild公司生產出第一個相對大容量半導體存儲器1974年位價格低于磁芯的半導體存儲器出現,并快速下跌從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服務器,機架式,陣列式第一講計算機系統(tǒng)簡介計算機發(fā)展簡史IAS通用計算機模型機:馮.諾依曼結構IBM360系列機:引入兼容性(系列機)概念DECPDP-8:引入總線結構計算機系統(tǒng)的組成計算機硬件:CPU+MM+I/O計算機軟件:系統(tǒng)軟件+應用軟件計算機層次結構什么是計算機?計算機是一種能對數字化信息進行自動、高速的算術和邏輯運算的處理裝置。計算機的基本部件及功能運算器(數據運算):ALU、GPRs、標志寄存器等存儲器(數據存儲):存儲陣列、地址譯碼器、讀寫控制電路總線(數據傳送):數據(MDR)、地址(MAR)和控制線控制器(控制):對指令譯碼生成控制信號計算機實現的所有任務都是通過執(zhí)行一條一條指令完成的!計算機的基本組成與基本功能計算機硬件:打開PC來看看PC主板CPU插座內存條PCI總線插槽現代計算機的原型

1946年,普林斯頓高等研究院(theInstituteforAdvanceStudyatPrinceton,IAS)開始設計“存儲程序”計算機,被稱為IAS計算機(1951年才完成,它并不是第一臺存儲程序計算機,1949年由英國劍橋大學完成的EDSAC是第一臺)。在那個報告中提出的計算機結構被稱為馮·諾依曼結構。馮·諾依曼結構最重要的思想是什么?“存儲程序(Stored-program)”工作方式:

任何要計算機完成的工作都要先被編寫成程序,然后將程序和原始數據送入主存并啟動執(zhí)行。一旦程序被啟動,計算機應能在不需操作人員干預下,自動完成逐條取出指令和執(zhí)行指令的任務。馮·諾依曼結構計算機也稱為馮·諾依曼機器(VonNeumannMachine)。幾乎現代所有的通用計算機都采用馮·諾依曼結構,因此,IAS計算機是現代計算機的原型機。馮·諾依曼結構計算機采用存儲程序工作方式:

任何要計算機完成的工作都要先被編寫成程序,然后將程序和原始數據送入主存并啟動執(zhí)行。一旦程序被啟動,計算機應能在不需操作人員干預下,自動完成逐條取出指令和執(zhí)行指令的任務。你認為馮·諾依曼結構是怎樣的?程序由指令構成,指令描述如何對數據進行處理。應該有個主存,用來存放程序和數據應該有一個自動逐條取出指令的部件還應該有具體執(zhí)行指令(即運算)的部件應該有將程序和原始數據輸入計算機的部件應該有將運算結果輸出計算機的部件你還能想出更多嗎?你猜得八九不離十了IAS計算機結構馮.諾依曼結構計算機模型早期,部件之間用分散方式相連現在,部件之間大多用總線方式相連趨勢,點對點(分散方式)高速連接回顧:馮·諾依曼結構的主要思想計算機應由運算器、控制器、存儲器、輸入設備和輸出設備五個基本部件組成。各基本部件的功能是:存儲器不僅能存放數據,而且也能存放指令,形式上兩者沒有區(qū)別,但計算機應能區(qū)分數據還是指令;控制器應能自動取出指令來執(zhí)行;運算器應能進行加/減/乘/除四種基本算術運算,并且也能進行一些邏輯運算和附加運算;操作人員可以通過輸入設備、輸出設備和主機進行通信。內部以二進制表示指令和數據。每條指令由操作碼和地址碼兩部分組成。操作碼指出操作類型,地址碼指出操作數的地址。由一串指令組成程序。采用“存儲程序”工作方式。馮·諾依曼結構的主要思想是什么呢?控制器CPUPC輸入設備輸出設備MARMDRALU標志寄存器

IR地址數據控制GPRs0123存儲器01234567你還記得馮.諾依曼計算機結構的特點嗎?工廠、飯店?計算機是如何工作的呢?你能想到計算機相當于現實生活中的什么呢?現代計算機結構模型認識計算機中最基本的部件CPU:中央處理器;PC:程序計數器;MAR:存儲器地址寄存器ALU:算術邏輯部件;IR:指令寄存器;MDR:存儲器數據寄存器GPRs:通用寄存器組(由若干通用寄存器組成,早期就是累加器)控制器CPUPC輸入設備輸出設備MARMDRALU標志寄存器

IR地址數據控制GPRs0123存儲器01234567計算機是如何工作的?先想象一下媽媽是怎樣做一桌你喜歡(指定)的菜的?

廚房-CPU,你媽-控制器,盤-GPRs,鍋灶等-ALU,架子-存儲器控制器CPUPC輸入設備輸出設備MARMDRALU標志寄存器

IR地址數據控制GPRs0123存儲器01234567計算機是如何工作的?做菜前原材料(數據)和菜譜(指令)都按序放在廚房外的架子(存儲器)上,每個架子有編號(存儲單元地址)。菜譜上信息:原料位置、做法、做好的菜放在哪里等

例如,把10、11號架上的原料一起炒,并裝入3號盤然后,我告訴媽媽從第5個架上(起始PC=5)指定菜譜開始做開始做菜第一步:從5號架上取菜譜(根據PC取指令)第二步:看菜譜(指令譯碼)第三步:從架上或盤中取原材料(取操作數)第四步:洗、切、炒等具體操作(指令執(zhí)行)第五步:裝盤或直接送桌(回寫結果)第六步:算出下一菜譜所在架子號6=5+1(修改PC的值)

繼續(xù)做下一道菜(執(zhí)行下一條指令)類似“存儲程序”工作方式計算機是如何工作的?如果你知道你媽媽是如何做菜的,你就已經知道計算機是如何工作的!你能告訴我計算機是如何工作的嗎?“存儲程序”工作方式!控制器CPUPC輸入設備輸出設備MARMDRALU標志寄存器

IR地址數據控制GPRs0123存儲器01234567計算機是如何工作的?程序在執(zhí)行前

數據和指令事先存放在存儲器中,每條指令和每個數據都有地址,指令按序存放,指令由OP、ADDR字段組成,程序起始地址置PC (原材料和菜譜都放在廚房外的架子上,每個架子有編號。媽媽從第5個架上指定菜譜開始做)開始執(zhí)行程序第一步:根據PC取指令(從5號架上取菜譜)第二步:指令譯碼(看菜譜)第三步:取操作數(從架上或盤中取原材料)第四步:指令執(zhí)行(洗、切、炒等具體操作)第五步:回寫結果(裝盤或直接送桌)第六步:修改PC的值(算出下一菜譜所在架子號6=5+1)繼續(xù)執(zhí)行下一條指令(繼續(xù)做下一道菜)程序由指令組成(菜單由菜譜組成)指令和數據程序啟動前,指令和數據都存放在存儲器中,形式上沒有差別,都是0/1序列采用”存儲程序“工作方式:程序由指令組成,程序被啟動后,計算機能自動取出一條一條指令執(zhí)行,在執(zhí)行過程中無需人的干預。指令執(zhí)行過程中,指令和數據被從存儲器取到CPU,存放在CPU內的寄存器中:指令在IR中,數據在GPR中。指令中需給出的信息:操作性質(操作碼)源操作數1或/和源操作數2

(立即數、寄存器編號、存儲地址)目的操作數地址(寄存器編號、存儲地址)存儲地址的描述與操作數的數據結構有關!IR?GPR?硬件與軟件的界面

Hardware/SoftwareInterface機器語言由指令代碼構成,能被硬件直接執(zhí)行。軟件和硬件的界面:ISA(InstructionSetArchitecture)指令集體系結構軟件硬件?InstructionsetSoftwareSystemsoftware(系統(tǒng)軟件)-

簡化編程,并使硬件資源被有效利用

操作系統(tǒng)(OperatingSystem):硬件資源管理,用戶接口語言處理系統(tǒng):翻譯程序+Linker,Debug,etc…翻譯程序(Translator)有三類:匯編程序(Assembler):匯編語言源程序→機器目標程序編譯程序(Complier):高級語言源程序→匯編/機器目標程序解釋程序(Interpreter):將高級語言語句逐條翻譯成機器指令并立即執(zhí)行,不生成目標文件。其他實用程序:如:磁盤碎片整理程序、備份程序等Applicationsoftware(應用軟件)

-解決具體應用問題/完成具體應用各類媒體處理程序:Word/Image/Graphics/…管理信息系統(tǒng)(MIS)Game,…第一講計算機系統(tǒng)簡介計算機發(fā)展簡史IAS通用計算機模型機:馮.諾依曼結構IBM360系列機:引入兼容性(系列機)概念DECPDP-8:引入總線結構計算機系統(tǒng)的組成計算機硬件:CPU+MM+I/O計算機軟件:系統(tǒng)軟件+應用軟件計算機層次結構計算機硬件和軟件的接口:指令系統(tǒng)計算機軟件如何在硬件上執(zhí)行ComputerHierarchy(計算機系統(tǒng)層次)I/OCPUCompilerOperatingSystemApplicationDigitalDesignCircuitDesign°上圖給出的是計算機系統(tǒng)的層次結構指令系統(tǒng)(即ISA)是軟/硬件的交界面InstructionSetArchitecture°不同用戶工作在不同層次,所看到的計算機不一樣最終用戶EndUser應用程序員ApplicationProgrammer系統(tǒng)管理員SystemAdministrator系統(tǒng)程序員SystemProgrammerMMAssembler°中間陰影部分就是本課程主要內容,處于最核心的部分!不同層次語言之間的等價轉換每條指令由操作碼和若干地址碼組成任何高級語言程序最終通過執(zhí)行若干條指令來完成!早期計算機系統(tǒng)的層次最早的計算機用機器語言編程

機器語言稱為第一代程序設計語言(Firstgenerationprogramminglanguage,1GL)后來用匯編語言編程

匯編語言稱為第二代程序設計語言(Secondgenerationprogramminglanguage,2GL)應用程序指令集體系結構計算機硬件

匯編程序操作系統(tǒng)指令集體系結構計算機硬件應用程序現代(傳統(tǒng))計算機系統(tǒng)的層次現代計算機用高級語言編程

第三代程序設計語言(3GL)為過程式語言,編碼時需要描述實現過程,即“如何做”。第四代程序設計語言(4GL)

為非過程化語言,編碼時只需說明“做什么”,不需要描述具體的算法實現細節(jié)。語言處理系統(tǒng)操作系統(tǒng)指令集體系結構計算機硬件應用程序可以看出:語言的發(fā)展是一個不斷“抽象”的過程,因而,相應的計算機系統(tǒng)也不斷有新的層次出現語言處理系統(tǒng)包括:各種語言處理程序(如編譯、匯編、鏈接)、運行時系統(tǒng)(如庫函數,調試、優(yōu)化等功能)操作系統(tǒng)包括人機交互界面、提供服務功能的內核例程計算機系統(tǒng)抽象層的轉換程序執(zhí)行結果

不僅取決于算法、程序編寫而且取決于語言處理系統(tǒng)操作系統(tǒng)ISA微體系結構不同計算機課程處于不同層次必須將各層次關聯起來解決問題功能轉換:上層是下層的抽象,下層是上層的實現底層為上層提供支撐環(huán)境!最高層抽象就是點點鼠標、拖拖圖標、敲敲鍵盤,但這背后有多少層轉化啊!計算機系統(tǒng)的不同用戶最終用戶工作在由應用程序提供的最上面的抽象層系統(tǒng)管理員工作在由操作系統(tǒng)提供的抽象層應用程序員工作在由語言處理系統(tǒng)(主要有編譯器和匯編器)的抽象層語言處理系統(tǒng)建立在操作系統(tǒng)之上系統(tǒng)程序員(實現系統(tǒng)軟件)工作在ISA層次,必須對ISA非常了解編譯器和匯編器的目標程序由機器級代碼組成操作系統(tǒng)通過指令直接對硬件進行編程控制ISA處于軟件和硬件的交界面(接口)ISA是對硬件的抽象所有軟件功能都建立在ISA之上ISA是最重要的層次!那么,什么是ISA呢?指令集體系結構(ISA)ISA指InstructionSetArchitecture,即指令集體系結構ISA是一種規(guī)約(Specification),它規(guī)定了如何使用硬件可執(zhí)行的指令的集合,包括指令格式、操作種類以及每種操作對應的操作數的相應規(guī)定;指令可以接受的操作數的類型;操作數所能存放的寄存器組的結構,包括每個寄存器的名稱、編號、長度和用途;操作數所能存放的存儲空間的大小和編址方式;操作數在存儲空間存放時按照大端還是小端方式存放;指令獲取操作數的方式,即尋址方式;指令執(zhí)行過程的控制方式,包括程序計數器、條件碼定義等。ISA在計算機系統(tǒng)中是必不可少的一個抽象層,Why?沒有它,軟件無法使用計算機硬件!沒有它,一臺計算機不能稱為“通用計算機”ISA和計算機組成(微結構)之間的關系

不同ISA規(guī)定的指令集不同,如,IA-32、MIPS、ARM等計算機組成必須能夠實現ISA規(guī)定的功能,如提供GPR、標志、運算電路等同一種ISA可以有不同的計算機組成,如乘法指令可用ALU或乘法器實現控制器CPUPC輸入設備輸出設備MARMDRALU標志寄存器

IR地址數據控制GPRs0123存儲器01234567ISA是計算機組成的抽象第二講計算機性能評價衡量計算機性能的基本指標響應時間(responsetime)執(zhí)行時間(executionTime)、等待時間(latency)吞吐量(throughput)帶寬(bandwidth)

計算機性能測量

指令執(zhí)行速度(MIPS、MFLOPS/TFLOPS/PFLOPS)基準程序(Benchmark)主要內容:計算機性能的基本評價指標“機器X的速度(性能)是Y的n倍”的含義:

ExTime(Y) Performance(X) ==n ExTime(X) Performance(Y)相對性能用執(zhí)行時間的倒數來表示!°計算機有兩種不同的性能描述°Timetodothetask響應時間(responsetime)。執(zhí)行時間(executiontime)。等待時間或時延(latency)°Tasksperday,hour,sec,ns...吞吐率(throughput)帶寬(bandwidth)°基本的性能評價標準是:CPU的執(zhí)行時間不同應用場合用戶關心的性能不同:-要求吞吐率高的場合,例如:

多媒體應用(音/視頻播放要流暢)-要求響應時間短的場合:例如:

事務處理系統(tǒng)(存/取款速度要快)-要求吞吐率高且響應時間短的場合:

文件服務器、Web服務器等程序由指令構成。CPU執(zhí)行時間就是執(zhí)行程序中全部指令的時間。計算機性能的測量比較計算機的性能時,用執(zhí)行時間來衡量完成同樣工作量所需時間最短的那臺計算機就是性能最好的處理器時間往往被多個程序共享使用,因此,用戶感覺到的程序執(zhí)行時間并不是程序真正的執(zhí)行時間通常把用戶感覺到的響應時間分成以下兩個時間:CPU時間:指CPU真正花在該程序執(zhí)行上的時間。又包括兩部分:用戶CPU時間:用來運行用戶代碼的時間系統(tǒng)CPU時間:為了執(zhí)行用戶程序而需要運行操作系統(tǒng)程序的時間其他時間:指等待I/O操作完成或CPU花在其他用戶程序的時間系統(tǒng)性能和CPU性能不等價,有一定的區(qū)別系統(tǒng)性能(Systemperformance):系統(tǒng)響應時間,與CPU外的其他部分也都有關系CPU性能(CPUperformance):用戶CPU時間本章主要討論CPU性能,即:CPU真正用在用戶程序執(zhí)行上的時間問題:用戶CPU時間與系統(tǒng)響應時間哪個更長?CPU執(zhí)行時間的計算CPU執(zhí)行時間

=CPU時鐘周期數/程序×

時鐘周期=CPU時鐘周期數/程序÷

時鐘頻率=

指令條數/程序×CPI×

時鐘周期CPU時鐘周期數/程序=

指令條數/程序×

CPICPI=CPU時鐘周期數/程序÷指令條數/程序CPI用來衡量以下各方面的綜合性能InstructionSetArchitecture(ISA)Implementationofthatarchitecture(Organization&Technology)Program(Compiler、Algorithm)

CPI:CyclesPerInstruction,每條指令執(zhí)行的時鐘周期數如何計算CPI?對于某一條特定的指令而言,其CPI是一個確定的值。但是,對于某一個程序或一臺機器而言,其CPI是一個平均值,表示該程序或該機器指令集中每條指令執(zhí)行時平均需要多少時鐘周期。假定CPIi、Fi是各指令的CPI和在程序中的出現頻率,則程序綜合CPI為:CPI=

=x∑niiiFCPI1其中:

CountnInstructioCFii_=假定CPIi

和Ci分別為第i類指令的CPI和指令條數,則程序的總時鐘數為:=x∑niiiCCPI1總時鐘數=CPU時間=

時鐘周期x=x∑niiiCCPI1所以,CPI=(CPU時間×時鐘頻率)/指令條數=總時鐘周期數/指令條數已知CPU時間、時鐘頻率、總時鐘數、指令條數,則程序綜合CPI為:問題:指令的CPI、機器的CPI、程序的CPI各能反映哪方面的性能?

單靠CPI不能反映CPU性能!為什么?例如,單周期處理器CPI=1,但性能差!Example1程序P在機器A上運行需10s,機器A的時鐘頻率為400MHz。現在要設計一臺機器B,希望該程序在B上運行只需6s.機器B時鐘頻率的提高導致了其CPI的增加,使得程序P在機器B上時鐘周期數是在機器A上的1.2倍。機器B的時鐘頻率達到A的多少倍才能使程序P在B上執(zhí)行速度是A上的10/6=1.67倍?解:CPU時間A=時鐘周期數A/時鐘頻率A

時鐘周期數A=10secx400MHz=4000M個

時鐘頻率B=時鐘周期數B/CPU時間B=1.2x

4000M/6sec=800MHz機器B的頻率是A的兩倍,但機器B的速度并不是A的兩倍!MarketingMetrics(產品宣稱指標)MIPS =InstructionCount/Secondx1/106=ClockRate/CPIx1/106MillionInstructionsPerSecond(定點指令執(zhí)行速度)因為每條指令執(zhí)行時間不同,所以MIPS總是一個平均值。

不同機器的指令集不同程序由不同的指令混合而成指令使用的頻度動態(tài)變化PeakMIPS(峰值MIPS)所以MIPS數不能說明性能的好壞(用下頁中的例子來說明)MFLOPS=FPOperations/Secondx1/106MillionFloating-pointOperationsPerSecond(浮點操作速度)不一定是程序中花時間的部分用MIPS數表示性能有沒有局限?用MFLOPS數表示性能也有一定局限!Example:MIPS數不可靠!例1.3某程序編譯后目標代碼包含4類指令,優(yōu)化前各類指令數如下,優(yōu)化后A類指令減少了50%,其他類指令不變,設某運行機器主頻為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結果:因為優(yōu)化后減少了A類指令(其他指令數沒變),所以程序執(zhí)行時間一定減少了,但優(yōu)化后的MIPS數反而降低了。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)用基準程序來評測計算機的性能基準測試程序是專門用來進行性能評價的一組程序不同用戶使用的計算機用不同的基準程序基準程序通過運行實際負載來反映計算機的性能最好的基準程序是用戶實際使用的程序或典型的簡單程序基準程序的缺陷現象:基準程序的性能與某段短代碼密切相關時,會被利用以得到不當的性能評測結果手段:硬件系統(tǒng)設計人員或編譯器開發(fā)者針對這些代碼片段進行特殊的優(yōu)化,使得執(zhí)行這段代碼的速度非??炖?:IntelPentium處理器運行SPECint時用了公司內部使用的特殊編譯器,使其性能極高例2:矩陣乘法程序SPECmatrix300有99%的時間運行在一行語句上,有些廠商用特殊編譯器優(yōu)化該語句,使性能達VAX11/780的729.8倍!SuccessfulBenchmark:SPEC

1988年,5家公司(Sun,MIPS,HP,Apollo,DEC)聯合提出了SPEC

(SystemsPerformanceEvaluationCommittee)SPEC給出了一組標準的測試程序、標準輸入和測試報告。它們是一些實際的程序,包括OScalls、I/O等。版本89:10programs=4forinteger+6forFP

溫馨提示

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

評論

0/150

提交評論