版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
第八章輸入輸出(I/O)系統(tǒng)
計算機的I/O系統(tǒng)提供主機與外部世界通信的手段。從計算機科學(xué)觀點看:I/O系統(tǒng)典型地反映著硬件與軟件的相互結(jié)合。從用戶的角度看:現(xiàn)代計算機的I/O系統(tǒng)的復(fù)雜性大都隱藏在操作系統(tǒng)中,用戶只需通過一些簡單的命令或程序請求便可調(diào)用各種I/O過程。8.1概術(shù)
I/O系統(tǒng)的特點復(fù)雜性、異步性、時實性、設(shè)備關(guān)聯(lián)性(標(biāo)準(zhǔn)接口、驅(qū)動程序)。I/O系統(tǒng)要解決的問題(1)控制方式CPU如何控制輸入/輸出?(輸入/輸出方式)(2)傳輸方式使用傳輸通道、方式、速率等(總線、接口)(3)數(shù)據(jù)識別和轉(zhuǎn)換數(shù)/模轉(zhuǎn)換、語音識別等,轉(zhuǎn)換為字符、數(shù)據(jù)等計算機能識別的格式(設(shè)備)I/O系統(tǒng)的功能
(1)選擇I/O設(shè)備和反映I/O設(shè)備的工作狀態(tài)。(2)實現(xiàn)主機與外設(shè)的聯(lián)絡(luò)控制。(3)在選定的I/O設(shè)備和主機之間交換信息。(4)完成有關(guān)的數(shù)據(jù)格式變換(串—并),數(shù)據(jù)拆卸與裝配等輔助操作。I/O系統(tǒng)的組成
由I/O設(shè)備、設(shè)備控制器、以及同I/O操作有關(guān)的硬件和軟件組成?,F(xiàn)代計算機對I/O系統(tǒng)的要求是:在執(zhí)行每一項由具體I/O設(shè)備實現(xiàn)I/O操作的過程中,應(yīng)保證有效地利用主存和CPU。I/O設(shè)備與主機的連接方式
每當(dāng)I/O操作取得某項進展,都要反映到系統(tǒng)級的連接上面來。如何連接外圍設(shè)備,如何形成外圍設(shè)備到主機的通路,如何支持I/O操作與其它CPU操作的并行執(zhí)行,這是設(shè)計一個I/O系統(tǒng)的關(guān)鍵問題。不同的I/O系統(tǒng)有不同的連接方式,主要差別在于:
(a)從外設(shè)到主機通路上控制功能分布的不同。(b)通路數(shù)目的不同。(c)各種外設(shè)接到各個通路的靈活性的不同。(d)外設(shè)與外設(shè)之間,外設(shè)與主機之間的并行工作程度不同等等。(1)外設(shè)與主機之間通過I/O接口連接I/O接口:實現(xiàn)主機與外設(shè)的聯(lián)絡(luò)和數(shù)據(jù)緩沖。設(shè)備控制器:對設(shè)備進行啟??刂疲o助操作控制,指示設(shè)備的工作狀態(tài)等。程序直接控制I/O方式和程序中斷控制I/O方式采用此結(jié)構(gòu)。I/O接口外設(shè)主機設(shè)備控制器(2)外設(shè)和主機之間通過通道連接CU:設(shè)備控制器。D:I/O設(shè)備。通道:一種專用的I/O處理器,負責(zé)管理外設(shè)的I/O操作。主機通道通道CUDCUDCUDCUDD輸入輸出控制方式(信息交換方式)
(1)程序查詢方式
由CPU通過程序不斷查詢I/O設(shè)備是否已準(zhǔn)備好,從而控制I/O設(shè)備與主機交換信息。優(yōu)點:簡單、易控制。缺點:主機與外設(shè)串行工作,CPU效率低。I/O控制方式主要由軟件(程序)實現(xiàn)主要由附加硬件實現(xiàn)程序查詢方式程序中斷方式DMA方式通道方式PPU方式(2)程序中斷方式
I/O中斷:指CPU啟動外設(shè)后繼續(xù)執(zhí)行自身的程序,外設(shè)準(zhǔn)備好后向CPU發(fā)中斷請求,CPU響應(yīng)中斷,暫停正在執(zhí)行的現(xiàn)行程序,轉(zhuǎn)去執(zhí)行中斷服務(wù)程序(實現(xiàn)外設(shè)與主機的信息交換),服務(wù)完后再返回到原斷點處繼續(xù)執(zhí)行原來的CPU程序。中斷控制I/O方式就是將中斷環(huán)節(jié)引用于I/O的過程,使CPU與外設(shè)在一定程度上并行工作,從而提高CPU的利用率。中斷的另一個重要作用,就是使計算機及時處理隨機事件,保證機器可靠地工作。(3)DMA(直接存儲器存取)方式
在外設(shè)與主機之間設(shè)置一條專用的數(shù)據(jù)交換通路,在DMA控制器的控制下,實現(xiàn)外設(shè)與主機成批交換數(shù)據(jù)。(4)通道控制I/O方式
通道是從屬于CPU的專用I/O處理機,某些應(yīng)用中稱為輸入輸出處理器(IOP),能獨立地執(zhí)行用通道命令編寫的I/O控制程序,完成復(fù)雜的輸入輸出過程,即通道是采用軟、硬結(jié)合的方式來實現(xiàn)I/O操作的。(5)外圍處理機(PPU)方式
外圍處理機是一種功能更強的I/O處理機,基本上獨立于主機工作,完成I/O操作。在一些系統(tǒng)中,設(shè)置了多臺PPU,分別承擔(dān)I/O控制、通信、維護診斷等任務(wù)。從某種意義上說,這種系統(tǒng)已變成分布式的多機系統(tǒng)。
目前,單片機和微型機中多采用程序查詢方式、程序中斷方式和DMA方式。通道方式和PPU方式大都用在中、大型計算機中。設(shè)計輸入/輸出系統(tǒng)考慮的問題(1)性能考慮吞吐量和延遲適應(yīng)各種不同類別的設(shè)備的性能的差異從操作系統(tǒng)、驅(qū)動程序等各方面綜合考慮考慮到設(shè)備性能的提高(2)可擴展性允許更多的設(shè)備接入到輸入/輸出系統(tǒng)(3)可適應(yīng)性設(shè)備有無設(shè)備故障8.2程序查詢方式在這種方式控下,I/O設(shè)備與主機之間的信息交換,一般需經(jīng)過CPU中的寄存器,而且通常一次只傳送否一個字(節(jié))。是
未完
完
設(shè)置計數(shù)器設(shè)置內(nèi)存緩沖區(qū)首址啟動外設(shè)準(zhǔn)備好?傳送一個數(shù)據(jù)修改內(nèi)存地址修改計數(shù)值傳送完?結(jié)束I/O傳送設(shè)備編址:(1)統(tǒng)一編址(2)獨立編址②設(shè)備選擇電路DBRQQ&數(shù)據(jù)線準(zhǔn)備就緒啟動命令地址線SEL輸入數(shù)據(jù)啟動設(shè)備設(shè)備工作結(jié)束①③④⑤⑥D(zhuǎn)B程序查詢方式的接口電路①②③⑤⑥1010④以輸入為例8.3程序中斷方式在計算機系統(tǒng)中引入中斷的概念,并使其具有中斷處理功能,這是計算機系統(tǒng)結(jié)構(gòu)發(fā)展的一大進步。中斷系統(tǒng)是計算機實現(xiàn)中斷功能的軟硬件總稱。一般在CPU中設(shè)置中斷機構(gòu),在外設(shè)接口中設(shè)置中斷控制器,在軟件上設(shè)置相應(yīng)的中斷服務(wù)程序。
中斷的基本概念中斷(Interrupt)是指CPU暫時中止現(xiàn)行程序,轉(zhuǎn)去處理隨機發(fā)生的緊急事件,處理完后自動返回原程序的功能和技術(shù)。
中斷處理過程示例
主程序只是在設(shè)備A,B,C數(shù)據(jù)準(zhǔn)備就緒時,才去處理A,B,C,進行數(shù)據(jù)交換。在速度較慢的外圍設(shè)備準(zhǔn)備自己的數(shù)據(jù)時,CPU照常執(zhí)行自己的主程序。在這個意義上說,CPU和外圍設(shè)備的一些操作是并行地進行的,因而同串行進行的程序查詢方式相比,計算機系統(tǒng)的效率是大大提高了。
(1)中斷系統(tǒng)需解決的問題
設(shè)計一個中斷系統(tǒng)應(yīng)考慮以下問題:(a)中斷源和中斷請求問題。(b)中斷判優(yōu)問題。(c)CPU在什么條件、什么時候、以什么方式來響應(yīng)中斷問題。(d)中斷現(xiàn)場保護問題。(e)中斷服務(wù)程序的進入及其本身的設(shè)計問題。(f)多重中斷問題。(g)中斷現(xiàn)場恢復(fù)問題。要解決上述七個問題,必須在中斷系統(tǒng)中有相應(yīng)的軟、硬件支持。(2)中斷的作用(a)主機與外設(shè)(在一定程度上)并行工作。(b)故障處理:硬件故障、軟件故障。(c)人機聯(lián)系。(d)時實控制(處理)。(e)多道程序切換和多用戶分時共享計算機資源。(f)目態(tài)程序和管態(tài)程序的聯(lián)系。(g)多機系統(tǒng)中各機之間的聯(lián)系。(3)中斷的分類(a)按中斷處理方式分程序中斷:通過執(zhí)行中斷服務(wù)程序來處理有關(guān)事件的中斷。簡單中斷:采用DMA處理外設(shè)中斷(不保護現(xiàn)場)。(b)按中斷產(chǎn)生方式分自愿中斷:事先在程序某處設(shè)置斷點,引出服務(wù)程序進行中斷處理。強迫中斷:隨機產(chǎn)生的中斷(硬故障、I/O設(shè)備請求等)。(c)按中斷源來自處理機內(nèi)部或外部分:內(nèi)中斷、外中斷。(d)按是否產(chǎn)生向量地址分向量中斷:中斷服程序入口由中斷源產(chǎn)生向量地址提供。非向量中斷:中斷服務(wù)程序入口由CPU查詢得到。I/O中斷處理過程(1)中斷請求:中斷源向CPU發(fā)出的申請中斷的要求。中斷源:通常將能引起中斷的各個因素稱作中斷源。引起中斷的因素很多,大致可分為以下幾類:
(a)人為設(shè)置中斷:又稱自愿中斷。(b)程序性事故:如溢出、操作碼不能識別、除法錯等。(c)硬件故障:如插件接觸不良、磁表面損壞、電源掉電等。(d)I/O設(shè)備:I/O設(shè)備請求CPU服務(wù)等。(e)外部事件:操作員干預(yù)等。中斷請求標(biāo)記:為了記錄中斷事件的發(fā)生,一般給每個中斷源設(shè)置一個中斷請求(標(biāo)記)觸發(fā)器,保留中斷請求信號。當(dāng)其狀態(tài)為“1”時,表示中斷源有請求,并向CPU發(fā)出請求信號。這種觸發(fā)器可分散到各個中斷源的接口電路中,也可以集中設(shè)在CPU內(nèi),組成一個中斷請求標(biāo)記寄存器。1576011CPCDQCPUINTR(中斷請求信號)中斷觸發(fā)器控制與狀態(tài)寄存器(PR)OC門外設(shè)向CPU發(fā)中斷請求的條件:①PR6=1,CPU允許外設(shè)請求(無屏蔽)。②PR7=1,外設(shè)已準(zhǔn)備好。外設(shè)向CPU發(fā)中斷請求的條件:
(a)外設(shè)已就緒;
(b)CPU允許外設(shè)中斷且未屏蔽。(2)中斷響應(yīng):指終止CPU現(xiàn)行程序到轉(zhuǎn)入中斷服務(wù)程序過程。(a)保護斷點和狀態(tài)(硬措施),保護其它現(xiàn)場(軟措施)。
中斷隱指令是CPU在中斷周期內(nèi)由硬件自動完成的一條指令。該指令通常完成保護程序斷點、尋找中斷服務(wù)程序的入口地址、關(guān)中斷等一系列操作。采用中斷隱指令,是為了提高中斷處理速度。通常在中斷服務(wù)程序的起始部分安排若干條存數(shù)指令,將寄存器的內(nèi)容送至存儲器中保存;或用進棧指令將寄存器的內(nèi)容壓入堆棧保存,以免中斷服務(wù)程序用到相應(yīng)的寄存器而破壞其原內(nèi)容。響應(yīng)中斷的條件:
①允許中斷觸發(fā)器=1
(由開中斷指令置1,關(guān)中斷指令置0)
②中斷請求標(biāo)記觸發(fā)器=1(有中斷請求)響應(yīng)中斷的時間:
CPU通常在指令執(zhí)行周期結(jié)束后,響應(yīng)任何中斷請求。若有中斷,CPU則進入中斷周期。(b)識別中斷源(中斷判優(yōu)):軟件查詢法、硬件查詢法。任何一個中斷系統(tǒng),在任一時刻,只能響應(yīng)一個中斷源的請求。但許多中斷源提出請求都是隨機的,當(dāng)某一時刻有多個中斷源提出中斷請求時,中斷系統(tǒng)必須按其優(yōu)先順序予以響應(yīng),即中斷判優(yōu)。
設(shè)備優(yōu)先級的確定,由許多因素決定:
①中斷條件的緊迫性:故障中斷→實時中斷→I/O中斷→用戶程序中斷
②設(shè)備的工作速度:高速設(shè)備→低速設(shè)備
③數(shù)據(jù)恢復(fù)的難易程度:不易恢復(fù)數(shù)據(jù)的設(shè)備→易恢復(fù)數(shù)據(jù)的設(shè)備
④要求CPU提供的服務(wù)量:需CPU干預(yù)少的設(shè)備→需CPU干預(yù)多的設(shè)備軟件排隊是通過編寫查詢程序?qū)崿F(xiàn)的。程序按中斷源的優(yōu)先等級,從高到低逐級查詢各個中斷源是否有中斷請求,這樣就可保證CPU首先響應(yīng)級別高的中斷源的請求。(c)引出中斷服務(wù)程序:向量法、非向量法。硬件向量法:硬件向量法就是利用硬件產(chǎn)生向量地址,再由向量地址找到中斷服務(wù)程序的入口地址。向量地址由中斷向量地址形成部件產(chǎn)生,這個電路可分散設(shè)置在各個接口電路中,也可設(shè)置在CPU內(nèi)。由向量地址尋找中斷服務(wù)程序的入口地址通常采用兩種方法:
①在向量地址內(nèi)存放一條無條件轉(zhuǎn)移指令,CPU響應(yīng)中斷時,只要將向量地址送至PC,執(zhí)行這條指令,便可無條件轉(zhuǎn)向服務(wù)程序的入口地址。
②在內(nèi)存中設(shè)置一個中斷向量表,存儲單元的地址為向量地址,存儲單元的內(nèi)容為服程序的入口地址,只要訪問向量地址所指示的存儲單元,便可獲得入口地址。向量地址形成部件中斷向量地址來自中斷源排隊器輸出121314向量地址入口地址200軟件查詢法:用軟件尋找中斷服務(wù)程序入口地址的方法叫軟件查詢法。查詢程序按中斷源的優(yōu)先等級,從高至低逐級查詢,當(dāng)查到某一中斷源由中斷請求時,接著安排一條轉(zhuǎn)移指令,直接指向此中斷源的中斷服務(wù)程序入口地址,機器便能自動進入中斷處理。入口地址300入口地址400主存(3)中斷服務(wù):執(zhí)行中斷服務(wù)程序,進行中斷處理。
CPU響應(yīng)中斷后,正要去執(zhí)行中斷服務(wù)程序時,可能有另一個新的中斷源向它發(fā)出中斷請求。為了不致造成混亂,在CPU的中斷管理部件中必須有一個中斷屏蔽觸發(fā)器,它可以在程序的控制下置“1”(設(shè)置屏蔽),或置“0”(取掉屏蔽)。只有在中斷屏蔽標(biāo)志為“0”時,CPU才可以受理中斷。當(dāng)一條指令執(zhí)行完畢CPU接受中斷請求并作出響應(yīng)時,它一方面發(fā)出中斷響應(yīng)信號INTA,另一方面把中斷屏蔽標(biāo)志置“1”,即關(guān)閉中斷。這樣,CPU不能再受理另外的新的中斷源發(fā)來的中斷請求。如果只有在CPU把中斷服務(wù)程序執(zhí)行完畢以后,它才重新使中斷屏蔽標(biāo)志置“0”,即開放中斷,并返回主程序。這種中斷稱為單重中斷。如果在中斷服務(wù)過程中就開中斷,允許優(yōu)先級更高的中斷源請求中斷并響應(yīng),這就是所謂的多重中斷。(4)中斷返回:恢復(fù)現(xiàn)場,轉(zhuǎn)至原斷點處繼續(xù)執(zhí)行原CPU程序?;謴?fù)現(xiàn)場是指在中斷返回前,必須將寄存器的內(nèi)容恢復(fù)到中斷處理前的狀態(tài),這部分工作也由中斷服務(wù)程序完成。單重中斷和多重中斷的服務(wù)程序流程中斷否?保護現(xiàn)場設(shè)備服務(wù)恢復(fù)現(xiàn)場開中斷中斷返回取指令執(zhí)行指令中斷服務(wù)程序
中斷響應(yīng)程序斷點進棧關(guān)中斷向量地址PC中斷周期是中斷返回保護現(xiàn)場設(shè)備服務(wù)恢復(fù)現(xiàn)場開中斷開中斷開中斷中斷隱指令中斷隱指令否取指令執(zhí)行指令中斷否?否
中斷響應(yīng)程序斷點進棧關(guān)中斷向量地址PC中斷周期是中斷服務(wù)程序單重多重設(shè)備選擇電路DBRDQ&數(shù)據(jù)線啟動命令地址線SEL輸入數(shù)據(jù)啟動設(shè)備設(shè)備工作結(jié)束&1QQDINTRBQQMASK設(shè)備編碼器排隊器中斷查詢來自高一級的排隊器至低一級的排隊器向量地址中斷響應(yīng)
INTA中斷請求命令譯碼①②③④⑤⑥⑦⑧程序中斷方式的基本I/O接口
①10&DBR④⑤⑦⑧設(shè)備選擇電路01以輸入為例②③⑥多重中斷的概念和屏蔽技術(shù)
當(dāng)CPU正在執(zhí)行某個中斷服務(wù)程序時,又發(fā)生了優(yōu)先級別更高的中斷源的中斷請求,于是CPU暫停服務(wù),保護好現(xiàn)場,轉(zhuǎn)去響應(yīng)更高級別的中斷請求,進行新的中斷服務(wù),即多重中斷,又稱中斷嵌套。中斷屏蔽技術(shù)主要用于多重中斷。每個中斷源對應(yīng)一個屏蔽觸發(fā)器MASK(若MASK=1則屏蔽,MASK=0則未屏蔽),將所有屏蔽觸發(fā)器組合在一起,便構(gòu)成一個屏蔽寄存器,其內(nèi)容稱作屏蔽字。屏蔽字與中斷源的優(yōu)先級別是一一對應(yīng)的,所以在中斷服務(wù)程序中設(shè)置適當(dāng)?shù)钠帘巫?,能起到對?yōu)先級別不同的中斷源的屏蔽作用,同時利用屏蔽字也可以任意改變中斷源的優(yōu)先級。例1:某計算機系統(tǒng)有4臺外設(shè)D1、D2
、D3
、D4
,4臺外設(shè)的響應(yīng)優(yōu)先級次序為:D1>D2>D3>
D4,且允許多重中斷。設(shè)屏蔽位Bi=1為屏蔽,Bi=0為開放。(a)要求中斷服務(wù)次序
D1>D2>D3>
D4
則屏蔽字設(shè)置為:
CPU的運行軌跡如下:中斷服務(wù)程序級別
D1D2D3D4屏蔽字B1B2B3B4111011100110001中斷服務(wù)程序D4D3D2D1主程序D3D2D4D2D1若將中斷服務(wù)次序改為:
D1>D4>D3>
D2
則相應(yīng)的屏蔽字設(shè)置為:
CPU的運行軌跡為:中斷服務(wù)程序級別屏蔽字B1B2B3B4
D1D2D3D4
1111010001100111中斷服務(wù)程序D4D3D2D1主程序D3D2D4D2D18.4DMA方式
DMA方式用于高速外設(shè)與主存在DMA控制器的控制下成批交換數(shù)據(jù)。DMA的基本概念
直接內(nèi)存訪問(DMA)是一種通過硬件執(zhí)行I/O交換的工作方式。在這種方式中,DMA控制器從CPU完全接管對總線的控制,數(shù)據(jù)交換不經(jīng)過CPU,而直接在內(nèi)存和I/O設(shè)備之間進行。DMA方式一般用于高速傳送成組數(shù)據(jù)。DMA控制器將向內(nèi)存發(fā)出地址和控制信號,修改地址,對傳送的字的個數(shù)計數(shù),并且以中斷方式向CPU報告?zhèn)魉筒僮鞯慕Y(jié)束。
優(yōu)點:速度快。有利于發(fā)揮CPU的效率。DMA傳送方式(1)停止CPU訪問內(nèi)存方式
由DMA控制器發(fā)停止信號給CPU,DMA控制器從CPU處獲得總線控制權(quán)后,進行數(shù)據(jù)傳送。數(shù)據(jù)傳送后,DMA控制器通知CPU可以使用內(nèi)存,并把總線控制權(quán)交還給CPU。(2)周期挪用(竊?。┓绞?/p>
DMA控制器與主存儲器之間傳送一個數(shù)據(jù),占用(竊?。┮粋€內(nèi)存周期,即CPU暫停工作一個周期,然后繼續(xù)執(zhí)行程序。
(3)DMA與CPU交替訪問方式如果CPU的工作周期比內(nèi)存存取周期長很多,此時采用交替訪內(nèi)的方法可以使DMA傳送和CPU同時發(fā)揮最高的效率。DMA接口的組成和功能(1)DMA控制器的基本組成一個最簡單的DMA控制器由以下邏輯部件組成:
(a)內(nèi)存地址計數(shù)器用于存放內(nèi)存中要交換的數(shù)據(jù)的地址。在DMA傳送前,須通過程序?qū)?shù)據(jù)在內(nèi)存中的起始位置(首地址)送到內(nèi)存地址計數(shù)器。而當(dāng)DMA傳送時,每交換一次數(shù)據(jù),將地址計數(shù)器加“1”,從而以增量方式給出內(nèi)存中要交換的一批數(shù)據(jù)的地址。(b)字計數(shù)器用于記錄傳送數(shù)據(jù)塊的長度(多少字數(shù))。其內(nèi)容也是在數(shù)據(jù)傳送之前由程序預(yù)置,交換的字數(shù)通常以補碼形式表示。在DMA傳送時,每傳送一個字,字計數(shù)器就加“1”,當(dāng)計數(shù)器溢出即最高位產(chǎn)生進位時,表示這批數(shù)據(jù)傳送完畢,于是引起DMA控制器向CPU發(fā)中斷信號。
(c)數(shù)據(jù)緩沖寄存器用于暫存每次傳送的數(shù)據(jù)(一個字)。當(dāng)輸入時,由設(shè)備(如磁盤)送往數(shù)據(jù)緩沖寄存器,再由緩沖寄存器通過數(shù)據(jù)總線送到內(nèi)存。反之,輸出時,由內(nèi)存通過數(shù)據(jù)總線送到數(shù)據(jù)緩沖寄存器,然后再送到設(shè)備。(d)“DMA請求”標(biāo)志每當(dāng)設(shè)備準(zhǔn)備好一個數(shù)據(jù)字后給出一個控制信號,使“DMA請求”標(biāo)志置“1”。該標(biāo)志置位后向“控制/狀態(tài)”邏輯發(fā)出DMA請求,后者又向CPU發(fā)出總線使用權(quán)的請求(HOLD),CPU響應(yīng)此請求后發(fā)回響應(yīng)信號HLDA,“控制/狀態(tài)”邏輯接收此信號后發(fā)出DMA響應(yīng)信號,使“DMA請求”標(biāo)志復(fù)位,為交換下一個字做好準(zhǔn)備。
(e)“控制/狀態(tài)”邏輯由控制和時序電路以及狀態(tài)標(biāo)志等組成,用于修改內(nèi)存地址計數(shù)器和字計數(shù)器,指定傳送類型(輸入或輸出),并對“DMA請求”信號和CPU響應(yīng)信號進行協(xié)調(diào)和同步。(f)中斷機構(gòu)當(dāng)字計數(shù)器溢出時(全0),意味著一組數(shù)據(jù)交換完畢,由溢出信號觸發(fā)中斷機構(gòu),向CPU提出中斷報告。
(2)DMA控制器的功能(a)向CPU申請DMA傳送;(b)在CPU允許DMA工作時處理總線控制權(quán)的轉(zhuǎn)交;(c)在DMA期間管理系統(tǒng)總線,控制數(shù)據(jù)傳送;(d)確定數(shù)據(jù)傳送的起始地址和數(shù)據(jù)長度,修正數(shù)據(jù)傳送過程中的數(shù)據(jù)地址和數(shù)據(jù)長度;(e)在數(shù)據(jù)塊傳送結(jié)束時,給出DMA操作完成的信號。DMA數(shù)據(jù)傳送過程(1)預(yù)處理階段:確定數(shù)據(jù)傳送方向,給相關(guān)寄存器置初始值。如向DMA控制器的設(shè)備地址寄存器中送入設(shè)備號并啟動設(shè)備,向內(nèi)存地址計數(shù)器中送入起始地址,向字計數(shù)器中送入交換的數(shù)據(jù)字個數(shù)等。(2)數(shù)據(jù)傳送階段:DMA挪用主存周期,控制數(shù)據(jù)傳送。DMA的數(shù)據(jù)傳送是以數(shù)據(jù)塊為基本單位進行的,因此,每次DMA控制器占用總線后,無論是數(shù)據(jù)輸入操作,還是輸出操作,都是通過循環(huán)來實現(xiàn)的。當(dāng)進行輸入操作時,外圍設(shè)備的數(shù)據(jù)(一次一個字或一個字節(jié))傳向內(nèi)存;當(dāng)進行輸出操作時,內(nèi)存的數(shù)據(jù)傳向外圍設(shè)備。(3)后處理階段:申請CPU中斷,結(jié)束DMA操作。一旦DMA的中斷請求得到響應(yīng),CPU停止主程序的執(zhí)行,轉(zhuǎn)去執(zhí)行中斷服務(wù)程序做一些DMA的結(jié)束處理工作。這些工作包括校驗送入內(nèi)存的數(shù)據(jù)是否正確;決定繼續(xù)用DMA方式傳送下去,還是結(jié)束傳送;測試在傳送過程中是否發(fā)生了錯誤等等。
預(yù)處理:主存起始地址設(shè)備地址傳送數(shù)據(jù)個數(shù)啟動設(shè)備DMADMADMA數(shù)據(jù)傳送:繼續(xù)執(zhí)行主程序同時完成一批數(shù)據(jù)傳送后處理:中斷服務(wù)程序做DMA結(jié)束處理繼續(xù)執(zhí)行主程序CPU
DMA傳送過程示意允許傳送?主存地址送總線數(shù)據(jù)送I/O設(shè)備(或主存)主存地址加1傳送個數(shù)減1數(shù)據(jù)塊傳送結(jié)束?向CPU申請程序中斷DMA請求否否
溫馨提示
- 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)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 收入政策審計方案
- 擺攤氣球采購方案
- 搭建游戲課程設(shè)計
- 插齒機機構(gòu)課程設(shè)計
- 插畫風(fēng)景線條課程設(shè)計
- 插畫水彩課程設(shè)計
- 課程設(shè)計結(jié)束后感謝的話
- 航空客服課程設(shè)計
- 企業(yè)宣傳專題片合同書
- 不動產(chǎn)買賣協(xié)議樣本
- DB11-T 1028-2021 民用建筑節(jié)能門窗工程技術(shù)標(biāo)準(zhǔn)
- 學(xué)校矛盾糾紛排查化解工作方案(3篇)
- 2023-2024學(xué)年北京海淀區(qū)首都師大附中初二(上)期中道法試題及答案
- 2024河南鄭州熱力集團限公司招聘公開引進高層次人才和急需緊缺人才筆試參考題庫(共500題)答案詳解版
- 英語默寫版-高考英語詞匯3500詞
- 空氣源熱泵機房系統(tǒng)施工安全生產(chǎn)保證措施
- 設(shè)備采購 投標(biāo)方案(技術(shù)方案)
- 新蘇教版六年級上冊《科學(xué)》全一冊全部課件(含19課時)
- 公共關(guān)系學(xué)完整教學(xué)課件
- 淺談城市燃氣管網(wǎng)安全運行存在問題及處理對策
- 四環(huán)節(jié)五步驟教學(xué)心得體會(共7篇)
評論
0/150
提交評論