計算機組成原理——輸入輸出(I/O)系統考研題


(一)   I/O系統基本概念

(二)   外部設備

1.     輸入設備:鍵盤、鼠標
2.     輸出設備:顯示器、打印機
3.     外存儲器:硬盤存儲器、磁盤陣列、光盤存儲器

(三)   I/O接口(I/O控制器)

1.     I/O接口的功能和基本結構
2.     I/O端口及其編址
3.I/O地址空間及其編碼

(四)   I/O方式

1.     程序查詢方式
2.     程序中斷方式
中斷的基本概念;中斷響應過程;中斷處理過程;多重中斷和中斷屏蔽的概念。
3.     DMA方式
DMA控制器的組成;DMA傳送過程。
4.     通道方式


(2009)

22. 下列選項中,能引起外部中斷的事件是
         A. 鍵盤輸入                B. 除數為0   
         C. 浮點運算下溢出    D. 訪存缺頁

答案:A
考點:內部中斷和外部中斷的區別
外中斷:I/O設備等來自主機外部設備的中斷。
內中斷:CPU內部的異常、例外、陷入內中斷

(2010)

21、單級中斷系統中,中斷服務程序執行順序是()
I保護現場
II開中斷
III關中斷
IV保存斷點
V中斷事件處理
VI恢復現場
VII中斷返回
 A、I->V->VI->II->VII
B、III->I->V->VII
C、III->IV->V->VI->VII
D、IV->I->V->VI->VII

答案:A
考點:單級中斷的概念

該題的一個特點是單級中斷,不會出現多重中斷的中斷嵌套問題,由於是單級中斷,斷點也不需要保存了,CPU直接返回中斷前的位置就可以了!

同時關中斷是由硬件自動實現的,並不屬於中斷服務程序。
而恢復斷點、恢復現場之后需要開中斷才能返回斷點!!!

這里給出一般的中斷處理的過程:

 

22、假定一台計算機的顯示存儲器用DRAM芯片實現,若要求顯示分辨率為1600*1200,顏色深度為24位,幀頻為85HZ,現實總帶寬的50%用來刷新屏幕,則需要的顯存總帶寬至少約為( )
A、245Mbp                         B、979Mbps
C、1958Mbps                      D、7834Mbps

答案:D
考點:1600*1200*24*85/0.5
1M約為106

 

(2010)

21.某計算機有五級中斷L4 ~ L0,中斷屏蔽字為M4M3M2M1M0,Mi=1(0≤i≤4)表示對Li級中斷進行屏蔽。若中斷響應優先級從高到低的順序是L0→L1→L2→L3→L4,且要求中斷處理優先級從高到低的順序為L4→L0→L2→L1→L3,則L1的中斷處理程序中設置的中斷屏蔽字是
A.11110     B.01101    C.00011  D.01010
答案:D
考點:中斷相應次序和中斷處理次序,只需要將優先級在自己前面及本身的那些設置為0屏蔽掉即可。

L4的中斷屏蔽字11111

L0的中斷屏蔽字11110

L2的中斷屏蔽字01101

L1的中斷屏蔽字01010

L3的中斷屏蔽字00001

(2011)
22.某計算機處理器主頻為50 MHz,采用定時查詢方式控制設備A的I/O,查詢程序運行一次所用的時鍾周期數至少為500。在設備A工作期間,為保證數據不丟失,每秒需對其查詢至少200次,則CPU用於設備A的I/O的時間占整個CPU時間的百分比至少是
A.0.02%     B.0.05%     C.0.20%     D.0.50%
答案:C
考點:500*200/50M

主頻50MHz就是一秒內有50M個時鍾周期

(2012)

22.響應外部中斷的過程中,中斷隱指令完成的操作,除保護斷點外,還包括

I. 關中斷

II.保存通用寄存器的內容

III.形成中斷服務程序入口地址並送 PC
A. 僅 I、II              B. 僅 I、III
C. 僅 II、III            D. I、II、III
答案:B
考點:保存通用寄存器的內容用一般指令就可完成

