第八章輸入輸出系統(tǒng)_第1頁
第八章輸入輸出系統(tǒng)_第2頁
第八章輸入輸出系統(tǒng)_第3頁
第八章輸入輸出系統(tǒng)_第4頁
第八章輸入輸出系統(tǒng)_第5頁
已閱讀5頁,還剩55頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

第八章輸入輸出系統(tǒng)p272外圍設(shè)備的定時(shí)方式與信息交換方式程序中斷方式DMA方式通道方式通用I/O標(biāo)準(zhǔn)接口8.1外圍設(shè)備的定時(shí)方式與信息交換方式8.1.1外圍設(shè)備的定時(shí)方式外圍設(shè)備的種類相當(dāng)繁多,有機(jī)械式和電動(dòng)式,也有電子式和其他形式。輸入信號(hào),可以是數(shù)字的電壓,也可以是模擬式的電壓和電流。

由于輸入/輸出設(shè)備本身的速度差異很大,對于不同的速度外圍設(shè)備,要有不同的定時(shí)的方式,cpu與外圍設(shè)備之間的定時(shí),有以下三種情況。1.速度極慢或簡單的外圍設(shè)備2.慢速或中速的外圍設(shè)備3.高速外設(shè)設(shè)備8.1.2

信息交換方式p273(1)程序查詢方式(2)程序中斷方式(3)直接內(nèi)存訪問(DMA)方式(4)通道方式(5)外設(shè)處理機(jī)方式

外圍設(shè)備的輸入/輸出方式圖8.1

所示。8.2程序中斷方式

8.2.1中斷的基本概念程序中斷概念1.外部設(shè)備發(fā)出請求中斷2.響應(yīng)中斷,暫停運(yùn)行主程序3.轉(zhuǎn)移到中斷服務(wù)程序4.結(jié)束中斷服務(wù)程序,cpu回到原來的主程序。圖8.2示出了中斷處理示意圖。圖8.3示出了中斷處理過程的詳細(xì)流程圖。圖8.2中斷處理示意圖圖8.3中斷處理過程詳細(xì)流程圖

程序中斷方式的基本接口示意圖如圖8.4所示。1.工作標(biāo)志器觸發(fā)器BS2.就緒標(biāo)志觸發(fā)器RD3.允許中斷觸發(fā)器EI.

在CPU方面,有決定是否受理中斷請求的機(jī)構(gòu),主要是:“中斷請求”標(biāo)志IR觸發(fā)器“中斷屏蔽”標(biāo)志IM觸發(fā)器.8.2.2程序中斷方式的基本接口圖8.4程序中斷方式基本接口示意圖123456788910

8.2.3單級(jí)中斷P278

1單級(jí)中斷的概念

計(jì)算機(jī)系統(tǒng)對中斷處理的策略不同,可分為單級(jí)中斷系統(tǒng)和多級(jí)中斷。圖8.5(a)單級(jí)中斷示意圖圖8.5(b)單級(jí)中斷系統(tǒng)結(jié)構(gòu)圖.圖8.5單級(jí)中斷2單級(jí)中斷源的識(shí)別中斷處理首先要解決的問題:

如何確定中斷,并轉(zhuǎn)入被響應(yīng)的中斷服務(wù)程序入口地址.

圖中下面的虛線部分是一個(gè)串行的優(yōu)先鏈,稱作中斷優(yōu)先級(jí)排隊(duì)鏈。中斷選中中斷請求中斷輸入中斷輸出中斷識(shí)別3.中斷向量的產(chǎn)生開關(guān)理論中把若干個(gè)布爾量排成的序列定義為布爾向量,由于存儲(chǔ)器的地址碼是一串布爾量的序列,常常把地址碼稱為向量地址。圖8.6中上面部分即為中斷向量產(chǎn)生邏輯,它是由編碼電路實(shí)現(xiàn)的.

8.2.4多級(jí)中斷1.多級(jí)中斷的概念多級(jí)中斷系統(tǒng)是指計(jì)算機(jī)系統(tǒng)中有相當(dāng)多的中斷源,根據(jù)各中斷事件的輕重緩急程度不同而分成級(jí)別,每一中斷分配給一個(gè)優(yōu)先權(quán)。圖8.7(a)所示,三級(jí)中斷優(yōu)先權(quán)高于二級(jí),二級(jí)中斷優(yōu)先權(quán)又高于一級(jí)。圖8.7(b)所示。根據(jù)系統(tǒng)的配置不同,多級(jí)中斷又可分為一維多級(jí)中斷和二維多級(jí)中斷,2.多級(jí)中斷源的識(shí)別在多級(jí)中斷中,每一級(jí)均有一根中斷請求線送往cpu的中斷優(yōu)先級(jí)排隊(duì)電路,對每一級(jí)蘊(yùn)予了不同的優(yōu)先級(jí)。顯然這種結(jié)構(gòu)就是獨(dú)立請求方式的邏輯結(jié)構(gòu)。

