計算機組成原理第08章PPT課件_第1頁
計算機組成原理第08章PPT課件_第2頁
計算機組成原理第08章PPT課件_第3頁
計算機組成原理第08章PPT課件_第4頁
計算機組成原理第08章PPT課件_第5頁
已閱讀5頁,還剩76頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、第八章輸輸入入輸輸出出系系統(tǒng)統(tǒng)第1頁/共81頁 除了CPU和存儲器兩大模塊外,計算機硬件系統(tǒng)的第三個關鍵部分既是輸入輸出模塊,又稱輸入輸出系統(tǒng),簡稱為I/O系統(tǒng)。它包括I/O接口、I/O管理部件及有關軟件,一個計算機系統(tǒng)的綜合處理能力,系統(tǒng)的可擴展性、兼容性和性能價格比,都和I/O系統(tǒng)有密切關系。 本章重點分析I/O與主機交換信息的三種控制方式(程序查詢、中斷和DMA)及其相應的接口功能和組成。第2頁/共81頁一、外圍設備的定時方式一、外圍設備的定時方式 外圍設備的種類相當繁多,各種設備的數據傳輸速率相差懸殊。如果把高速工作的主機同不同速度工作的外圍設備相連接,首要問題就是如何保證主機與外圍設

2、備在時間上同步定時方式。 首先,我們了解一下I/O設備同CPU交換數據的過程。第3頁/共81頁 輸入過程如下: CPU把地址放在地址總線上,選擇輸入設備; ; CPU從數據總線讀入數據,并放入相應的寄存器。 輸出過程如下: CPU把地址放在地址總線上,選擇輸出設備; CPU把數據放在數據總線上; 輸出設備認為數據有效,把數據取走。 上述過程中,關鍵在于究竟什么時候數據才有效?因此,對于不同速度的I/O設備需要不同的定時方式。第4頁/共81頁 總的說來,CPU與I/O設備之間的定時,有以下三種情況:1、速度極慢或簡單的I/O設備 對這類設備,如機械開關、顯示二級管等等,CPU總是能足夠快地作出響

3、應,無需特殊聯絡信號。2、慢速或中速的I/O設備當I/O設備與主機速度不匹配時,通常采用異步方式交換數據:設置一些應答信號進行定時應答式數據交換。 以下是異步并行“應答”示意圖:第5頁/共81頁3、高速的I/O設備 同步工作要求I/O設備與CPU的速度完全同步,一旦CPU和外設發(fā)生同步,它們之間的數據交換便靠時鐘脈沖控制來進行。如外設是一條傳送2400位/秒的傳輸線,那么CPU每隔1/2400秒執(zhí)行一次串行的輸入操作。第6頁/共81頁二、信息交換方式二、信息交換方式 I/O設備與主機交換信息時,共有五種控制方式:1、程序查詢方式 程序查詢方式是早期計算機中使用的一種方式:由CPU通過程序不斷查

4、詢I/O設備的狀態(tài)是否已做好準備,從而控制I/O設備與主機交換信息。此方式只要CPU一啟動I/O設備,CPU便進入踏步等待,直到信息交換完畢,效率很低。第7頁/共81頁第8頁/共81頁2、程序中斷方式 中斷是I/O設備用來“主動”通知CPU,準備交換信息的一種方法。通常,當一個中斷發(fā)生時,CPU暫停其現行程序,轉向中斷處理程序進行信息交換;當中斷處理完畢后,CPU又返回到原來的任務,并從它停止的地方開始執(zhí)行程序。 此方式使CPU的資源得到了充分利用,提高了CPU的效率。它一般適用于應立即執(zhí)行的隨機事件。硬件結構相對復雜。 下圖示意了采用程序中斷方式從外設讀數據塊到主存的程序流程。第9頁/共81