中斷隱指令:進入中斷時執行的關中斷、保存斷點等操作一般由硬件實現,它類似於一條指令,但不能被編寫在程序中。

22. 下列關於中斷 I/O 方式和 DMA方式比較的敘述中,錯誤 的是
 A. 中斷 I/O方式請求的是 CPU處理時間,DMA方式請求的是總線使用權
B. 中斷響應發生在一條指令執行結束后,DMA響應發生在一個總線事務完成后
C. 中斷 I/O方式下數據傳送通過軟件完成,DMA方式下數據傳送由硬件完成
D. 中斷 I/O方式適用於所有外部設備,DMA方式僅適用於快速外部設備

答案:D
中斷處理方式:在I/O設備輸入每個數據的過程中,由於無需CPU干預,因而可使CPU與I/O設備並行工作。僅當輸完一個數據時,才需CPU花費極短的時間去做些中斷處理。因此中斷申請使用的是CPU處理時間,發生的時間是在一條指令執行結束之后,數據是在軟件的控制下完成傳送。而DMA方式與之不同。DMA方式:數據傳輸的基本單位是數據塊,即在CPU與I/O設備之間,每次傳送至少一個數據塊;DMA方式每次申請的是總線的使用權,所傳送的數據是從設備直接送入內存的,或者相反;僅在傳送一個或多個數據塊的開始和結束時,才需CPU干預,整塊數據的傳送是在控制器的控制下完成的。答案D的說法不正確。

(2014)

22. 某設備中斷請求的響應和處理時間為100ns,每400ns發出一次中斷請求,中斷響應所容許的最長延遲時間為50ns,則在該設備持續工作過程中CPU用於該設備的I/O時間占整個CPU時間百分比至少是
A.12.5%        B.25%           C.37.5%           D.50%
答案:B
解析:每400ns發出一次中斷請求,不管怎么延長,400ns還是發出一次,也就是每400ns要有100ns的中斷處理時間,所以是B。
至於最長延遲什么的並不會影響每400ns發出一次中斷請求,並且這個中斷請求一定會被響應、處理。

(2015)
22.內部異常(內中斷)可分為故障(fault)、陷阱(trap)和終止(abort)三類。下列有關內部異常的敘述中,錯誤的是 ()。
A.內部異常的產生與當前執行指令相關
B.內部異常的檢測由CPU 內部邏輯實現
C.內部異常的響應發生在指令執行過程中
D.內部異常處理后返回到發生異常的指令繼續執行

答案:D
解析:故障(Faults): 故障通常是可以糾正的,當中斷返回時, 將重新執行引起故障的那條指令.
陷阱(Traps):當此異常發生時, 在轉入異常處理程序之前, 處理器在棧中壓入陷阱截獲指令的下一條指令的地址.
終止(Aborts):終止標志着最嚴重的錯誤,繼續執行引起此異常已相當困難, 操作系統通常只能把該任務從系統中抹去.

綜合計算題


(2012)

43假設某計算機的 CPU 主頻為 80MHz,CPI 為 4,並且平均每條指令訪存 1.5 次,主存與 Cache 之間交換的塊大小為 16B,Cache 的命中率為 99%,存儲器總線寬度為 32 位。請問:
(1)該計算機的 MIPS 數是多少?平均每秒 Cache 缺失的次數是多少?在不考慮 DMA 傳送的情況下,主存帶寬至少達到多少才能滿足 CPU 的訪存要求?
答:

平均每秒CPU執行的指令數為80M/4=20M,故MIPS數為20
平均每秒Cache缺失的次數=20M×1.5× (1-99%)=3×105
當Cache 缺失時, CPU 訪問主存,主存與Cache 之間以塊為單位傳送數據,此時,主存帶寬=16×3×105=4.8MB/s。在不考慮 DMA 傳送的情況下,主存帶寬至少達到4.8MB/s才能滿足 CPU 的訪存要求。

