計(jì)算機(jī)組成原理-第9章_第1頁(yè)
計(jì)算機(jī)組成原理-第9章_第2頁(yè)
計(jì)算機(jī)組成原理-第9章_第3頁(yè)
計(jì)算機(jī)組成原理-第9章_第4頁(yè)
計(jì)算機(jī)組成原理-第9章_第5頁(yè)
已閱讀5頁(yè),還剩56頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

第9章輸入輸出系統(tǒng)

主要內(nèi)容計(jì)算機(jī)的輸入輸出系統(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)系。I/O接口CPU與I/O接口之間的信息交換方式(程序控制方式、中斷方式、DMA方式、通道方式、外圍處理機(jī)輸入輸出方式)……9.1I/O接口的類型及其功能

I/O接口(Interface)是計(jì)算機(jī)主機(jī)(CPU)與外圍設(shè)備的連接部件,它是CPU與外圍設(shè)備進(jìn)行信息交換時(shí)所必需的電路,主要用于解決不同設(shè)備與CPU之間的速度差異、數(shù)據(jù)變換與緩沖等問(wèn)題。9.1.1I/O接口的類型

按照數(shù)據(jù)傳送的方式分:并行接口和串行接口按數(shù)據(jù)傳送的控制方式分:程序控制方式接口(包括無(wú)條件傳送方式、程序查詢方式、程序中斷方式)、直接存儲(chǔ)器存取(DMA)接口、通道方式接口和I/O處理機(jī)等按通用性分類:通用接口和專用接口。按輸入/輸出的信號(hào)分類:I/O接口可分為數(shù)字接口和模擬接口兩種。9.1.2I/O接口的功能

1.尋址I/O接口為每一個(gè)外圍設(shè)備都分配一個(gè)地址碼。以便CPU訪問(wèn)某個(gè)外圍設(shè)備時(shí)能夠根據(jù)給定的設(shè)備地址找到此設(shè)備。2.?dāng)?shù)據(jù)緩沖

3.預(yù)處理

4.控制功能

9.2CPU與I/O接口之間的信息傳送方式

外圍設(shè)備的定時(shí)方式:CPU與外圍設(shè)備的定時(shí),有三種情況:速度極慢或簡(jiǎn)單的外圍設(shè)備,如機(jī)械開(kāi)關(guān)、顯示二極管等,CPU總是能足夠快地作出響應(yīng)。慢速或中速的外圍設(shè)備:這類設(shè)備的速度和CPU的速度并不在一個(gè)數(shù)量級(jí),或者由于設(shè)備(如鍵盤)本身是在不規(guī)則時(shí)間間隔下操作的,因此,CPU與這類設(shè)備之間的數(shù)據(jù)交換通常采用異步方式。高速的外部設(shè)備:這類設(shè)備以相等的時(shí)間間隔操作,而CPU也是以等間隔的速率執(zhí)行輸入/輸出指令,因此,這種方式叫做同步定時(shí)方式。一旦CPU和外設(shè)發(fā)生同步,它們之間的數(shù)據(jù)交換便靠時(shí)鐘脈沖控制來(lái)進(jìn)行。9.2CPU與I/O接口之間的信息傳送方式

程序查詢方式:數(shù)據(jù)在CPU和外圍設(shè)備之間的傳送完全靠程序控制。程序中斷方式:中斷是外圍設(shè)備用來(lái)“主動(dòng)”通知CPU,準(zhǔn)備送出輸入數(shù)據(jù)或接受輸出輸出數(shù)據(jù)的一種方法。通常,一個(gè)中斷發(fā)生時(shí),CPU暫停它的現(xiàn)行程序,而轉(zhuǎn)向中斷處理程序,從而可以輸入或輸出一個(gè)數(shù)據(jù)。直接內(nèi)存訪問(wèn)(DMA)方式通道方式外圍處理機(jī)方式9.2.2DMA方式

DMA方式即直接內(nèi)存訪問(wèn)(DirectMemoryAccess),是一種完全由硬件執(zhí)行I/O信息交換的工作方式。在這種方式下,CPU并不參與實(shí)際的I/O數(shù)據(jù)傳送,而是由專門的DMA控制器來(lái)實(shí)現(xiàn)內(nèi)存與外設(shè)之間,以及外設(shè)與外設(shè)之間的直接高速傳送。由于它基本是以硬件的速度傳遞數(shù)據(jù),幾乎沒(méi)有額外開(kāi)銷,因此傳輸效率很高,并顯著地減輕了CPU的負(fù)擔(dān)。

