軟考高階當中的輸入、輸出怎麼學習

  • 作者:由 匿名使用者 發表于 攝影
  • 2022-08-08

軟考高階當中的輸入、輸出怎麼學習喵喵咪958 2022-02-12

輸入輸出方式

在計算機系統中,有多種輸入輸出方式,包括程式控制、中斷、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都支援多極中斷,在執行中斷時還可以響應其它中斷,形成中斷巢狀。

資料來源於網路若侵權聯絡刪。

Top