5、頁第10頁/共81頁3、直接內存訪問DMA方式 DMA方式是一種完全由硬件執(zhí)行I/O交換的方式(無需處理中斷服務程序):DMA控制器從CPU完全接管對總線的控制,數據交換不經過CPU,而直接在內存和I/O設備之間進行,以高速傳送數據。 若出現DMA和CPU同時訪問主存,CPU總是將總線占有權讓給DMA“竊取”或“挪用”“竊取周期”或“挪用周期”:一般為一個存儲周期。 此方式傳送速度高,傳送速率僅受內存存取周期的限制。硬件代價高。適用于內存和高速外設之間大批數據交換的場合。 第11頁/共81頁以上三種方式的CPU工作效率比較如下:第12頁/共81頁4、通道方式 通道的出現進一步提高了CPU的效率

6、。這是因為,CPU將部分權利下放給通道,通道是一個具有特殊功能的處理器,某些應用中稱為輸入輸出處理器(IOP),它可以實現對I/O設備的統(tǒng)一管理和I/O設備與內存之間的數據傳送。但硬件代價更高。第13頁/共81頁5、外圍處理機方式 外圍處理機(PPU)是通道方式的進一步發(fā)展。PPU基本上獨立于主機工作,其結構更接近一般處理機甚至就是微小型計算機。在一些系統(tǒng)中,設置了多臺PPU,分別承擔I/O控制、通信、維護診斷等任務。從某種意義上說,這種系統(tǒng)已變成分布式的多機系統(tǒng)。 綜上所述,I/O設備的I/O方式可用下圖表示:第14頁/共81頁 程序查詢方式和程序中斷方式適用于數據傳輸率比較低的I/O設備,

7、而DMA方式、通道方式和PPU方式適用于數據傳輸率比較高的設備。 目前,單片機和微型機中多采用程序查詢方式、程序中斷方式和DMA方式。通道方式和PPU方式大都用在中、大型計算機中。第15頁/共81頁 I/O接口通常是指主機與外部設備之間設置的一個硬件電路及其相應的軟件控制。所有I/O設備都是通過I/O接口與主機取得聯系的。一、接口的功能和組成一、接口的功能和組成 1、總線連接方式的I/O接口電路 在總線結構的計算機系統(tǒng)中,每一臺I/O設備都是通過I/O接口掛到系統(tǒng)總線上的。如圖示:第16頁/共81頁數據線:傳送數據信息,其根數一般等于存儲字長的位數或字符的位數。雙向。設備選擇線:傳送設備碼,其

8、根數取決于I/O指令中設備碼的位數。單向。命令線:傳輸CPU向設備發(fā)出的各種命令信號,其根數與命令信號多少有關。單向總線。狀態(tài)線:向主機報告I/O設備狀態(tài)的信號線。單向總線。第17頁/共81頁2、接口的功能和組成 接口通常應具有以下幾個功能以及相應的硬件配置。 1)、選址功能 即實現設備的選擇,由接口中的實現:識別出自身的設備碼當設備選擇線上的設備碼(送至所有設備的接口)與本設備碼相符時,應發(fā)出設備選中信號SEL,由SEL控制設備通過命令線、狀態(tài)線和數據線與主機交換信息。第18頁/共81頁2)、傳送命令功能 接口能夠接收CPU發(fā)來的各種控制信號,以使I/O設備作出響應。通常在接口中設有存放命令

9、的及。 命令寄存器用來存放I/O指令中的命令碼,它受SEL信號的控制。命令線和所有接口電路的命令寄存器相連,只有被選中的設備SEL信號有效,命令寄存器才可接受命令線上的命令碼。第19頁/共81頁3)、傳送數據的功能 數據必須通過接口才能實現主機與I/O設備之間的傳送要求接口中具有數據通路,完成數據傳送設置:暫存I/O設備與主機準備交換的信息。它與I/O總線中的數據線相連。 DBR還應具備串并轉換能力。第20頁/共81頁4)、反映I/O設備工作狀態(tài)的功能 為了使CPU能及時了解各I/O設備的工作狀態(tài),接口內必須設置一些反映設備工作狀態(tài)的觸發(fā)器。如完成觸發(fā)器D、工作觸發(fā)器B、中斷請求觸發(fā)器INTR

