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

下載本文檔

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

文檔簡介

第八章輸入輸出系統(tǒng)主講教師莊春興

計(jì)算機(jī)的輸入輸出系統(tǒng)簡稱為I/O系統(tǒng),它包括第八章輸入輸出系統(tǒng)本章內(nèi)容:

外圍設(shè)備的定時方式和信息交換方式重點(diǎn)介紹程序中斷方式、DMA方式、通道方式介紹通用并行I/O標(biāo)準(zhǔn)接口SCSI

I/O接口I/O管理部件有關(guān)軟件一個計(jì)算機(jī)系統(tǒng)的綜合處理能力,系統(tǒng)的可擴(kuò)展性、兼容性和性能價格比,都和I/O系統(tǒng)有密切關(guān)系。8.1外圍設(shè)備的定時方式與信息交換方式8.1.1外圍設(shè)備的定時方式外圍設(shè)備的種類很多;其輸入信號,可以是數(shù)字式的電壓,也可以是

模擬式的電壓和電流。數(shù)據(jù)傳輸速率來講,相差也很懸殊。首先遇到的一個問題,就是如何保證主機(jī)與外圍設(shè)備在時間上同步8.1外圍設(shè)備的定時方式與信息交換方式輸入/輸出設(shè)備同CPU交換數(shù)據(jù)的過程輸入過程三個步驟;(1)CPU把一個地址放在地址總線上,選擇某一輸入設(shè)備;(2)CPU等候輸入設(shè)備的數(shù)據(jù)成為有效;(3)CPU從數(shù)據(jù)總線讀入數(shù)據(jù),并放在一個相應(yīng)的寄存器中。輸出過程三個步驟:(1)CPU把一個地址值放在地址總線上,選擇輸出設(shè)備;(2)CPU把數(shù)據(jù)放在數(shù)據(jù)總線上;(3)輸出設(shè)備認(rèn)為數(shù)據(jù)有效,從而把數(shù)據(jù)取走。

對這類設(shè)備,如機(jī)械開關(guān)、顯示二極管等等,CPU總是能足夠快地作出響應(yīng)。由于輸入/輸出設(shè)備本身的速度差異很大,因此,對于不同速度的外圍設(shè)備,需要有不同的定時方式。CPU與外圍設(shè)備之間的定時,有以下三種情況。從輸入/輸出過程看,問題的關(guān)鍵就在于;究竟什么時候數(shù)據(jù)才成為有效?1.速度極慢或簡單的外圍設(shè)備由于這類設(shè)備的速度和CPU的速度并不在一個數(shù)量級,或者由于設(shè)備(如鍵盤)本身是在不規(guī)則時間間隔下操作的,因此,CPU與這類設(shè)備之間的數(shù)據(jù)交換通常采用:異步定時方式其定時過程如下:2.慢速或中速的外圍設(shè)備

◆通常,把這種在CPU和外設(shè)間用問答信號進(jìn)行定時的方式叫應(yīng)答式數(shù)據(jù)交換外設(shè)先發(fā)出請求輸出信號,CPU詢問外設(shè)是否準(zhǔn)備就緒。如果外設(shè)已準(zhǔn)備就緒,CPU便發(fā)出準(zhǔn)備就緒信號,并送出數(shù)據(jù)外設(shè)接收數(shù)據(jù)以后,將向CPU發(fā)出‘?dāng)?shù)據(jù)已經(jīng)取走’的通知◆◆◆◆一旦CPU和外設(shè)發(fā)生同步,它們之間的數(shù)據(jù)交換便靠時鐘脈沖控制來進(jìn)行。3.高速的外圍設(shè)備由于這類外設(shè)是以相等的時間間隔操作的,而CPU也是以等間隔的速率執(zhí)行輸入/輸出指令的,因此。更快的同步傳送要采用直接內(nèi)存訪問(DMA)方式這種方式叫做同步同步定時方式8.1.2信息交換方式CPU管理外圍設(shè)備的方式。1.程序查詢方式2.程序中斷方式3.直接內(nèi)存訪問(DMA)方式4.通道方式