圖8.8示出了獨(dú)立請求方式的中斷優(yōu)先級(jí)排隊(duì)與中斷向量產(chǎn)生的邏輯的結(jié)構(gòu)。101102103104101102103104IR1IR1IR2IR3IR4IR2IR3IR4向量地址圖8.8獨(dú)立請求方式的優(yōu)先級(jí)排隊(duì)邏輯編碼器排隊(duì)器中斷請求寄存器中斷屏蔽寄存器例1參見圖8.7所示的二維中斷系統(tǒng)。請問:(1)在中斷情況下,cpu和設(shè)備的優(yōu)先級(jí)如何考慮?請按降序排列各設(shè)備的中斷優(yōu)先級(jí)。(2)若cpu現(xiàn)執(zhí)行設(shè)備b的中斷服務(wù)程序,im2,im1,im3的狀態(tài)時(shí)什么?如果cpu執(zhí)行設(shè)備d的中斷服務(wù)程序,im2,im1,im0的狀態(tài)有什么?(3)每一級(jí)的IM能否對每一個(gè)優(yōu)先級(jí)的個(gè)別設(shè)備單獨(dú)進(jìn)行屏蔽?如果不能,采取什么辦法可達(dá)到目的?(4)假如設(shè)備c-提出中斷請求,cpu立即進(jìn)行響應(yīng),如何調(diào)整才能滿足此要求?解:(1)中斷情況下,cpu

的優(yōu)先級(jí)最低。各設(shè)備的優(yōu)先次序是:a-b-c-d-e-f-g-I-cpu.(2)執(zhí)行設(shè)備b的中斷程序時(shí)im2im1im0=111;執(zhí)行設(shè)備d的中斷服務(wù)程序時(shí),im2im1im0=011.(3)每一級(jí)的IM標(biāo)志不能對某個(gè)優(yōu)先級(jí)的個(gè)別設(shè)備進(jìn)行單獨(dú)屏蔽??蓪⒔涌谥械模牛蓸?biāo)志清“0”,它禁止設(shè)備發(fā)出中斷請求.

(4)要使設(shè)備c的中斷請求及時(shí)得到響應(yīng),可將設(shè)備c從第2級(jí)取出來,單獨(dú)放在底3級(jí)上,使第3級(jí)的優(yōu)先級(jí)最高,即令im3=0即可。例二參見圖8.7所示的系統(tǒng),只考慮a,b,c三個(gè)設(shè)備組成的單級(jí)中斷結(jié)構(gòu),它要求cpu在執(zhí)行完當(dāng)前指令時(shí)對中斷請求進(jìn)行服務(wù)。假設(shè)(1)cpu“中斷批準(zhǔn)”機(jī)構(gòu)在響應(yīng)一個(gè)新的中斷之前,先要讓被中斷的程序的一條指令一定要執(zhí)行完畢;(2)tdc為查詢鏈中每個(gè)的延遲時(shí)間;(3)ta,tb,tc分別為設(shè)備a,b,c的服務(wù)程序所需的執(zhí)行時(shí)間;(4)ts,tr為保存現(xiàn)場和恢復(fù)現(xiàn)場所需的時(shí)間;(5)主存工作周期為TM。試問:就這個(gè)中斷請求環(huán)境來說,系統(tǒng)在什么情況下達(dá)到中斷飽和?解:參閱中斷處理流程8。3,并假設(shè)執(zhí)行一條指令的時(shí)間也為tm.如果三個(gè)設(shè)備同時(shí)發(fā)出中斷請求,那么依次分別處理設(shè)備a,設(shè)備b,設(shè)備c的時(shí)間如下:Ta=2Tm+Tdc+Ts+Ta+TrTb=2Tm+Tdc+Ts+ Tb+TrTc=2Tm+Tdc+Ts+Tc+Tr

處理三個(gè)設(shè)備所需的總時(shí)間為T=Ta+Tb+Tc,T是達(dá)到中斷飽和的最小時(shí)間,即中斷極限頻率為f=1/T8.2.5中斷控制器

