㈠ 計算機與外設之間數據傳送方式有幾種各有什麼特點
有四種。
1、無條件傳送方式,最簡單的傳送方式,所配置的硬體和軟體最少。
2、查詢傳送方式,CPU的利用受到影響,陷於等待和反復查詢、不能再作他用;而且,這種方法不能處理掉電、設備故障等突發事件。
3、中斷傳送方式,是計算機最常用的數據傳送方式,可隨時向CPU發中斷請求信號,以便及時響應,及時處理,實現實時控制。
4、直接數據通道傳送方式,不經過CPU中轉,也不通過中斷服務程序,既不需要保存、恢復斷點和現場,所以傳送數據的速度比中斷方式更快。
(1)有哪些數據傳遞方法擴展閱讀
無條件傳送方式
無條件傳送方式是在假定外設已經准備好的情況下,直接利用輸入指令(IN指令)或輸出指令(OUT指令)與外設傳送數據,而不去檢查(查詢)外設的工作狀態。這種傳送方式的優點是控製程序簡單。但它必須是在外設已經准備好的情況下才能使用,否則傳送就會出錯。
所以在實際應用中無條件傳送方式使用較少,只用於一些較簡單外設的操作,如對開關信號的輸入,對LED顯示器的輸出等。
在此情況下,外設總是准備好的,它可以無條件地隨時接收CPU發來的輸出數據,也能夠無條件地隨時向CPU提供需要輸入的數據。
程序查詢傳送方式
程序查詢傳送方式也稱為條件傳送方式。在這種方式下,利用查詢方式進行輸入輸出,就是CPU通過執行程序查詢外設的狀態,判斷外設是否准備好接收數據或准備好了向CPU輸入的數據。根據這種狀態,CPU有針對性地為外設的輸入輸出服務。
一個用戶程序的執行自始至終是在操作系統控制下進行的。一個用戶將他要解決的問題用某一種程序設計語言編寫了一個程序後就將該程序連同對它執行的要求輸入到計算機內,操作系統就根據要求控制這個用戶程序的執行直到結束。
操作系統控制用戶的執行主要有以下一些內容:調入相應的編譯程序,將用某種程序設計語言編寫的源程序編譯成計算機可執行的目標程序,分配內存儲等資源將程序調入內存並啟動,按用戶指定的要求處理執行中出現的各種事件以及與操作員聯系請示有關意外事件的處理等。
中斷傳送方式是指當外設需要與CPU進行信息交換時,由外設向CPU發出請求信號,使CPU暫停正在執行的程序,轉去執行數據的輸入/輸出操作,數據傳送結束後,CPU再繼續執行被暫停的程序。
目前的微處理器都具有中斷功能,而且已經不僅僅局限於數據的輸入/輸出,而是在更多的方面有重要的應用。例如實時控制、故障處理以及BIOS和DOS功能調用等。
中斷傳送方式的優點是:CPU不必查詢等待,工作效率高,CPU與外設可以並行工作;由於外設具有申請中斷的主動權,故系統實時性比查詢方式要好得多。但採用中斷傳送方式的介面電路相對復雜,而且,每進行一次數據傳送就要中斷一次CPU。
CPU每次響應中斷後,都要轉去執行中斷處理程序,都要進行斷點和現場的保護和恢復,浪費了很多CPU的時間。故這種傳送方式一般適合於少量的數據傳送。對於大批量數據的輸入/輸出,可採用高速的直接存儲器存取方式,即DMA方式。
DMA傳送方式是在存儲器和外設之間、存儲器和存儲器之間直接進行數據傳送(如磁碟與內存間交換數據、高速數據採集、內存和內存間的高速數據塊傳送等),傳送過程無需CPU介入,這樣,在傳送時就不必進行保護現場等一系列額外操作,傳輸速度基本取決於存儲器和外設的速度。
DMA傳送方式需要一個專用介面晶元DMA控制器(DMAC)對傳送過程加以控制和管理。
進行DMA傳送期間,CPU放棄匯流排控制權,將系統匯流排交由DMAC控制,由DMAC發出地址及讀/寫信號來實現高速數據傳輸。傳送結束後DMAC再將匯流排控制權交還給CPU。一般微處理器都設有用於DMA傳送的聯絡線。
DMAC中主要包括一個控制狀態寄存器、一個地址寄存器和一個位元組計數器,在傳送開始前先要對這些寄存器進行初始化,一旦傳送開始,整個過程便全部由硬體實現,所以數據傳送速率非常高。