10、、屏蔽觸發(fā)器、出錯觸發(fā)器、數據遲到觸發(fā)器等等。 所有的狀態(tài)標記觸發(fā)器都與I/O總線中的狀態(tài)線相連。 下圖是I/O接口的基本組成。第21頁/共81頁第22頁/共81頁二、接口的類型二、接口的類型 I/O接口按不同方式分類有以下幾種。 1、按數據傳送方式分類 并行接口:同時傳送一個字節(jié)或一個字。如Intel 8255。 串行接口:在設備與接口間逐位傳送,必須設有串并轉換裝置。 Intel 8251。 2、按功能選擇的靈活性分類 可編程接口:用程序來改變或選擇其功能及操作方式。 Intel 8255、8251。 不可編程接口:不能由程序來改變其功能,但可通過硬連線邏輯來實現不同的功能。 Intel

11、8212。第23頁/共81頁3、按通用性分類 通用接口:包含大多數I/O設備所共用的電路。可供多種外設使用。 Intel 8255、8212。 專用接口:為某類外設或某種用途專門設計的接口。 Intel 8279可編程鍵盤/顯示器接口; Intel 8275可編程CRT控制器接口等。第24頁/共81頁4、按數據傳送的控制方式分類 程序型式接口:連接速度較慢的I/O設備,如打印機。 Intel 8259中斷控制器。 DMA型接口:連接高速I/O設備,如磁盤。 Intel 8237 DMA控制器。第25頁/共81頁一、程序查詢流程一、程序查詢流程 程序查詢方式的核心問題在于每時每刻需不斷查詢I/O

12、設備是否準備就緒。 下圖是多個I/O設備的查詢流程示意,此時CPU需按各個I/O設備在系統(tǒng)中的優(yōu)先級逐級查詢。第26頁/共81頁第27頁/共81頁 為了正確完成這種查詢,要執(zhí)行如下三條指令: 測試指令:查詢設備是否準備就緒。 傳送指令:設備已準備就緒時,交換數據。 轉移指令:若設備未準備就緒,轉至測試指令,繼續(xù)測試設備狀態(tài)。 下圖是單個設備程序查詢方式的程序流程圖。第28頁/共81頁第29頁/共81頁二、程序查詢方式的接口電路二、程序查詢方式的接口電路 由上所述,程序查詢方式接口電路的基本組成如圖所示。 設備選擇電路用以識別本設備地址,當地址線上的設備號與本設備號相符時,SEL有效,可以接收命

13、令。 完成觸發(fā)器D和工作觸發(fā)器B標志設備所處的狀態(tài): D=0,B=0,I/O設備處于暫停狀態(tài); D=1,B=0,I/O設備已準備就緒; D=0,B=1,I/O設備正處于準備狀態(tài)。第30頁/共81頁 以輸入設備為例,本接口的工作過程如下:設備選中后, CPU發(fā)啟動命令,將B置1,D置0; 啟動外設工作; 設備將數據送入DBR; 外設工作完成,向接口發(fā)“設備工作結束”信號,將D置1,B置0; D以“準備就緒”狀態(tài)通知CPU,表示“數據緩沖滿”; CPU執(zhí)行輸入指令,讀入數據。第31頁/共81頁一、中斷的基本概念一、中斷的基本概念 計算機在執(zhí)行程序的過程中,當出現異常情況或特殊請求時,計算機停止現行

14、程序的運行,轉向對這些異常情況或特殊請求的處理,處理結束后再返回到現行程序的間斷處繼續(xù)執(zhí)行,這就是“”。把實現中斷功能所需的軟硬件技術統(tǒng)稱為,為此,計算機系統(tǒng)中必須配有相應的。第32頁/共81頁 在I/O設備與主機交換信息時,由于兩者工作速度相差懸殊,為了提高CPU的效率,通常采用程序中斷方式交換信息I/O中斷。 下圖為CPU與打印機并行工作時間示意圖。第33頁/共81頁二、程序中斷方式的接口電路二、程序中斷方式的接口電路 為處理I/O中斷,I/O接口電路中必須配置相關的硬件線路。 1、中斷請求觸發(fā)器和中斷屏蔽觸發(fā)器 兩者在I/O接口電路中是成對出現的,每臺設備都必須配置。 :為1時,向CPU

