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

下載本文檔

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

文檔簡(jiǎn)介

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

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

Ch1:ComputerAbstractions

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

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

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

特點(diǎn):變址,浮點(diǎn)運(yùn)算,多路存儲(chǔ)器,I/O處理機(jī),中央交換結(jié)構(gòu)(非總線結(jié)構(gòu))。軟件:使用高級(jí)語(yǔ)言,提供了系統(tǒng)軟件。代表機(jī)種:IBM7094(scientific)、1401(business)和DECPDP-1DECPDP-1晶體管:Transistor磁芯存儲(chǔ)器計(jì)算機(jī)發(fā)展簡(jiǎn)史第三代:中小規(guī)模集成電路(SSI/MSI)計(jì)算機(jī)1965~71年元器件:邏輯元件與主存儲(chǔ)器均由集成電路(IC)實(shí)現(xiàn)。特點(diǎn):微程序控制,Cache,虛擬存儲(chǔ)器,流水線等。代表機(jī)種:IBM360和DECPDP-8(大/巨型機(jī)與小型機(jī)同時(shí)發(fā)展)巨型機(jī)(Supercomputer):Cray-1大型機(jī)(Mainframe):IBM360系列小型機(jī)(Minicomputer):DECPDP-8Cray-1IBMSystem/360系列計(jì)算機(jī)IBM公司于1964年研制成功引入“兼容機(jī)”(系列機(jī))概念兼容機(jī)的特征:相同的或相似的指令集相同或相似的操作系統(tǒng)更高的速度更多的I/O端口數(shù)更大的內(nèi)存容量更高的價(jià)格低端機(jī)指令集是高端機(jī)的一個(gè)子集,稱為“向后兼容”。原來(lái)機(jī)器上的程序可以不改動(dòng)而在新機(jī)器上運(yùn)行,但性能不同。IBM360問(wèn)題1:引入“兼容機(jī)”有什么好處?問(wèn)題2:保持“兼容”的關(guān)鍵是什么?DEC公司的PDP-8機(jī)它同樣在1964年出現(xiàn)。與IBM360相比,價(jià)格更低、更小巧,因而被稱為小型機(jī)(Minicomputer)PDP-8“創(chuàng)造了小型機(jī)概念,并使之成為數(shù)十億美元的工業(yè)”,使DEC成為了最大的小型機(jī)制造商。主要特點(diǎn):首次采用總線結(jié)構(gòu)。具有高度的靈活性,允許將模塊插入總線以形成各種配置。PDP–8/E計(jì)算機(jī)系統(tǒng)框圖問(wèn)題:“總線結(jié)構(gòu)”有什么好處?可擴(kuò)充性好(允許將新的符合標(biāo)準(zhǔn)的模塊插入總線,形成各種配置)、節(jié)省器件,體積小,價(jià)格便宜Omni總線包含了96個(gè)獨(dú)立的信號(hào)通道,用以傳送控制、地址和數(shù)據(jù)信號(hào)。計(jì)算機(jī)發(fā)展簡(jiǎn)史第四代:大規(guī)模/超大規(guī)模計(jì)算機(jī)LSI/VLSI/ULSI1972~至今微處理器和半導(dǎo)體存儲(chǔ)器技術(shù)發(fā)展迅猛,微型計(jì)算機(jī)出現(xiàn)。使計(jì)算機(jī)以辦公設(shè)備和個(gè)人電腦的方式走向普通用戶。半導(dǎo)體存儲(chǔ)器1970年Fairchild公司生產(chǎn)出第一個(gè)相對(duì)大容量半導(dǎo)體存儲(chǔ)器1974年位價(jià)格低于磁芯的半導(dǎo)體存儲(chǔ)器出現(xiàn),并快速下跌從1970年起,存儲(chǔ)密度幾乎是每3年提高4倍微處理器微處理器芯片密度不斷增加,使CPU中所有元件放在一塊芯片上成為可能。1971年開發(fā)出第一個(gè)微處理器芯片Intel4004。特點(diǎn):共享存儲(chǔ)器,分布式存儲(chǔ)器及大規(guī)模并行處理系統(tǒng)以后幾代(標(biāo)準(zhǔn)、意見不一)

