歡迎來到裝配圖網(wǎng)! | 幫助中心 裝配圖網(wǎng)zhuangpeitu.com!
裝配圖網(wǎng)
ImageVerifierCode 換一換
首頁 裝配圖網(wǎng) > 資源分類 > PPT文檔下載  

計(jì)算機(jī)組成原理課件第08章.ppt

  • 資源ID:14520209       資源大?。?span id="0tugm4j" class="font-tahoma">2.75MB        全文頁數(shù):81頁
  • 資源格式: PPT        下載積分:14.9積分
快捷下載 游客一鍵下載
會(huì)員登錄下載
微信登錄下載
三方登錄下載: 微信開放平臺(tái)登錄 支付寶登錄   QQ登錄   微博登錄  
二維碼
微信掃一掃登錄
下載資源需要14.9積分
郵箱/手機(jī):
溫馨提示:
用戶名和密碼都是您填寫的郵箱或者手機(jī)號(hào),方便查詢和重復(fù)下載(系統(tǒng)自動(dòng)生成)
支付方式: 支付寶    微信支付   
驗(yàn)證碼:   換一換

 
賬號(hào):
密碼:
驗(yàn)證碼:   換一換
  忘記密碼?
    
友情提示
2、PDF文件下載后,可能會(huì)被瀏覽器默認(rèn)打開,此種情況可以點(diǎn)擊瀏覽器菜單,保存網(wǎng)頁到桌面,就可以正常下載了。
3、本站不支持迅雷下載,請(qǐng)使用電腦自帶的IE瀏覽器,或者360瀏覽器、谷歌瀏覽器下載即可。
4、本站資源下載后的文檔和圖紙-無水印,預(yù)覽文檔經(jīng)過壓縮,下載后原文更清晰。
5、試題試卷類文檔,如果標(biāo)題沒有明確說明有答案則都視為沒有答案,請(qǐng)知曉。

計(jì)算機(jī)組成原理課件第08章.ppt

