早期,i/o序列,查詢方式。
發展,i/o並行,兩種方式其一是中斷方式,其二是dma方式,使得外部裝置能直接與主儲存器資訊交換,減輕了cpu的工作量。
技術繼續發展,出現通道結構,實質上為高效能的dma控制器(微處理器,dma方式的進化),目的在於讓i/o自己完成輸入輸出。
技術再發展,出現i/o處理機,實質上為更高效能的處理器(dma再進化),成為小型的cpu系統,具有自己的暫存器,記憶體,指令集。
注意區別,i/o指令,是屬於**處理器的指令集,比如8086的in,out指令。
通道指令,通道自身微處理器的指令。編寫控制通道的輸入輸出程式,是由作業系統的開發者完成的。現代的i/o系統, 遇到**處理器的i/o指令,不象早期那樣直接去控制輸出與輸入,而是去呼叫通道程式。
換句話說,現代計算機系統中,cpu的i/o指令僅僅發了乙個命令訊號,而實際工作是由通道(微處理器)自己的程式來完成的。
埠概念:介面當中的暫存器。
i/o與主機的聯絡:
1. i/o裝置編址方式
①統一編址: 在主存位址中劃出一部分作為埠位址,這叫i/o對映(由硬體完成)。
優點可以簡化指令集,用乙個指令既可以與主存通訊,也可以與i/o埠通訊。
這種方式是通過劃分位址的不同,來區分訪問主存與i/o。
②不統一編址: x86架構,有專用的i/o指令,比如與主存通訊是move,i/o通訊是in,out。
2. i/o裝置控制方式
①查詢方式: 又分為傳統查詢(序列),cpu踏步等待。
輪詢方式(區域性並行),cpu以一定的週期按照次序去查詢每乙個外設,看它是否有資料輸入或輸出 。
就好像我們在網上進行了購物,傳統查詢方式工作機制是:從付款開始後,我們就站在小區門口等待,一直到快遞公司把貨物送到手上,這個期間什麼事情都不做。
顯然,傳統查詢太蠢,於是改進為輪詢方式,工作機制是:從付款開始後,我們每隔一段時間(比如4小時),去小區門口檢視一下,如果貨物到了就拿取,沒到的話繼續回來做其他事情。
比起傳統查詢,輪詢方式的效率提高多了。
②中斷方式: 區域性並行
中斷方式比起輪詢來說,又改進了一步,工作機制是:從付款開始後,我們正常做其他事情,快遞公司會主動給我們打**(中斷訊號),報告貨物已到,接到**後我們暫停當前的工作,去小區門口領取貨物,然後回來接著做剩餘的工作。
顯然,日常生活中,大部分人使用的就是中斷方式。
③ dma方式:完全並行
dma是中斷方式的更好改進,工作機制是:我們命令秘書去網上購買商品,同時讓秘書負責商品的收取,整個過程基本上不需要自己參與,可以完全專注於當前工作。
——————————————————————————————————————
無論是傳統查詢,輪詢,以及中斷,都需要cpu自己完成額外工作。
而dma徹底解放了cpu與i/o通訊的額外負擔。
dma方式下cpu讓出了匯流排(位址匯流排,資料匯流排,控制匯流排),暫時由dma控制器來接管匯流排,控制器就能直接完成i/o裝置與主存的資料交換。
如果恰好cpu此時需要訪問主存,那它不得不暫停乙個儲存週期(不是指令週期),如果只需要訪問暫存器或者cache,那cpu就不會有任何停頓。
其效率比較圖如下:
中斷I O控制方式和DMA
中斷控制i o方式 中斷 計算機系統在執行程式中,常會被系統內部或外部的事件所打斷,脫離正在執行的程式,轉去執行一段預先安排好的中斷服務程式 而在服務結束後,又返回原來的斷點,繼續執行原來的程式,這一過程稱為中斷。中斷方式 要求為每個外設分配乙個中斷請求號和針對此裝置的中斷程式,此外還需要乙個中斷控...
I O 控制方式
裝置管理的主要任務之一是控制裝置和記憶體或處理機之間的資料傳送。外圍裝置和記憶體之間的輸入 輸出控制方式有四種,下面分別介紹 1.程式直接控制方式 計算機從外部裝置讀取資料到儲存器,每次讀到乙個字的資料。對讀入的每個字,cpu 需要對外設狀態進行迴圈檢查,直到確定該字已經在 i o 控制器的 資料暫...
IO控制方式
程式直接控制方式 cpu干預程度 非常的頻繁,io操作開始前,完成後均需要cpu介入,並且在等待io完成的過程中cpu需要不斷的介入進行輪詢檢查,實際上是忙輪詢,極大的浪費了cpu的資源,本質原因還是io裝置與cpu速度差異造成的矛盾,其次的原因是沒有中斷機制,io裝置無法向cpu報告自己的狀態 資...