5.外圍處理機(jī)方式數(shù)據(jù)在CPU和外圍設(shè)備之間的傳送完全靠計(jì)算機(jī)程序控制。中斷是外圍設(shè)備用來‘主動’通知CPU,準(zhǔn)備送出輸入數(shù)據(jù)或接收輸出數(shù)據(jù)的一種方法。優(yōu)點(diǎn):CPU的操作和外圍設(shè)備的操作能夠同步,而且硬件結(jié)構(gòu)比較簡單問題:外圍設(shè)備動作很慢,程序進(jìn)入查詢循環(huán)時將白白浪費(fèi)掉CPU很多時間。同程序查詢方式相比,硬件結(jié)構(gòu)相對復(fù)雜一些,服務(wù)開銷時間較大。1.程序查詢方式2.程序中斷方式中斷方式一般適用于隨機(jī)出現(xiàn)的服務(wù)。優(yōu)點(diǎn):它節(jié)省了CPU寶貴的時間,是管理I/O操作的一個比較有效的方法。優(yōu)點(diǎn):數(shù)據(jù)傳送速度很高,傳送速率僅受到內(nèi)存訪問時間的限制。3.直接內(nèi)存訪問(DMA)方式通道的出現(xiàn)則進(jìn)一步提高了CPU的效率。這是因?yàn)?,CPU將部分權(quán)力下放給通道。4.通道方式直接內(nèi)存訪問(DMA)方式是一種完全由硬件執(zhí)行I/O交換的工作方式。與中斷方式相比,需要更多的硬件。此時,DMA控制器從CPU完全接管對總線的控制,數(shù)據(jù)交換直接在內(nèi)存和外圍設(shè)備之間進(jìn)行,以高速傳送數(shù)據(jù)。通道是一個具有特殊功能的處理器,它可以實(shí)現(xiàn)對外圍設(shè)備的統(tǒng)一管理和外圍設(shè)備與內(nèi)存之間的數(shù)據(jù)傳送。然而這種提高CPU效率的辦法是以花費(fèi)更多硬件為代價的。PPU基本上獨(dú)立于主機(jī)工作,它的結(jié)構(gòu)更接近一般處理機(jī),甚至就是微小型計(jì)算機(jī)。從某種意義上說,這種系統(tǒng)已變成分布式的多機(jī)系統(tǒng)。

5.外圍處理機(jī)方式外圍處理機(jī)[PPU]方式是通道方式的進(jìn)一步發(fā)展。主要程序?qū)崿F(xiàn)主要由附加硬件實(shí)現(xiàn)I/O控制方式程序查詢方式程序中斷方式DMA方式通道方式PPU方式外圍設(shè)備的輸入/輸出方式總結(jié)

程序查詢方式和程序中斷方式適用于數(shù)據(jù)傳輸率比較低的外圍設(shè)備。

DMA方式、通道方式和PPU方式適用于數(shù)據(jù)傳輸率比較高的設(shè)備。通道方式和PPU方式大都用在中、大型計(jì)算機(jī)中。目前,單片機(jī)和微型機(jī)中多采用程序查詢方式、程序中斷方式和DMA方式。8.2程序中斷方式主程序A中斷請求主程序A中斷服務(wù)子程序B中斷請求C中斷請求B中斷服務(wù)子程序C中斷服務(wù)子程序中斷處理示意圖在程序中斷方式中,某一外設(shè)的數(shù)據(jù)準(zhǔn)備就緒后,它“主動”向CPU發(fā)出請求中斷的信號,請求CPU暫時中斷目前正在執(zhí)行的程序而進(jìn)行數(shù)據(jù)交換。當(dāng)CPU響應(yīng)這個中斷時,便暫停運(yùn)行主程序,并自動轉(zhuǎn)移到該設(shè)備的中斷服務(wù)程序。當(dāng)中斷服務(wù)程序結(jié)束以后,CPU又回到原來的主程序。這種原理和調(diào)用子程序相仿,不過,這里要求轉(zhuǎn)移到中斷服務(wù)程序的請求是由外部設(shè)備發(fā)出的。中斷方式特別適合于隨機(jī)出現(xiàn)的服務(wù)。8.2.1中斷的基本概念實(shí)際的中斷過程還要復(fù)雜一些

第一個問題

CPU只有在當(dāng)前一條指令執(zhí)行完畢后,即轉(zhuǎn)入公操作時才受理設(shè)備的中斷請求,這樣才不致于使當(dāng)前指令的執(zhí)行受到于擾。

