(一) I/O系統基本概念性能
(二) 外部設備大數據
1. 輸入設備:鍵盤、鼠標
2. 輸出設備:顯示器、打印機
3. 外存儲器:硬盤存儲器、磁盤陣列、光盤存儲器編碼
(三) I/O接口(I/O控制器)spa
1. I/O接口的功能和基本結構
2. I/O端口及其編址
3.I/O地址空間及其編碼操作系統
(四) I/O方式blog
1. 程序查詢方式
2. 程序中斷方式
中斷的基本概念;中斷響應過程;中斷處理過程;多重中斷和中斷屏蔽的概念。
3. DMA方式
DMA控制器的組成;DMA傳送過程。
4. 通道方式
接口
(2009)事件
22. 下列選項中,能引發外部中斷的事件是
A. 鍵盤輸入 B. 除數爲0
C. 浮點運算下溢出 D. 訪存缺頁
答案:A
考點:內部中斷和外部中斷的區別
外中斷:I/O設備等來自主機外部設備的中斷。
內中斷:CPU內部的異常、例外、陷入內中斷事務
(2010)內存
2一、單級中斷系統中,中斷服務程序執行順序是()
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直接返回中斷前的位置就能夠了!
而恢復斷點、恢復現場以後須要開中斷才能返回斷點!!!
這裏給出通常的中斷處理的過程:
2二、假定一臺計算機的顯示存儲器用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分)