15、提出中斷請求;此時完成觸發(fā)器D必為1,即設備本身必須準備就緒。 為1時,該設備被屏蔽,即封鎖其中斷請求。第34頁/共81頁因此,當多個中斷源提出中斷請求時,CPU必須對各中斷源的請求進行排隊,且只能接受級別最高的中斷源的請求,不允許級別低的中斷源中斷正在運行的中斷服務程序。此時,就可用MASK來改變中斷源的優(yōu)先級別。 另外,接口電路中D、INTR、MASK和中斷查詢信號的關系如圖示:第35頁/共81頁2、排隊器 當多個中斷源同時向CPU提出請求時,經排隊器的排隊,只有優(yōu)先級高的中斷源排上隊,這樣就能實現CPU按中斷源優(yōu)先級的高低響應中斷請求。 下圖是設在各個接口電路中的排隊電路鏈式排隊器。第3

16、6頁/共81頁 其中首尾相接的虛線部分組成的門電路是排隊器的核心,由一個非門和一個與非門構成。中斷源優(yōu)先級最高的是1號中斷源。當多個中斷源提出中斷請求時,排隊器輸出端INTPi,只有一個為高電平,表示該中斷源排上隊。 當各中斷源均無中斷請求時,各INTRi 為高電平,其INTP1 、 INTP2 、 INTP3 均為高電平。一旦某中斷源提出中斷請求,就迫使比其優(yōu)先級低的中斷源之INTPi 變?yōu)榈碗娖剑怄i其發(fā)中斷請求。第37頁/共81頁3、中斷向量地址形成部件(設備編碼器) 當CPU響應中斷時,由硬件直接產生一個固定的地址,由向量地址指出每個中斷源設備的中斷服務程序入口,這種方法稱為硬件向量法

17、。 中斷向量地址形成部件的輸入是來自排隊器的輸出INTP1INTPn,輸出是用二進制表示的中斷向量,其位數與計算機可處理中斷源的個數有關,每個中斷源對應一個向量地址。設備編碼器。第38頁/共81頁如圖是一個鏈式排隊器與編碼器的例子: 若發(fā)出申請的中斷源被選中,排隊選中信號送入編碼電路,產生一個唯一對應的向量地址,并經數據總線送往CPU的主存地址寄存器MAR,然后執(zhí)行該中斷源設備的中斷服務程序。第39頁/共81頁 有的計算機中由硬件產生的向量地址不是直接地址,而是一個“位移量”,它加上CPU某寄存器里存放的基地址,得到中斷服務程序的入口地址。 還有一種采用向量地址轉移的方法,非常靈活,此方法允許

18、中斷處理程序放在內存中任何地方。如圖示:第40頁/共81頁4、程序中斷方式接口電路的基本組成第41頁/共81頁三、三、I/O中斷處理過程中斷處理過程 1、CPU響應中斷的條件和時間 條件:允許中斷觸發(fā)器EINT為1。它可用開中斷指令置位開中斷;也可用關中斷指令或硬件自動使其復位關中斷。 時間:CPU響應中斷的時間一定是在每條指令執(zhí)行階段的結束時刻,此時CPU將向接口發(fā)中斷查詢信號。第42頁/共81頁2、I/O中斷處理過程 以輸入設備為例說明I/O中斷處理過程。 選中設備后,則 CPU發(fā)啟動命令,使B=1,D=0; 接口啟動設備工作; 設備將數據送DBR; 設備向接口發(fā)“設備工作結束”信號,使D

19、=1,B=0; CPU發(fā)中斷查詢信號;第43頁/共81頁當D=1,且MASK=0時,設備中斷觸發(fā)器INTR置1,設備向CPU提出中斷請求。同時,INTR送排隊器,進行中斷判優(yōu); 若CPU允許中斷觸發(fā)器EINT=1,設備又被選中,則進入中斷響應階段,由中斷響應信號INTA將排隊器輸出送至編碼器形成向量地址; 向量地址送至PC; 由向量地址中存放的無條件轉移指令可轉至中斷服務程序入口地址中斷服務 中斷返回至原程序斷點。結束中斷處理過程。第44頁/共81頁四、中斷服務程序的流程四、中斷服務程序的流程 一般中斷服務程序的流程分四大部分: 1、保護現場 保存程序的斷點:由硬件實現; 保存通用寄存器和狀態(tài)