8259中斷控制器是一個(gè)集成電路芯片,它將中斷接口與優(yōu)先級(jí)判斷等功能匯集于一身,常用于微型機(jī)系統(tǒng)。內(nèi)部結(jié)構(gòu)如圖8.9所示。

8259的中斷優(yōu)先級(jí)選擇方式有四種:

(1)完全嵌套方式

(2)輪換優(yōu)先級(jí)方式A(3)輪換優(yōu)先級(jí)方式B(4)查詢方式

8259提供了兩種屏蔽方式:

(1)簡單屏蔽方式

(2)特殊屏蔽方式

8259中斷控制器的不同方式是通過編程來實(shí)現(xiàn)的。Cpu送出一系列的初始化控制字和操作控制字來執(zhí)行選定的操作。ISIR

8.2.6奔騰中斷機(jī)制1.中斷類型

Pentium有兩類中斷源,即中斷和異常。

中斷

通常稱為外部中斷,由cpu的外部硬件信號(hào)引發(fā)的。兩種中斷:

(1)可屏蔽中斷(2)非可屏蔽中斷異常通常稱為異常中斷,由指令執(zhí)行引發(fā).兩種情況:

(1)執(zhí)行異常(2)執(zhí)行軟件中斷指令2.中斷服務(wù)程序進(jìn)入過程中斷服務(wù)程序的入口地址信息存于中斷向量號(hào)檢索表內(nèi)。實(shí)模式為中斷向量表IVT,保護(hù)模式為中斷描述符表IDT.

CPU識(shí)別中斷類型取得中斷向量號(hào)的途徑有三種:(1)指令給出,軟件中斷指令I(lǐng)NTR中的n即為中斷向量號(hào)。(2)外部提供:可屏蔽中斷是在CPU接收到INTR信號(hào)時(shí)產(chǎn)生一個(gè)中斷識(shí)別周期,接收外部中斷控制器由數(shù)據(jù)總線送來的中斷向量號(hào);非屏蔽中斷是在接收到NMI信號(hào)時(shí)中斷向量號(hào)固定為2.(3)CPU識(shí)別錯(cuò)誤,故障現(xiàn)象,根據(jù)異常和中斷產(chǎn)生的條件自動(dòng)指定向量號(hào).實(shí)模式下使用中斷向量表保護(hù)模式下使用中斷描述符表中斷處理過程P284Pentium有256種中斷每種有一個(gè)編號(hào)0---255中斷優(yōu)先級(jí)為5級(jí)中斷處理過程:p2868.3DMA方式8.3.1DMA的基本概念直接內(nèi)存訪問(DMA),是一種完全由硬件執(zhí)行I/O交換的工作方式。DMA方式一般用于高速傳送成組數(shù)據(jù)。DMA控制器以中斷方式向CPU報(bào)告?zhèn)魉筒僮鞯慕Y(jié)束.DMA方式的主要優(yōu)點(diǎn)是速度快。DMA方式能滿足高速I/O設(shè)備的要求,有利于CPU效率的發(fā)揮。DMA方式在計(jì)算機(jī)中被廣泛采用。

DMA的種類很多,但多種DMA至少能執(zhí)行以下一些基本操作:(1)從外圍設(shè)備發(fā)出DMA請求;

(2)CPU響應(yīng)請求,把CPU工作改成DMA操作方式,DMA控制器從CPU接管總線的控制;

(3)由DMA控制器對內(nèi)存尋址,決定數(shù)據(jù)傳送的內(nèi)存單元地址及數(shù)據(jù)傳送個(gè)數(shù)的計(jì)數(shù),并執(zhí)行數(shù)據(jù)傳送的操作;

(4)向CPU報(bào)告DMA操作的結(jié)束。

8.3.2DMA傳送方式DMA控制器與CPU分時(shí)使用內(nèi)存用以下三方法:(1)停止CPU訪問內(nèi)存;(2)周期挪用;(3)DMA與CPU交替訪內(nèi)。(1)停止CPU訪問內(nèi)存 圖8.11(a)是這種傳送方式的時(shí)間圖。優(yōu)點(diǎn): 控制簡單。缺點(diǎn): 在DMA控制器訪內(nèi)階段,內(nèi)存的效能沒有充分發(fā)揮。(2)周期挪用 圖8.11(b)是周期挪用的DMA方式示意圖。(3)DMA與CPU交替訪內(nèi) 圖8.11(C)是其原理示意圖。圖8.11DMA的基本方法8.3.3基本的DMA控制器1.DMA控制器的基本組成