(2)假定在 Cache 缺失的情況下訪問主存時,存在 0.0005%的缺頁率,則 CPU 平均每秒產生多少次缺頁異常?若頁面大小為 4KB,每次缺頁都需要訪問磁盤,訪問磁盤時 DMA 傳送采用周期挪用方式,磁盤 I/O 接口的數據緩沖寄存器為 32 位,則磁盤 I/O 接口平均每秒發出的 DMA 請求次數至少是多少?

答:

周期挪用:DMA與主存之間傳送一個數據,占用一個CPU周期。

CPU平均每秒產生缺頁異常的次數=3×105×0.0005%=1.5次

每頁數據從磁盤傳輸至主存的DMA次數=4KB/4B。

磁盤I/0接口平均每秒發出的DMA請求次數=1.5×4KB/4B=1.5K=1536.
(3)CPU 和 DMA 控制器同時要求使用存儲器總線時,哪個優先級更高?為什么?
答:
CPU和DMA控制器同時要求使用存儲器總線時DMA控制器優先級更高
因磁盤在高速運轉過程中,如果不及時響應DMA請求,有可能造成數據丟失。而CPU延遲僅僅會降低CPU運行速度,不會造成災難性后果.
(4)為了提高性能,主存采用 4 體低位交叉存儲器,工作時每 1/4 周期啟動一個存儲體,每個存儲體傳送周期為50ns,則主存能提供的最大帶寬是多少?
答:
在連續不斷地訪問交叉存儲體的情況下,該主存能達到最大帶寬。
故連續讀出4個字的信息總量=4字節×4=16字節
連續讀出4個字所需的時間為50ns
故帶寬=16/(50×10-9)=3.2×108=320MB/s

 

(2013)
43 某 32 位機,主頻為 800MHz,Cache 命中時的 CPI 為 4,Cache 塊大小為32 字節;主存采用 8 體交叉存儲方式,每個體的存儲字長為 32 位、存儲周期為 40 ns;存儲器總線寬度為 32 位,總線時鍾頻率為 200 MHz,支持突發傳送總線事務。每次讀突發傳送總線事務的過程包括:送首地址和命令、存儲器准備數據、傳送數據。每次突發傳送 32 字節,傳送地址或 32 位數據均需要一個總線時鍾周期。
(1)CPU和總線的時鍾周期各為多少?總線的帶寬(即最大數據傳輸率)為多少?
答 :
 CPU的時鍾周期為:1/800 MHz = 1.25 ns(1分)
 總線的時鍾周期為:1/200 MHz = 5 ns(1分)
 總線帶寬為:4 B×200 MHz = 800 MB/s (1分)
(2)Cache缺失時,需要用幾個讀突發傳送總線事務來完成一個主存塊的讀取?
答 :
Cache塊大小是 32 B,因此Cache缺失時需要一個讀突發傳送總線事務讀取一個主存塊。(1分)
(3)存儲器總線完成一次讀突發傳送總線事務所需的時間是多少?
答 :
一次讀突發傳送總線事務包括一次地址傳送和 32 B 數據傳送:用 1 個總線時鍾周期傳輸地址;每隔 40 ns/8 = 5 ns 啟動一個體工作(各進行 1次存取),第一個體讀數據花費 40 ns,之后數據存取與數據傳輸重疊;用 8-1 個總線時鍾周期傳輸數據。讀突發傳送總線事務時間:5 ns + 40 ns + 7×5 ns = 80 ns。(2分)
(4)若程序 BP 執行過程中,共執行了 100 條指令,平均每條指令需進行 1.2 次訪存, Cache缺失率為 5%,不考慮替換等開銷,則 BP 的CPU執行時間是多少?
答 :
BP 的 CPU 執行時間包括 Cache 命中時的指令執行時間和 Cache 缺失時帶來的額外開銷。命中時的指令執行時間:100×4×1.25 ns×95% = 475 ns。(1 分)
指令執行過程中Cache 缺失時的額外開銷:1.2×100×5%×85 ns = 510 ns。BP 的 CPU 執行時間:475 ns+510 ns=985 ns。(2分)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM