




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
習(xí)題解答第1章計算機系統(tǒng)概述1.給出以下概念的解釋說明1.中央處理器(CPU)通常把控制部件、運算部件和各類寄存器互聯(lián)組成的電路稱為中央處理器(CentralProcessingUnit,CPU),簡稱處理器。2.算術(shù)邏輯部件(ALU)用來進(jìn)行算術(shù)邏輯運算的部件,即算術(shù)邏輯部件(ArithmeticLogicUnit)。3.通用寄存器臨時存放從主存取來的數(shù)據(jù)或運算的結(jié)果。4.程序計數(shù)器(PC)在執(zhí)行當(dāng)前指令的過程中,自動計算出下一條指令的地址并送到PC(ProgramCounter,PC)中保存。5.指令寄存器(IR)從主存取來的指令需要臨時保存在指令寄存器(InstructionRegister,IR)。6.控制器用于自動逐條取出指令并進(jìn)行譯碼的部件,即控制元件(ControlUnit,CU),也稱控制器。7.主存儲器用來存放指令和數(shù)據(jù)。8.總線CPU為了從主存取指令和存取數(shù)據(jù),需要通過傳輸介質(zhì)和主存相連,通常把連接不同部件進(jìn)行信息傳輸?shù)慕橘|(zhì)稱為總線。9.主存地址寄存器(MAR)CPU送到地址線的主存地址應(yīng)先存放在主存地址寄存器(MemoryAddressRegister,MAR)中。10.主存數(shù)據(jù)寄存器(MDR)CPU發(fā)送到或從數(shù)據(jù)線取來的信息存放在主存數(shù)據(jù)寄存器(MemoryDataRegister,MDR)中。11.機器指令計算機能理解和執(zhí)行的程序稱為機器代碼或機器語言程序,其中的每條指令都由0和1組成,稱為機器指令。12.存儲程序13.指令操作碼操作碼字段指出指令的操作類型,如取數(shù)、存數(shù)、加、減、傳送、跳轉(zhuǎn)等。14.高級程序設(shè)計語言高級程序設(shè)計語言簡稱高級編程語言,是指面向算法設(shè)計的、較接近于日常英語書面語言的程序設(shè)計語言,如BASIC、C/C++、Java等。15.匯編語言通過用簡短的英文符號和機器指令建立對應(yīng)關(guān)系,以方便程序員編寫和閱讀程序。這種語言稱為匯編語言(AssemblyLanguage)。16.機器語言使用特定計算機規(guī)定的指令格式而形成的0/1序列稱為機器語言。17.機器級語言匯編語言和機器語言都屬于低級語言,它們統(tǒng)稱為機器級語言。18.源程序被翻譯的語言和程序分別稱為源語言和源程序19.目標(biāo)程序翻譯生成的語言和程序分別稱為目標(biāo)語言和目標(biāo)程序。20.編譯程序編譯程序(Compiler)也稱編譯器。用于將高級語言源程序翻譯成匯編語言或機器語言目標(biāo)程序。21.解釋程序解釋程序(Interpreter)也稱解釋器。用于將源程序中的語句按其執(zhí)行順序逐條翻譯成機器指令并立即執(zhí)行。22.匯編程序匯編程序(Assembler)也稱匯編器。用于將匯編語言源程序翻譯成機器語言目標(biāo)程序。23.語言處理系統(tǒng)提供程序編輯器和各類翻譯轉(zhuǎn)換軟件的工具包統(tǒng)稱為語言處理系統(tǒng)或軟件的集成開發(fā)環(huán)境(IntegratedDevelopmentEnvironment,IDE)。24.設(shè)備控制器外設(shè)通過I/O控制器或I/O適配器連接到主機上,I/O控制器或I/O適配器統(tǒng)稱為設(shè)備控制器。25.最終用戶使用應(yīng)用軟件完成特定任務(wù)的計算機用戶稱為最終用戶(EndUser)。26.系統(tǒng)管理員系統(tǒng)管理員(SystemAdministrator)是指利用操作系統(tǒng)、數(shù)據(jù)庫管理系統(tǒng)等軟件提供的功能對系統(tǒng)進(jìn)行配置、管理和維護,以建立高效合理的系統(tǒng)環(huán)境供計算機用戶使用的操作人員。27.應(yīng)用程序員應(yīng)用程序員(ApplicationProgrammer)是指使用高級編程語言編制應(yīng)用軟件的程序員;28.系統(tǒng)程序員系統(tǒng)程序員(SystemProgrammer)則是指設(shè)計和開發(fā)系統(tǒng)軟件的程序員。29.指令集體系結(jié)構(gòu)(ISA)從應(yīng)用問題到機器語言程序的每次轉(zhuǎn)換所涉及的概念都是屬于軟件的范疇,而機器語言程序所運行的計算機硬件和軟件之間需要有一個”橋梁“,這個在軟件和硬件之間的界面就是指令集體系結(jié)構(gòu)(InstructionSetArchitecture,ISA),簡稱指令集架構(gòu)或指令系統(tǒng)。30.微體系結(jié)構(gòu)實現(xiàn)ISA的電路邏輯結(jié)構(gòu)稱為計算機組織(ComputerOrganization)或微體系結(jié)構(gòu)(Microarchitecture),簡稱微架構(gòu)。31.透明在計算機技術(shù)中,一個存在的事物或概念從某個角度看似乎不存在,即對實際存在的事物或概念感覺不到,則稱為透明。32.響應(yīng)時間響應(yīng)時間是指從作業(yè)提交開始到作業(yè)完成所用的時間。33.吞吐率吞吐率表示在單位時間內(nèi)所完成的工作量。34.用戶CPU時間用戶CPU時間指真正用于運行用戶程序代碼的時間。35.時鐘周期計算機必須能夠產(chǎn)生同步的時鐘定時信號,也就是CPU主脈沖信號,其寬度稱為時鐘周期(Clockcycle、tick、clocktick、clock)。36.主頻CPU的主頻就是CPU主脈沖信號的時鐘頻率(ClockRate),是CPU時鐘周期的倒數(shù)。37.CPICPI(CyclesPerInstruction)表示執(zhí)行一條指令所需的時鐘周期數(shù)。38.基準(zhǔn)程序基準(zhǔn)程序(Benchmarks)是進(jìn)行計算機性能評測的一種重要工具?;鶞?zhǔn)程序是專門用來進(jìn)行性能評價的一組程序,能夠很好地反映機器在運行實際負(fù)載時的性能,可以通過在不同機器上運行相同的基準(zhǔn)程序來比較在不同機器上的運行時間,從而評測其性能。39.MIPS指令速度所用的計量單位為MIPS(MillionInstructionPerSecond),其含義是平均每秒鐘執(zhí)行多少百萬條指令。40.峰值MIPS選取一組指令組合,使得得到的平均CPI最小,由此得到的MIPS就是峰值MIPS(PeakMIPS)。41.相對MIPS相對MIPS(RelativeMIPS)是根據(jù)某個公認(rèn)的參考機型來定義的相應(yīng)MIPS值,其值的含義是被測機型相對于參考機型MIPS的倍數(shù)。42.MFLOPS與定點指令運行速度MIPS相對應(yīng)的用來表示浮點操作速度的指標(biāo)是MFLOPS(MillionFLOating-pointoperationsPerSecond)。它表示每秒所執(zhí)行的浮點運算有多少百萬次,它是基于所完成的操作次數(shù)而不是指令數(shù)來衡量的。43.GFLOPS浮點操作速度10^9次/s。44.TFLOPS浮點操作速度10^12次/s。45.PFLOPS浮點操作速度10^15次/s。46.EFLOP浮點操作速度10^18次/s。2.簡單回答下列問題。(1)馮·諾依曼計算機由哪幾部分組成?各部分的功能是什么?1.采用”存儲程序“工作方式。2.計算機由運算器、控制器、存儲器、輸入設(shè)備和輸出設(shè)備五大基本部件組成。3.存儲器能存放數(shù)據(jù),也能存放指令,在形式上沒有區(qū)別,但計算機應(yīng)能區(qū)分他們;控制器應(yīng)能自動執(zhí)行指令;運算器能進(jìn)行基本算術(shù)和邏輯運算;操作人員可以通過輸入/輸出設(shè)備使用計算機。4.計算機內(nèi)部以二進(jìn)制形式表示指令和數(shù)據(jù);每條指令由操作碼和地址碼兩部分組成,操作碼指出操作類型,地址碼指出操作數(shù)的地址;由一串指令組成程序。(2)什么是“存儲程序”工作方式?必須將事先編好的程序和原始數(shù)據(jù)送入主存后才能執(zhí)行程序,一旦程序被啟動執(zhí)行,計算機不需要操作人員干預(yù)就能自動完成逐條指令取出和執(zhí)行的任務(wù)。(3)一條指令的執(zhí)行過程包含哪幾個階段?1.取指令2.指令譯碼3.PC增量4.取數(shù)并執(zhí)行5.送結(jié)果從主從取指令->對指令進(jìn)行譯碼->PC增量->取操作數(shù)并執(zhí)行->將結(jié)果送至主存或寄存器保存。(4)計算機系統(tǒng)的層次結(jié)構(gòu)如何劃分?1.計算機硬件2.指令集體系結(jié)構(gòu)3.操作系統(tǒng)4.語言處理系統(tǒng)5.應(yīng)用程序(5)計算機系統(tǒng)的用戶可分為哪幾類?每類用戶工作在哪個層次?按照在計算機上完成任務(wù)的不同,可以把使用計算機的用戶分成以下4類:最終用戶、系統(tǒng)管理員、應(yīng)用程序員和系統(tǒng)程序員。最終用戶工作在由應(yīng)用程序提供的最上面的抽象層系統(tǒng)管理員工作在由操作系統(tǒng)提供的抽象層應(yīng)用程序員工作在由語言處理系統(tǒng)(主要有編譯器和匯編器)的抽象層語言處理系統(tǒng)建立在操作系統(tǒng)之上系統(tǒng)程序員(實現(xiàn)系統(tǒng)軟件)工作在ISA層次,必須對ISA非常了解(6)程序的CPI與哪些因素有關(guān)??(7)為什么說性能指標(biāo)MIPS不能很好地反映計算機的性能?MIPS反映了機器執(zhí)行定點指令的速度,但是,用MIPS來對不同的機器進(jìn)行性能比較是不準(zhǔn)確或不客觀的。因為不同機器的指令集不同,而且指令的功能也不同,也許在機器MI上某一條指令的功能,在機器M2上要用多條指令來完成,因此,同樣的指令條數(shù)所完成的功能可能不同;另外,不同機器的CPI和時鐘周期也不同,因而同一條指令在不同機器上所用的時間也不同。3.假定你的朋友不太懂計算機,請用簡單通俗的語言給你的朋友介紹計算機系統(tǒng)是如何工作的。4.你對計算機系統(tǒng)的哪些部分最熟悉,哪些部分最不熟悉?最想進(jìn)一步了解細(xì)節(jié)的是哪些部分的內(nèi)容?5.教材中圖1.1所示模型機(采用教材圖1.2所示指令格式)的指令系統(tǒng)中,除了有mov(op=0000)、add(op=0001)、load(op=1110)和store(op=1111)指令外,R型指令還有減(sub,op=0010)和乘(mul,op=0011)等指令,請仿照教材圖1.3給出求解表達(dá)式“z=(x-y)*y;”所對應(yīng)的指令序列(包括機器代碼和對應(yīng)的匯編指令)以及在主存中的存放內(nèi)容,并仿照教材圖1.5給出每條指令的執(zhí)行過程以及所包含的微操作。參考答案:實現(xiàn)z=(x-y)*y的程序在主存部分單元中的初始內(nèi)容如下。主存地址主存單元內(nèi)容內(nèi)容說明(Ii表示第i條指令)指令的符號表示011100111I1:R[0]←M[7];op=1110:取數(shù)操作loadr0,7#100000100I2:R[1]←R[0];op=0000:傳送操作movr1,r0211100110I3:R[0]←M[6];op=1110:取數(shù)操作loadr0,6#300100001I4:R[0]←R[0]-R[1];op=0010:減操作subr0,r1400110001I5:R[0]←R[0]*R[1];op=0011:乘操作mulr0,r1511111000I6:M[8]←R[0];op=1111:存數(shù)操作store8#,r0600010001操作數(shù)x,值作數(shù)y,值為1800000000結(jié)果z,初始值為0實現(xiàn)z=(x-y)*y的程序中每條指令的執(zhí)行過程如下。指令階段I1:11100111I2:00000100I3:11100110I4:00100001I5:00110001I6:11111000取指令I(lǐng)R←M[0000]IR←M[0001]IR←M[0010]IR←M[0011]IR←M[0100]IR←M[0101]指令譯碼op=1110,取數(shù)op=0000,傳送op=1110,取數(shù)op=0010,減op=0011,加op=1111,存數(shù)修改PCPC←0000+1PC←0001+1PC←0010+1PC←0011+1PC←0100+1PC←0101+1取數(shù)執(zhí)行MDR←M[0111]A←R[0]、movMDR←M[0110]A←R[0]、B←R[1]、subA←R[0]、B←R[1]、mulMDR←R[0]送結(jié)果R[0]←MDRR[1]←FR[0]←MDRR[0]←FR[0]←FM[1000]←MDR執(zhí)行結(jié)果R[0]=1R[1]=1R[0]=17R[0]=17-1=16R[0]=16*1=16M[8]=166.若有兩個基準(zhǔn)測試程序P1和P2在機器M1和M2上運行,假定M1和M2的價格分別是5000元和8000元,下表給出了P1和P2在M1和M2上所花的時間和指令條數(shù)。程序M1M2指令條數(shù)執(zhí)行時間指令條數(shù)執(zhí)行時間P1200×1061000ms150×106500msP2300×1033ms420×1036ms請回答下列問題:對于P1,哪臺機器的速度快?快多少?對于P2呢?在M1上執(zhí)行P1和P2的速度分別是多少MIPS?在M2上的執(zhí)行速度又各是多少?從執(zhí)行速度來看,對于P2,哪臺機器的速度快?快多少?假定M1和M2的時鐘頻率各是800MHz和1.2GHz,則在M1和M2上執(zhí)行P1時的CPI各是多少?如果某用戶需要大量使用程序P1,并且該用戶主要關(guān)心系統(tǒng)的響應(yīng)時間而不是吞吐率,那么,該用戶需要大批購進(jìn)機器時,該選擇M1還是M2?為什么?(提示:從性價比上考慮)如果另一個用戶也需要購進(jìn)大批機器,但該用戶使用P1和P2一樣多,主要關(guān)心的也是響應(yīng)時間,那么,應(yīng)該選擇M1還是M2?為什么?參考答案:如果另一個用戶也需要購進(jìn)大批機器,但該用戶使用P1和P2一樣多,主要關(guān)心的也是響應(yīng)時間,那么,應(yīng)該選擇M1還是M2?為什么?(1)對于程序P1,M1上執(zhí)行時間是M2的2倍,故M2比M1快1倍;對于程序P2,M2上的執(zhí)行時間是M1的2倍,故M1比M2快1倍。在M1上P1的速度為200M/1s=200MIPS,P2的速度為0.3M/0.003s=100MIPS;在M2上P1的速度為150M/0.5s=300MIPS,P2的速度為0.42M/0.006s=70MIPS。從執(zhí)行速度來看,對于P2,因為100/70=1.43,所以M1比M2快0.43倍。M1上P1的CPI為1s×800MHz/200M=4;在M2上P1的CPI為0.5s×1.2GHz/150M=4。(4)考慮運行P1時M1和M2的性價比,因為該用戶主要關(guān)心系統(tǒng)的響應(yīng)時間,所以性價比中的性能主要考慮執(zhí)行時間,其性能為執(zhí)行時間的倒數(shù),故性價比R為R=1/(執(zhí)行時間×價格)。R越大說明性價比越高,也即,“執(zhí)行時間×價格”的值越小,則性價比越高。對于程序P1,M1的性價比為R1=1/(1s×5000),M2的性價比為R2=1/(0.5s×8000),根據(jù)計算,可知R2>R1,故M2的性價比高,應(yīng)選擇購買M2。(5)因為P1和P2需要同等考慮,所以需要考慮綜合性能。有多種計算綜合性能的方法,如執(zhí)行時間總和、執(zhí)行時間算術(shù)平均值、執(zhí)行時間幾何平均值等。若用執(zhí)行時間總和,則M1的性價比為R1=1/(1003ms×5000),M2的性價比為R2=1/(506ms×8000),顯然R2>R1,故M2的性價比高,應(yīng)選擇M2。若用算術(shù)平均值,則M1、M2上執(zhí)行時間的算術(shù)平均值分別為501.5ms和253ms。因此,M1的性價比為R1=1/(501.5ms×5000),M2的性價比為R2=1/(253ms×8000),顯然R2>R1,故M2的性價比高,應(yīng)選擇M2。若用幾何平均值,則M1、M2上執(zhí)行時間的幾何平均值都一樣,約為54.7。因此,M1的性價比為R1=1/(54.7×5000),M2的性價比為R2=1/(54.7×8000),顯然R1>R2,故M1的性價比高,應(yīng)選擇M1。由此可見,用不同的綜合性能計算方法得到的結(jié)論可能不同。7.若機器M1和M2具有相同的指令集,其時鐘頻率分別為1GHz和1.6GHz。在指令集中有五種不同類型的指令A(yù)~E。下表給出了在M1和M2上每類指令的平均時鐘周期數(shù)CPI。機器ABCDEM112234M222456請回答下列問題:(1)M1和M2的峰值MIPS各是多少?(2)假定某程序P的指令序列中,五類指令具有完全相同的指令條數(shù),則程序P在M1和M2上運行時,哪臺機器更快?快多少?在M1和M2上執(zhí)行程序P時的平均時鐘周期數(shù)CPI各是多少?參考答案:(1)計算峰值MIPS時應(yīng)選擇CPI最少的指令,故在M1上可選擇一段全部由A類指令組成的程序,其峰值MIPS為1GHz/1=1000MIPS,在M2上可選擇一段全部由A類和B類指令組成的程序,其峰值MIPS為1.6GHz/2=800MIPS。(2)對于程序P,每類指令的條數(shù)均占1/5,故M1的CPI為(1+2+2+3+4)/5=2.4,M2的CPI為(2+2+4+5+6)/5=3.8。當(dāng)然,不能根據(jù)以上結(jié)果說明程序P在M1上運行更快,因為M1和M2的時鐘頻率不同。假設(shè)程序P的指令條數(shù)為N,則P在M1上的執(zhí)行時間為2.4×N×1/1G=2.4N(ns);在M2上的執(zhí)行時間為3.8×N×1/1.6G=2.375N(ns),因此,M2執(zhí)行P的速度更快,每條指令平均快0.025ns。從該題可看出,雖然程序P在M1中每條指令執(zhí)行所用時鐘周期數(shù)更少,但因為M2的時鐘頻率更高,使得每條指令的平均執(zhí)行時間更短。8.假設(shè)同一套指令集用不同的方法設(shè)計了兩種機器M1和M2。機器M1的時鐘周期為0.8ns,機器M2的時鐘周期為1.2ns。某程序P在機器M1上運行時的CPI為4,在M2上的CPI為2。對于程序P來說,哪臺機器的執(zhí)行速度更快?快多少?參考答案:因為M1和M2實現(xiàn)的是同一套指令集,所以程序P在機器M1和M2上的指令條數(shù)相同,假定是N條,則P在M1上的執(zhí)行時間為4×0.8ns×N=3.2N(ns);P在M2上的執(zhí)行時間為2×1.2ns×N=2.4N(ns)。由此可知,對于程序P來說,M2的執(zhí)行速度更快,平均每條指令快0.8ns。9.假設(shè)某機器M的時鐘頻率為4GHz,用戶程序P在M上的指令條數(shù)為8×108,其CPI為1.25,則P在M上的執(zhí)行時間是多少?若在機器M上從程序P開始啟動到執(zhí)行結(jié)束所需的時間
溫馨提示
- 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)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
評論
0/150
提交評論