操作系統(tǒng)精髓與設(shè)計(jì)原理(第5版)課后習(xí)題答案_第1頁
操作系統(tǒng)精髓與設(shè)計(jì)原理(第5版)課后習(xí)題答案_第2頁
操作系統(tǒng)精髓與設(shè)計(jì)原理(第5版)課后習(xí)題答案_第3頁
操作系統(tǒng)精髓與設(shè)計(jì)原理(第5版)課后習(xí)題答案_第4頁
操作系統(tǒng)精髓與設(shè)計(jì)原理(第5版)課后習(xí)題答案_第5頁
已閱讀5頁,還剩1頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

操作系統(tǒng)精髓與設(shè)計(jì)原理(第5版)課后習(xí)題答案第1章計(jì)算機(jī)系統(tǒng)概述1.1、圖1.3中的理想機(jī)器還有兩條I/O指令:0011=從I/O中載入AC0111=把AC保存到I/O中在這種情況下,12位地址標(biāo)識一個(gè)特殊的外部設(shè)備。請給出以下程序的執(zhí)行過程(按照圖1.4的格式):1.從設(shè)備5中載入AC。2.加上存儲(chǔ)器單元940的內(nèi)容。3.把AC保存到設(shè)備6中。假設(shè)從設(shè)備5中取到的下一個(gè)值為3940單元中的值為2。答案:存儲(chǔ)器(16進(jìn)制內(nèi)容):300:3005;301:5940;302:7006步驟1:3005->IR;步驟2:3->AC步驟3:5940->IR;步驟4:3+2=5->AC步驟5:7006->IR:步驟6:AC->設(shè)備61.2、本章中用6步來描述圖1.4中的程序執(zhí)行情況,請使用MAR和MBR擴(kuò)充這個(gè)描述。答案:1.a.PC中包含第一條指令的地址300,該指令的內(nèi)容被送入MAR中。b.地址為300的指令的內(nèi)容(值為十六進(jìn)制數(shù)1940)被送入MBR,并且PC增1。這兩個(gè)步驟是并行完成的。c.MBR中的值被送入指令寄存器IR中。2.a.指令寄存器IR中的地址部分(940)被送入MAR中。b.地址940中的值被送入MBR中。c.MBR中的值被送入AC中。3.a.PC中的值(301)被送入MAR中。b.地址為301的指令的內(nèi)容(值為十六進(jìn)制數(shù)5941)被送入MBR,并且PC增1。c.MBR中的值被送入指令寄存器IR中。4.a.指令寄存器IR中的地址部分(941)被送入MAR中。b.地址941中的值被送入MBR中。c.AC中以前的內(nèi)容和地址為941的存儲(chǔ)單元中的內(nèi)容相加,結(jié)果保存到AC中。5.a.PC中的值(302)被送入MAR中。b.地址為302的指令的內(nèi)容(值為十六進(jìn)制數(shù)2941)被送入MBR,并且PC增1。c.MBR中的值被送入指令寄存器IR中。6.a.指令寄存器IR中的地址部分(941)被送入MAR中。b.AC中的值被送入MBR中。c.MBR中的值被存儲(chǔ)到地址為941的存儲(chǔ)單元之中。1.4、假設(shè)有一個(gè)微處理器產(chǎn)生一個(gè)16位的地址(例如,假設(shè)程序計(jì)數(shù)器和地址寄存器都是16位)并且具有一個(gè)16位的數(shù)據(jù)總線。a.如果連接到一個(gè)16位存儲(chǔ)器上,處理器能夠直接訪問的最大存儲(chǔ)器地址空間為多少?b.如果連接到一個(gè)8位存儲(chǔ)器上,處理器能夠直接訪問的最大存儲(chǔ)器地址空間為多少?c.處理訪問一個(gè)獨(dú)立的I/O空間需要哪些結(jié)構(gòu)特征?d.如果輸入指令和輸出指令可以表示8位I/O端口號,這個(gè)微處理器可以支持多少8位I/O端口?答案:對于(a)和(b)兩種情況,微處理器可以直接訪問的最大存儲(chǔ)器地址空間為216=64Kbytes;唯一的區(qū)別是8位存儲(chǔ)器每次訪問傳輸1個(gè)字節(jié),而16位存儲(chǔ)器每次訪問可以傳輸一個(gè)字節(jié)或者一個(gè)16位的字。對于(c)情況,特殊的輸入和輸出指令是必要的,這些指令的執(zhí)行體會(huì)產(chǎn)生特殊的“I/O信號”(有別于“存儲(chǔ)器信號”,這些信號由存儲(chǔ)器類型指令的執(zhí)行體產(chǎn)生);在最小狀態(tài)下,一個(gè)附加的輸出針腳將用來傳輸新的信號。對于(d)情況,它支持28=256個(gè)輸入和28=256個(gè)輸出字節(jié)端口和相同數(shù)目的16位I/O端口;在任一情況,一個(gè)輸入和一個(gè)輸出端口之間的區(qū)別是通過被執(zhí)行的輸入輸出指令所產(chǎn)生的不同信號來定義的。1.5、考慮一個(gè)32位微處理器,它有一個(gè)16位外部數(shù)據(jù)總線,并由一個(gè)8MHz的輸入時(shí)鐘驅(qū)動(dòng)。假設(shè)這個(gè)微處理器有一個(gè)總線周期,其最大持續(xù)時(shí)間等于4個(gè)輸入時(shí)鐘周期。請問該微處理器可以支持的最大數(shù)據(jù)傳送速度為多少?外部數(shù)據(jù)總線增加到21位,或者外部時(shí)鐘頻率加倍,哪種措施可以更好地提高處理器性能?請敘述你的設(shè)想并解釋原因。答案:時(shí)鐘周期=1/(8MHZ)=125ns總線周期=4×125ns=500ns每500ns傳輸2比特;因此傳輸速度=4MB/s加倍頻率可能意味著采用了新的芯片制造技術(shù)(假設(shè)每個(gè)指令都有相同的時(shí)鐘周期數(shù));加倍外部數(shù)據(jù)總線,在芯片數(shù)據(jù)總線驅(qū)動(dòng)/鎖存、總線控制邏輯的修改等方面手段廣泛(或許更新)。在第一種方案中,內(nèi)存芯片的速度要提高一倍(大約),而不能降低微處理器的速度;第二種方案中,內(nèi)存的字長必須加倍,以便能發(fā)送/接受32位數(shù)量。1.6、考慮一個(gè)計(jì)算機(jī)系統(tǒng),它包含一個(gè)I/O模塊,用以控制一臺(tái)簡單的鍵盤/打印機(jī)電傳打字設(shè)備。CPU中包含下列寄存器,這些寄存器直接連接到系統(tǒng)總線上:INPR:輸入寄存器,8位OUTR:輸出寄存器,8位FGI:輸入標(biāo)記,1位FGO:輸出標(biāo)記,1位IEN:中斷允許,1位I/O模塊控制從打字機(jī)中輸入擊鍵,并輸出到打印機(jī)中去。打字機(jī)可以把一個(gè)字母數(shù)字符號編碼成一個(gè)8位字,也可以把一個(gè)8位字解碼成一個(gè)字母數(shù)字符號。當(dāng)8位字從打字機(jī)進(jìn)入輸入寄存器時(shí),輸入標(biāo)記被置位;當(dāng)打印一個(gè)字時(shí),輸出標(biāo)記被置位。a.描述CPU如何使用這4個(gè)寄存器實(shí)現(xiàn)與打字機(jī)間的輸入/輸出。b.描述通過使用IEN,如何提高執(zhí)行效率?答案:a.來源于打字機(jī)的輸入儲(chǔ)存在INPR中。只有當(dāng)FGI=0時(shí),INPR才會(huì)接收來自打字機(jī)的數(shù)據(jù)。當(dāng)數(shù)據(jù)接收后,被儲(chǔ)存在INPR里面,同時(shí)FGI置為1。CPU定期檢查FGI。如果FGI=1,CPU將把INPR里面的內(nèi)容傳送至AC,并把FGI置為0。當(dāng)CPU需要傳送數(shù)據(jù)到打字機(jī)時(shí),它會(huì)檢查FGO。如果FGO=0,CPU處于等待。如果FGO=1,CPU將把AC的內(nèi)容傳送至OUTER并把FGO置為0。當(dāng)數(shù)字符號打印后,打字機(jī)將把FGI置為1。b.(A)描述的過程非常浪費(fèi)。速度遠(yuǎn)高于打字機(jī)的CPU必須反復(fù)不斷的檢查FGI和FGO。如果中斷被使用,當(dāng)打字機(jī)準(zhǔn)備接收或者發(fā)送數(shù)據(jù)時(shí),可以向CPU發(fā)出一個(gè)中斷請求。IEN計(jì)數(shù)器可以由CPU設(shè)置(在程序員的控制下)。1.7、實(shí)際上在所有包括DMA模塊的系統(tǒng)中,DMA訪問主存儲(chǔ)器的優(yōu)先級總是高于處理器訪問主存儲(chǔ)器的優(yōu)先級。這是為什么?答案:如果一個(gè)處理器在嘗試著讀或者寫存儲(chǔ)器時(shí)被掛起,通常除了一點(diǎn)輕微的時(shí)間損耗之外沒有任何危害。但是,DMA可能從或者向設(shè)備(例如磁盤或磁帶)以數(shù)據(jù)流的方式接收或者傳輸數(shù)據(jù)并且這是不能被打斷的。否則,如果DMA設(shè)備被掛起(拒絕繼續(xù)訪問主存),數(shù)據(jù)可能會(huì)丟失。1.9、一臺(tái)計(jì)算機(jī)包括一個(gè)CPU和一臺(tái)I/O設(shè)備D,通過一條共享總線連接到主存儲(chǔ)器M,數(shù)據(jù)總線的寬度為1個(gè)字。CPU每秒最多可執(zhí)行106條指令,平均每條指令需要5個(gè)機(jī)器周期,其中3個(gè)周期需要使用存儲(chǔ)器總線。存儲(chǔ)器讀/寫操作使用1個(gè)機(jī)器周期。假設(shè)CPU正在連續(xù)不斷地執(zhí)行后臺(tái)程序,并且需要保證95%的指令執(zhí)行速度,但沒有任何I/O指令。假設(shè)1個(gè)處理器周期等于1個(gè)總線周期,現(xiàn)在要在M和D之間傳送大塊數(shù)據(jù)。a.若使用程序控制I/O,I/O每傳送1個(gè)字需要CPU執(zhí)行兩條指令。請估計(jì)通過D的I/O數(shù)據(jù)傳送的最大可能速度。b.如果使用DMA傳送,請估計(jì)傳送速度。答案:a.處理器只能分配5%的時(shí)間給I/O.所以最大的I/O指令傳送速度是10e6×0.05=50000條指令/秒。因此I/O的傳送速率是25000字/秒。b.使用DMA控制時(shí),可用的機(jī)器周期下的數(shù)量是10e6(0.05×5+0.95×2)=2.15×10e6如果我們假設(shè)DMA模塊可以使用所有這些周期,并且忽略任何設(shè)置和狀態(tài)檢查時(shí)間,那么這個(gè)值就是最大的I/O傳輸速率。1.10、考慮以下代碼:for(i=0;i<20;i++)for(j=0;j<10;j++)a[i]=a[i]*ja.請舉例說明代碼中的空間局部性。b.請舉例說明代碼中的時(shí)間局部性。答案:a.讀取第二條指令是緊跟著讀取第一條指令的。b.在很短的間歇時(shí)間內(nèi),a[i]在循環(huán)內(nèi)部被訪問了十次。1.11、請將附錄1A中的式(1.1)和式(1.2)推廣到n級存儲(chǔ)器層次中。答案:定義:Ci=存儲(chǔ)器層次i上每一位的存儲(chǔ)單元平均花銷Si=存儲(chǔ)器層次i的規(guī)模大小Ti=存儲(chǔ)器層次i上訪問一個(gè)字所需時(shí)間Hi=一個(gè)字在不高于層次i的存儲(chǔ)器上的概率Bi=把一個(gè)數(shù)據(jù)塊從層次i+1的存儲(chǔ)器上傳輸?shù)綄哟蝘的存儲(chǔ)器上所需時(shí)間高速緩沖存儲(chǔ)器作為是存儲(chǔ)器層次1;主存為存儲(chǔ)器層次2;針對所有的N層存儲(chǔ)器層以此類推。有:11niiiSniiCSCS===∑∑Ts的引用更復(fù)雜,我們從概率論入手:所期望的值1Pr[1]nixix===∑,由此我們可以寫出:1nsiiiTTH==∑我們需要清楚如果一個(gè)字在M1(緩存)中,那

溫馨提示

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

最新文檔

評論

0/150

提交評論