(1)內(nèi)存地址計(jì)數(shù)器(2)字計(jì)數(shù)器(3)數(shù)據(jù)緩沖寄存器(4)“DMA請求”標(biāo)志(5)“控制/狀態(tài)”邏輯(6)中斷機(jī)構(gòu)圖8.12簡單的DMA控制器組成內(nèi)存CPU系統(tǒng)總線中斷請求數(shù)據(jù)線地址線中斷機(jī)構(gòu)內(nèi)存地址計(jì)數(shù)器字計(jì)數(shù)器控制/狀態(tài)邏輯DMA請求標(biāo)志數(shù)據(jù)緩沖寄內(nèi)器設(shè)備選擇設(shè)備溢出信號(hào)+1+1數(shù)據(jù)結(jié)束信號(hào)一字傳送DMA請求DMA響應(yīng)HOLDHLDA2.DMA數(shù)據(jù)傳送過程DMA的數(shù)據(jù)塊傳送過程可分為三個(gè)階段:(1)傳送前預(yù)處理;(2)正式傳送;(3)傳送后處理DMA的數(shù)據(jù)傳送以數(shù)據(jù)塊為基本單位進(jìn)行的。DMA控制器與系統(tǒng)連接的兩種方式: (1)公用的DMA請求方式 (2)獨(dú)立的DMA請求方式圖8.13DMA傳送數(shù)據(jù)的流程圖8.3.4選擇型和多路型DMA控制器1.選擇型DMA控制器(1)選擇型DMA控制器工作原理與前面的簡單DMA控制器基本相同。除了前面講到的基本邏輯部件外,還有一個(gè)設(shè)備號(hào)寄存器。(2)數(shù)據(jù)傳送是以數(shù)據(jù)塊為單位進(jìn)行的。(3)它特別適合數(shù)據(jù)傳送率很高以至接近內(nèi)存存取速度的設(shè)備。圖8.14是選擇型DMA控制器的邏輯框圖。圖8.14選擇型DMA控制器

2.多路型DMA控制器它適用于同時(shí)為多個(gè)慢速外圍設(shè)備服務(wù)。圖8.15(A)是鏈?zhǔn)蕉嗦沸虳MA控制器.圖8.15(B)是獨(dú)立請求方式多路型DMA控制器.

圖8.15多路型DMA控制器

例3:圖8.16中假設(shè)有磁盤、磁帶、打印機(jī)三個(gè)設(shè)備同時(shí)工作。磁盤以30us的間隔向控制器發(fā)DMA請求,磁帶以45us的間隔發(fā)DMA請求,打印機(jī)以150us間隔發(fā)DMA請求根據(jù)傳送速率,磁盤優(yōu)先權(quán)最高,磁帶次之,打印機(jī)最低,圖中假設(shè)DMA控制器每完成一次DMA傳送所需的時(shí)間5us。

若采用多路型DMA控制器,請畫出DMA控制器服務(wù)三個(gè)設(shè)備的工作時(shí)間圖。

解:

T1間隔中控制器首先為打印機(jī)服務(wù),因?yàn)榇藭r(shí)只有打印機(jī)有請求。T2間隔前沿磁盤、磁帶同時(shí)有請求,首先為優(yōu)先權(quán)高的磁盤服務(wù),為磁帶服務(wù)每次服務(wù)傳送一個(gè)字節(jié)。在90us時(shí)間階段中,為打印機(jī)服務(wù)只有一次(T1),為磁盤服務(wù)四次(T2,T4,T6,T7),為磁帶服務(wù)三次(T3,T5,T8)。在這種情況下DMA尚有空閑時(shí)間,控制器還可以容納更多設(shè)備。圖8.16多路型DMA控制器工作時(shí)間圖圖8.17一個(gè)多路DMA控制器芯片

例4:圖8.18所示為微型機(jī)中軟盤控制器的系統(tǒng)接口電路,請進(jìn)行分析說明。解:

CPU和軟盤控制器之間的接口電路包括DMA控制和總線控制兩部分。

8257DMA控制器提供4個(gè)獨(dú)立的DMA通路(CH0,CH1,CH2,CH3)。每個(gè)通路各有2個(gè)16位寄存器,必須在通路使用前加以預(yù)置。DMA地址寄存器存放被尋址的主存首地址,字節(jié)計(jì)數(shù)寄存器存放本次DMA傳送的字節(jié)數(shù)。

DMA傳輸前,CPU對8257進(jìn)行初始化,將數(shù)據(jù)在主存中的起始地址、數(shù)據(jù)字節(jié)個(gè)數(shù)、工作方式等參數(shù)送入8257相應(yīng)的寄存器中。