9.2.3I/O通道方式

I/O通道控制(I/Ochannelcontrol)方式簡(jiǎn)稱通道方式。它用專門處理I/O操作的處理器(稱為通道)協(xié)助CPU完成輸入輸出操作。通道是一個(gè)具有特殊功能的處理器,在某些應(yīng)用中稱為輸入輸出處理器(IOP)。通道可以實(shí)現(xiàn)對(duì)外圍設(shè)備的統(tǒng)一管理以及外圍設(shè)備與主存之間的信息傳送。同DMA方式相比,通道方式進(jìn)一步提高了CPU的效率。這種信息傳送方式適用于配備外設(shè)多、數(shù)據(jù)傳送頻繁的大、中型計(jì)算機(jī)中。

9.2.4外圍處理機(jī)方式

外圍處理機(jī)(peripheralprocessorunit,簡(jiǎn)稱PPU)方式是通道方式的進(jìn)一步發(fā)展。外圍處理機(jī)的結(jié)構(gòu)更接近于一般的處理機(jī),甚至就是微小型計(jì)算機(jī),它基本上獨(dú)立于主機(jī)工作。在某些系統(tǒng)中設(shè)置了多臺(tái)PPU,分別承擔(dān)I/O控制、通信、診斷等任務(wù)。從某種意義上說(shuō),這種系統(tǒng)已經(jīng)成為一種分布式的多機(jī)系統(tǒng)。

9.3程序中斷方式

9.3.1中斷的基本概念中斷指CPU在正常運(yùn)行程序時(shí),由于內(nèi)部/外部事件或由程序的預(yù)先安排使CPU中斷正在運(yùn)行的程序,而轉(zhuǎn)到為內(nèi)部/外部事件或?yàn)轭A(yù)先安排的事件服務(wù)的程序中去。服務(wù)完畢,再返回去繼續(xù)執(zhí)行被暫時(shí)中斷的程序。內(nèi)部/外部事件或?yàn)轭A(yù)先安排的事件往往比CPU當(dāng)前正在運(yùn)行的程序更加緊迫。這種暫時(shí)停止當(dāng)前運(yùn)行的程序而去執(zhí)行其它緊迫任務(wù)的過(guò)程叫做中斷。

程序中斷方式與程序查詢方式不同的是,程序中斷方式并不需要CPU定期查詢外部設(shè)備是否準(zhǔn)備好。需要傳送信息時(shí),CPU只需在主程序中發(fā)出啟動(dòng)外設(shè)的命令,就可繼續(xù)運(yùn)行主程序的后續(xù)指令,不需要反復(fù)查詢外部設(shè)備的狀態(tài)。當(dāng)外設(shè)已準(zhǔn)備好,需要和CPU交換數(shù)據(jù)時(shí),它就通過(guò)I/O接口給CPU一個(gè)中斷請(qǐng)求信號(hào)。CPU于是響應(yīng)接口的中斷請(qǐng)求,暫停正在執(zhí)行的程序(通常稱為主程序),插入I/O操作程序(稱為中斷服務(wù)子程序),完成數(shù)據(jù)傳輸。由于CPU省去了對(duì)外設(shè)狀態(tài)查詢和等待的時(shí)間,因此CPU與外設(shè)可以并行工作,這大大提高了CPU的效率。中斷方式一般適用于隨機(jī)出現(xiàn)的服務(wù),并且一旦提出要求,應(yīng)當(dāng)立即執(zhí)行。同查詢方式,中斷方式的硬件結(jié)構(gòu)要復(fù)雜一些,且服務(wù)開(kāi)銷時(shí)間較大。9.3.2中斷類型

