IO設備與主機信息傳送的控制方式
1.程序查詢方式(串行方式)
流程圖:
最關鍵的部分在於CPU讀取IO狀態,如果IO設備狀態為未准備就緒,CPU就將反復讀狀態,直到IO准備就緒。
由於IO設備的速度遠遠低於CPU速度,采用這種方式會導致CPU效率很低。
2.程序中斷方式
IO設備准備數據的過程中,CPU不查詢IO設備狀態;當IO設備准備好后,CPU中斷服務程序(保護現場)進行數據傳輸,數據傳輸往后返回原來的中斷的程序(恢復現場)
這樣的控制方式避免了踏步等待現象。
3.DMA方式
- 主存和 I/O 之間有一條直接數據通道:前兩種方式數據在主存和IO傳輸都需要CPU作為中間媒介,DMA方式避開了CPU
- 不中斷現行程序
- 周期挪用(周期竊取):這個竊取指的是,在傳輸周期內,CPU無總線控制權,但可以執行預存的指令
- CPU 和 I/O 並行工作
三種方式傳輸方式的比較
1.程序查詢方式
2.程序中斷方式
3.DMA方式
總結:
程序中斷方式比程序查詢方式進步的一點在於,避開了IO設備的數據准備階段,但仍然需要CPU參與IO設備與內存的數據傳輸
DMA方式由於主存和IO設備之間存在一條數據傳輸通道,將CPU從數據傳輸中解放出來,使得CPU和IO能並行工作。