最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網 會員登陸 & 注冊

DMA接口協(xié)議筆記

2023-01-19 00:56 作者:開發(fā)員阿夢  | 我要投稿

在沒有DMA機制的情況下,一I/O設備通過軟件方式向CPU發(fā)起中斷。

在DMA方式下,在內存和DMA接口之間有一條物理通路。這樣主存和設備交換數(shù)據(jù)時,不需要通過CPU,也不需要CPU暫停現(xiàn)行程序為設備服務,省去了保護現(xiàn)場和恢復現(xiàn)場,因此工作速度比程序中斷方式的工作速度高。

但是可能出現(xiàn)高速I/O設備和CPU爭用主存的情況。DMA的訪問優(yōu)先級較高,出現(xiàn)同時訪問時,CPU必須將總線(地址線、數(shù)據(jù)線)控制權交由DMA接口使用。

通常DMA和主存交換數(shù)據(jù)時采用如下三種方式:

1.?????? 停止CPU訪問主存;

2.?????? 周期挪用;

3.?????? DMA與CPU交替訪問。

DMA接口的功能

1.?????? 向CPU申請DMA傳送。

2.?????? 在CPU允許DMA工作時,處理總線控制權的轉交,避免因進入DMA工作而影響CPU正常活動或引起總線競爭。

3.?????? 在DMA期間管理系統(tǒng)總線,控制數(shù)據(jù)傳送。

4.?????? 確定數(shù)據(jù)傳送的起始地址和數(shù)據(jù)長度,修正數(shù)據(jù)傳送過程中的數(shù)據(jù)地址和數(shù)據(jù)長度。

5.?????? 在數(shù)據(jù)塊傳送結束時,給出DMA操作完成的信號。


簡單的DMA接口組成原理


DMA接口的組成如上圖所示。

解釋名詞:

AR: Address Register,主存地址寄存器。

WC: Word Counter,字計數(shù)器。

BR: Buffer Register,數(shù)據(jù)緩沖寄存器。

DAR: Device Address Register,設備地址寄存器。

這里描述DMA的工作過程。DMA工作過程包括三個階段:預處理、數(shù)據(jù)傳送和后處理。

預處理

首先是預處理

在DMA接口開始工作之前,CPU必須給它預置一些信息:

給DMA控制邏輯指明數(shù)據(jù)傳送方向是輸入還是輸出。

向DMA設備地址寄存器送入設備號,并啟動設備。

向DMA主存地址寄存器送入交換數(shù)據(jù)的主存起始地址。

對字計數(shù)器賦予交換數(shù)據(jù)的個數(shù)。

上述的預處理工作由CPU執(zhí)行幾條輸入輸出指令完成,即程序的初始化階段,這些工作完成后,CPU繼續(xù)執(zhí)行原來的程序。DMA傳送過程如下圖所示:

DMA預處理過程圖示

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

對于數(shù)據(jù)傳送過程,以下分別介紹對于DMA接口的輸入操作以及主存從DMA接口輸出數(shù)據(jù)到I/O設備的過程。

DMA方式是以數(shù)據(jù)塊為單位傳送的。數(shù)據(jù)傳送的示意圖如下:

DMA數(shù)據(jù)傳送過程圖示

DMA接口數(shù)據(jù)傳送的工作過程如下。?

(一)數(shù)據(jù)從I/O設備輸入到DMA接口

1.?????? 當設備準備好一個字時,發(fā)出選通信號,將該字讀到DMA的數(shù)據(jù)緩沖寄存器中,表示數(shù)據(jù)緩沖寄存器“滿”(如果I/O設備是面向字符的,則一次讀入一個字節(jié),組裝成一個字)。

2.?????? 與此同時,設備向DMA接口發(fā)請求(DREQ)。

3.?????? DMA接口向CPU申請總線控制權 (HRQ)。

4.?????? CPU發(fā)回HLDA信號,表示允許將總線控制權交給DMA接口。

5.?????? 將DMA主存地址寄存器中的主存地址送地址總線,并命令存儲器寫。

6.?????? 通知設備已被授予一個DMA周期(DACK),并為下一個字做準備。

7.?????? 將DMA數(shù)據(jù)緩沖寄存器的內容送數(shù)據(jù)總線。

8.?????? 主存將數(shù)據(jù)總線上的信息寫至地址總線指定的存儲單元中。

9.?????? 修改主存地址和字計數(shù)值。

10.?? 判斷數(shù)據(jù)塊是否傳送結束,若未結束,則繼續(xù)傳送;若已結束,(字計數(shù)器溢出),則向CPU申請程序中斷,標志數(shù)據(jù)塊傳送結束。

(二)數(shù)據(jù)從DMA接口輸出到I/O設備

1.?????? 當DMA數(shù)據(jù)緩沖寄存器已將輸出數(shù)據(jù)送至I/O設備后,表示數(shù)據(jù)緩沖寄存器已“空”。(或者說,在新一輪的傳送開始前,先清空數(shù)據(jù)緩沖寄存器)

2.?????? 設備向DMA接口發(fā)請求(DREQ)。

3.?????? DMA接口向CPU申請總線控制權(HRQ)。

4.?????? CPU發(fā)回HLDA信號,表示允許將總線控制權交給DMA接口使用。

5.?????? 將DMA主存地址寄存器中的主存地址送地址總線,并命令存儲器讀。

6.?????? 通知設備已被授予一個DMA周期(DACK),并為交換下一個字做準備。

7.?????? 主存將相應地址單元的內容通過數(shù)據(jù)總線讀入到DMA的數(shù)據(jù)緩沖寄存器中。

8.?????? 將DMA數(shù)據(jù)緩沖寄存器的內容送到輸出設備,若為字符設備,則需要將其拆成字符輸出。

9.?????? 修改主存地址和字計數(shù)值。

10.?? 判斷數(shù)據(jù)塊是否已傳送完畢,若未完畢,繼續(xù)傳送;若已傳送完畢,則向CPU申請程序中斷。

后處理

最后是后處理工作。

當DMA的中斷請求得到響應后,CPU停止原程序的執(zhí)行,轉去執(zhí)行中斷服務程序,做一些DMA的結束工作。

綜上,也就是說在DMA協(xié)議的工作過程中,含有中斷操作。就是在最后的后處理操作。

DMA接口有兩種主要類型。[210-212]

1.?????? 選擇性DMA接口。適用于數(shù)據(jù)傳輸率很高的設備。

2.?????? 多路型DMA接口。適用于同時為多個數(shù)據(jù)傳輸率不十分高的設備服務。

?

?


DMA接口協(xié)議筆記的評論 (共 條)

分享到微博請遵守國家法律
六枝特区| 威信县| 洱源县| 个旧市| 沙洋县| 濮阳县| 遵义县| 罗平县| 新田县| 永清县| 菏泽市| 彝良县| 海口市| 石城县| 祥云县| 扎兰屯市| 昭苏县| 葫芦岛市| 舞阳县| 读书| 泗洪县| 荣成市| 上思县| 安化县| 延长县| 新巴尔虎左旗| 江口县| 平昌县| 陆河县| 贺兰县| 军事| 晋江市| 博湖县| 佛冈县| 新和县| 高碑店市| 门源| 武汉市| 新密市| 黑水县| 千阳县|