1、自愿性中斷與強(qiáng)迫性中斷自愿性中斷是用戶在程序中有意識(shí)安排的中斷,是由于用戶在編制程序時(shí)因?yàn)橐蟛僮飨到y(tǒng)提供服務(wù),有意在程序中安排有關(guān)指令,使中斷發(fā)生。因此,自愿性中斷又稱為程序自中斷。程序中執(zhí)行I/O操作、創(chuàng)建進(jìn)程、分配內(nèi)存,以及進(jìn)行信號(hào)量操作、發(fā)送/接收消息等都屬于自愿性中斷。指令系統(tǒng)中的軟中斷指令I(lǐng)NTn可以用于在程序中設(shè)置自愿性中斷。強(qiáng)迫性中斷則不是事先由程序安排好的中斷,而是隨機(jī)產(chǎn)生的中斷。強(qiáng)迫性中斷是正在運(yùn)行的程序所不期望的,往往由于某種硬件故障或外部請(qǐng)求引起。例如,來(lái)自外部設(shè)備的I/O中斷、程序性中斷(運(yùn)算溢出、缺頁(yè)中斷、缺段中斷、地址越界)、時(shí)鐘中斷、控制臺(tái)中斷、硬件故障等都屬于強(qiáng)迫性中斷。2、程序中斷和簡(jiǎn)單中斷

程序中斷,主機(jī)在響應(yīng)中斷請(qǐng)求后,通過(guò)執(zhí)行一段中斷服務(wù)程序來(lái)處理更緊迫的任務(wù)。簡(jiǎn)單中斷即DMA方式,指外設(shè)與主存之間直接進(jìn)行信息交換的方法。這種中斷并不執(zhí)行中斷服務(wù)程序,因此不會(huì)破壞現(xiàn)行程序的狀態(tài)。CPU發(fā)現(xiàn)有簡(jiǎn)單中斷請(qǐng)求(DMA請(qǐng)求)時(shí),讓出一個(gè)或幾個(gè)主存的存取周期供外設(shè)與主存交換信息,然后繼續(xù)執(zhí)行程序。

3、內(nèi)部中斷和外部中斷

由于CPU內(nèi)部硬件或軟件原因引起的中斷稱為內(nèi)部中斷。運(yùn)算溢出、除法出錯(cuò)、單步中斷、單字節(jié)中斷(斷點(diǎn)中斷)以及INTn指令中斷都屬于內(nèi)部中斷。

外部中斷是指由CPU以外的部件引起的中斷。通常外部中斷又可以分為不可屏蔽中斷和可屏蔽中斷兩種。不可屏蔽中斷優(yōu)先級(jí)別較高,常用于應(yīng)急處理,如掉電、主存讀/寫校驗(yàn)錯(cuò)等??善帘沃袛嗉?jí)別較低,常用于一般I/O設(shè)備的數(shù)據(jù)傳送。

4、向量中斷和非向量中斷

向量中斷指中斷服務(wù)程序的入口地址由中斷事件自己提供的中斷。CPU響應(yīng)中斷后,將由中斷結(jié)構(gòu)自動(dòng)將向量地址提供給主機(jī),由向量地址指明中斷向量位置,即中斷服務(wù)程序的入口地址(向量地址),并進(jìn)一步實(shí)現(xiàn)向量切換。非向量中斷不能直接提供中斷服務(wù)程序的入口地址,而必須采用軟件查詢措施最后找到服務(wù)程序入口地址,然后才能轉(zhuǎn)入相應(yīng)的中斷服務(wù)程序。

5、單級(jí)中斷和多級(jí)中斷

單級(jí)中斷在CPU執(zhí)行中斷服務(wù)程序的過(guò)程中不能被再打斷。多級(jí)中斷在執(zhí)行某個(gè)中斷服務(wù)程序的過(guò)程中,CPU可去響應(yīng)級(jí)別更高的中斷請(qǐng)求,又稱為中斷嵌套。多級(jí)中斷體現(xiàn)了計(jì)算機(jī)中斷功能的強(qiáng)弱。9.3.3中斷的作用

(1)中斷方式在一定程度上實(shí)現(xiàn)了CPU與外圍設(shè)備并行工作,使CPU的效率得到了更充分的發(fā)揮。

(2)中斷方式便于實(shí)現(xiàn)故障處理。

(3)實(shí)現(xiàn)人機(jī)聯(lián)系。

(3)實(shí)現(xiàn)多道程序和分時(shí)操作。

(4)實(shí)現(xiàn)實(shí)時(shí)處理。

