计算机系统通过执行通道程序完成数据,批量数据传送
數據傳送是指數據在計算機內部或計算機之間或計算機系統與其他系統之間的傳送操作[1]
。這里數據傳送是指內存與外存和I/O設備之間的傳送操作。批量數據傳送是指內存與外存之間成批的傳送數據,而不是一次傳送一個字(節)。這有利于減少主機對 I/O 控制的干預,把主機從繁雜的 I/O 控制事務中解脫出來,以便更多地去完成數據處理任務。
中文名
批量數據傳送
外文名
Batch data transfer
學????科
計算機目????的
解放主機、提高系統效率
定????義
成批傳送數據
領????域
硬件設計、I/O控制
批量數據傳送定義
編輯
語音
計算機與外設之間進行數據傳送有三種基本控制方式:查詢方式、中斷方式和DMA方式。其中前兩種方式都是以字(節)為傳送單位。而DMA屬于批量數據傳送方式。批量數據傳送是指內存與外存之間成批的傳送數據,而不需要CPU的干預,這也是批量數據傳送方式出現主要動力。在計算機中,CPU資源是十分寶貴的,而CPU與外設運行速度不在一個數量級,因此,在 I/O 控制方式的整個發展過程中,始終貫穿著這樣一條宗旨,即盡量減少主機對 I/O 控制的干預,把主機從繁雜的 I/O 控制事務中解脫出來,以便更多地去完成數據處理任務,提高系統效率。
批量數據傳送數據傳送方式
編輯
語音
批量數據傳送傳送方式
DMAC中主要包括一個控制狀態寄存器、一個地址寄存器和一個字節計數器,在傳送開始前先要對這些寄存器進行初始化,一旦傳送開始,整個過程便全部由硬件實現,所以數據傳送速率非常高。
DMA數據傳送(以數據輸入為例)按以下步驟進行:
(1)外圍設備發選通脈沖,把輸入數據送入緩沖寄存器,并使DMA請求觸發器置1;
(2)DMA請求觸發器向控制/狀態端口發準備就緒信號,同時向DMA控制器發DMA請求信號;
(3)DMA控制器向CPU發出總線請求信號(HOLD);
(4)CPU在完成了現行機器周期后,即響應DMA請求,發出總線允許(HLDA),并由DMA控制器發出DMA響應信號,使DMA請求觸發器復位。此時,由DMA控制器接管系統總線;
(5)DMA控制器發出存儲器地址,并在數據總線上給出數據,隨后在讀/寫控制信號線上發出寫的命令;
(6)來自外設的數據被寫入相應存儲單元;
(7)每傳送一個字節,DMA控制器的地址寄存器加1,從而得到下一個地址,字節計數器減1。回到(5),傳送下一個數據。如此循環,直到計數器的值為0,數據傳送完畢。
DMA傳送完畢,由DMAC撤消總線請求信號,從而結束DMA操作。CPU撤消總線允許信號,恢復對總線的控制。
批量數據傳送通道控制方式
雖然 DMA 方式比起中斷方式來已經顯著地減少了 CPU 的干預,即已由以字(節)為單位的干預減少到以數據塊為單位的干預,但 CPU 每發出一條 I/O 指令,也只能去讀(或寫)一個連續的數據塊。而當我們需要一次去讀多個數據塊且將它們分別傳送到不同的內存區域,或者相反時,則須由 CPU 分別發出多條 I/O 指令及進行多次中斷處理才能完成。I/O 通道方式是 DMA 方式的發展, 它可進一步減少 CPU 的干預, 即把對一個數據塊的讀(或寫)為單位的干預減少為對一組數據塊的讀(或寫)及有關的控制和管理為單位的干預。同時,又可實現 CPU、通道和 I/O 設備三者的并行操作,從而更有效地提高整個系統的資源利用率。例如,當 CPU 要完成一組相關的讀(或寫)操作及有關控制時,只需向 I/O 通道發送一條 I/O 指令,以給出其所要執行的通道程序的首址和要訪問的 I/O 設備,通道接到該指令后,通過執行通道程序便可完成 CPU 指定的 I/O 任務。[2]
批量數據傳送查詢傳送
編輯
語音
批量數據傳送查詢方式
查詢方式是通過執行輸入/輸出查詢程序來完成數據傳送的,工作原理是:當CPU啟動外設工作后,不斷地讀取外設的狀態信息進行測試,查詢外設是否準備就緒,如外設準備好,則可以進行數據傳送;否則,CPU繼續讀取外設的狀態信息進行查詢等待,直到外設準備好。
采用程序查詢方式進行數據傳送時,實際上在外設準備就緒之前,CPU一直處于等待狀態,致使CPU的利用率較低。倘若CPU按這種方式與多個外設傳送數據時,就需要周期性的依次查詢每個外設的狀態,浪費的時間就更多,CPU的利用率就更低。因此,這種方式適合于工作不太繁忙的系統。[3]
批量數據傳送中斷傳送方式
中斷傳送方式是指當外設需要與CPU進行信息交換時,由外設向CPU發出請求信號,使CPU暫停正在執行的程序,轉去執行數據的輸入/輸出操作,數據傳送結束后,CPU再繼續執行被暫停的程序。查詢傳送方式是由CPU來查詢外設的狀態,CPU處于主動地位,而外設處于被動地位。中斷傳送方式則是由外設主動向CPU發出請求,等候CPU處理,在沒有發出請求時,CPU和外設都可以獨立進行各自的工作。目前的微處理器都具有中斷功能,而且已經不僅僅局限于數據的輸入/輸出,而是在更多的方面有重要的應用。例如實時控制、故障處理以及BIOS和DOS功能調用等。有關中斷技術的具體內容將在下一節做介紹。
中斷傳送方式的優點是:CPU不必查詢等待,工作效率高,CPU與外設可以并行工作;由于外設具有申請中斷的主動權,故系統實時性比查詢方式要好得多。但采用中斷傳送方式的接口電路相對復雜,而且,每進行一次數據傳送就要中斷一次CPU。CPU每次響應中斷后,都要轉去執行中斷處理程序,都要進行斷點和現場的保護和恢復,浪費了很多CPU的時間。故這種傳送方式一般適合于少量的數據傳送。對于大批量數據的輸入/輸出,可采用高速的直接存儲器存取方式,即DMA方式。[4]
詞條圖冊
更多圖冊
參考資料
1.
張效祥.計算機科學技術百科全書:清華大學出版社,2005
2.
湯子瀛.計算機操作系統:西安電子科技大學出版社,2010
3.
輸入/輸出的控制方式
..tyut.edu.cn/[引用日期2017-06-18]
4.
CPU與外設之間數據傳送的方式
.csxupt[引用日期2017-06-18]
總結
以上是生活随笔為你收集整理的计算机系统通过执行通道程序完成数据,批量数据传送的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 猴头菇的价格是多少
- 下一篇: 金山文档实用技巧怎么样使用金山文档