第二個問題

必須把程序計(jì)數(shù)器PC的內(nèi)容,以及當(dāng)前指令執(zhí)行結(jié)束后CPU的狀態(tài)都保存到堆棧中去。這些操作叫做保存現(xiàn)場。第三個問題

當(dāng)CPU響應(yīng)中斷后,正要去執(zhí)行中斷服務(wù)程序時,可能有另一個新的中斷源向它發(fā)出中斷請求。為了不致造成混亂,在CPU的中斷管理部件中必須有一個‘中斷屏蔽’觸發(fā)器第四個問題

中斷處理過程是由硬件和軟件結(jié)合來完成的。‘中斷周期’由硬件實(shí)現(xiàn),中斷服務(wù)程序由機(jī)器指令序列實(shí)現(xiàn)。取指令中斷轉(zhuǎn)到中斷子程序執(zhí)行指令響應(yīng)中斷關(guān)中斷,即‘中斷屏蔽’置位找出中斷源,并保存(PC0保存CPU現(xiàn)場設(shè)備服務(wù)恢復(fù)CPU現(xiàn)場開中斷,即‘中斷屏蔽’復(fù)位中斷周期中斷服務(wù)子程序8.2.8程序中斷方式的基本接口接口電路中有一個工作標(biāo)志觸發(fā)器BS,就緒標(biāo)志觸發(fā)器RD,還有一個控制觸發(fā)器,它叫允許中斷觸發(fā)器(EI)。動作開始動作結(jié)束傳送數(shù)據(jù)數(shù)據(jù)緩沖寄存器中斷向量邏輯設(shè)備選擇公用寄存器PCIR控制01BS01RD01EI01IM01IR①②③④⑧⑨⑩⑦⑥⑧⑤IR請求數(shù)據(jù)總線中斷SCCPU接口設(shè)備INTA8.2.3單級中斷1.單級中斷的概念所有的中斷源都屬于同一級,所有中斷源觸發(fā)器排成一行,其優(yōu)先次序是離CPU近的優(yōu)先權(quán)高。當(dāng)響應(yīng)某一中斷請求時,不允許其他中斷源再打斷中斷服務(wù)程序,即使優(yōu)先權(quán)比它高的中斷源也不能再打斷。只有該中斷服務(wù)程序執(zhí)行完畢之后,才能響應(yīng)其他中斷。圖中所有的I/O設(shè)備通過一條線向CPU發(fā)出中斷請求信號。CPU響應(yīng)中斷請求后,發(fā)出中斷響應(yīng)信號INTA,以鏈?zhǔn)讲樵兎绞阶R別中斷源。01IM中斷接口CPU中斷接口中斷接口01IRIRS地址線數(shù)據(jù)線…中斷主程序單級中斷服務(wù)程序INTA單級中斷示意圖單級中斷結(jié)構(gòu)圖2.單級中斷源的識別如何確定中斷源,并轉(zhuǎn)入被響應(yīng)的中斷服務(wù)程序入口地址,是中斷處理首先要解決的問題。在單級個斷中,采用串行排隊(duì)鏈法來實(shí)現(xiàn)具有公共請求線的中斷源判優(yōu)識別。789IR1123456IR2IR3IR1IS1IR2IS2IR3IS3INTIINTA編碼器001010001011001000數(shù)據(jù)總線INTO串行排隊(duì)鏈判優(yōu)識別邏輯及中斷向量產(chǎn)生3.中斷向量的產(chǎn)生開關(guān)理論中把若干個布爾量排成的序列定義為布爾向量。由于存儲器的地址碼是一串布爾量的序列,因此常常把地址碼稱為向量地址。當(dāng)CPU響應(yīng)中斷時,由硬件直接產(chǎn)生一個固定的地址(即向量地址),由向量地址指出每個中斷源設(shè)備的中斷。顯然,每個中斷源分別有一個中斷服務(wù)程序,而每個中斷服務(wù)程序又有自己的向量地址。當(dāng)CPU識別出某中斷源時,由硬件直接產(chǎn)生一個與該中斷源對應(yīng)的向量地址,很快便引入中斷服務(wù)程序。向量中斷要求在硬件設(shè)計(jì)時考慮所有中斷源的向量地址,而實(shí)際中斷時只能產(chǎn)生一個向量地址。圖8.6中上面部分即為中斷向量產(chǎn)生邏輯,它是由編碼電路實(shí)現(xiàn)的。有些計(jì)算機(jī)中由硬件產(chǎn)生的向量地址不是直接地址,而是一個“位移量”,這個位移量加上CPU某寄存器里存放的基地址,最后得到中斷處理程序的入口地址。還有一種采用向量地址轉(zhuǎn)移的方法。假設(shè)有8個中斷源,由優(yōu)先級編碼電路產(chǎn)生8個對應(yīng)的固定地址碼(例如o,1,2,…,7),這8個單元中存放的是轉(zhuǎn)移指令,通過轉(zhuǎn)移指令可轉(zhuǎn)入設(shè)備各自的中斷服務(wù)程序入口。這種方法允許中斷處理程序放在內(nèi)存中任何地方,非常靈活。8.2.4多級中斷1.多級中斷的概念多級中斷系統(tǒng)是計(jì)算機(jī)系統(tǒng)中有相當(dāng)多的中斷源,根據(jù)各中斷時間的輕重緩急程度不同而分成若干級別,每一中斷級分配給一個優(yōu)先權(quán)。一維多級中斷是指每一級中斷里只有一個中斷源二維多級中斷是指每一級中斷里又有多個中斷源后圖中虛線左邊結(jié)構(gòu)為一維多級中斷,如果去掉虛線則成為二維多級中斷結(jié)構(gòu)。根據(jù)系統(tǒng)的配置不同,多級中斷又可分為一維多級中斷二維多級中斷,設(shè)備G設(shè)備H設(shè)備I設(shè)備D設(shè)備E設(shè)備F設(shè)備A設(shè)備B設(shè)備C01IM001IR001IM101IR101IM201IR2中斷優(yōu)先級排隊(duì)電路與中斷控制邏輯高優(yōu)先權(quán)低高優(yōu)先權(quán)低CPU01IM10級IR1級IR2級IR一級中斷服務(wù)程序二級中斷服務(wù)程序三級中斷服務(wù)程序主程序多級中斷對多級中斷,我們著重說明如下幾點(diǎn):第一,一個系統(tǒng)若有n級中斷,在CPU中就有n個中斷請求觸發(fā)器,總稱為中斷請求寄存器,與之對應(yīng)的有1個中斷屏蔽觸發(fā)器,總稱為中斷屏蔽寄存器。第四,和單級中斷情況類似,在多級中斷中也使用中斷堆棧保存現(xiàn)場信息。使用堆棧保存現(xiàn)場的好處是:(1)控制邏輯簡單,保存和恢復(fù)現(xiàn)場的過程按先進(jìn)后出順序進(jìn)行。(2)每一級中斷不必單獨(dú)設(shè)置現(xiàn)場保護(hù)區(qū),各級中斷現(xiàn)場可按其順序放在同一個棧里。第三,設(shè)置多級中斷的系統(tǒng)一般都希望有較快的中斷響應(yīng)時間,因此首先響應(yīng)哪一級中斷和哪一個中斷源,都是由硬件邏輯實(shí)現(xiàn),而不是用程序?qū)崿F(xiàn)。另外,在二維中斷結(jié)構(gòu)中,除了有中斷優(yōu)先級排隊(duì)電路確定優(yōu)先響應(yīng)中斷級外,還要確定優(yōu)先響應(yīng)的中斷源,一般通過鏈?zhǔn)讲樵兊挠布壿媮韺?shí)現(xiàn)。顯然,這里采用了獨(dú)立請求方式與鏈?zhǔn)讲樵兎绞较嘟Y(jié)合的方法決定首先響應(yīng)哪個中斷源。第二,多級中斷中的每一級可以只有一個中斷源,也可以有多個中斷源。2.多級中斷源的識別