(5)實(shí)現(xiàn)應(yīng)用程序和操作系統(tǒng)的聯(lián)系。(6)實(shí)現(xiàn)多處理機(jī)系統(tǒng)中各處理機(jī)間的聯(lián)系。

9.3.4中斷源的組織方式

多個(gè)中斷源的組織方式一般有獨(dú)立請(qǐng)求方式、菊花鏈方式和混合組織方式3種。1、獨(dú)立請(qǐng)求方式

在獨(dú)立請(qǐng)求方式中,每個(gè)中斷源單獨(dú)設(shè)置中斷請(qǐng)求線,將中斷請(qǐng)求信號(hào)直接送往CPU。CPU要響應(yīng)某個(gè)中斷源的中斷請(qǐng)求時(shí),也通過(guò)單獨(dú)的中斷響應(yīng)線響應(yīng)該中斷源。這種方式的優(yōu)點(diǎn)是CPU在接到中斷請(qǐng)求的同時(shí)也就知道了中斷源是誰(shuí),其中斷服務(wù)程序的入口地址在哪里。這有利于實(shí)現(xiàn)向量中斷,提高中斷的響應(yīng)速度。獨(dú)立請(qǐng)求方式的缺點(diǎn)是硬件代價(jià)較大,并且由于CPU所能連接的中斷請(qǐng)求線的數(shù)目有限,因此,中斷源數(shù)目難以擴(kuò)充。1、獨(dú)立請(qǐng)求方式

2、菊花鏈方式

在菊花鏈方式中,多個(gè)中斷源都利用公共的中斷請(qǐng)求線和中斷響應(yīng)線。多個(gè)中斷源通過(guò)公共的中斷響應(yīng)線連接成菊花鏈形狀。同獨(dú)立請(qǐng)求方式相比,菊花鏈方式需要的中斷請(qǐng)求線和中斷響應(yīng)都是最少的;并且在負(fù)載允許的情況下,中斷源的數(shù)目可以隨意擴(kuò)充。

3、混合組織方式

將獨(dú)立請(qǐng)求方式和菊花鏈方式結(jié)合起來(lái),就構(gòu)成了中斷源的混合組織方式。在這種方式中,首先給不同的中斷源分配不同的優(yōu)先級(jí)別,分級(jí)時(shí)要考慮設(shè)備對(duì)數(shù)據(jù)的傳輸率和服務(wù)程序的要求。各級(jí)中斷源以獨(dú)立請(qǐng)求方式連接到CPU,處于同一級(jí)的中斷源則按緩急程度的不同按菊花鏈方式連接,共用一根中斷請(qǐng)求線。同一級(jí)中離CPU最近的中斷源的優(yōu)先級(jí)最高,最遠(yuǎn)的優(yōu)先級(jí)最低。

3、混合組織方式9.3.5中斷過(guò)程

1.中斷請(qǐng)求

2.中斷判優(yōu)與屏蔽

3.中斷響應(yīng)

4.中斷處理

5.中斷返回

9.3.6中斷接口電路

9.3.7中斷優(yōu)先權(quán)排隊(duì)電路

1.鏈?zhǔn)絻?yōu)先權(quán)排隊(duì)電路

2.優(yōu)先權(quán)編碼電路

中斷優(yōu)先權(quán)排隊(duì)通過(guò)編碼的方式來(lái)實(shí)現(xiàn)

9.3.8多個(gè)中斷的處理

處理一個(gè)中斷時(shí)禁止其他中斷,對(duì)任何新的中斷都置之不理,在這期間發(fā)生的中斷將保持掛起狀態(tài)。

將中斷按照優(yōu)先權(quán)分級(jí),允許優(yōu)先級(jí)高中斷打斷優(yōu)先級(jí)低的中斷處理過(guò)程,形成了中斷的嵌套處理,簡(jiǎn)稱中斷嵌套。

9.3.98259A中斷控制器

1.8259A的結(jié)構(gòu)

2.8259A的芯片引腳

8259A與CPU和外設(shè)的連接方式

9.3.10Pentium的中斷機(jī)制