(注:有稱第四代是VLSI,從80年代開始;也有稱第四代是LSI,從1972年開始;有的又分成LSI時(shí)代和VLSI時(shí)代)PCEra:Mid1980s-Mid

2000s19Usingmicroprocessors,Apple,IBM,…build$1kcomputerfor1person=>Basic,Java,WindowsOS資料來(lái)源:UC-Berkeley,CourseCS61C,Spring2011Lecture#1IBMPCServer,Rack,Array20資料來(lái)源:UC-Berkeley,CourseCS61C,Spring2011Lecture#1服務(wù)器,機(jī)架式,陣列式第一講計(jì)算機(jī)系統(tǒng)簡(jiǎn)介計(jì)算機(jī)發(fā)展簡(jiǎn)史IAS通用計(jì)算機(jī)模型機(jī):馮.諾依曼結(jié)構(gòu)IBM360系列機(jī):引入兼容性(系列機(jī))概念DECPDP-8:引入總線結(jié)構(gòu)計(jì)算機(jī)系統(tǒng)的組成計(jì)算機(jī)硬件:CPU+MM+I/O計(jì)算機(jī)軟件:系統(tǒng)軟件+應(yīng)用軟件計(jì)算機(jī)層次結(jié)構(gòu)什么是計(jì)算機(jī)?計(jì)算機(jī)是一種能對(duì)數(shù)字化信息進(jìn)行自動(dòng)、高速的算術(shù)和邏輯運(yùn)算的處理裝置。計(jì)算機(jī)的基本部件及功能運(yùn)算器(數(shù)據(jù)運(yùn)算):ALU、GPRs、標(biāo)志寄存器等存儲(chǔ)器(數(shù)據(jù)存儲(chǔ)):存儲(chǔ)陣列、地址譯碼器、讀寫控制電路總線(數(shù)據(jù)傳送):數(shù)據(jù)(MDR)、地址(MAR)和控制線控制器(控制):對(duì)指令譯碼生成控制信號(hào)計(jì)算機(jī)實(shí)現(xiàn)的所有任務(wù)都是通過(guò)執(zhí)行一條一條指令完成的!計(jì)算機(jī)的基本組成與基本功能計(jì)算機(jī)硬件:打開PC來(lái)看看PC主板CPU插座內(nèi)存條PCI總線插槽現(xiàn)代計(jì)算機(jī)的原型

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

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

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

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

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

廚房-CPU,你媽-控制器,盤-GPRs,鍋灶等-ALU,架子-存儲(chǔ)器控制器CPUPC輸入設(shè)備輸出設(shè)備MARMDRALU標(biāo)志寄存器

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

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

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

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

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

(立即數(shù)、寄存器編號(hào)、存儲(chǔ)地址)目的操作數(shù)地址(寄存器編號(hào)、存儲(chǔ)地址)存儲(chǔ)地址的描述與操作數(shù)的數(shù)據(jù)結(jié)構(gòu)有關(guān)!IR?GPR?硬件與軟件的界面

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

簡(jiǎn)化編程,并使硬件資源被有效利用

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

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

機(jī)器語(yǔ)言稱為第一代程序設(shè)計(jì)語(yǔ)言(Firstgenerationprogramminglanguage,1GL)后來(lái)用匯編語(yǔ)言編程

匯編語(yǔ)言稱為第二代程序設(shè)計(jì)語(yǔ)言(Secondgenerationprogramminglanguage,2GL)應(yīng)用程序指令集體系結(jié)構(gòu)計(jì)算機(jī)硬件

