登錄

數(shù)據(jù)傳送

百科 > 計算機 > 數(shù)據(jù)傳送

1.什么是數(shù)據(jù)傳送[1]

  數(shù)據(jù)傳送是指數(shù)據(jù)從一種設(shè)備傳送到另一種設(shè)備,或從同一個設(shè)備的一個存儲位置傳送到另一個存儲位置中去。

2.數(shù)據(jù)傳送的方向[2]

  串行通信中,數(shù)據(jù)通常是在兩個站點(如終端和微機)之間進行傳送,按照數(shù)據(jù)流的方向可分成三種基本的傳送模式,這就是全雙工方式、半雙工方式和單工方式。單工方式目前已很少采用,下面僅介紹前兩種模式。

  1.全雙工方式(full duplex)

  若數(shù)據(jù)的發(fā)送和接收分別使用兩套獨立的資源、由兩條不同的傳輸線同時傳送,使通信雙方都能在同一時刻進行發(fā)送和接收操作,這樣的傳送方式就是全雙工制,如圖1所示。在全雙工方式下,通信系統(tǒng)的每一端都設(shè)置了發(fā)送器和接收器,因此,能控制數(shù)據(jù)同時在兩個方向上傳送。全雙工方式無須進行方向的切換,因此,沒有切換操作所產(chǎn)生的時間延遲(一般為毫秒級),這對那些不能有時間延誤的交互式應(yīng)用(例如遠程監(jiān)測和控制系統(tǒng))十分有利。

Image:全雙工通信方式示意.jpg

  2.半雙工方式(half duplex)

  當使用同一條傳輸線既作輸入又作輸出時,雖然數(shù)據(jù)可以在兩個方向上傳送,但顯然通信雙方不能同時收發(fā)數(shù)據(jù),即它們只能依賴分寸切換方向?qū)崿F(xiàn)互相收發(fā)數(shù)據(jù)。這樣的傳送方式就是半雙工制,如圖2所示。采用半雙工方式時,通信系統(tǒng)每一端的發(fā)送器和接收器,通過收/發(fā)開關(guān)接到通信線上,進行方向的切換,因此,會產(chǎn)生時間延遲。收/發(fā)開關(guān)實際上是由軟件控制的電子開關(guān)。
Image:半雙工通信方式示意.jpg

  目前多數(shù)終端和串行接口都有半雙工模式的換向功能,也為全雙工模式提供了兩條獨立的引腳。在實際使用時,有時并不需要通信雙方同時既發(fā)送又接收,像打印機這類的單向傳送設(shè)備,半雙工就能勝任,也無須倒向。