Pentium中有兩類中斷源:中斷和異常。這兩類中斷源都可引起Pentium掛起當(dāng)前的指令流,轉(zhuǎn)而進(jìn)行其他事件的處理。對(duì)這兩種事件,Pentium都要首先保存進(jìn)程的現(xiàn)場(chǎng)信息,然后以預(yù)先設(shè)計(jì)好的服務(wù)程序進(jìn)行。Pentium總共可以識(shí)別256種中斷和異常。每種中斷給予一個(gè)中斷向量號(hào)0~255。pentium中斷處理過(guò)程(1)當(dāng)中斷處理的CPU控制權(quán)轉(zhuǎn)移涉及到特權(quán)級(jí)改變時(shí),必須把當(dāng)前的SS和ESP兩個(gè)寄存器的內(nèi)容壓入系統(tǒng)堆棧予以保存。(2)標(biāo)志寄存器EFLAGS的內(nèi)容也壓入堆棧(3)清除標(biāo)志觸發(fā)器TF和IF(4)當(dāng)前的代碼段寄存器CS和指令指針EIP也壓入堆棧。(5)如果中斷發(fā)生伴隨有錯(cuò)誤碼,則錯(cuò)誤碼也壓入此堆棧。(6)完成上述中斷現(xiàn)場(chǎng)保護(hù)后,從中斷向量號(hào)獲取的中斷服務(wù)子程序入口地址(段:偏移量)分別裝入CS和EIP,開(kāi)始執(zhí)行中斷服務(wù)子程序。(7)中斷服務(wù)子程序最后的IRET指令使中斷返回。保存在堆棧中的中段現(xiàn)場(chǎng)信息被恢復(fù),并由中斷點(diǎn)繼續(xù)執(zhí)行原程序。9.4直接存儲(chǔ)器存?。―MA)方式

9.4.1DMA方式簡(jiǎn)介

直接內(nèi)存訪問(wèn)是一種完全由硬件執(zhí)行I/O交換的工作方式。在這種方式中,DMA控制器從CPU完全接管對(duì)總線的控制,數(shù)據(jù)交換不經(jīng)過(guò)CPU,而直接在內(nèi)存和I/O設(shè)備之間進(jìn)行。DMA方式一般用于高速傳送成組數(shù)據(jù)。DMA控制器將向內(nèi)存發(fā)出地址和控制信號(hào),修改地址,對(duì)傳送的字的個(gè)數(shù)計(jì)數(shù),并且以中斷方式想CPU報(bào)告?zhèn)魉筒僮鞯慕Y(jié)束。DMA方式的主要優(yōu)點(diǎn)是速度快,由于CPU根本不參加傳送操作,因此就省去了CPU取指令、取數(shù)、傳送等操作。在數(shù)據(jù)傳送過(guò)程中,沒(méi)有保存現(xiàn)場(chǎng)、恢復(fù)現(xiàn)場(chǎng)之類的工作。內(nèi)存地址、修改、傳送字個(gè)數(shù)的計(jì)數(shù)等等,也不是由軟件實(shí)現(xiàn),而是用硬件線路直接實(shí)現(xiàn)的。所以DMA方式能滿足高速的I/O設(shè)備的要求,也有利于CPU效率的發(fā)揮。正因?yàn)槿绱?,包括微型機(jī)在內(nèi),DMA方式在計(jì)算機(jī)中被廣泛采用。DMA傳送示意圖

DMA的特點(diǎn)■DMA方式使得主存可以被除CPU以外的外設(shè)訪問(wèn),而不再只限于由CPU訪問(wèn)。■DMA方式進(jìn)行數(shù)據(jù)成組傳送時(shí),主存地址的確定和傳送數(shù)據(jù)的計(jì)數(shù)等等都用硬件電路直接實(shí)現(xiàn)?!鯠MA方式傳送數(shù)據(jù)的速度很快,這往往要求在主存中開(kāi)辟專用緩沖區(qū),以便及時(shí)供給和接收外設(shè)的數(shù)據(jù)?!鯠MA方式使得CPU和外設(shè)可以并行工作,提高了系統(tǒng)的效率?!鯠MA在傳送開(kāi)始前要通過(guò)程序進(jìn)行預(yù)處理,結(jié)束后要通過(guò)中斷方式進(jìn)行后處理。DMA執(zhí)行的基本操作(1)從外圍設(shè)備發(fā)出DMA請(qǐng)求(2)CPU響應(yīng)請(qǐng)求,把CPU工作改成DMA操作方式,DMA控制器從CPU接管總線的控制;(3)由DMA控制器對(duì)內(nèi)存尋址,即決定數(shù)據(jù)傳送的內(nèi)存單元地址及數(shù)據(jù)傳送個(gè)數(shù)的計(jì)數(shù),并執(zhí)行數(shù)據(jù)傳送的操作(4)想CPU報(bào)告DMA操作的結(jié)束。在DMA方式中,一批數(shù)據(jù)傳送前的準(zhǔn)備工作,以及傳送結(jié)束后的處理工作,均由管理程序承擔(dān),而DMA控制器僅負(fù)責(zé)數(shù)據(jù)傳送的工作。9.4.2DMA的工作方式