然后才允許軟盤控制器向8259發(fā)出DMA傳輸請求信號(hào)DRQ。8257接受到DRQ信號(hào)后,立即發(fā)HRQ信號(hào)給總線控制線路,請求總線控制權(quán)。

CPU在識(shí)別到HRQ信號(hào),完成當(dāng)前總線周期后,發(fā)出HLDA相應(yīng)信號(hào),并放棄總線控制權(quán)。此時(shí)8257向軟盤控制器發(fā)出DACK回答信號(hào),通知軟盤控制器開始DAM傳輸,并發(fā)出讀/寫控制信號(hào),以便軟盤控制器從主存被尋址的單元讀取一個(gè)字節(jié)或?qū)懭胍粋€(gè)字節(jié)。只要軟盤控制器保持對DAM的請求,8257將保持對總線的控制,并順序地重復(fù)傳送,直到被指定的數(shù)據(jù)塊傳送完畢,此時(shí)8257給出終止信號(hào)(TC),通知軟盤控制器,取消DMA請求,并使HRQ為無效,放棄總線控制權(quán)。圖8.188259DMA控制器與軟盤的接口8.4通道方式8.4.1通道的功能

1通道的功能(1)性能指標(biāo):流量(吞吐率)(2)字節(jié)多路通道的極限流量應(yīng)大于所接外設(shè)的字節(jié)傳送速率之和;其他兩種通道的極限流量應(yīng)大于所接外設(shè)中字節(jié)傳送速率最大的設(shè)備。(3)圖8.19是典型的具有通道的計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)圖。圖8.19IBM4300系統(tǒng)I/O結(jié)構(gòu)

(4)通道的功能:A.接受CPU的I/O指令,按指令要求與指定的外圍設(shè)備進(jìn)行通信。B.從內(nèi)存選取屬于該通道程序的通道指令,經(jīng)譯碼后向設(shè)備控制器和設(shè)備發(fā)送各種指令。C.組織外圍設(shè)備和內(nèi)存之間進(jìn)行數(shù)據(jù)傳送,并根據(jù)需要提供數(shù)據(jù)緩存的空間,以及提供數(shù)據(jù)存入內(nèi)存的地址和傳送的數(shù)據(jù)量。D.從外圍設(shè)備得到設(shè)備的狀態(tài)信息,形成并保存通道本身的狀態(tài)信息,根據(jù)需求將這些狀態(tài)信息送到內(nèi)存的指定單元,供CPU使用。E.將外圍設(shè)備的中斷請求和通道本身的中斷請求,按次序及時(shí)報(bào)告CPU.

2.CPU對通道的管理

CPU是通過執(zhí)行I/O指令以及處理來自通道的中斷,實(shí)現(xiàn)對通道的管理。

3.通道對設(shè)備控制器的管理設(shè)備控制器的具體任務(wù)如下:(1)從通道接受通道指令,控制外圍設(shè)備完成所需要的操作;(2)向通道反映外圍設(shè)備的狀態(tài);(3)將各種外圍設(shè)備的不同信號(hào)轉(zhuǎn)換成通道能夠識(shí)別的標(biāo)準(zhǔn)信號(hào)。8.4.2通道的類型根據(jù)通道的工作方式,通道分為:選擇通道、數(shù)組多路通道、字節(jié)多路通道三種類型。

1.選擇通道

主要用于連接高速外圍設(shè)備,如磁盤、磁帶等,信息以成組方式高速傳輸。

2.數(shù)組多路通道

是對選擇通道的一種改進(jìn)?;舅枷胧钱?dāng)某設(shè)備進(jìn)行數(shù)據(jù)傳送時(shí),通道只為該設(shè)備服務(wù);

當(dāng)設(shè)備在執(zhí)行尋址等控制性動(dòng)作時(shí),通道暫時(shí)斷開與這個(gè)設(shè)備的連接,去為其他設(shè)備服務(wù)。

3.字節(jié)多路通道

主要用于連接大量的低速設(shè)備,如鍵盤、打印機(jī)等,這些設(shè)備的數(shù)據(jù)傳送率很低。8.4.3通道結(jié)構(gòu)的發(fā)展通道結(jié)構(gòu)的進(jìn)一步發(fā)展,出現(xiàn)了兩種計(jì)算機(jī)I/O系統(tǒng)結(jié)構(gòu)。(1)一種是通道結(jié)構(gòu)的I/O處理器,通常稱為輸入輸出處理器(IOP)。(2)另一種是外圍處理機(jī)(PPU)。

PPU基

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論