匯編程序操作系統(tǒng)指令集體系結(jié)構(gòu)計(jì)算機(jī)硬件應(yīng)用程序現(xiàn)代(傳統(tǒng))計(jì)算機(jī)系統(tǒng)的層次現(xiàn)代計(jì)算機(jī)用高級(jí)語(yǔ)言編程

第三代程序設(shè)計(jì)語(yǔ)言(3GL)為過(guò)程式語(yǔ)言,編碼時(shí)需要描述實(shí)現(xiàn)過(guò)程,即“如何做”。第四代程序設(shè)計(jì)語(yǔ)言(4GL)

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

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

不同ISA規(guī)定的指令集不同,如,IA-32、MIPS、ARM等計(jì)算機(jī)組成必須能夠?qū)崿F(xiàn)ISA規(guī)定的功能,如提供GPR、標(biāo)志、運(yùn)算電路等同一種ISA可以有不同的計(jì)算機(jī)組成,如乘法指令可用ALU或乘法器實(shí)現(xiàn)控制器CPUPC輸入設(shè)備輸出設(shè)備MARMDRALU標(biāo)志寄存器

IR地址數(shù)據(jù)控制GPRs0123存儲(chǔ)器01234567ISA是計(jì)算機(jī)組成的抽象第二講計(jì)算機(jī)性能評(píng)價(jià)衡量計(jì)算機(jī)性能的基本指標(biāo)響應(yīng)時(shí)間(responsetime)執(zhí)行時(shí)間(executionTime)、等待時(shí)間(latency)吞吐量(throughput)帶寬(bandwidth)

計(jì)算機(jī)性能測(cè)量

指令執(zhí)行速度(MIPS、MFLOPS/TFLOPS/PFLOPS)基準(zhǔn)程序(Benchmark)主要內(nèi)容:計(jì)算機(jī)性能的基本評(píng)價(jià)指標(biāo)“機(jī)器X的速度(性能)是Y的n倍”的含義:

ExTime(Y) Performance(X) ==n ExTime(X) Performance(Y)相對(duì)性能用執(zhí)行時(shí)間的倒數(shù)來(lái)表示!°計(jì)算機(jī)有兩種不同的性能描述°Timetodothetask響應(yīng)時(shí)間(responsetime)。執(zhí)行時(shí)間(executiontime)。等待時(shí)間或時(shí)延(latency)°Tasksperday,hour,sec,ns...吞吐率(throughput)帶寬(bandwidth)°基本的性能評(píng)價(jià)標(biāo)準(zhǔn)是:CPU的執(zhí)行時(shí)間不同應(yīng)用場(chǎng)合用戶關(guān)心的性能不同:-要求吞吐率高的場(chǎng)合,例如:

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

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

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

=CPU時(shí)鐘周期數(shù)/程序×

時(shí)鐘周期=CPU時(shí)鐘周期數(shù)/程序÷

時(shí)鐘頻率=

指令條數(shù)/程序×CPI×

時(shí)鐘周期CPU時(shí)鐘周期數(shù)/程序=

指令條數(shù)/程序×

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

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

=x∑niiiFCPI1其中:

CountnInstructioCFii_=假定CPIi

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

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

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

時(shí)鐘周期數(shù)A=10secx400MHz=4000M個(gè)

時(shí)鐘頻率B=時(shí)鐘周期數(shù)B/CPU時(shí)間B=1.2x

4000M/6sec=800MHz機(jī)器B的頻率是A的兩倍,但機(jī)器B的速度并不是A的兩倍!MarketingMetrics(產(chǎn)品宣稱指標(biāo))MIPS =InstructionCount/Secondx1/106=ClockRate/CPIx1/106MillionInstructionsPerSecond(定點(diǎn)指令執(zhí)行速度)因?yàn)槊織l指令執(zhí)行時(shí)間不同,所以MIPS總是一個(gè)平均值。

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

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

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

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論