DMA控制器與CPU通常采用三種方法分時(shí)使用內(nèi)存:1.CPU暫停方式;2.周期竊取方式;3.DMA與CPU交替訪存方式

。1.CPU暫停方式:當(dāng)外圍設(shè)備要求傳送一批數(shù)據(jù)時(shí),由DMA控制器發(fā)出一個(gè)停止信號(hào)給CPU,要求CPU放棄對(duì)地址總線、數(shù)據(jù)總線和有關(guān)控制總線的使用權(quán)。DMA控制器獲得總線控制權(quán)后,開(kāi)始進(jìn)行數(shù)據(jù)傳送。在一批數(shù)據(jù)傳送完后,DMA控制器通知CPU可以使用內(nèi)存,并把總線控制權(quán)還給CPU,讓CPU可以使用存儲(chǔ)器,因此,DMA傳送過(guò)程中CPU基本上處于停止?fàn)顟B(tài)。

優(yōu)點(diǎn):控制簡(jiǎn)單,適用于數(shù)據(jù)傳送率很高的設(shè)備進(jìn)行成組傳送。

缺點(diǎn):在DMA控制器訪內(nèi)階段,內(nèi)存的效能沒(méi)有充分發(fā)揮,相當(dāng)大一部分內(nèi)存工作周期是空閑的。CPU暫停方式

CPU周期竊取方式

DMA與CPU交替訪存

2.周期竊取方式當(dāng)I/O設(shè)備沒(méi)有DMA請(qǐng)求時(shí),CPU按程序要求訪問(wèn)內(nèi)存;一旦I/O設(shè)備有DMA請(qǐng)求,則由I/O設(shè)備挪用一個(gè)或者幾個(gè)內(nèi)存周期。由于此時(shí)可能遇到CPU不需要訪內(nèi)或者也要求訪內(nèi),前一種情形I/O設(shè)備挪用1或2個(gè)周期一般沒(méi)有什么影響,而后者則回發(fā)生沖突,在這種情況下首先讓I/O設(shè)備先訪內(nèi),CPU則延緩指令的執(zhí)行。與停止CPU訪內(nèi)的DMA方法比較,周期挪用的方法既實(shí)現(xiàn)了I/O傳送,又較好地發(fā)揮了內(nèi)存和CPU的效率,是一種廣泛使用的方法。適用于I/O設(shè)備讀寫周期大于內(nèi)存存儲(chǔ)周期的情況。3.DMA與CPU交替訪存方式這種方式也稱存儲(chǔ)器分時(shí)法,一般是系統(tǒng)中的CPU的工作周期比內(nèi)存存取周期長(zhǎng)很多,此時(shí)可分成兩個(gè)存取時(shí)間片,一個(gè)專供DMA控制接口訪問(wèn),另一個(gè)專供CPU訪問(wèn),DMA與CPU交替地訪問(wèn)內(nèi)存。圖P287圖8.11由于分時(shí)間片訪問(wèn),這種傳輸方式不需要總線使用權(quán)的申請(qǐng)、建立和歸還過(guò)程,所以對(duì)DMA傳送來(lái)講效率是很高的,傳送數(shù)據(jù)完全是透明的。但這種DMA方式硬件邏輯比較復(fù)雜,而且要求有高速的存儲(chǔ)器。9.4.3DMA控制器

9.4.4DMA的數(shù)據(jù)傳送過(guò)程