20、寄存器的內容:由中斷服務程序完成。 一般是將現場壓入堆棧。 2、中斷服務 完成數據交換。第45頁/共81頁3、恢復現場 將現場恢復到原來的寄存器中。4、中斷返回 中斷服務程序中由中斷返回指令實現。滿足兩個條件,一是必須開中斷;二是優(yōu)先級別高的中斷源有權中斷優(yōu)先級別低的中斷源。單重中斷和多重中斷服務程序流程如圖所示:第46頁/共81頁第47頁/共81頁一、一、DMA基本概念基本概念 直接內存訪問DMA是一種完全由硬件執(zhí)行I/O交換的工作方式。在這種方式中,DMA控制器從CPU完全接管對總線的控制,數據交換不經過CPU,而直接在內存和I/O設備之間進行。DMA控制器將向內存發(fā)出地址和控制信號,修改

21、地址,對傳送的字的個數計數,并且以中斷方式向CPU報告?zhèn)魉筒僮鹘Y束。 其最大特點是在主存和DMA接口間有一條專門的傳送通路。如圖示:第48頁/共81頁 DMA方式的主要優(yōu)點是速度快。CPU根本不參加傳送操作,省去了CPU取指令、取數、送數等操作,并且在傳送過程中,沒有保存現場、恢復現場之類的工作,內存地址的修改、傳送字個數的計數等都是用硬件線路直接實現的。所以DMA方式能滿足高速I/O設備的要求,也有利于CPU效率的發(fā)揮。DMA方式在計算機中被廣泛采用。第49頁/共81頁二、二、DMA傳送方式傳送方式 DMA方式中,I/O設備可通過DMA控制器直接訪問內存,同時,CPU可以繼續(xù)執(zhí)行程序。那么D

22、MA控制器與CPU怎樣分時使用內存呢?通常采用以下三種方法:1、停止CPU訪問內存 當I/O設備要求傳送數據時,由DMA控制器發(fā)停止信號給CPU,要求CPU放棄總線控制權。DMA控制器獲得總線控制權以后,開始數據傳送。完畢后,DMA控制器通知CPU可以使用內存,并把總線控制權交還給CPU。其時間圖如下:第50頁/共81頁 顯然,在這種DMA傳送過程中,CPU基本處于不工作或保持狀態(tài)。 優(yōu)點:控制簡單,適用于數據傳輸率很高的設備進行成組傳送。 缺點:DMA控制訪存階段,CPU對主存的利用率沒得到充分發(fā)揮,相當一部分內存工作周期是空閑的。第51頁/共81頁2、周期挪用 在這種DMA傳送方法中,當I

23、/O設備沒有DMA請求是,CPU按程序要求訪問主存;一旦I/O設備有DMA請求,則由I/O設備挪用一個或幾個主存周期。 I/O設備要求DMA傳送時會遇到兩種情況: CPU不需訪存(如CPU正執(zhí)行乘法指令),I/O訪存與CPU訪存不發(fā)生沖突; CPU需要訪存,發(fā)生沖突,則I/O訪存優(yōu)先,I/O設備周期挪用,即在CPU執(zhí)行訪存指令的過程中插入DMA請求,挪用一二個內存周期。其時間圖如下:第52頁/共81頁 此方法既實現了I/O傳送,又較好地發(fā)揮了內存和CPU的效率,是一種廣泛采用的方法。第53頁/共81頁3、DMA與CPU交替訪存 如果CPU的工作周期比內存的存取周期長很多,此時采用交替訪存的方法

24、可以使DMA傳送和CPU同時發(fā)揮最高的效率。此時可將一個CPU周期分為C1和C2兩個分周期, C1專供DMA訪存,C2專供CPU訪存。如圖示:第54頁/共81頁 此方式不需總線使用權的申請建立和歸還過程,總線使用權是通過C1和C2分別控制的。CPU與DMA接口各自有獨立的訪存地址寄存器、數據寄存器和讀/寫信號。實際上總線變成了在C1和C2控制下的多路轉換器,其總線控制權的轉移幾乎不需什么時間,具有很高的DMA傳送效率。 相應的硬件邏輯更為復雜。第55頁/共81頁三、基本的三、基本的DMA控制器(接口)控制器(接口) 1、DMA控制器的基本組成 DMA控制器,實際上是采用DMA方式的I/O設備與

