cpu與外設進行數據交換的方式


程序查詢方式

  信息交換的控制完全由主機執行程序實現,主機一直詢問設備有沒有准備好,讀取設備的狀態決定數據傳送還是等待。

  該方式下,cpu需要“踏步等待”,cpu與 I/O 串行工作。

  設計簡單,設備少,但是效率低。

中斷方式

  計算機在執行現有程序時,暫時中止現有程序的執行,轉去對其他程序的處理,在處理完畢后CPU又返回到現有程序的斷點處,繼續執行原有程序。

  cpu在某一時刻啟動外設,然后CPU繼續執行原有程序,不用等外設,外設准備好了之后,向cpu發出中斷請求,請求cpu為自己服務。在可以響應中斷的情況下,CPU暫時中止現有程序,轉去執行中斷服務程序為外設服務,在中斷服務程序中完成一次主機與外設之間的數據傳送,傳送完成后,CPU返回原來的程序。

  1.中斷隱指令

  不是指令,是硬件實現的。它需要做的一些操作:1)關中斷,為了保護中斷不被打擾,首先需要關中斷;2)保護斷點,程序的斷點(PC的內容)保存起來。3)引出中斷服務程序,把中斷服務程序的入口地址傳送給程序計數器。

  2. 中斷向量

  中斷服務程序的入口地址。

  3.尋址中斷服務程序的方法

  硬件向量法和軟件查詢。硬件產生的實際是中斷類型號,軟件查詢是通過軟件編程的方法尋找入口地址。

  4.中斷處理流程

  關中斷->保存斷點->引入中斷服務程序->保存現場和屏蔽字 ->開中斷(允許中斷嵌套)->執行中斷服務程序->關中斷(恢復現場和屏蔽字時候不能被打擾)->恢復現場和屏蔽字 ->開中斷、中斷返回

DMA方式

  完全由硬件進行成組信息傳送的控制方式。內存與外設之間有一條“直接數據通道”,信息傳送不再經過CPU。

  DMA的傳送過程

  1)預處理:CPU會做一些准備工作:測試I/O設備,設置DMA控制器的相關配置等,然后CPU走了;I/O設備發送DMA請求,DMA控制器向CPU發送總線請求

  2)數據傳送:完全由硬件控制

  3)后處理:DMA控制器向CPU發送中斷請求,CPU執行中斷服務程序做DMA結束處理:檢查校驗數據啦,是否還有傳送啦

  DMA方式與中斷方式的區別

  1)CPU

  2) 發生時間:中斷請求只能發生在指令的執行周期之后,而對DMA的響應可以發生在每個機器周期

  3)傳送過程:中斷傳送過程還是需要CPU的干預,但是中斷方式不需要。

通道方式


免責聲明!

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



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