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

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

DMA與通道的對比

2023-03-26 17:59 作者:我愛計算機科學(xué)  | 我要投稿

要理解兩者的不同點,先回憶一下DMA:


從上面兩個圖可以看出,DMA主要就是完成外設(shè)和內(nèi)存間的數(shù)據(jù)塊傳送,并自動修改外設(shè)和主存的地址。

一個DMA控制器可以連接有限個外設(shè)。

一個處理機可以連接多個DMA處理器。

這是一塊DMA芯片,主要工作就是代替CPU在數(shù)據(jù)塊傳送時進行的地址加1或者減1的工作,但數(shù)據(jù)傳送的初始化工作還是由CPU完成。

由于DMA通常只控制一臺或少數(shù)幾臺同類設(shè)備,為了同時控制許多臺同類或不同類的設(shè)備,因此引入了通道設(shè)備:


通道和DMA區(qū)別在于:

1、通道一般用在大型計算機系統(tǒng)中(不是大型機)。

2、通道實質(zhì)是一臺能夠執(zhí)行有限的輸入輸出指令,并能被多臺外設(shè)共享的小型DMA專用處理機。

3、通道的作用:

解決了兩個問題。

a.由cpu承擔輸入輸出的工作。

雖然dma無需cpu進行外設(shè)與內(nèi)存的數(shù)據(jù)交換工作,但是這只是減少了cpu的負擔,dma中輸入輸出的初始化仍然要由cpu來完成。

b.大型計算機系統(tǒng)中高速設(shè)備共享dma接口的問題。大型計算機系統(tǒng)的外設(shè)太多以至于不得不共享有限的dma接口(小型計算機系統(tǒng)比如pc機中每個高速設(shè)備分配一個dma接口)。

通道的組成:

不同的通道,其組成也不同,下面以選擇通道為例介紹通道的組成。

(1)通道地址字寄存器CAWR:它存放從主存某固定單元中讀出的通道地址字CAW,再從CAW中取出通道程序首地址。通道中的CAWR類似于CPU中的程序計數(shù)器PC。

(2)通道指令寄存器CCWR:它存放從主存中讀出的通道指令,根據(jù)該通道指令向設(shè)備控制器發(fā)出控制命令。

(3)數(shù)據(jù)緩沖寄存器:當發(fā)生訪存沖突時,它用于暫時保存數(shù)據(jù),等待一段時間后再傳送。另外,通道與設(shè)備之間按字節(jié)傳送,而通道與主存之間按字傳送,故它具有組裝與拆分功能。

(4)設(shè)備地址寄存器:它接受啟動I/O指令(SIO)中所包含的設(shè)備號,并依次向I/O總線送出設(shè)備地址,經(jīng)譯碼產(chǎn)生選中設(shè)備信號。

(5)通道狀態(tài)字寄存器CSWR:它存放通道與設(shè)備的狀態(tài)信息。

(6)通道控制器:它產(chǎn)生控制通道操作的各種信號,類似于CPU中的微程序信號發(fā)生器。

通道的工作過程:

(1)初始化:

編制通道程序;

根據(jù)需要在主存中開辟I/O緩沖區(qū);

將緩沖區(qū)首址及傳送字節(jié)數(shù)送到通道程序中,并將通道程序首地址寫入某固定單元;

執(zhí)行啟動命令SIO,該指令中給出通道號及設(shè)備號。

(2)通道和設(shè)備的啟動:

指定的通道接到啟動信號后,從某固定單元中讀出通道地址字CAW;

CAW送入通道地址寄存器CAWR;

通道將SIO指令送來的設(shè)備號送入設(shè)備地址寄存器,然后向I/O總線送出所要啟動的設(shè)備號;

指定設(shè)備向通道送出回答信號,并回送本設(shè)備地址;

若回送的設(shè)備地址與通道送出的設(shè)備地址一致,則啟動成功;

通道根據(jù)VAWR中的內(nèi)容從主存取出第一條通道指令CCW1,并存于通道指令寄存器CCWR中,然后根據(jù)CCW1中的命令碼去啟動設(shè)備;

設(shè)備在接到第一條通道發(fā)出的命令后,向通道送出狀態(tài)碼,若狀態(tài)碼全為0,則通道向CPU送出條件碼,并告之啟動成功。反之,則表示不能正常執(zhí)行通道命令,并說明失敗的原因。

數(shù)據(jù)傳送:執(zhí)行完第一條通道指令后,CAWR增值,以便讀出第二條通道指令。若執(zhí)行的是數(shù)據(jù)傳送指令,當其傳送字節(jié)數(shù)減到0時,表明該通道指令執(zhí)行完畢,本次數(shù)據(jù)傳送結(jié)束。依次類推,直到執(zhí)行的某條通道指令中SD和CD均為0,則該通道指令是本通道程序中的最后一條。

(4)通道程序的結(jié)束:當執(zhí)行完通道程序的最后一條通道指令,則結(jié)束通道程序:一方面通道向設(shè)備發(fā)出結(jié)束命令,一方面向CPU發(fā)出中斷請求信號,并將通道狀態(tài)寫入主存專用單元。

設(shè)備接到結(jié)束命令后立即進行某些必要的動作,例如磁帶繼續(xù)運行一段,使磁頭停止在兩個數(shù)據(jù)之間的空白處。在設(shè)備必要的動作結(jié)束后,反饋給通道一個信號,以斷開與通道的連接。

CPU接到中斷請求信號后,響應(yīng)中斷,執(zhí)行I/O中斷管理程序,對通道作結(jié)束處理。

由以上敘述可以看出,DMA和通道的異同點在于:

1:兩者都要完成地址加1減1的操作,兩者都是硬件,但DMA不能執(zhí)行指令,通道則可以;

2:DMA的初始化工作仍由CPU完成,通道則是自己完成;

3:與DMA相比,通道能夠連接更多的外部設(shè)備。

上圖是一個通道控制器。


PCL-730板卡組成框圖

上圖是有輸入輸出兩個通道的系統(tǒng)。

比如選擇輸入輸出數(shù)據(jù)通道的指令:

MOV DX, 221H

OUT DX, AL

MOV DX, 220H

IN AL, DX

以上指令由通道本身執(zhí)行。


DMA與通道的對比的評論 (共 條)

分享到微博請遵守國家法律
胶州市| 石嘴山市| 盈江县| 江都市| 乌鲁木齐市| 拜城县| 峨眉山市| 蓝山县| 永州市| 平顶山市| 三门峡市| 哈尔滨市| 昆明市| 定襄县| 定边县| 浮梁县| 乐平市| 昭通市| 绥滨县| 宁波市| 南汇区| 千阳县| 渭南市| 德令哈市| 江北区| 上思县| 稷山县| 嵊泗县| 科尔| 扬中市| 新化县| 沙田区| 花垣县| 汕头市| 务川| 寻甸| 搜索| 连平县| 阳山县| 嘉义市| 郓城县|