25、系統(tǒng)總線之間的接口電路,該電路是在中斷接口的基礎上再加DMA機構組成。 下圖是一個最簡單的DMA控制器組成示意圖,它由以下邏輯部件組成:第56頁/共81頁1)內存地址計數器 用于存放內存中要交換的數據的地址。DMA傳送前,由程序將數據在內存中的首地址送入其中;DMA傳送中,每交換一次數據,該計數器加1,從而以增量方式給出內存中要交換的一批數據的地址。2)字計數器 用于記錄傳送數據塊的長度(字數),通常在DMA傳送前由程序以交換字數的補碼值預置。每傳送一個字,計數器加1,當計數器溢出即最高位產生進位時(計數器為0),表示數據傳送完畢,于是引起DMA控制器向CPU發(fā)中斷信號。3)數據緩沖器 用于暫

26、存每次傳送的數據(一個字)。通常DMA接口與主存之間采用字傳送,而DMA與設備之間可能是字節(jié)或位傳送。因此DMA接口中還可能包括有裝配或拆卸字信息的硬件邏輯,如數據移位緩沖器、字節(jié)計數器等。4)“DMA請求”標志 每當設備準備好一個數據字后給出一個控制信號,使“DMA請求”標志置1。該標志置位后向“控制/狀態(tài)”邏輯發(fā)出DMA請求,后者又向CPU發(fā)出總線使用權的請求(HOLD),CPU響應此請求后發(fā)回響應信號HLDA,“控制/狀態(tài)”邏輯接收此信號后發(fā)出DMA響應信號,使“DMA請求”標志復位,為交換下一個字做好準備。5)“控制/狀態(tài)”邏輯 由控制和時序電路以及狀態(tài)標志等組成,用于修改內存地址計數

27、器和字計數器,指定傳送類型(輸入或輸出),并對“DMA請求”信號和CPU響應信號進行協調和同步。6)中斷機構 當字計數器溢出時(全0),一組數據交換完畢,由溢出信號觸發(fā)中斷機構,向CPU提出中斷報告以結束一次數據傳送。第57頁/共81頁2、DMA數據傳送過程 DMA的數據塊傳送過程可分為三個階段:1)傳送前預處理 即程序初始化階段。由CPU執(zhí)行幾條I/O指令,測試設備狀態(tài),向DMA控制器的設備地址寄存器中送入設備號并啟動設備,向內存地址寄存器中送入起始地址,向字計數器中送入交換的數據字個數。此后CPU繼續(xù)執(zhí)行原來的主程序。第58頁/共81頁2)DMA數據傳送 DMA的數據傳送是以數據塊為基本單

28、位進行的,因此,每次DMA控制器占用總線后,無論是數據輸入操作,還是數據輸出操作,都是通過循環(huán)來實現的。 當I/O設備準備好數據時,它發(fā)出DMA請求,由DMA控制器向CPU發(fā)出總線使用權的請求。下圖示出了周期挪用方式的DMA傳送數據的流程圖:第59頁/共81頁3)DMA的后處理 一旦DMA的中斷請求得到響應,CPU停止主程序的執(zhí)行,轉去執(zhí)行中斷服務程序做一些DMA的結束處理工作:校驗送入內存的數據是否正確;測試在傳送過程中是否發(fā)生了錯誤;決定繼續(xù)用DMA方式傳送下去,還是結束傳送等等。第60頁/共81頁與中斷方式相比,DMA方式有如下特點: DMA方式靠硬件傳送數據; DMA方式可在指令周期內