在多級中斷中,每一級均有一根中斷請求線送往CPU的中斷優(yōu)先級排隊(duì)電路,對每一級賦予了不同的優(yōu)先級。顯然這種結(jié)構(gòu)就是獨(dú)立請求方式的邏輯結(jié)構(gòu)。

圖示出了獨(dú)立請求方式的中斷優(yōu)先級排隊(duì)與中斷向量產(chǎn)生的邏輯結(jié)構(gòu)。每個中斷請求信號保存在“中斷請求”觸發(fā)器中,經(jīng)“中斷屏蔽”觸發(fā)器控制后,可能有若干個中斷請求情號IR'進(jìn)入虛線框所示的排隊(duì)電路。8.2.58259中斷控制器8.2.6奔騰中斷機(jī)制1.中斷類型

pentiMm有兩類中斷源。即中斷和異常。中斷通常稱為外部中斷,它是由CPU的外部硬件信號引發(fā)的。有兩種情況:(1)可屏蔽中斷:如果CPU中標(biāo)志寄存器IF=l時,可引發(fā)中斷;IF=O時,中斷請求信號在CPU內(nèi)部被禁止。(2)非屏蔽中斷:這類中斷不能被禁止。異常通常稱為異常中斷,它是由指令執(zhí)行引發(fā)的。有兩種情況①執(zhí)行異常:CPU執(zhí)行一條指令過程中出現(xiàn)錯誤、故障等不正常條件引發(fā)的中斷;②執(zhí)行軟件中斷指令:如執(zhí)行INT0,INT3,INTn等指令,執(zhí)行時產(chǎn)生異常中斷。詳細(xì)分類的話,pentium共有256種中斷和異常。每種中斷給予一個編號,稱為中斷向量號(0一255),以便發(fā)生中斷時,程序轉(zhuǎn)向相應(yīng)的中斷服務(wù)子程序入口地址。2,中斷服務(wù)子程序進(jìn)入過程中斷服務(wù)子程序的入口地址信息存于中斷向量號檢索表內(nèi)。實(shí)模式為中斷向量表IVT,保護(hù)模式為中斷描述符表IDT。CPU識別中斷類型取得中斷向量號的途徑有三種:(1)指令給出,如軟件中斷指令I(lǐng)NTn中的”即為中斷向量號。(2)外部提供:可屏蔽中斷是在CPU接收到INTR信號時產(chǎn)生一個中斷識別周期,接收外部中斷控制器由數(shù)據(jù)總線送來的中斷向量號;非屏蔽中斷是在接收到NMI信號時中斷向量號固定為2。(3)CPU識別錯誤、故障現(xiàn)象,根據(jù)異常和中斷產(chǎn)生的條件自動指定向量號。