計(jì)算機(jī)組成原理,主講教師:何霖,第八章,輸 入 輸 出 系 統(tǒng),除了CPU和存儲(chǔ)器兩大模塊外,計(jì)算機(jī)硬件系統(tǒng)的第三個(gè)關(guān)鍵部分既是輸入輸出模塊,又稱輸入輸出系統(tǒng),簡(jiǎn)稱為I/O系統(tǒng)。它包括I/O接口、I/O管理部件及有關(guān)軟件,一個(gè)計(jì)算機(jī)系統(tǒng)的綜合處理能力,系統(tǒng)的可擴(kuò)展性、兼容性和性能價(jià)格比,都和I/O系統(tǒng)有密切關(guān)系。 本章重點(diǎn)分析I/O與主機(jī)交換信息的三種控制方式(程序查詢、中斷和DMA)及其相應(yīng)的接口功能和組成。,一、外圍設(shè)備的定時(shí)方式,外圍設(shè)備的種類相當(dāng)繁多,各種設(shè)備的數(shù)據(jù)傳輸速率相差懸殊。如果把高速工作的主機(jī)同不同速度工作的外圍設(shè)備相連接,首要問題就是如何保證主機(jī)與外圍設(shè)備在時(shí)間上同步定時(shí)方式。 首先,我們了解一下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è)備認(rèn)為數(shù)據(jù)有效,把數(shù)據(jù)取走。,上述過程中,關(guān)鍵在于究竟什么時(shí)候數(shù)據(jù)才有效?因此,對(duì)于不同速度的I/O設(shè)備需要不同的定時(shí)方式。,總的說來,CPU與I/O設(shè)備之間的定時(shí),有以下三種情況:,1、速度極慢或簡(jiǎn)單的I/O設(shè)備立即響應(yīng) 對(duì)這類設(shè)備,如機(jī)械開關(guān)、顯示二級(jí)管等等,CPU總是能足夠快地作出響應(yīng),無需特殊聯(lián)絡(luò)信號(hào)。 2、慢速或中速的I/O設(shè)備異步定時(shí) 當(dāng)I/O設(shè)備與主機(jī)速度不匹配時(shí),通常采用異步方式交換數(shù)據(jù):設(shè)置一些應(yīng)答信號(hào)進(jìn)行定時(shí)應(yīng)答式數(shù)據(jù)交換。 以下是異步并行“應(yīng)答”示意圖:,3、高速的I/O設(shè)備同步定時(shí)方式 同步工作要求I/O設(shè)備與CPU的速度完全同步,一旦CPU和外設(shè)發(fā)生同步,它們之間的數(shù)據(jù)交換便靠時(shí)鐘脈沖控制來進(jìn)行。如外設(shè)是一條傳送2400位/秒的傳輸線,那么CPU每隔1/2400秒執(zhí)行一次串行的輸入操作。,二、信息交換方式,I/O設(shè)備與主機(jī)交換信息時(shí),共有五種控制方式:,1、程序查詢方式 程序查詢方式是早期計(jì)算機(jī)中使用的一種方式:由CPU通過程序不斷查詢I/O設(shè)備的狀態(tài)是否已做好準(zhǔn)備,從而控制I/O設(shè)備與主機(jī)交換信息。此方式只要CPU一啟動(dòng)I/O設(shè)備,CPU便進(jìn)入踏步等待,直到信息交換完畢,效率很低。,2、程序中斷方式 中斷是I/O設(shè)備用來“主動(dòng)”通知CPU,準(zhǔn)備交換信息的一種方法。通常,當(dāng)一個(gè)中斷發(fā)生時(shí),CPU暫停其現(xiàn)行程序,轉(zhuǎn)向中斷處理程序進(jìn)行信息交換;當(dāng)中斷處理完畢后,CPU又返回到原來的任務(wù),并從它停止的地方開始執(zhí)行程序。 此方式使CPU的資源得到了充分利用,提高了CPU的效率。它一般適用于應(yīng)立即執(zhí)行的隨機(jī)事件。硬件結(jié)構(gòu)相對(duì)復(fù)雜。 下圖示意了采用程序中斷方式從外設(shè)讀數(shù)據(jù)塊到主存的程序流程。,3、直接內(nèi)存訪問DMA方式 DMA方式是一種完全由硬件執(zhí)行I/O交換的方式(無需處理中斷服務(wù)程序):DMA控制器從CPU完全接管對(duì)總線的控制,數(shù)據(jù)交換不經(jīng)過CPU,而直接在內(nèi)存和I/O設(shè)備之間進(jìn)行,以高速傳送數(shù)據(jù)。 若出現(xiàn)DMA和CPU同時(shí)訪問主存,CPU總是將總線占有權(quán)讓給DMA“竊取”或“挪用”“竊取周期”或“挪用周期”:一般為一個(gè)存儲(chǔ)周期。 此方式傳送速度高,傳送速率僅受內(nèi)存存取周期的限制。硬件代價(jià)高。適用于內(nèi)存和高速外設(shè)之間大批數(shù)據(jù)交換的場(chǎng)合。,以上三種方式的CPU工作效率比較如下:,4、通道方式 通道的出現(xiàn)進(jìn)一步提高了CPU的效率。這是因?yàn)?,CPU將部分權(quán)利下放給通道,通道是一個(gè)具有特殊功能的處理器,某些應(yīng)用中稱為輸入輸出處理器(IOP),它可以實(shí)現(xiàn)對(duì)I/O設(shè)備的統(tǒng)一管理和I/O設(shè)備與內(nèi)存之間的數(shù)據(jù)傳送。但硬件代價(jià)更高。,5、外圍處理機(jī)方式 外圍處理機(jī)(PPU)是通道方式的進(jìn)一步發(fā)展。PPU基本上獨(dú)立于主機(jī)工作,其結(jié)構(gòu)更接近一般處理機(jī)甚至就是微小型計(jì)算機(jī)。在一些系統(tǒng)中,設(shè)置了多臺(tái)PPU,分別承擔(dān)I/O控制、通信、維護(hù)診斷等任務(wù)。從某種意義上說,這種系統(tǒng)已變成分布式的多機(jī)系統(tǒng)。,綜上所述,I/O設(shè)備的I/O方式可用下圖表示:,程序查詢方式和程序中斷方式適用于數(shù)據(jù)傳輸率比較低的I/O設(shè)備,而DMA方式、通道方式和PPU方式適用于數(shù)據(jù)傳輸率比較高的設(shè)備。 目前,單片機(jī)和微型機(jī)中多采用程序查詢方式、程序中斷方式和DMA方式。通道方式和PPU方式大都用在中、大型計(jì)算機(jī)中。,I/O接口通常是指主機(jī)與外部設(shè)備之間設(shè)置的一個(gè)硬件電路及其相應(yīng)的軟件控制。所有I/O設(shè)備都是通過I/O接口與主機(jī)取得聯(lián)系的。,一、接口的功能和組成,1、總線連接方式的I/O接口電路 在總線結(jié)構(gòu)的計(jì)算機(jī)系統(tǒng)中,每一臺(tái)I/O設(shè)備都是通過I/O接口掛到系統(tǒng)總線上的。如圖示:,數(shù)據(jù)線:傳送數(shù)據(jù)信息,其根數(shù)一般等于存儲(chǔ)字長(zhǎng)的位數(shù)或字符的位數(shù)。雙向。 設(shè)備選擇線:傳送設(shè)備碼,其根數(shù)取決于I/O指令中設(shè)備碼的位數(shù)。單向。 命令線:傳輸CPU向設(shè)備發(fā)出的各種命令信號(hào),其根數(shù)與命令信號(hào)多少有關(guān)。單向總線。 狀態(tài)線:向主機(jī)報(bào)告I/O設(shè)備狀態(tài)的信號(hào)線。單向總線。,2、接口的功能和組成 接口通常應(yīng)具有以下幾個(gè)功能以及相應(yīng)的硬件配置。,1)、選址功能 即實(shí)現(xiàn)設(shè)備的選擇,由接口中的設(shè)備選擇電路實(shí)現(xiàn):識(shí)別出自身的設(shè)備碼當(dāng)設(shè)備選擇線上的設(shè)備碼(送至所有設(shè)備的接口)與本設(shè)備碼相符時(shí),應(yīng)發(fā)出設(shè)備選中信號(hào)SEL,由SEL控制設(shè)備通過命令線、狀態(tài)線和數(shù)據(jù)線與主機(jī)交換信息。,2)、傳送命令功能 接口能夠接收CPU發(fā)來的各種控制信號(hào),以使I/O設(shè)備作出響應(yīng)。通常在接口中設(shè)有存放命令的命令寄存器及命令譯碼器。 命令寄存器用來存放I/O指令中的命令碼,它受SEL信號(hào)的控制。命令線和所有接口電路的命令寄存器相連,只有被選中的設(shè)備SEL信號(hào)有效,命令寄存器才可接受命令線上的命令碼。,3)、傳送數(shù)據(jù)的功能 數(shù)據(jù)必須通過接口才能實(shí)現(xiàn)主機(jī)與I/O設(shè)備之間的傳送要求接口中具有數(shù)據(jù)通路,完成數(shù)據(jù)傳送設(shè)置數(shù)據(jù)緩沖寄存器DBR:暫存I/O設(shè)備與主機(jī)準(zhǔn)備交換的信息。它與I/O總線中的數(shù)據(jù)線相連。 DBR還應(yīng)具備串并轉(zhuǎn)換能力。,4)、反映I/O設(shè)備工作狀態(tài)的功能 為了使CPU能及時(shí)了解各I/O設(shè)備的工作狀態(tài),接口內(nèi)必須設(shè)置一些反映設(shè)備工作狀態(tài)的觸發(fā)器設(shè)備狀態(tài)標(biāo)記觸發(fā)器。如完成觸發(fā)器D、工作觸發(fā)器B、中斷請(qǐng)求觸發(fā)器INTR、屏蔽觸發(fā)器、出錯(cuò)觸發(fā)器、數(shù)據(jù)遲到觸發(fā)器等等。 所有的狀態(tài)標(biāo)記觸發(fā)器都與I/O總線中的狀態(tài)線相連。 下圖是I/O接口的基本組成。,二、接口的類型,I/O接口按不同方式分類有以下幾種。 1、按數(shù)據(jù)傳送方式分類 并行接口:同時(shí)傳送一個(gè)字節(jié)或一個(gè)字。如Intel 8255。 串行接口:在設(shè)備與接口間逐位傳送,必須設(shè)有串并轉(zhuǎn)換裝置。 Intel 8251。 2、按功能選擇的靈活性分類 可編程接口:用程序來改變或選擇其功能及操作方式。 Intel 8255、8251。 不可編程接口:不能由程序來改變其功能,但可通過硬連線邏輯來實(shí)現(xiàn)不同的功能。 Intel 8212。,3、按通用性分類 通用接口:包含大多數(shù)I/O設(shè)備所共用的電路??晒┒喾N外設(shè)使用。 Intel 8255、8212。 專用接口:為某類外設(shè)或某種用途專門設(shè)計(jì)的接口。 Intel 8279可編程鍵盤/顯示器接口; Intel 8275可編程CRT控制器接口等。,4、按數(shù)據(jù)傳送的控制方式分類 程序型式接口:連接速度較慢的I/O設(shè)備,如打印機(jī)。 Intel 8259中斷控制器。 DMA型接口:連接高速I/O設(shè)備,如磁盤。 Intel 8237 DMA控制器。,一、程序查詢流程,程序查詢方式的核心問題在于每時(shí)每刻需不斷查詢I/O設(shè)備是否準(zhǔn)備就緒。 下圖是多個(gè)I/O設(shè)備的查詢流程示意,此時(shí)CPU需按各個(gè)I/O設(shè)備在系統(tǒng)中的優(yōu)先級(jí)逐級(jí)查詢。,為了正確完成這種查詢,要執(zhí)行如下三條指令: 測(cè)試指令:查詢?cè)O(shè)備是否準(zhǔn)備就緒。 傳送指令:設(shè)備已準(zhǔn)備就緒時(shí),交換數(shù)據(jù)。 轉(zhuǎn)移指令:若設(shè)備未準(zhǔn)備就緒,轉(zhuǎn)至測(cè)試指令,繼續(xù)測(cè)試設(shè)備狀態(tài)。 下圖是單個(gè)設(shè)備程序查詢方式的程序流程圖。,二、程序查詢方式的接口電路,由上所述,程序查詢方式接口電路的基本組成如圖所示。,設(shè)備選擇電路用以識(shí)別本設(shè)備地址,當(dāng)?shù)刂肪€上的設(shè)備號(hào)與本設(shè)備號(hào)相符時(shí),SEL有效,可以接收命令。 完成觸發(fā)器D和工作觸發(fā)器B標(biāo)志設(shè)備所處的狀態(tài): D=0,B=0,I/O設(shè)備處于暫停狀態(tài); D=1,B=0,I/O設(shè)備已準(zhǔn)備就緒; D=0,B=1,I/O設(shè)備正處于準(zhǔn)備狀態(tài)。,以輸入設(shè)備為例,本接口的工作過程如下: 設(shè)備選中后, CPU發(fā)啟動(dòng)命令,將B置1,D置0; 啟動(dòng)外設(shè)工作; 設(shè)備將數(shù)據(jù)送入DBR; 外設(shè)工作完成,向接口發(fā)“設(shè)備工作結(jié)束”信號(hào),將D置1,B置0; D以“準(zhǔn)備就緒”狀態(tài)通知CPU,表示“數(shù)據(jù)緩沖滿”; CPU執(zhí)行輸入指令,讀入數(shù)據(jù)。,一、中斷的基本概念,計(jì)算機(jī)在執(zhí)行程序的過程中,當(dāng)出現(xiàn)異常情況或特殊請(qǐng)求時(shí),計(jì)算機(jī)停止現(xiàn)行程序的運(yùn)行,轉(zhuǎn)向?qū)@些異常情況或特殊請(qǐng)求的處理,處理結(jié)束后再返回到現(xiàn)行程序的間斷處繼續(xù)執(zhí)行,這就是“中斷”。把實(shí)現(xiàn)中斷功能所需的軟硬件技術(shù)統(tǒng)稱為中斷技術(shù),為此,計(jì)算機(jī)系統(tǒng)中必須配有相應(yīng)的中斷系統(tǒng)或中斷機(jī)構(gòu)。,在I/O設(shè)備與主機(jī)交換信息時(shí),由于兩者工作速度相差懸殊,為了提高CPU的效率,通常采用程序中斷方式交換信息I/O中斷。 下圖為CPU與打印機(jī)并行工作時(shí)間示意圖。,二、程序中斷方式的接口電路,為處理I/O中斷,I/O接口電路中必須配置相關(guān)的硬件線路。,1、中斷請(qǐng)求觸發(fā)器和中斷屏蔽觸發(fā)器 兩者在I/O接口電路中是成對(duì)出現(xiàn)的,每臺(tái)設(shè)備都必須配置。 中斷請(qǐng)求觸發(fā)器INTR:為1時(shí),向CPU提出中斷請(qǐng)求;此時(shí)完成觸發(fā)器D必為1,即設(shè)備本身必須準(zhǔn)備就緒。 中斷屏蔽觸發(fā)器MASK:為1時(shí),該設(shè)備被屏蔽,即封鎖其中斷請(qǐng)求。,CPU在任何瞬間只能接受一個(gè)中斷源的請(qǐng)求。因此,當(dāng)多個(gè)中斷源提出中斷請(qǐng)求時(shí),CPU必須對(duì)各中斷源的請(qǐng)求進(jìn)行排隊(duì),且只能接受級(jí)別最高的中斷源的請(qǐng)求,不允許級(jí)別低的中斷源中斷正在運(yùn)行的中斷服務(wù)程序。此時(shí),就可用MASK來改變中斷源的優(yōu)先級(jí)別。 另外,CPU總是在統(tǒng)一的時(shí)間,即執(zhí)行每一條指令的最后時(shí)刻,查詢所有設(shè)備是否有中斷請(qǐng)求。 接口電路中D、INTR、MASK和中斷查詢信號(hào)的關(guān)系如圖示:,2、排隊(duì)器 當(dāng)多個(gè)中斷源同時(shí)向CPU提出請(qǐng)求時(shí),經(jīng)排隊(duì)器的排隊(duì),只有優(yōu)先級(jí)高的中斷源排上隊(duì),這樣就能實(shí)現(xiàn)CPU按中斷源優(yōu)先級(jí)的高低響應(yīng)中斷請(qǐng)求。 下圖是設(shè)在各個(gè)接口電路中的排隊(duì)電路鏈?zhǔn)脚抨?duì)器。,其中首尾相接的虛線部分組成的門電路是排隊(duì)器的核心,由一個(gè)非門和一個(gè)與非門構(gòu)成。中斷源優(yōu)先級(jí)最高的是1號(hào)中斷源。當(dāng)多個(gè)中斷源提出中斷請(qǐng)求時(shí),排隊(duì)器輸出端INTPi,只有一個(gè)為高電平,表示該中斷源排上隊(duì)。,3、中斷向量地址形成部件(設(shè)備編碼器) 當(dāng)CPU響應(yīng)中斷時(shí),由硬件直接產(chǎn)生一個(gè)固定的地址向量地址,由向量地址指出每個(gè)中斷源設(shè)備的中斷服務(wù)程序入口入口地址,這種方法稱為硬件向量法。,中斷向量地址形成部件的輸入是來自排隊(duì)器的輸出INTP1INTPn,輸出是用二進(jìn)制表示的中斷向量,其位數(shù)與計(jì)算機(jī)可處理中斷源的個(gè)數(shù)有關(guān),每個(gè)中斷源對(duì)應(yīng)一個(gè)向量地址。設(shè)備編碼器。,如圖是一個(gè)鏈?zhǔn)脚抨?duì)器與編碼器的例子:,若發(fā)出申請(qǐng)的中斷源被選中,排隊(duì)選中信號(hào)送入編碼電路,產(chǎn)生一個(gè)唯一對(duì)應(yīng)的向量地址,并經(jīng)數(shù)據(jù)總線送往CPU的主存地址寄存器MAR,然后執(zhí)行該中斷源設(shè)備的中斷服務(wù)程序。,有的計(jì)算機(jī)中由硬件產(chǎn)生的向量地址不是直接地址,而是一個(gè)“位移量”,它加上CPU某寄存器里存放的基地址,得到中斷服務(wù)程序的入口地址。 還有一種采用向量地址轉(zhuǎn)移的方法,非常靈活,此方法允許中斷處理程序放在內(nèi)存中任何地方。如圖示:,4、程序中斷方式接口電路的基本組成,三、I/O中斷處理過程,1、CPU響應(yīng)中斷的條件和時(shí)間 條件:允許中斷觸發(fā)器EINT為1。它可用開中斷指令置位開中斷;也可用關(guān)中斷指令或硬件自動(dòng)使其復(fù)位關(guān)中斷。 時(shí)間:CPU響應(yīng)中斷的時(shí)間一定是在每條指令執(zhí)行階段的結(jié)束時(shí)刻,此時(shí)CPU將向接口發(fā)中斷查詢信號(hào)。,2、I/O中斷處理過程 以輸入設(shè)備為例說明I/O中斷處理過程。,選中設(shè)備后,則 CPU發(fā)啟動(dòng)命令,使B=1,D=0; 接口啟動(dòng)設(shè)備工作; 設(shè)備將數(shù)據(jù)送DBR; 設(shè)備向接口發(fā)“設(shè)備工作結(jié)束”信號(hào),使D=1,B=0; CPU發(fā)中斷查詢信號(hào);,當(dāng)D=1,且MASK=0時(shí),設(shè)備中斷觸發(fā)器INTR置1,設(shè)備向CPU提出中斷請(qǐng)求。同時(shí),INTR送排隊(duì)器,進(jìn)行中斷判優(yōu); 若CPU允許中斷觸發(fā)器EINT=1,設(shè)備又被選中,則進(jìn)入中斷響應(yīng)階段,由中斷響應(yīng)信號(hào)INTA將排隊(duì)器輸出送至編碼器形成向量地址; 向量地址送至PC; 由向量地址中存放的無條件轉(zhuǎn)移指令可轉(zhuǎn)至中斷服務(wù)程序入口地址中斷服務(wù) 中斷返回至原程序斷點(diǎn)。結(jié)束中斷處理過程。,四、中斷服務(wù)程序的流程,一般中斷服務(wù)程序的流程分四大部分: 1、保護(hù)現(xiàn)場(chǎng) 保存程序的斷點(diǎn):由硬件實(shí)現(xiàn); 保存通用寄存器和狀態(tài)寄存器的內(nèi)容:由中斷服務(wù)程序完成。 一般是將現(xiàn)場(chǎng)壓入堆棧。 2、中斷服務(wù) 完成數(shù)據(jù)交換。,3、恢復(fù)現(xiàn)場(chǎng) 將現(xiàn)場(chǎng)恢復(fù)到原來的寄存器中。 4、中斷返回 中斷服務(wù)程序中由中斷返回指令實(shí)現(xiàn)。,中斷嵌套:滿足兩個(gè)條件,一是必須開中斷;二是優(yōu)先級(jí)別高的中斷源有權(quán)中斷優(yōu)先級(jí)別低的中斷源。 單重中斷和多重中斷服務(wù)程序流程如圖所示:,一、DMA基本概念,直接內(nèi)存訪問DMA是一種完全由硬件執(zhí)行I/O交換的工作方式。在這種方式中,DMA控制器從CPU完全接管對(duì)總線的控制,數(shù)據(jù)交換不經(jīng)過CPU,而直接在內(nèi)存和I/O設(shè)備之間進(jìn)行。DMA控制器將向內(nèi)存發(fā)出地址和控制信號(hào),修改地址,對(duì)傳送的字的個(gè)數(shù)計(jì)數(shù),并且以中斷方式向CPU報(bào)告?zhèn)魉筒僮鹘Y(jié)束。 其最大特點(diǎn)是在主存和DMA接口間有一條專門的傳送通路。如圖示:,DMA方式的主要優(yōu)點(diǎn)是速度快。CPU根本不參加傳送操作,省去了CPU取指令、取數(shù)、送數(shù)等操作,并且在傳送過程中,沒有保存現(xiàn)場(chǎng)、恢復(fù)現(xiàn)場(chǎng)之類的工作,內(nèi)存地址的修改、傳送字個(gè)數(shù)的計(jì)數(shù)等都是用硬件線路直接實(shí)現(xiàn)的。所以DMA方式能滿足高速I/O設(shè)備的要求,也有利于CPU效率的發(fā)揮。DMA方式在計(jì)算機(jī)中被廣泛采用。,二、DMA傳送方式,DMA方式中,I/O設(shè)備可通過DMA控制器直接訪問內(nèi)存,同時(shí),CPU可以繼續(xù)執(zhí)行程序。那么DMA控制器與CPU怎樣分時(shí)使用內(nèi)存呢?通常采用以下三種方法:,1、停止CPU訪問內(nèi)存 當(dāng)I/O設(shè)備要求傳送數(shù)據(jù)時(shí),由DMA控制器發(fā)停止信號(hào)給CPU,要求CPU放棄總線控制權(quán)。DMA控制器獲得總線控制權(quán)以后,開始數(shù)據(jù)傳送。完畢后,DMA控制器通知CPU可以使用內(nèi)存,并把總線控制權(quán)交還給CPU。其時(shí)間圖如下:,顯然,在這種DMA傳送過程中,CPU基本處于不工作或保持狀態(tài)。,優(yōu)點(diǎn):控制簡(jiǎn)單,適用于數(shù)據(jù)傳輸率很高的設(shè)備進(jìn)行成組傳送。 缺點(diǎn):DMA控制訪存階段,CPU對(duì)主存的利用率沒得到充分發(fā)揮,相當(dāng)一部分內(nèi)存工作周期是空閑的。,2、周期挪用 在這種DMA傳送方法中,當(dāng)I/O設(shè)備沒有DMA請(qǐng)求是,CPU按程序要求訪問主存;一旦I/O設(shè)備有DMA請(qǐng)求,則由I/O設(shè)備挪用一個(gè)或幾個(gè)主存周期。,I/O設(shè)備要求DMA傳送時(shí)會(huì)遇到兩種情況: CPU不需訪存(如CPU正執(zhí)行乘法指令),I/O訪存與CPU訪存不發(fā)生沖突; CPU需要訪存,發(fā)生沖突,則I/O訪存優(yōu)先,I/O設(shè)備周期挪用,即在CPU執(zhí)行訪存指令的過程中插入DMA請(qǐng)求,挪用一二個(gè)內(nèi)存周期。其時(shí)間圖如下:,此方法既實(shí)現(xiàn)了I/O傳送,又較好地發(fā)揮了內(nèi)存和CPU的效率,是一種廣泛采用的方法。,3、DMA與CPU交替訪存 如果CPU的工作周期比內(nèi)存的存取周期長(zhǎng)很多,此時(shí)采用交替訪存的方法可以使DMA傳送和CPU同時(shí)發(fā)揮最高的效率。此時(shí)可將一個(gè)CPU周期分為C1和C2兩個(gè)分周期, C1專供DMA訪存,C2專供CPU訪存。如圖示:,此方式不需總線使用權(quán)的申請(qǐng)建立和歸還過程,總線使用權(quán)是通過C1和C2分別控制的。CPU與DMA接口各自有獨(dú)立的訪存地址寄存器、數(shù)據(jù)寄存器和讀/寫信號(hào)。實(shí)際上總線變成了在C1和C2控制下的多路轉(zhuǎn)換器,其總線控制權(quán)的轉(zhuǎn)移幾乎不需什么時(shí)間,具有很高的DMA傳送效率。 相應(yīng)的硬件邏輯更為復(fù)雜。,三、基本的DMA控制器(接口),1、DMA控制器的基本組成 DMA控制器,實(shí)際上是采用DMA方式的I/O設(shè)備與系統(tǒng)總線之間的接口電路,該電路是在中斷接口的基礎(chǔ)上再加DMA機(jī)構(gòu)組成。 下圖是一個(gè)最簡(jiǎn)單的DMA控制器組成示意圖,它由以下邏輯部件組成:,6)中斷機(jī)構(gòu) 當(dāng)字計(jì)數(shù)器溢出時(shí)(全0),一組數(shù)據(jù)交換完畢,由溢出信號(hào)觸發(fā)中斷機(jī)構(gòu),向CPU提出中斷報(bào)告以結(jié)束一次數(shù)據(jù)傳送。,2、DMA數(shù)據(jù)傳送過程 DMA的數(shù)據(jù)塊傳送過程可分為三個(gè)階段:,1)傳送前預(yù)處理 即程序初始化階段。由CPU執(zhí)行幾條I/O指令,測(cè)試設(shè)備狀態(tài),向DMA控制器的設(shè)備地址寄存器中送入設(shè)備號(hào)并啟動(dòng)設(shè)備,向內(nèi)存地址寄存器中送入起始地址,向字計(jì)數(shù)器中送入交換的數(shù)據(jù)字個(gè)數(shù)。此后CPU繼續(xù)執(zhí)行原來的主程序。,2)DMA數(shù)據(jù)傳送 DMA的數(shù)據(jù)傳送是以數(shù)據(jù)塊為基本單位進(jìn)行的,因此,每次DMA控制器占用總線后,無論是數(shù)據(jù)輸入操作,還是數(shù)據(jù)輸出操作,都是通過循環(huán)來實(shí)現(xiàn)的。 當(dāng)I/O設(shè)備準(zhǔn)備好數(shù)據(jù)時(shí),它發(fā)出DMA請(qǐng)求,由DMA控制器向CPU發(fā)出總線使用權(quán)的請(qǐng)求。下圖示出了周期挪用方式的DMA傳送數(shù)據(jù)的流程圖:,停止CPU訪存方式的DMA傳送數(shù)據(jù)的流程圖,3)DMA的后處理 一旦DMA的中斷請(qǐng)求得到響應(yīng),CPU停止主程序的執(zhí)行,轉(zhuǎn)去執(zhí)行中斷服務(wù)程序做一些DMA的結(jié)束處理工作:校驗(yàn)送入內(nèi)存的數(shù)據(jù)是否正確;測(cè)試在傳送過程中是否發(fā)生了錯(cuò)誤;決定繼續(xù)用DMA方式傳送下去,還是結(jié)束傳送等等。,與中斷方式相比,DMA方式有如下特點(diǎn):, DMA方式靠硬件傳送數(shù)據(jù); DMA方式可在指令周期內(nèi)的任一存取周 期結(jié)束時(shí)響應(yīng); DMA方式?jīng)]有處理異常事件的能力,僅 用于大批數(shù)據(jù)的傳送,提高數(shù)據(jù)吞吐量; DMA方式不中斷現(xiàn)行程序,無需保護(hù)現(xiàn) 場(chǎng); DMA方式的優(yōu)先級(jí)比程序中斷方式高。,3、DMA控制器與系統(tǒng)的連接方式 1)具有公共請(qǐng)求線的DMA請(qǐng)求方式 若干個(gè)DMA控制器通過一條公用的DMA請(qǐng)求線向CPU申請(qǐng)總線控制權(quán)。CPU發(fā)出響應(yīng)信號(hào)用鏈?zhǔn)讲樵兎绞酵ㄟ^DMA控制器,首先選中的設(shè)備獲得總線控制權(quán),即可占用總線與主存?zhèn)魉托畔?。如圖示:,2)獨(dú)立的DMA請(qǐng)求方式 每一個(gè)DMA控制器各有一對(duì)獨(dú)立的DMA請(qǐng)求線和DMA響應(yīng)線,它由CPU的優(yōu)先級(jí)判別機(jī)構(gòu)裁決首先響應(yīng)哪個(gè)請(qǐng)求,并在響應(yīng)線上發(fā)出響應(yīng)信號(hào),被獲得響應(yīng)信號(hào)的DMA控制器便可控制總線與主存?zhèn)魉蛿?shù)據(jù)。如圖示:,四、選擇型和多路型DMA控制器,實(shí)際中經(jīng)常采用的DMA控制器芯片有兩類:,1、選擇型DMA控制器 它在物理上可以連接多個(gè)設(shè)備,而在邏輯上只允許連接一個(gè)設(shè)備。即在某一段時(shí)間內(nèi)只能為一個(gè)設(shè)備服務(wù)。 其邏輯框圖如下:,DMA控制器中有一個(gè)設(shè)備號(hào)寄存器,在預(yù)處理時(shí)將所選設(shè)備的設(shè)備號(hào)送入設(shè)備號(hào)寄存器。從預(yù)置開始,一直到這個(gè)數(shù)據(jù)塊 傳送結(jié)束,DMA控制器只為所選設(shè)備服務(wù)。,DMA控制器相當(dāng)于一個(gè)邏輯開關(guān),根據(jù)I/O指令來控制此開關(guān)與某個(gè)設(shè)備連接。,2、多路型DMA控制器 多路型DMA不僅在物理上可以連接多個(gè)I/O設(shè)備,而且在邏輯上也允許這些I/O設(shè)備同時(shí)工作,各設(shè)備以字節(jié)交叉方式通過DMA控制器進(jìn)行數(shù)據(jù)傳送。 由于多路型DMA同時(shí)要為多個(gè)設(shè)備服務(wù),因此對(duì)應(yīng)多少個(gè)DMA通路(設(shè)備),在控制器內(nèi)部就有多少組寄存器用于存放各自的傳送參數(shù)。 多路型DMA控制器適合于同時(shí)為多個(gè)慢速設(shè)備服務(wù)。,例:多路型DMA控制器工作原理示意。如圖示,假設(shè)有磁盤、磁帶、打印機(jī)三個(gè)設(shè)備同時(shí)工作。磁盤以30s的間隔向控制器發(fā)DMA請(qǐng)求,磁帶以45 s的間隔發(fā)DMA請(qǐng)求,打印機(jī)以150 s的間隔發(fā)DMA請(qǐng)求。根據(jù)傳輸速率,磁盤優(yōu)先權(quán)最高,磁帶次之,打印機(jī)最低,假設(shè)DMA控制器每完成一次DMA傳送所需的時(shí)間是5 s。若采用多路型DMA控制器,請(qǐng)畫出DMA控制器服務(wù)三個(gè)設(shè)備的工作時(shí)間圖。,T2,T3,T4,T5,T6,T7,T8,由圖可知,在這種情況下DMA尚有空閑,說明DMA控制器還可以容納更多設(shè)備。,例:如圖示為微型機(jī)中軟盤控制器的系統(tǒng)接口電路,請(qǐng)進(jìn)行分析說明。,CPU和軟盤控制器之間的接口電路包括DMA控制和總線控制兩部分。8257DMA控制器提供4個(gè)獨(dú)立的DMA通路。每個(gè)通路各有2個(gè)16位寄存器(DMA地址寄存器、字節(jié)計(jì)數(shù)寄存器),必須在通路使用前加以預(yù)置。,此時(shí)8257向軟盤控制器發(fā)出DACK回答信號(hào),通知軟盤控制器開始DMA傳輸,并發(fā)出讀/寫控制信號(hào),以便軟盤控制器從主存被尋址的單元讀取一個(gè)字節(jié)或?qū)懭胍粋€(gè)字節(jié)。,只要軟盤控制器保持對(duì)DMA的請(qǐng)求,8257將保持對(duì)總線的控制,并順序地重復(fù)傳送,直到被指定的數(shù)據(jù)塊傳送完畢,此時(shí)8257給出終止信號(hào)TC,通知軟盤控制器取消DMA請(qǐng)求,并使HRQ為無效,放棄總線控制權(quán)。,習(xí)題,一、選擇題 1、 中斷向量地址是:_。 A 子程序入口地址 B 中斷服務(wù)例行程序入口地址 C中斷服務(wù)例行程序入口地址的指示器 D 中斷返回地址 2、為了便于實(shí)現(xiàn)多級(jí)中斷,保存現(xiàn)場(chǎng)信息最有效的辦法是采用_。 A 通用寄存器 B 堆棧 C 存儲(chǔ)器 D 外存,3、發(fā)生中斷請(qǐng)求的條件是_。 A. 一條指令執(zhí)行結(jié)束 B. 一次 I/O 操作結(jié)束 C. 機(jī)器內(nèi)部發(fā)生故障 D. 一次DMA 操作結(jié)束 4、 在微型機(jī)系統(tǒng)中,外圍設(shè)備通過_與主板的系統(tǒng)總線相連接。 A 適配器 B 設(shè)備控制器 C 計(jì)數(shù)器 D 寄存器,二、填空題 1、DMA 控制器按其_結(jié)構(gòu),分為_型和_型兩種。 2、DMA技術(shù)的出現(xiàn)使得_可通過_直接訪問_。 3、每一種外設(shè)都是在它自己的A_控制下進(jìn)行工作,而A則通過B. _和C. _相連并受C 控制。 4、在計(jì)算機(jī)系統(tǒng)中,CPU對(duì)外圍設(shè)備的管理除程序查詢方式、程序中斷方式外,還有_方式,_方式,和_方式。,5、選擇型DMA控制器在_可以連接多個(gè)設(shè)備,而在_只能允許連接一個(gè)設(shè)備,適合于連接_設(shè)備。 6、中斷處理需要有中斷_,中斷_產(chǎn)生,中斷_等硬件支持。 7、DMA方式采用下面三種方法:_訪內(nèi);_;_交替訪內(nèi)。 8、多路行DMA控制器不僅在_上而且在_上可以連接多個(gè)設(shè)備,適合于連接_設(shè)備。 9、通道與CPU分時(shí)使用_,實(shí)現(xiàn)了_內(nèi)部數(shù)據(jù)處理和_并行工作。,三、應(yīng)用題 1、把外圍設(shè)備接入計(jì)算機(jī)系統(tǒng)時(shí),必須解決哪些基本問題?通過什么手段解決這些問題? 2、一次程序中斷大致分為哪些過程? 3、中斷控制方式與DMA方式有何異同? 4、假定某外設(shè)向CPU傳送信息最高頻率為40K/秒,而相應(yīng)中斷處理程序的執(zhí)行時(shí)間為40s,問該外設(shè)是否可采用中斷方式工作?為什么? 5、今有一磁盤存儲(chǔ)器,轉(zhuǎn)速為3000轉(zhuǎn)/分,分8個(gè)扇區(qū),每扇區(qū)存儲(chǔ)1KB。主存與磁盤傳送數(shù)據(jù)的寬度為16位(即每次傳送16位)。假如一條指令最長(zhǎng)執(zhí)行時(shí)間為30 s ,是否可采用在指令結(jié)束時(shí)響應(yīng)DMA請(qǐng)求的方案?假如不行,應(yīng)采用怎樣的方案?,6、下圖是從實(shí)時(shí)角度觀察到的中斷嵌套。試問,這個(gè)中斷系統(tǒng)可以實(shí)現(xiàn)幾重中斷?并分析圖中所示的中斷過程。,8、試分析圖所示寫電流波形屬于何種記錄方式。,完,

注意事項(xiàng)

本文(計(jì)算機(jī)組成原理課件第08章.ppt)為本站會(huì)員(za****8)主動(dòng)上傳,裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)上載內(nèi)容本身不做任何修改或編輯。 若此文所含內(nèi)容侵犯了您的版權(quán)或隱私,請(qǐng)立即通知裝配圖網(wǎng)(點(diǎn)擊聯(lián)系客服),我們立即給予刪除!

溫馨提示:如果因?yàn)榫W(wǎng)速或其他原因下載失敗請(qǐng)重新下載,重復(fù)下載不扣分。




關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號(hào):ICP2024067431號(hào)-1 川公網(wǎng)安備51140202000466號(hào)


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺(tái),本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請(qǐng)立即通知裝配圖網(wǎng),我們立即給予刪除!