1.DMA傳送前預(yù)處理DMA傳送之前,需要進(jìn)行相應(yīng)的準(zhǔn)備工作,稱為DMA傳送前的預(yù)處理,由CPU完成。預(yù)處理內(nèi)容主要包括CPU執(zhí)行I/O指令,測(cè)試設(shè)備狀態(tài),向DMA的設(shè)備地址寄存器送入設(shè)備地址并啟動(dòng)設(shè)備向主存地址寄存器送入交換數(shù)據(jù)的主存起始地址,向字計(jì)數(shù)器送入交換的數(shù)據(jù)個(gè)數(shù)等。在這些工作完成后,CPU繼續(xù)執(zhí)行原來(lái)的主程序2.數(shù)據(jù)傳送DMA的數(shù)據(jù)傳送可以單字節(jié)(或字)為基本單位,也可以以數(shù)據(jù)塊為基本單位。當(dāng)外設(shè)準(zhǔn)備好發(fā)送或接收數(shù)據(jù)時(shí),它發(fā)出DMA請(qǐng)求,由DMA控制器向CPU發(fā)出總線占用申請(qǐng)信號(hào)HOLD。CPU在執(zhí)行完本機(jī)器周期后響應(yīng)該請(qǐng)求,發(fā)出DMA響應(yīng)信號(hào),同時(shí)讓出總線控制權(quán),由DMA控制器接管對(duì)總線的控制,并向主存提供地址。于是,主存便可以和外圍設(shè)備之間交換數(shù)據(jù),每交換一個(gè)字,地址計(jì)數(shù)器和字計(jì)數(shù)器都加1,當(dāng)計(jì)數(shù)值達(dá)到0時(shí),DMA操作結(jié)束,DMA控制器向CPU發(fā)出中斷報(bào)告。9.4.4DMA的數(shù)據(jù)傳送過(guò)程3.DMA后處理當(dāng)傳送長(zhǎng)度計(jì)數(shù)器計(jì)數(shù)到“0”時(shí),DMA操作結(jié)束,DMA控制器向CPU發(fā)送中斷請(qǐng)求,CPU停止原來(lái)程序的運(yùn)行,轉(zhuǎn)去執(zhí)行中斷服務(wù)程序,完成DMA傳送的結(jié)束工作。例如,如果需繼續(xù)交換數(shù)據(jù),則再對(duì)DMA控制器進(jìn)行初始化;如果不需交換數(shù)據(jù),則停止外設(shè);如果出錯(cuò),則轉(zhuǎn)錯(cuò)誤診斷及處理程序進(jìn)行處理。9.4.5DMA控制器Intel8237

8.4通道方式一個(gè)特殊功能的處理器,有自己的指令和程序?qū)iT負(fù)責(zé)數(shù)據(jù)輸入和輸出的傳輸控制,而CPU將“傳輸控制”的功能下放給通道后只負(fù)責(zé)“數(shù)據(jù)處理”功能。這樣,通道與CPU分時(shí)使用內(nèi)存,實(shí)現(xiàn)了CPU內(nèi)部運(yùn)算與I/O設(shè)備的平行工作。9.5通道方式

DMA方式對(duì)大、中型計(jì)算機(jī)來(lái)說(shuō),它們配置的外圍設(shè)備一般都很多,并且數(shù)據(jù)傳送頻繁,如仍采用DMA方式,可能會(huì)存在一些問(wèn)題。一方面,如果為數(shù)量繁多的外設(shè)都配置專用的DMA控制器,將大幅度增加硬件,使得成本增加。而且要解決眾多DMA同時(shí)訪問(wèn)主存的沖突,使得控制變得非常復(fù)雜。另一方面,采用DMA傳送方式的眾多外設(shè)均直接由CPU管理控制,由CPU進(jìn)行初始化,這勢(shì)必會(huì)占用更多的CPU時(shí)間,而且頻繁的周期竊取會(huì)降低CPU執(zhí)行程序的效率。為避免上述弊病,在大、中型計(jì)算機(jī)系統(tǒng)中一般采用I/O通道方式進(jìn)行數(shù)據(jù)交換。

9.5.1通道方式簡(jiǎn)介

通道是一種數(shù)據(jù)輸入/輸出控制設(shè)備,是一種獨(dú)立于中央處理器,它代替CPU對(duì)外設(shè)的I/O操作進(jìn)行控制,使

溫馨提示

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

評(píng)論

0/150

提交評(píng)論