CPU依據(jù)中斷向量號獲取中斷服務(wù)子程序入口地址,但在實(shí)模式下和保護(hù)模式下采用不同的途徑。3.中斷處理過程(1)當(dāng)中斷處理的CPU控制權(quán)轉(zhuǎn)移涉及到特權(quán)級改變時,必須把當(dāng)前的SS和ESP兩個寄存器的內(nèi)容壓入系統(tǒng)堆棧予以保存。(2)標(biāo)志寄存器EFLAGS的內(nèi)容也壓入堆棧。(3)清除標(biāo)志觸發(fā)器TF和IF。(4)當(dāng)前的代碼段寄存器CS和指令指針EIP也壓入此堆棧。(5)如果中斷發(fā)生伴隨有錯誤碼,則錯誤碼也壓入此堆棧。(6)完成上述中斷現(xiàn)場保護(hù)后,從中斷向量號獲取的中斷服務(wù)子程序入口地址(段:偏移)分別裝入CS和EIP,開始執(zhí)行中斷服務(wù)子程序。(7)中斷服務(wù)子程序最后的IRET指令使中斷返回。保存在堆棧中的中斷現(xiàn)場信息被恢復(fù),并由中斷點(diǎn)繼續(xù)執(zhí)行原程序。8.3DMA方式DMA的傳輸過程內(nèi)存爭用DMA方式進(jìn)行數(shù)據(jù)傳送時,CPU仍執(zhí)行主程序,此時DMA控制邏輯與CPU可能同時要訪問主存,引起主存使用權(quán)的沖突。如何處理這種沖突呢?停止CPU使用主存DMA與CPU交替使用主存周期挪用法停止CPU使用主存當(dāng)DMA傳送數(shù)據(jù)時,CPU停止工作,把主存使用權(quán)交給DMA控制邏輯。在這批數(shù)據(jù)傳送結(jié)束后,DMA再交還主存使用權(quán)優(yōu)點(diǎn):控制簡單,適合高速設(shè)備成組傳送數(shù)據(jù); 缺點(diǎn):DMA控制器訪問內(nèi)存的時間里,內(nèi)存的效能沒有充分發(fā)揮。周期挪用法CPU讓出一兩個周期的總線控制權(quán),由I/O設(shè)備挪用,進(jìn)行一次數(shù)據(jù)傳送;然后,DMA控制器把總線控制權(quán)交還CPU,CPU繼續(xù)工作。重復(fù),直到數(shù)據(jù)塊傳送完。CPU不需要訪存時,I/O設(shè)備挪用一兩個內(nèi)存周期對CPU執(zhí)行程序沒有影響;I/O設(shè)備和CPU同時要求訪存時,I/O設(shè)備訪存優(yōu)先,因I/O設(shè)備有時間要求,不能錯過收發(fā)數(shù)據(jù)的機(jī)會。這種方法使用較多。含申請、建立、傳送、歸還過程DMA與CPU交替訪問內(nèi)存這種方法是把一個存取周期一分為二,一半給DMA使用,一半給CPU使用。其原理示意圖如下。這種方式不需要總線使用權(quán)的申請、建立和歸還過程,總線使用權(quán)是分時控制的。CPU和DMA控制器各有自己訪問內(nèi)存的地址寄存器、數(shù)據(jù)寄存器、讀寫信號等控制寄存器??偩€控制權(quán)的轉(zhuǎn)移幾乎不需要時間,DMA傳送效率很高。但硬件控制邏輯也就更加復(fù)雜,而且在沒有DMA數(shù)據(jù)傳送情況下,時間片被浪費(fèi)。4、基本的DMA控制器DMA各部件的功能內(nèi)存地址計(jì)數(shù)器:用來存放要交換數(shù)據(jù)的內(nèi)存地址。傳送長度計(jì)數(shù)器:用來記錄傳送數(shù)據(jù)塊的長度。數(shù)據(jù)緩沖寄存器:暫存?zhèn)魉偷臄?shù)據(jù)。DMA請求觸發(fā)器:外設(shè)準(zhǔn)備好一個數(shù)據(jù)后就給出一個控制信號,使DMA請求觸發(fā)器置1。該標(biāo)志引發(fā)DMA請求,即“控制/狀態(tài)邏輯”向CPU發(fā)出總線使用權(quán)的請求(HRQ),CPU以HLDA響應(yīng),“控制/狀態(tài)邏輯”接收此信號后發(fā)出DMA響應(yīng)信號,使DMA請求觸發(fā)器復(fù)位??刂?狀態(tài)邏輯:用于修改內(nèi)存地址計(jì)數(shù)器和字計(jì)數(shù)器、指定傳送方向、并對DMA請求信號和CPU響應(yīng)信號協(xié)調(diào)和同步。中斷機(jī)構(gòu):當(dāng)一數(shù)據(jù)塊傳送完成,溢出信號觸發(fā)中斷機(jī)構(gòu),向CPU提出中斷請求,報告數(shù)據(jù)傳送結(jié)束。CPU將進(jìn)行DMA傳送的收尾處理。5、DMA數(shù)據(jù)傳送過程 可分為三個階段:準(zhǔn)備階段、傳送階段、結(jié)束階段。準(zhǔn)備階段: 在DMA傳送前必須做好準(zhǔn)備工作,主機(jī)向DMA接口傳送以下信息:讀/寫命令。向DMA控制器的主存地址計(jì)數(shù)器送數(shù)據(jù)塊在內(nèi)存中的首地址。向DMA控制器的設(shè)備地址寄存器送設(shè)備號。向傳送長度計(jì)數(shù)器送數(shù)據(jù)字個數(shù)。啟動DMA。這些工作做完之后,CPU繼續(xù)原來的工作。DMA數(shù)據(jù)傳送過程(續(xù))傳送階段外設(shè)準(zhǔn)備好收發(fā)數(shù)據(jù)時,向主機(jī)發(fā)DMA請求。CPU在本機(jī)器周期結(jié)束后,響應(yīng)該請求、并使CPU的總線驅(qū)動器處于高阻狀態(tài),讓出主存使用權(quán)。DMA控制器發(fā)送內(nèi)存地址、讀/寫命令。挪用一個存儲周期,傳送一個數(shù)據(jù),主存地址計(jì)數(shù)器加1,字計(jì)數(shù)器減1,如果用補(bǔ)碼表示則加1。判斷數(shù)據(jù)是否傳送完畢,即計(jì)數(shù)器是否等于0。若不為0,則撤銷DMA請求,繼續(xù)第一步的動作;若字計(jì)數(shù)器為0,進(jìn)入結(jié)束階段。DMA的傳送流程DMA請求DMA響應(yīng)傳送一個字DMA結(jié)束NY傳送完?修改地址指針和字計(jì)數(shù)器發(fā)送內(nèi)存地址DMA數(shù)據(jù)傳送過程(續(xù))結(jié)束階段

