軟考高階當中的輸入、輸出怎麼學習
- 2022-08-08
輸入輸出方式
在計算機系統中,有多種輸入輸出方式,包括程式控制、中斷、DMA和通道等。
1。程式控制工作方式
指在程式的控制下進行資料傳送,是CPU與外設之間交換資訊的最簡單形式,包括:
(1)無條件傳送方式。傳送資料之前不查詢外設狀態而直接執行輸入或輸出命令,這種方式下的外設總處於‘待命’狀態,可根據其固定的或已知的時序,將I/O指令插在程式中,當程式執行到該條指令時,就開始輸入或輸出資料。這種方式最簡單,但是可靠性不高。
(2)條件傳送方式。也稱為查詢傳送,CPU透過執行程式不斷讀取並測試外設狀態,若輸入裝置處於準備好狀態或輸出裝置處於空閒狀態,則CPU執行I/O指令與外設交換資訊,這要求介面電路中除了有資料埠外,還要有狀態埠。它比無條件傳送可靠,使用面也廣,但這種方式要求CPU不斷檢測外設狀態,佔用了CPU大量時間,效率不高。
2。中斷工作方式
中斷方式可以克服查詢方式的低效問題,當CPU執行到I/O請求時,向I/O控制器發出相應指令後,CPU並不等待,而是繼續執行其它操作。由於CPU無需等待I/O控制器與外設的資料交換,所以效率得到了提高。
中斷是指在CPU執行程式的過程中,由於某一外部或CPU內部事件的發生,使CPU暫時中止正在執行的程式,轉去處理這一事件,當該事件處理完畢後又回到原先被中止的程式,接著中止前的狀態繼續向下執行。
引起中斷的事件稱為中斷源。其中,由CPU內部產生的中斷稱為內部中斷,它包括溢位中斷、除法錯中斷、斷點中斷、軟中斷及單步中斷;由CPU外部產生的中斷稱為外部中斷,它包括可遮蔽中斷和非遮蔽中斷。
CPU接到中斷請求後,如果是當前允許的中斷,那麼要停止正在執行的程式碼,並把內部暫存器入棧,這個過程不能再次被打斷,所以要先關中斷,入棧完後再開中斷。這個過程應該儘量短,以防止錯過了其它中斷,該過程消耗的時間稱為中斷響應時間。然後再執行中斷處理程式,一般都比較簡單,就是設定一些標誌位,做簡單的資料處理而已,其它更耗時的處理由非中斷程式完成。中斷處理完成後要恢復現場,把入棧暫存器出棧,繼續執行被中斷的程式,這個過程消耗的時間稱為中斷處理時間,該時間大小與中斷型別、應用型別有關,也不是一味求短,現在大多數CPU都支援多極中斷,在執行中斷時還可以響應其它中斷,形成中斷巢狀。
資料來源於網路若侵權聯絡刪。