計算機組成原理課件第08章.ppt
《計算機組成原理課件第08章.ppt》由會員分享,可在線閱讀,更多相關(guān)《計算機組成原理課件第08章.ppt(81頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、計算機組成原理,主講教師:何霖,第八章,輸 入 輸 出 系 統(tǒng),除了CPU和存儲器兩大模塊外,計算機硬件系統(tǒng)的第三個關(guān)鍵部分既是輸入輸出模塊,又稱輸入輸出系統(tǒng),簡稱為I/O系統(tǒng)。它包括I/O接口、I/O管理部件及有關(guān)軟件,一個計算機系統(tǒng)的綜合處理能力,系統(tǒng)的可擴展性、兼容性和性能價格比,都和I/O系統(tǒng)有密切關(guān)系。 本章重點分析I/O與主機交換信息的三種控制方式(程序查詢、中斷和DMA)及其相應(yīng)的接口功能和組成。,,,一、外圍設(shè)備的定時方式,外圍設(shè)備的種類相當繁多,各種設(shè)備的數(shù)據(jù)傳輸速率相差懸殊。如果把高速工作的主機同不同速度工作的外圍設(shè)備相連接,首要問題就是如何保證主機與外圍設(shè)備在時間上同步
2、定時方式。 首先,我們了解一下I/O設(shè)備同CPU交換數(shù)據(jù)的過程。,輸入過程如下:,, CPU把地址放在地址總線上,選擇輸入設(shè)備; CPU等候輸入設(shè)備的數(shù)據(jù)有效; CPU從數(shù)據(jù)總線讀入數(shù)據(jù),并放入相應(yīng)的寄存器。,輸出過程如下:, CPU把地址放在地址總線上,選擇輸出設(shè)備; CPU把數(shù)據(jù)放在數(shù)據(jù)總線上; 輸出設(shè)備認為數(shù)據(jù)有效,把數(shù)據(jù)取走。,上述過程中,關(guān)鍵在于究竟什么時候數(shù)據(jù)才有效?因此,對于不同速度的I/O設(shè)備需要不同的定時方式。,總的說來,CPU與I/O設(shè)備之間的定時,有以下三種情況:,1、速度極慢或簡單的I/O設(shè)備立即響應(yīng) 對這類設(shè)備,如機械開關(guān)、顯示二級管等等,CPU總是能足夠快
3、地作出響應(yīng),無需特殊聯(lián)絡(luò)信號。 2、慢速或中速的I/O設(shè)備異步定時 當I/O設(shè)備與主機速度不匹配時,通常采用異步方式交換數(shù)據(jù):設(shè)置一些應(yīng)答信號進行定時應(yīng)答式數(shù)據(jù)交換。 以下是異步并行“應(yīng)答”示意圖:,3、高速的I/O設(shè)備同步定時方式 同步工作要求I/O設(shè)備與CPU的速度完全同步,一旦CPU和外設(shè)發(fā)生同步,它們之間的數(shù)據(jù)交換便靠時鐘脈沖控制來進行。如外設(shè)是一條傳送2400位/秒的傳輸線,那么CPU每隔1/2400秒執(zhí)行一次串行的輸入操作。,,,二、信息交換方式,I/O設(shè)備與主機交換信息時,共有五種控制方式:,1、程序查詢方式 程序查詢方式是早期計算機中使用的一種方式:由CPU通過程序不斷查詢
4、I/O設(shè)備的狀態(tài)是否已做好準備,從而控制I/O設(shè)備與主機交換信息。此方式只要CPU一啟動I/O設(shè)備,CPU便進入踏步等待,直到信息交換完畢,效率很低。,,,2、程序中斷方式 中斷是I/O設(shè)備用來“主動”通知CPU,準備交換信息的一種方法。通常,當一個中斷發(fā)生時,CPU暫停其現(xiàn)行程序,轉(zhuǎn)向中斷處理程序進行信息交換;當中斷處理完畢后,CPU又返回到原來的任務(wù),并從它停止的地方開始執(zhí)行程序。 此方式使CPU的資源得到了充分利用,提高了CPU的效率。它一般適用于應(yīng)立即執(zhí)行的隨機事件。硬件結(jié)構(gòu)相對復雜。 下圖示意了采用程序中斷方式從外設(shè)讀數(shù)據(jù)塊到主存的程序流程。,,,,3、直接內(nèi)存訪問DMA方式
5、 DMA方式是一種完全由硬件執(zhí)行I/O交換的方式(無需處理中斷服務(wù)程序):DMA控制器從CPU完全接管對總線的控制,數(shù)據(jù)交換不經(jīng)過CPU,而直接在內(nèi)存和I/O設(shè)備之間進行,以高速傳送數(shù)據(jù)。 若出現(xiàn)DMA和CPU同時訪問主存,CPU總是將總線占有權(quán)讓給DMA“竊取”或“挪用”“竊取周期”或“挪用周期”:一般為一個存儲周期。 此方式傳送速度高,傳送速率僅受內(nèi)存存取周期的限制。硬件代價高。適用于內(nèi)存和高速外設(shè)之間大批數(shù)據(jù)交換的場合。,,以上三種方式的CPU工作效率比較如下:,,,,,,4、通道方式 通道的出現(xiàn)進一步提高了CPU的效率。這是因為,CPU將部分權(quán)利下放給通道,通道是一個具有特殊功能
6、的處理器,某些應(yīng)用中稱為輸入輸出處理器(IOP),它可以實現(xiàn)對I/O設(shè)備的統(tǒng)一管理和I/O設(shè)備與內(nèi)存之間的數(shù)據(jù)傳送。但硬件代價更高。,5、外圍處理機方式 外圍處理機(PPU)是通道方式的進一步發(fā)展。PPU基本上獨立于主機工作,其結(jié)構(gòu)更接近一般處理機甚至就是微小型計算機。在一些系統(tǒng)中,設(shè)置了多臺PPU,分別承擔I/O控制、通信、維護診斷等任務(wù)。從某種意義上說,這種系統(tǒng)已變成分布式的多機系統(tǒng)。,綜上所述,I/O設(shè)備的I/O方式可用下圖表示:,程序查詢方式和程序中斷方式適用于數(shù)據(jù)傳輸率比較低的I/O設(shè)備,而DMA方式、通道方式和PPU方式適用于數(shù)據(jù)傳輸率比較高的設(shè)備。 目前,單片機和微型機中多
7、采用程序查詢方式、程序中斷方式和DMA方式。通道方式和PPU方式大都用在中、大型計算機中。,,I/O接口通常是指主機與外部設(shè)備之間設(shè)置的一個硬件電路及其相應(yīng)的軟件控制。所有I/O設(shè)備都是通過I/O接口與主機取得聯(lián)系的。,一、接口的功能和組成,1、總線連接方式的I/O接口電路 在總線結(jié)構(gòu)的計算機系統(tǒng)中,每一臺I/O設(shè)備都是通過I/O接口掛到系統(tǒng)總線上的。如圖示:,數(shù)據(jù)線:傳送數(shù)據(jù)信息,其根數(shù)一般等于存儲字長的位數(shù)或字符的位數(shù)。雙向。 設(shè)備選擇線:傳送設(shè)備碼,其根數(shù)取決于I/O指令中設(shè)備碼的位數(shù)。單向。 命令線:傳輸CPU向設(shè)備發(fā)出的各種命令信號,其根數(shù)與命令信號多少有關(guān)。單向總線。 狀態(tài)線:向
8、主機報告I/O設(shè)備狀態(tài)的信號線。單向總線。,,,2、接口的功能和組成 接口通常應(yīng)具有以下幾個功能以及相應(yīng)的硬件配置。,1)、選址功能 即實現(xiàn)設(shè)備的選擇,由接口中的設(shè)備選擇電路實現(xiàn):識別出自身的設(shè)備碼當設(shè)備選擇線上的設(shè)備碼(送至所有設(shè)備的接口)與本設(shè)備碼相符時,應(yīng)發(fā)出設(shè)備選中信號SEL,由SEL控制設(shè)備通過命令線、狀態(tài)線和數(shù)據(jù)線與主機交換信息。,,2)、傳送命令功能 接口能夠接收CPU發(fā)來的各種控制信號,以使I/O設(shè)備作出響應(yīng)。通常在接口中設(shè)有存放命令的命令寄存器及命令譯碼器。 命令寄存器用來存放I/O指令中的命令碼,它受SEL信號的控制。命令線和所有接口電路的命令寄存器相連,只有被選中
9、的設(shè)備SEL信號有效,命令寄存器才可接受命令線上的命令碼。,3)、傳送數(shù)據(jù)的功能 數(shù)據(jù)必須通過接口才能實現(xiàn)主機與I/O設(shè)備之間的傳送要求接口中具有數(shù)據(jù)通路,完成數(shù)據(jù)傳送設(shè)置數(shù)據(jù)緩沖寄存器DBR:暫存I/O設(shè)備與主機準備交換的信息。它與I/O總線中的數(shù)據(jù)線相連。 DBR還應(yīng)具備串并轉(zhuǎn)換能力。,,4)、反映I/O設(shè)備工作狀態(tài)的功能 為了使CPU能及時了解各I/O設(shè)備的工作狀態(tài),接口內(nèi)必須設(shè)置一些反映設(shè)備工作狀態(tài)的觸發(fā)器設(shè)備狀態(tài)標記觸發(fā)器。如完成觸發(fā)器D、工作觸發(fā)器B、中斷請求觸發(fā)器INTR、屏蔽觸發(fā)器、出錯觸發(fā)器、數(shù)據(jù)遲到觸發(fā)器等等。 所有的狀態(tài)標記觸發(fā)器都與I/O總線中的狀態(tài)線相連。
10、下圖是I/O接口的基本組成。,,二、接口的類型,I/O接口按不同方式分類有以下幾種。 1、按數(shù)據(jù)傳送方式分類 并行接口:同時傳送一個字節(jié)或一個字。如Intel 8255。 串行接口:在設(shè)備與接口間逐位傳送,必須設(shè)有串并轉(zhuǎn)換裝置。 Intel 8251。 2、按功能選擇的靈活性分類 可編程接口:用程序來改變或選擇其功能及操作方式。 Intel 8255、8251。 不可編程接口:不能由程序來改變其功能,但可通過硬連線邏輯來實現(xiàn)不同的功能。 Intel 8212。,,3、按通用性分類 通用接口:包含大多數(shù)I/O設(shè)備所共用的電路??晒┒喾N外設(shè)使用。 Intel 8255、8212。
11、專用接口:為某類外設(shè)或某種用途專門設(shè)計的接口。 Intel 8279可編程鍵盤/顯示器接口; Intel 8275可編程CRT控制器接口等。,,,4、按數(shù)據(jù)傳送的控制方式分類 程序型式接口:連接速度較慢的I/O設(shè)備,如打印機。 Intel 8259中斷控制器。 DMA型接口:連接高速I/O設(shè)備,如磁盤。 Intel 8237 DMA控制器。,一、程序查詢流程,程序查詢方式的核心問題在于每時每刻需不斷查詢I/O設(shè)備是否準備就緒。 下圖是多個I/O設(shè)備的查詢流程示意,此時CPU需按各個I/O設(shè)備在系統(tǒng)中的優(yōu)先級逐級查詢。,,為了正確完成這種查詢,要執(zhí)行如下三條指令: 測試指令:查詢設(shè)備是否
12、準備就緒。 傳送指令:設(shè)備已準備就緒時,交換數(shù)據(jù)。 轉(zhuǎn)移指令:若設(shè)備未準備就緒,轉(zhuǎn)至測試指令,繼續(xù)測試設(shè)備狀態(tài)。 下圖是單個設(shè)備程序查詢方式的程序流程圖。,,,二、程序查詢方式的接口電路,由上所述,程序查詢方式接口電路的基本組成如圖所示。,設(shè)備選擇電路用以識別本設(shè)備地址,當?shù)刂肪€上的設(shè)備號與本設(shè)備號相符時,SEL有效,可以接收命令。 完成觸發(fā)器D和工作觸發(fā)器B標志設(shè)備所處的狀態(tài): D=0,B=0,I/O設(shè)備處于暫停狀態(tài); D=1,B=0,I/O設(shè)備已準備就緒; D=0,B=1,I/O設(shè)備正處于準備狀態(tài)。,,以輸入設(shè)備為例,本接口的工作過程如下: 設(shè)備選中后, CPU發(fā)啟動命令,將B
13、置1,D置0; 啟動外設(shè)工作; 設(shè)備將數(shù)據(jù)送入DBR; 外設(shè)工作完成,向接口發(fā)“設(shè)備工作結(jié)束”信號,將D置1,B置0; D以“準備就緒”狀態(tài)通知CPU,表示“數(shù)據(jù)緩沖滿”; CPU執(zhí)行輸入指令,讀入數(shù)據(jù)。,一、中斷的基本概念,計算機在執(zhí)行程序的過程中,當出現(xiàn)異常情況或特殊請求時,計算機停止現(xiàn)行程序的運行,轉(zhuǎn)向?qū)@些異常情況或特殊請求的處理,處理結(jié)束后再返回到現(xiàn)行程序的間斷處繼續(xù)執(zhí)行,這就是“中斷”。把實現(xiàn)中斷功能所需的軟硬件技術(shù)統(tǒng)稱為中斷技術(shù),為此,計算機系統(tǒng)中必須配有相應(yīng)的中斷系統(tǒng)或中斷機構(gòu)。,,,在I/O設(shè)備與主機交換信息時,由于兩者工作速度相差懸殊,為了提高CPU的效率,通常采用程序中斷
14、方式交換信息I/O中斷。 下圖為CPU與打印機并行工作時間示意圖。,,二、程序中斷方式的接口電路,為處理I/O中斷,I/O接口電路中必須配置相關(guān)的硬件線路。,1、中斷請求觸發(fā)器和中斷屏蔽觸發(fā)器 兩者在I/O接口電路中是成對出現(xiàn)的,每臺設(shè)備都必須配置。 中斷請求觸發(fā)器INTR:為1時,向CPU提出中斷請求;此時完成觸發(fā)器D必為1,即設(shè)備本身必須準備就緒。 中斷屏蔽觸發(fā)器MASK:為1時,該設(shè)備被屏蔽,即封鎖其中斷請求。,CPU在任何瞬間只能接受一個中斷源的請求。因此,當多個中斷源提出中斷請求時,CPU必須對各中斷源的請求進行排隊,且只能接受級別最高的中斷源的請求,不允許級別低的中斷源中
15、斷正在運行的中斷服務(wù)程序。此時,就可用MASK來改變中斷源的優(yōu)先級別。 另外,CPU總是在統(tǒng)一的時間,即執(zhí)行每一條指令的最后時刻,查詢所有設(shè)備是否有中斷請求。 接口電路中D、INTR、MASK和中斷查詢信號的關(guān)系如圖示:,,2、排隊器 當多個中斷源同時向CPU提出請求時,經(jīng)排隊器的排隊,只有優(yōu)先級高的中斷源排上隊,這樣就能實現(xiàn)CPU按中斷源優(yōu)先級的高低響應(yīng)中斷請求。 下圖是設(shè)在各個接口電路中的排隊電路鏈式排隊器。,其中首尾相接的虛線部分組成的門電路是排隊器的核心,由一個非門和一個與非門構(gòu)成。中斷源優(yōu)先級最高的是1號中斷源。當多個中斷源提出中斷請求時,排隊器輸出端INTPi,只有一個
16、為高電平,表示該中斷源排上隊。,,3、中斷向量地址形成部件(設(shè)備編碼器) 當CPU響應(yīng)中斷時,由硬件直接產(chǎn)生一個固定的地址向量地址,由向量地址指出每個中斷源設(shè)備的中斷服務(wù)程序入口入口地址,這種方法稱為硬件向量法。,中斷向量地址形成部件的輸入是來自排隊器的輸出INTP1INTPn,輸出是用二進制表示的中斷向量,其位數(shù)與計算機可處理中斷源的個數(shù)有關(guān),每個中斷源對應(yīng)一個向量地址。設(shè)備編碼器。,,如圖是一個鏈式排隊器與編碼器的例子:,若發(fā)出申請的中斷源被選中,排隊選中信號送入編碼電路,產(chǎn)生一個唯一對應(yīng)的向量地址,并經(jīng)數(shù)據(jù)總線送往CPU的主存地址寄存器MAR,然后執(zhí)行該中斷源設(shè)備的中斷服務(wù)程序。,有的
17、計算機中由硬件產(chǎn)生的向量地址不是直接地址,而是一個“位移量”,它加上CPU某寄存器里存放的基地址,得到中斷服務(wù)程序的入口地址。 還有一種采用向量地址轉(zhuǎn)移的方法,非常靈活,此方法允許中斷處理程序放在內(nèi)存中任何地方。如圖示:,,4、程序中斷方式接口電路的基本組成,,,三、I/O中斷處理過程,1、CPU響應(yīng)中斷的條件和時間 條件:允許中斷觸發(fā)器EINT為1。它可用開中斷指令置位開中斷;也可用關(guān)中斷指令或硬件自動使其復位關(guān)中斷。 時間:CPU響應(yīng)中斷的時間一定是在每條指令執(zhí)行階段的結(jié)束時刻,此時CPU將向接口發(fā)中斷查詢信號。,2、I/O中斷處理過程 以輸入設(shè)備為例說明I/O中斷處理過程。,選中
18、設(shè)備后,則 CPU發(fā)啟動命令,使B=1,D=0; 接口啟動設(shè)備工作; 設(shè)備將數(shù)據(jù)送DBR; 設(shè)備向接口發(fā)“設(shè)備工作結(jié)束”信號,使D=1,B=0; CPU發(fā)中斷查詢信號;,當D=1,且MASK=0時,設(shè)備中斷觸發(fā)器INTR置1,設(shè)備向CPU提出中斷請求。同時,INTR送排隊器,進行中斷判優(yōu); 若CPU允許中斷觸發(fā)器EINT=1,設(shè)備又被選中,則進入中斷響應(yīng)階段,由中斷響應(yīng)信號INTA將排隊器輸出送至編碼器形成向量地址; 向量地址送至PC; 由向量地址中存放的無條件轉(zhuǎn)移指令可轉(zhuǎn)至中斷服務(wù)程序入口地址中斷服務(wù) 中斷返回至原程序斷點。結(jié)束中斷處理過程。,,四、中斷服務(wù)程序的流程,一般中斷服務(wù)程序的流程
19、分四大部分: 1、保護現(xiàn)場 保存程序的斷點:由硬件實現(xiàn); 保存通用寄存器和狀態(tài)寄存器的內(nèi)容:由中斷服務(wù)程序完成。 一般是將現(xiàn)場壓入堆棧。 2、中斷服務(wù) 完成數(shù)據(jù)交換。,3、恢復現(xiàn)場 將現(xiàn)場恢復到原來的寄存器中。 4、中斷返回 中斷服務(wù)程序中由中斷返回指令實現(xiàn)。,中斷嵌套:滿足兩個條件,一是必須開中斷;二是優(yōu)先級別高的中斷源有權(quán)中斷優(yōu)先級別低的中斷源。 單重中斷和多重中斷服務(wù)程序流程如圖所示:,,一、DMA基本概念,直接內(nèi)存訪問DMA是一種完全由硬件執(zhí)行I/O交換的工作方式。在這種方式中,DMA控制器從CPU完全接管對總線的控制,數(shù)據(jù)交換不經(jīng)過CPU,而直接在內(nèi)存和I/O設(shè)備之
20、間進行。DMA控制器將向內(nèi)存發(fā)出地址和控制信號,修改地址,對傳送的字的個數(shù)計數(shù),并且以中斷方式向CPU報告?zhèn)魉筒僮鹘Y(jié)束。 其最大特點是在主存和DMA接口間有一條專門的傳送通路。如圖示:,,DMA方式的主要優(yōu)點是速度快。CPU根本不參加傳送操作,省去了CPU取指令、取數(shù)、送數(shù)等操作,并且在傳送過程中,沒有保存現(xiàn)場、恢復現(xiàn)場之類的工作,內(nèi)存地址的修改、傳送字個數(shù)的計數(shù)等都是用硬件線路直接實現(xiàn)的。所以DMA方式能滿足高速I/O設(shè)備的要求,也有利于CPU效率的發(fā)揮。DMA方式在計算機中被廣泛采用。,,二、DMA傳送方式,DMA方式中,I/O設(shè)備可通過DMA控制器直接訪問內(nèi)存,同時,CPU可以繼續(xù)執(zhí)行
21、程序。那么DMA控制器與CPU怎樣分時使用內(nèi)存呢?通常采用以下三種方法:,1、停止CPU訪問內(nèi)存 當I/O設(shè)備要求傳送數(shù)據(jù)時,由DMA控制器發(fā)停止信號給CPU,要求CPU放棄總線控制權(quán)。DMA控制器獲得總線控制權(quán)以后,開始數(shù)據(jù)傳送。完畢后,DMA控制器通知CPU可以使用內(nèi)存,并把總線控制權(quán)交還給CPU。其時間圖如下:,顯然,在這種DMA傳送過程中,CPU基本處于不工作或保持狀態(tài)。,優(yōu)點:控制簡單,適用于數(shù)據(jù)傳輸率很高的設(shè)備進行成組傳送。 缺點:DMA控制訪存階段,CPU對主存的利用率沒得到充分發(fā)揮,相當一部分內(nèi)存工作周期是空閑的。,,2、周期挪用 在這種DMA傳送方法中,當I/O設(shè)備沒有
22、DMA請求是,CPU按程序要求訪問主存;一旦I/O設(shè)備有DMA請求,則由I/O設(shè)備挪用一個或幾個主存周期。,I/O設(shè)備要求DMA傳送時會遇到兩種情況: CPU不需訪存(如CPU正執(zhí)行乘法指令),I/O訪存與CPU訪存不發(fā)生沖突; CPU需要訪存,發(fā)生沖突,則I/O訪存優(yōu)先,I/O設(shè)備周期挪用,即在CPU執(zhí)行訪存指令的過程中插入DMA請求,挪用一二個內(nèi)存周期。其時間圖如下:,此方法既實現(xiàn)了I/O傳送,又較好地發(fā)揮了內(nèi)存和CPU的效率,是一種廣泛采用的方法。,,3、DMA與CPU交替訪存 如果CPU的工作周期比內(nèi)存的存取周期長很多,此時采用交替訪存的方法可以使DMA傳送和CPU同時發(fā)揮最高的
23、效率。此時可將一個CPU周期分為C1和C2兩個分周期, C1專供DMA訪存,C2專供CPU訪存。如圖示:,,此方式不需總線使用權(quán)的申請建立和歸還過程,總線使用權(quán)是通過C1和C2分別控制的。CPU與DMA接口各自有獨立的訪存地址寄存器、數(shù)據(jù)寄存器和讀/寫信號。實際上總線變成了在C1和C2控制下的多路轉(zhuǎn)換器,其總線控制權(quán)的轉(zhuǎn)移幾乎不需什么時間,具有很高的DMA傳送效率。 相應(yīng)的硬件邏輯更為復雜。,,三、基本的DMA控制器(接口),1、DMA控制器的基本組成 DMA控制器,實際上是采用DMA方式的I/O設(shè)備與系統(tǒng)總線之間的接口電路,該電路是在中斷接口的基礎(chǔ)上再加DMA機構(gòu)組成。 下圖是一個
24、最簡單的DMA控制器組成示意圖,它由以下邏輯部件組成:,,6)中斷機構(gòu) 當字計數(shù)器溢出時(全0),一組數(shù)據(jù)交換完畢,由溢出信號觸發(fā)中斷機構(gòu),向CPU提出中斷報告以結(jié)束一次數(shù)據(jù)傳送。,,2、DMA數(shù)據(jù)傳送過程 DMA的數(shù)據(jù)塊傳送過程可分為三個階段:,1)傳送前預(yù)處理 即程序初始化階段。由CPU執(zhí)行幾條I/O指令,測試設(shè)備狀態(tài),向DMA控制器的設(shè)備地址寄存器中送入設(shè)備號并啟動設(shè)備,向內(nèi)存地址寄存器中送入起始地址,向字計數(shù)器中送入交換的數(shù)據(jù)字個數(shù)。此后CPU繼續(xù)執(zhí)行原來的主程序。,,2)DMA數(shù)據(jù)傳送 DMA的數(shù)據(jù)傳送是以數(shù)據(jù)塊為基本單位進行的,因此,每次DMA控制器占用總線后,無論是數(shù)據(jù)輸
25、入操作,還是數(shù)據(jù)輸出操作,都是通過循環(huán)來實現(xiàn)的。 當I/O設(shè)備準備好數(shù)據(jù)時,它發(fā)出DMA請求,由DMA控制器向CPU發(fā)出總線使用權(quán)的請求。下圖示出了周期挪用方式的DMA傳送數(shù)據(jù)的流程圖:,停止CPU訪存方式的DMA傳送數(shù)據(jù)的流程圖,,3)DMA的后處理 一旦DMA的中斷請求得到響應(yīng),CPU停止主程序的執(zhí)行,轉(zhuǎn)去執(zhí)行中斷服務(wù)程序做一些DMA的結(jié)束處理工作:校驗送入內(nèi)存的數(shù)據(jù)是否正確;測試在傳送過程中是否發(fā)生了錯誤;決定繼續(xù)用DMA方式傳送下去,還是結(jié)束傳送等等。,,與中斷方式相比,DMA方式有如下特點:, DMA方式靠硬件傳送數(shù)據(jù); DMA方式可在指令周期內(nèi)的任一存取周 期結(jié)束時響應(yīng); DM
26、A方式?jīng)]有處理異常事件的能力,僅 用于大批數(shù)據(jù)的傳送,提高數(shù)據(jù)吞吐量; DMA方式不中斷現(xiàn)行程序,無需保護現(xiàn) 場; DMA方式的優(yōu)先級比程序中斷方式高。,,3、DMA控制器與系統(tǒng)的連接方式 1)具有公共請求線的DMA請求方式 若干個DMA控制器通過一條公用的DMA請求線向CPU申請總線控制權(quán)。CPU發(fā)出響應(yīng)信號用鏈式查詢方式通過DMA控制器,首先選中的設(shè)備獲得總線控制權(quán),即可占用總線與主存?zhèn)魉托畔ⅰH鐖D示:,,2)獨立的DMA請求方式 每一個DMA控制器各有一對獨立的DMA請求線和DMA響應(yīng)線,它由CPU的優(yōu)先級判別機構(gòu)裁決首先響應(yīng)哪個請求,并在響應(yīng)線上發(fā)出響應(yīng)信號,被獲得響應(yīng)信號的DM
27、A控制器便可控制總線與主存?zhèn)魉蛿?shù)據(jù)。如圖示:,,四、選擇型和多路型DMA控制器,實際中經(jīng)常采用的DMA控制器芯片有兩類:,1、選擇型DMA控制器 它在物理上可以連接多個設(shè)備,而在邏輯上只允許連接一個設(shè)備。即在某一段時間內(nèi)只能為一個設(shè)備服務(wù)。 其邏輯框圖如下:,DMA控制器中有一個設(shè)備號寄存器,在預(yù)處理時將所選設(shè)備的設(shè)備號送入設(shè)備號寄存器。從預(yù)置開始,一直到這個數(shù)據(jù)塊 傳送結(jié)束,DMA控制器只為所選設(shè)備服務(wù)。,,DMA控制器相當于一個邏輯開關(guān),根據(jù)I/O指令來控制此開關(guān)與某個設(shè)備連接。,,,2、多路型DMA控制器 多路型DMA不僅在物理上可以連接多個I/O設(shè)備,而且在邏輯上也允許這些I
28、/O設(shè)備同時工作,各設(shè)備以字節(jié)交叉方式通過DMA控制器進行數(shù)據(jù)傳送。 由于多路型DMA同時要為多個設(shè)備服務(wù),因此對應(yīng)多少個DMA通路(設(shè)備),在控制器內(nèi)部就有多少組寄存器用于存放各自的傳送參數(shù)。 多路型DMA控制器適合于同時為多個慢速設(shè)備服務(wù)。,,,例:多路型DMA控制器工作原理示意。如圖示,假設(shè)有磁盤、磁帶、打印機三個設(shè)備同時工作。磁盤以30s的間隔向控制器發(fā)DMA請求,磁帶以45 s的間隔發(fā)DMA請求,打印機以150 s的間隔發(fā)DMA請求。根據(jù)傳輸速率,磁盤優(yōu)先權(quán)最高,磁帶次之,打印機最低,假設(shè)DMA控制器每完成一次DMA傳送所需的時間是5 s。若采用多路型DMA控制器,請畫出DMA控
29、制器服務(wù)三個設(shè)備的工作時間圖。,T2,T3,T4,T5,T6,T7,T8,,由圖可知,在這種情況下DMA尚有空閑,說明DMA控制器還可以容納更多設(shè)備。,例:如圖示為微型機中軟盤控制器的系統(tǒng)接口電路,請進行分析說明。,CPU和軟盤控制器之間的接口電路包括DMA控制和總線控制兩部分。8257DMA控制器提供4個獨立的DMA通路。每個通路各有2個16位寄存器(DMA地址寄存器、字節(jié)計數(shù)寄存器),必須在通路使用前加以預(yù)置。,此時8257向軟盤控制器發(fā)出DACK回答信號,通知軟盤控制器開始DMA傳輸,并發(fā)出讀/寫控制信號,以便軟盤控制器從主存被尋址的單元讀取一個字節(jié)或?qū)懭胍粋€字節(jié)。,只要軟盤控制器保持對
30、DMA的請求,8257將保持對總線的控制,并順序地重復傳送,直到被指定的數(shù)據(jù)塊傳送完畢,此時8257給出終止信號TC,通知軟盤控制器取消DMA請求,并使HRQ為無效,放棄總線控制權(quán)。,,習題,一、選擇題 1、 中斷向量地址是:______。 A 子程序入口地址 B 中斷服務(wù)例行程序入口地址 C中斷服務(wù)例行程序入口地址的指示器 D 中斷返回地址 2、為了便于實現(xiàn)多級中斷,保存現(xiàn)場信息最有效的辦法是采用______。 A 通用寄存器 B 堆棧 C 存儲器 D 外存,3、發(fā)生中斷請求的條件是______。 A. 一條指令執(zhí)行結(jié)束 B. 一次 I/O 操作結(jié)
31、束 C. 機器內(nèi)部發(fā)生故障 D. 一次DMA 操作結(jié)束 4、 在微型機系統(tǒng)中,外圍設(shè)備通過______與主板的系統(tǒng)總線相連接。 A 適配器 B 設(shè)備控制器 C 計數(shù)器 D 寄存器,二、填空題 1、DMA 控制器按其______結(jié)構(gòu),分為______型和______型兩種。 2、DMA技術(shù)的出現(xiàn)使得______可通過______直接訪問______。 3、每一種外設(shè)都是在它自己的A______控制下進行工作,而A則通過B. ______和C. ______相連并受C 控制。 4、在計算機系統(tǒng)中,CPU對外圍設(shè)備的管理除程序查詢方式、程序中斷方式外,還有____
32、__方式,______方式,和______方式。,5、選擇型DMA控制器在______可以連接多個設(shè)備,而在______只能允許連接一個設(shè)備,適合于連接______設(shè)備。 6、中斷處理需要有中斷______,中斷______產(chǎn)生,中斷______等硬件支持。 7、DMA方式采用下面三種方法:______訪內(nèi);______;______交替訪內(nèi)。 8、多路行DMA控制器不僅在______上而且在______上可以連接多個設(shè)備,適合于連接______設(shè)備。 9、通道與CPU分時使用______,實現(xiàn)了______內(nèi)部數(shù)據(jù)處理和______并行工作。,三、應(yīng)用題 1、把外圍設(shè)備接入計算機系
33、統(tǒng)時,必須解決哪些基本問題?通過什么手段解決這些問題? 2、一次程序中斷大致分為哪些過程? 3、中斷控制方式與DMA方式有何異同? 4、假定某外設(shè)向CPU傳送信息最高頻率為40K/秒,而相應(yīng)中斷處理程序的執(zhí)行時間為40s,問該外設(shè)是否可采用中斷方式工作?為什么? 5、今有一磁盤存儲器,轉(zhuǎn)速為3000轉(zhuǎn)/分,分8個扇區(qū),每扇區(qū)存儲1KB。主存與磁盤傳送數(shù)據(jù)的寬度為16位(即每次傳送16位)。假如一條指令最長執(zhí)行時間為30 s ,是否可采用在指令結(jié)束時響應(yīng)DMA請求的方案?假如不行,應(yīng)采用怎樣的方案?,6、下圖是從實時角度觀察到的中斷嵌套。試問,這個中斷系統(tǒng)可以實現(xiàn)幾重中斷?并分析圖中所示的中斷過程。,8、試分析圖所示寫電流波形屬于何種記錄方式。,完,
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 中國早期大腸癌內(nèi)鏡診治專家講座
- Unit One教程
- 老年冠心病患者心臟康復治療的基本概念
- 血與火的征服與掠奪匯總課件
- 英文數(shù)據(jù)庫檢索(CSA)課件
- 護理學基礎(chǔ)病情觀察和搶救
- 葡萄地草銨膦示范實驗效果展示-PPT
- 公共政策案例分析-PPT
- 三角形的分類
- 自然地理環(huán)境的差異性課件--李建華
- 人教版高中政治必修一82征稅和納稅課件
- 局機關(guān)財務(wù)處財務(wù)管理年終個人工作總結(jié)述職報告課件
- 產(chǎn)業(yè)組織學導論課件
- MBTI人格測試INTP職業(yè)性格職業(yè)領(lǐng)域建議企業(yè)員工技能培訓通用模板課件
- Module-9-Unit-1-Did-he-live-in-New-York(教育精品)