29、的任一存取周期結束時響應; DMA方式沒有處理異常事件的能力,僅用于大批數據的傳送,提高數據吞吐量; DMA方式不中斷現行程序,無需保護現場; DMA方式的優(yōu)先級比程序中斷方式高。第61頁/共81頁3、DMA控制器與系統(tǒng)的連接方式 1)具有公共請求線的DMA請求方式 若干個DMA控制器通過一條公用的DMA請求線向CPU申請總線控制權。CPU發(fā)出響應信號用鏈式查詢方式通過DMA控制器,首先選中的設備獲得總線控制權,即可占用總線與主存?zhèn)魉托畔ⅰH鐖D示:第62頁/共81頁2)獨立的DMA請求方式 每一個DMA控制器各有一對獨立的DMA請求線和DMA響應線,它由CPU的優(yōu)先級判別機構裁決首先響應哪個請

30、求,并在響應線上發(fā)出響應信號,被獲得響應信號的DMA控制器便可控制總線與主存?zhèn)魉蛿祿?。如圖示:第63頁/共81頁四、選擇型和多路型四、選擇型和多路型DMA控制器控制器 實際中經常采用的DMA控制器芯片有兩類: 1、選擇型DMA控制器 它在物理上可以連接多個設備,而在邏輯上只允許連接一個設備。即在某一段時間內只能為一個設備服務。 其邏輯框圖如下:第64頁/共81頁 DMA控制器中有一個設備號寄存器,在預處理時將所選設備的設備號送入設備號寄存器。從預置開始,一直到這個數據塊 傳送結束,DMA控制器只為所選設備服務。 DMA控制器相當于一個邏輯開關,根據I/O指令來控制此開關與某個設備連接。第65頁

31、/共81頁 選擇型DMA控制器特別適合數據傳輸率很高以至接近內存存取速度的設備。在很快地傳送完一個數據塊后,控制器又可為其它設備服務。第66頁/共81頁2、多路型DMA控制器 多路型DMA不僅在物理上可以連接多個I/O設備,而且在邏輯上也允許這些I/O設備同時工作,各設備以字節(jié)交叉方式通過DMA控制器進行數據傳送。 由于多路型DMA同時要為多個設備服務,因此對應多少個DMA通路(設備),在控制器內部就有多少組寄存器用于存放各自的傳送參數。 多路型DMA控制器適合于同時為多個慢速設備服務。第67頁/共81頁第68頁/共81頁 例:多路型DMA控制器工作原理示意。如圖示,假設有磁盤、磁帶、打印機三

32、個設備同時工作。磁盤以30s的間隔向控制器發(fā)DMA請求,磁帶以45 s的間隔發(fā)DMA請求,打印機以150 s的間隔發(fā)DMA請求。根據傳輸速率,磁盤優(yōu)先權最高,磁帶次之,打印機最低,假設DMA控制器每完成一次DMA傳送所需的時間是5 s。若采用多路型DMA控制器,請畫出DMA控制器服務三個設備的工作時間圖。第69頁/共81頁T2T3T4T5T6T7T8T15s磁盤磁帶打印機30s45stttDMA控制器t 由圖可知,在這種情況下DMA尚有空閑,說明DMA控制器還可以容納更多設備。第70頁/共81頁 例:如圖示為微型機中軟盤控制器的系統(tǒng)接口電路,請進行分析說明。 CPU和軟盤控制器之間的接口電路包

33、括DMA控制和總線控制兩部分。8257DMA控制器提供4個獨立的DMA通路。每個通路各有2個16位寄存器(DMA地址寄存器、字節(jié)計數寄存器),必須在通路使用前加以預置。 DMA傳輸前,CPU對8257初始化,將相關參數送入相應的寄存器,然后才允許軟盤控制器向8257發(fā)出DMA傳輸請求信號DRQ。 8257接收到DRQ信號后,立即發(fā)HRQ信號給總線控制線路,請求總線控制權。CPU在識別到HRQ信號,完成當前總線周期后,發(fā)出HLDA響應信號,并放棄總線控制權。 此時8257向軟盤控制器發(fā)出DACK回答信號,通知軟盤控制器開始DMA傳輸,并發(fā)出讀/寫控制信號,以便軟盤控制器從主存被尋址的單元讀取一個字節(jié)或寫入一個字節(jié)。 只要軟盤控制器保持對DMA的請求,8257將

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論