3.數(shù)據(jù)傳送方式和類型[3]

  1.8237A的DMA操作方式

  在8237A的有效操作周期內(nèi),8237A將以下述4種傳送方式之一進行DMA操作。

  1)單字節(jié)傳送方式

  此時8237A獲得總線控制權(quán)后僅傳送一個字節(jié)的數(shù)據(jù),然后釋放系統(tǒng)總線,歸還給CPU使用。同時修改通道內(nèi)的當前地址寄存器和當前字計數(shù)寄存器的內(nèi)容,當計數(shù)器從0減為FFFFH時,產(chǎn)生終止計數(shù)信號,使EOP變?yōu)榈碗娖健?

  單字節(jié)傳送方式的優(yōu)點是保證在任何二次DMA操作之間,CPU至少能在一個總線周期內(nèi)獲得總線控制權(quán),達到CPU與DMA控制器處于并行工作的狀態(tài)。

  2)數(shù)據(jù)塊傳送方式

  此時,8237A一旦獲得總線控制權(quán)后將連續(xù)傳送完一個數(shù)據(jù)塊(它由N個字節(jié)的數(shù)據(jù)組成),然后釋放系統(tǒng)總線歸還給CPU使用。在這種傳送方式中,一次DMA操作最多能傳送64KB的數(shù)據(jù)塊,DMA傳送結(jié)束將取決于下面兩種條件中的任一個:當前字計數(shù)寄存器的內(nèi)容從0減為FFFFH時,并發(fā)出EOP有效信號;外部強加一個EOP為低電平的輸入信號時,迫使8237A退出DMA操作。

  在數(shù)據(jù)塊傳送方式中,要求DMA請求信號DREQ保持到DACK變?yōu)橛行r即可,因為8237A一旦進入有效周期后就不再去采樣DREQ信號了。

  3)請求傳送方式

  這種傳送方式類似于數(shù)據(jù)傳送方式,但此時要求在數(shù)據(jù)傳送期間必須保持DREQ信號有效。因為此時8237A每傳送一個字節(jié)的數(shù)據(jù)之后都要采樣DREQ引腳。當出現(xiàn)當前字計數(shù)寄存器由0變?yōu)镕FFFH或者EOP輸入端加入低電平信號或者DREQ信號無效時都將停止DMA傳送。

  4)級聯(lián)方式

  這是當多片8237A級聯(lián)應(yīng)用時采用的傳送方式,從而實現(xiàn)多于4個通道的DMA方式。此時,從片8237A的HRQ和HLDA引腳應(yīng)和主片8237A某個通道的DREQ和DACK引腳依次連接。

  以上4種DMA傳送方式均由方式控制字中的D7和D6兩位來控制。

  2.數(shù)據(jù)傳送類型

  在單字節(jié)傳送、數(shù)據(jù)塊傳送和請求傳送3種傳送方式下,都可以采用DMA讀、DMA寫和校驗傳送3種基本傳送類型,它們是通過方式控制字來設(shè)定的;此外,還有存儲器到存儲器、壓縮時序、自動預(yù)置和循環(huán)優(yōu)先級4種特殊的傳送類型,它們是通過8237A的命令字來設(shè)定的。

  1)DMA讀

  實現(xiàn)從存儲器到I/O接口器件的傳送,此時8237將發(fā)出MEMR和IOW控制信號以實現(xiàn)DMA讀操作。

  2)DMA寫

  實現(xiàn)從I/O接口器件到存儲器的傳送,此時8237A將發(fā)出IOR和MEMW控制信號,以實現(xiàn)DMA寫操作。

  3)校驗傳送

  用于校驗8237A的內(nèi)部功能,它也產(chǎn)生地址的an/減1,字計數(shù)值減1及當計數(shù)值從0減為FFFFH時產(chǎn)生EOP信號等,但所有的讀/寫控制信號都處于無效狀態(tài)。

  4)存儲器到存儲器傳送

  用來實現(xiàn)數(shù)據(jù)塊從一個存儲空間快速地傳送到另一個存儲空問。但這種類型僅適用于通道0和通道1,此時通道0產(chǎn)生源存儲器的地址,通道1產(chǎn)生目的存儲器的地址,每傳送一個字節(jié)的數(shù)據(jù)需執(zhí)行8個狀態(tài),前4個狀態(tài)用于從源存儲器中讀取數(shù)據(jù)并存放于8237A中的數(shù)據(jù)暫存器,而后4個狀態(tài)用于將數(shù)據(jù)暫存器的內(nèi)容寫入到目的存儲器中。

  5)自動預(yù)置傳送

  它可在完成DMA服務(wù)并出現(xiàn)EOP有效信號后,將該通道的基地址寄存器和基本字節(jié)計數(shù)器的內(nèi)容重新裝入當前地址寄存器和當前字節(jié)計數(shù)器中,從而使該通道繼續(xù)執(zhí)行另一次DMA服務(wù),無須CPU來預(yù)置上述地址值和計數(shù)值。

  6)循環(huán)優(yōu)先傳送

  這是一種采用循環(huán)優(yōu)先級管理方式使8237A中4個通道的優(yōu)先級別做動態(tài)地循環(huán)改變,從而使每一個通道都有享受最高優(yōu)先級別的資格,防止了一個通道獨占DMA操作的局面。

  7)壓縮時序傳送

  這是一種能獲得更高的數(shù)據(jù)傳送率的傳送類型。

評論  |   0條評論