I/O操作是計算機處理中非常重要的操作,如何實現對I/O設備的有效控制,以更好地滿足用戶的輸入/輸出要求,是設備管理中非常重要的問題之一。在計算機技術的發展過程中,I/O控制方式也在不斷地發展,對I/O控制的要求主要是基于盡量減少主機對I/O控制的干預,把主機從繁雜的I/O控制事務中解脫出來,以更多地完成其數據處理任務。
按照I/O控制功能的強弱,以及和CPU之間聯系方式的不同,可把I/O設備的控制方式分為4種,這4種控制方式代表了I/O控制發展的4個階段,從程序直接控制方式發展到中斷驅動方式,再到DMA控制方式、通道I/O控制方式,每種控制方式都對前一種方式存在的問題進行了解決,提高了CPU 和外圍設備并行工作的程度,大幅度地提高了計算機執行效率和系統資源的利用率。
I/O程序直接控制方式如下:
程序直接控制方式也稱詢問方式,它是早期計算機系統中的一種I/O操作控制方式。在這種方式下,利用輸入/輸出指令或詢問指令測試一臺設備的忙 /閑標志位,根據設備當前的忙或閑的狀態,決定是繼續詢問設備狀態還是由主存儲器和外圍設備交換一個宇符或一個字。下圖所示是一個數據的輸入過程。當在 CPU上運行的現行程序需要從I/O設備讀入一批數據時,CPU程序首先設置交換的字節數和數據讀入主存的起始地址,然后向I/O設備發送讀指令或查詢標志指令,I/O設備將當前的狀態返回給CPU。如果I/O設備返回的當前狀態為忙或未就緒,則測試過程不斷重復,直到I/O設備就緒,開始進行數據傳送,CPU從I/O接口讀一個字或一個字符,再寫入主存。如果傳送還未結朿,再次向設備發出讀指令,重復上述測試過程,直到全部數據傳輸完成再返回現行程序執行。

為了正確完成這種傳送,通常要使用3條指令:查詢指令,用來查詢設備的狀態;傳送指令,當設備就緒時,執行數據交換;轉移指令,當設備未就緒時,執行轉移指令轉向查詢指令繼續查詢。
在程序直接控制方式中,一旦CPU啟動I/O設備,便不斷查詢I/O設備的準備情況,終止原程序的執行;另外,當I/O準備就緒后,CPU還要參與數據的傳送工作,此時CPU也不能執行原程序,由于CPU的髙速性和I/O設備的低速性,致使CRJ的絕大部分時間都處在等待I/O設備完成數據的輸入/輸出循環測試和低速的傳送中,造成對CPU資源的極大浪費。由此可見,在這種設備控制方式下,CPU和I/O設備完全處在串行工作狀態,使主機不能充分發揮效率,整個系統的效率很低。
注:更多精彩教程請關注CUOxin.COM手機教程欄目,CUOxin.COM手機數碼群:296605639歡迎你的加入
新聞熱點
疑難解答