DMA控制器向主機(jī)發(fā)出中斷請求,報告數(shù)據(jù)傳送結(jié)束。CPU停止主程序執(zhí)行,轉(zhuǎn)向中斷服務(wù)程序進(jìn)行DMA操作的后處理,包括校驗(yàn)送入內(nèi)存的數(shù)據(jù)、決定是否繼續(xù)DMA數(shù)據(jù)傳送、測試是否發(fā)生錯誤等。

6、DMA方式與中斷控制方式比較中斷方式通過程序?qū)崿F(xiàn)數(shù)據(jù)傳送,而DMA直接用硬件來實(shí)現(xiàn)數(shù)據(jù)傳送。CPU在執(zhí)行完一條指令后響應(yīng)中斷,而在一個機(jī)器周期結(jié)束后響應(yīng)DMA請求。中斷方式不僅具有傳送數(shù)據(jù)的能力,還能處理異常事件;而DMA只能進(jìn)行數(shù)據(jù)傳送。中斷方式需要切換程序、保護(hù)現(xiàn)場和恢復(fù)現(xiàn)場;而DMA僅挪用一個存儲周期,不改變CPU現(xiàn)場。DMA請求比中斷請求優(yōu)先級高。之所以優(yōu)先響應(yīng)DMA請求,是為了防止丟失DMA高速傳送的數(shù)據(jù)。選擇型和多路型DMA控制器選擇型DMA控制器選擇型和多路型DMA控制器多路型DMA控制器8.4通道方式具有通道的計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)圖通道的功能接受CPU的I/O指令,按指令要求與外設(shè)進(jìn)行聯(lián)系。從內(nèi)存取出屬于自己的通道指令,經(jīng)譯碼后向設(shè)備控制器發(fā)送各種命令。在外設(shè)和內(nèi)存之間進(jìn)行數(shù)據(jù)傳送,并根據(jù)需要提供數(shù)據(jù)緩沖空間、以及數(shù)據(jù)存放的主存地址和傳送的數(shù)據(jù)量。根據(jù)要求把從外設(shè)得到狀態(tài)信息、以及通道自身的狀態(tài)信息送給CPU,供其使用。將外設(shè)的中斷請求和通道請求按次序及時報告CPU。

