-
1 # 使用者4949496052623
-
2 # 使用者6012801286615
共有四種I/O控制方式。
1、程式I/O方式
適用於:早期計算機無中斷機構,處理機對I/O裝置的控制採用程式I/O方式或稱忙等的方式。
2、中斷驅動I/O控制方式
適用於:適用於有中斷機構的計算機系統中。
3、直接儲存器訪間(DMA)I/O控制方式
適用於:具有DMA控制器的計算機系統中。
4、I/O通道控制方式
適用於:具有通道程式的計算機系統中。
擴充套件資料:
常見的I/O控制方式:
1、程式直接訪問方式跟迴圈檢測IO方式,是最古老的方式。CPU和IO序列,每讀一個位元組(或字),CPU都需要不斷檢測狀態暫存器的busy標誌,當busy=1時,表示IO還沒完成;當busy=0時,表示IO完成。此時讀取一個字的過程才結束,接著讀取下一個字。
2、中斷控制方式:迴圈檢測先進些,IO裝置和CPU可以並行工作,只有在開始IO和結束IO時,才需要CPU。但每次只能讀取一個字。
3、DMA方式:Direct Memory Access,直接儲存器訪問,比中斷先進的地方是每次可以讀取一個塊,而不是一個字。
4、通道方式:比DMA先進的地方是,每次可以處理多個塊,而不只是一個塊。
分類依據:
現代計算機系統中總是配備有各種外部裝置,他們都在CPU控制下進行工作。CPU對外部裝置的控制方式主要有以下四種。
1、程式I/O方式
程式查詢方式也稱為程式輪詢方式,該方式採用使用者程式直接控制主機與外部裝置之間輸入/輸出操作。
CPU必須不停地迴圈測試I/O裝置的狀態埠,當發現裝置處於準備好(Ready)狀態時,CPU就可以與I/O裝置進行資料存取操作。這種方式下的CPU與I/O裝置是序列工作的,輸入/輸出一般以位元組或字為單位進行。
這個方式頻繁地測試I/O裝置,I/O裝置的速度相對來說又很慢,極大地降低了CPU的處理效率,並且僅僅依靠測試裝置狀態位來進行資料傳送,不能及時發現傳輸中的硬體錯誤。但是這種方式的過程很簡單,易理解,並且不需要額外硬體。
2、中斷驅動I/O控制方式
當I/O裝置結束(完成、特殊或異常)時,就會向CPU發出中斷請求訊號,CPU收到訊號就可以採取相應措施。
當某個程序要啟動某個裝置時,CPU就向相應的裝置控制器發出一條裝置I/O啟動指令,然後CPU又返回做原來的工作。CPU與I/O裝置可以並行工作,與程式查詢方式相比,大大提高了CPU的利用率。但是在中斷方式下,同程式查詢方式一樣,也是以位元組或字為單位進行。
但是該方法大大降低了CPU的效率,因為當中斷髮生的非常頻繁的時候,系統需要進行頻繁的中斷源識別、保護現場、中斷處理、恢復現場。這種方法對於以“塊”為存取單位的塊裝置,效率是低下的。
3、直接儲存器訪間(DMA)I/O控制方式
DMA方式也稱為直接主存存取方式,其思想是:允許主儲存器和I/O裝置之間透過“DMA控制器(DMAC)”直接進行批次資料交換,除了在資料傳輸開始和結束時,整個過程無須CPU的干預。每傳輸一個“塊”資料只需要佔用一個主存週期。
DMA方式下,一個完整的資料傳輸過程:
1)DMA初始化
當程序需要I/O裝置進行資料輸入輸出時,CPU對DMA控制器初始化,並向I/O埠發出操作命令,提供準備傳輸的資料起始地址,需要傳送的資料長度等資訊送入到DMA控制器中的主存地址暫存器和傳送位元組計數器中。
2)DMA傳輸
DMA控制器獲得匯流排控制權後,進行輸出讀寫命令,直接控制主存與I/O裝置之間的傳輸。在DMA控制器的控制下,資料傳輸過程中不需要CPU的參與。
3)DMA結束
當完成本次資料傳輸後,DMA控制器釋放匯流排控制權,並向I/O裝置埠發出結束訊號。
4、I/O通道控制方式
通道(Channel)也稱為外圍裝置處理器、輸入輸出處理機,是相對於CPU而言的。是一個處理器。也能執行指令和由指令的程式,只不過通道執行的指令是與外部裝置相關的指令。
是一種實現主存與I/O裝置進行直接資料交換的控制方式,與DMA控制方式相比,通道所需要的CPU控制更少,一個通道可以控制多個裝置,並且能夠一次進行多個不連續的資料塊的存取交換,從而大大提高了計算機系統效率。
參考資料:
回覆列表
主要的I/O裝置控制方式有:
1、程式控制方式
2、中斷驅動方式
3、直接記憶體訪問方式
4、通道控制方式 等以上幾種,要多點學習了,這是基礎