CPU對通道的管理

在具有通道結(jié)構(gòu)的計(jì)算機(jī)中,CPU是通過處理來自通道的中斷以及執(zhí)行I/O指令實(shí)現(xiàn)對通道的管理的。來自通道的中斷有兩種:數(shù)據(jù)傳送結(jié)束中斷故障中斷CPU對通道的管理(續(xù))通常把CPU運(yùn)行操作系統(tǒng)管理程序的狀態(tài)稱為管態(tài),而把CPU執(zhí)行用戶程序的狀態(tài)稱為目態(tài)。大、中型計(jì)算機(jī)的I/O指令都屬于管態(tài)指令,只有當(dāng)CPU處于管態(tài)時,才能運(yùn)行I/O指令。這是因?yàn)榇?、中型?jì)算機(jī)的軟硬件資源為多個用戶共享,而不是分給某個用戶專用的,需要統(tǒng)一管理。CPU

通道設(shè)備控制器

外設(shè)通道對設(shè)備控制器的管理

通道通過使用通道指令指揮設(shè)備控制器進(jìn)行數(shù)據(jù)傳送操作。設(shè)備控制器是通道對I/O設(shè)備實(shí)現(xiàn)傳輸控制的執(zhí)行機(jī)構(gòu)。設(shè)備控制器的具體任務(wù)如下:從通道接收通道命令,控制外設(shè)完成所

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論