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

下載本文檔

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

文檔簡介

1.假設(shè)微指令的操作控制字段共18位,若采用直接控制,則一條微指令最多可同時啟動

個微操作命令。若采用字段直接編碼控制,并要求一條微指令能同時啟動3個微操作,則微指令的操作控制字段應(yīng)分

段,若每個字段的微操作數(shù)相同,這樣的微指令格式最多可包含

個微操作命令。2.相聯(lián)存儲器的訪問方式是__

__。A.先入先出訪問B.按地址訪問C.按內(nèi)容訪問D.先入后出訪問3.CPU執(zhí)行程序時,為了從內(nèi)存中讀取指令,需要先將

的內(nèi)容輸送到

上。A.指令寄存器B.程序計數(shù)器(PC)C.標志寄存器D.變址寄存器A.數(shù)據(jù)總線B.地址總線C.控制總線D.通信總線4.CPU從主存取出一條指令并執(zhí)行該指令的時間叫做_B_____。A.機器周期B.指令周期C.時鐘周期D.總線周期5.系統(tǒng)總線是指(D)。A.運算器、控制器和寄存器之間的信息傳送線B.運算器、寄存器和主存之間的信息傳送線C.運算器、寄存器和外圍設(shè)備之間的信息傳送線D.CPU、主存和外圍設(shè)備之間的信息傳送線6.流水CPU是由一系列叫做“段”的處理線路所組成,和具有m個并行部件的CPU相比,一個m段的流水CPU()A.具備大致同等水平的吞吐能力B.不具備同等水平的吞吐能力C.吞吐能力前者明顯大于后者D.吞吐能力前者明顯小于后者7.某計算機字長32位,其存儲容量是1MB,若按字編址,它的尋址范圍是()A.0—1M

B.0—512KB

C.0—256K

D.0—256KB8.雙端口存儲器在()情況下會發(fā)生讀/寫沖突。A.左端口與右端口的地址碼不同

B.左端口與右端口的地址碼相同C.左端口與右端口的數(shù)據(jù)碼相同

D.左端口與右端口的數(shù)據(jù)碼不同9.馮.諾依曼機工作方式的基本特點是___。A.多指令流單數(shù)據(jù)流

B.按地址訪問并順序執(zhí)行指令C.堆棧操作

D.存儲器按內(nèi)容選擇地址10.按照總線仲裁電路的位置不同,可分為_________仲裁和______仲裁。11.CPU能直接訪問_________和_______,但不能直接訪問磁盤和光盤。12.主存與cache的地址映射有_________、_________、________三種方式。第8章輸入輸出系統(tǒng)8.1輸入輸出系統(tǒng)概述8.2I/O端口的編址方式及數(shù)據(jù)傳送方式8.3程序直接控制方式8.4程序中斷方式8.5DMA方式8.6通道控制方式1.什么是輸入輸出系統(tǒng)

計算機主機與外界交換信息時的硬件和軟件的總稱,簡稱為I/O系統(tǒng)。2.輸入輸出系統(tǒng)的構(gòu)成(1)硬件部分:外部設(shè)備、設(shè)備控制器與接口、I/O總線。

(2)軟件部分:驅(qū)動程序、用戶程序、管理程序、升級補丁等。3.輸入輸出系統(tǒng)的功能:選擇相應(yīng)的外部設(shè)備進行數(shù)據(jù)傳輸??刂仆獠吭O(shè)備與主機進行信息交換,主要功能有:數(shù)據(jù)緩沖、數(shù)據(jù)格式轉(zhuǎn)換、協(xié)調(diào)控制、控制/狀態(tài)信息交換。1.I/O設(shè)備與主機的連接方式(1)輻射式連接外設(shè)Ⅰ外設(shè)Ⅱ外設(shè)Ⅲ主機不便于增刪設(shè)備每臺設(shè)備都配有一套控制線路和一組信號線8.1輸入輸出系統(tǒng)概述(2)總線連接便于增刪設(shè)備主機外設(shè)接口接口外設(shè)(3)通道主機外設(shè)通道通道外設(shè)外設(shè)外設(shè)把輻射式和總線式相結(jié)合。(4)

I/O處理機并行能力提高CPU地址數(shù)據(jù)控制數(shù)據(jù)控制狀態(tài)外部設(shè)備接口電路接口2.CPU與I/O接口之間的信息(1)數(shù)據(jù)信號如:8位、16位、32位數(shù)據(jù);(2)狀態(tài)信號表示外設(shè)是否準備好信號。如:READY、BUSY、ACK(確認應(yīng)答)(3)控制信號表示啟動、停止外設(shè)之類的信號。CPU與IO接口進行通信是通過接口內(nèi)部的一組寄存器來實現(xiàn)的。這些寄存器稱為端口。三、輸入輸出設(shè)備和CPU交換數(shù)據(jù)的過程:輸入過程:(1)CPU把地址值放在地址總線上,選擇某設(shè)備;(2)CPU等候輸入設(shè)備的數(shù)據(jù)成為有效;(3)CPU從數(shù)據(jù)總線讀入數(shù)據(jù),并放入寄存器。輸出過程:(1)CPU把地址值放在地址總線上,選擇設(shè)備;(2)CPU把數(shù)據(jù)放在數(shù)據(jù)總線上;(3)輸出設(shè)備認為數(shù)據(jù)有效,從而把數(shù)據(jù)取走。問題的關(guān)鍵在于:究竟什么時候數(shù)據(jù)才成為有效?高速的CPU與速度參差不齊的外設(shè)怎樣在時間上同步呢?因此,對于不同速度的外圍設(shè)備,需要有不同的定時方式。四、CPU與外圍設(shè)備之間的定時慢速外圍設(shè)備

中速外圍設(shè)備高速外圍設(shè)備1、慢速外圍設(shè)備速度極慢或簡單的外圍設(shè)備:對于這類設(shè)備CPU總是能足夠快地作出響應(yīng),也可以說,CPU認為輸入的數(shù)據(jù)一直有效,在這種情況下,CPU只要接受和發(fā)送數(shù)據(jù)就可以了。常用的有:機械開關(guān),顯示二極管等。開關(guān)------CPU認為輸入數(shù)據(jù)一直有效;

顯示二極管------輸出一定準備就緒。2、慢速或中速的外圍設(shè)備慢速或中速的外圍設(shè)備:CPU與這類設(shè)備之間的數(shù)據(jù)交換通常采用異步定時方式。在這種情況下,CPU和外設(shè)之間用問答信號進行定時的方式叫做應(yīng)答式數(shù)據(jù)交換。其定時過程如下(接收數(shù)據(jù)):CPU詢問外設(shè)的狀態(tài)是否“準備就緒”CPU從總線上接收數(shù)據(jù)CPU發(fā)出輸入響應(yīng)信號,告訴數(shù)據(jù)取走外設(shè)把“準備就緒”的狀態(tài)標志復(fù)位CPU發(fā)送數(shù)據(jù)的情況也與上述情況相似請求輸出--否準備就緒--送出數(shù)據(jù)--發(fā)出“取走”信號通常,把這種在CPU和外設(shè)間用問答信號進行定時的方式叫做應(yīng)答式數(shù)據(jù)交換。3、高速外圍設(shè)備高速外圍設(shè)備:CPU和這類設(shè)備之間通常采用同步定時方式,一旦CPU和外設(shè)發(fā)生同步,他們之間的數(shù)據(jù)交換用時鐘控制來進行。

1)同步定時方式CPU以等間隔的速率執(zhí)行I/O指令。靠時鐘脈沖控制進行。

2)DMA方式更快的同步傳送要采用直接內(nèi)存訪問(DMA)方式。8.2I/O端口的編址方式及數(shù)據(jù)傳送方式CPU如何對IO進行編址。統(tǒng)一編址和獨立編址如何尋址設(shè)備號?IO與主機怎么連接。通過接口電路IO與主機以什么方式聯(lián)絡(luò),使它們彼此之間都知道對方處于什么狀態(tài)。同步\異步\立即響應(yīng)方式信息的傳送是串行還是并行。一、IO端口的編址方式統(tǒng)一編址獨立編址統(tǒng)一編址獨立編址I/O端口地址和內(nèi)存單元地址是統(tǒng)一編址的內(nèi)存地址空間與I/O端口地址空間互相獨立I/O端口占用了內(nèi)存地址分別有訪問內(nèi)存和訪問I/O外設(shè)的控制線不設(shè)置專門的I/O指令比如:motorola系列,apple系列,還有一些單片機有專門的I/O指令I(lǐng)BM-PC系列、Z-80系列微型機及一些大型機補充:輸入輸出I/O指令格式1、專用的I/O指令包含操作碼、命令碼和地址碼三部分:操作碼用于區(qū)分訪存指令和I/O指令命令碼用于區(qū)分I/O操作的種類地址碼則指明要訪問的外設(shè)端口地址以及CPU寄存器號2、IBM/PC機的I/O指令只有兩條:IN和OUT

IN指令將外設(shè)端口中的數(shù)據(jù)讀入累加寄存器AL(AX)。OUT指令將累加寄存器AL(AX)的數(shù)據(jù)寫入外設(shè)端口。它們的匯編助記符及格式如下:端口地址為8位INAL/AX,port;輸入指令OUTport,AL/AX;輸出指令Port為8位的端口地址(0~255);端口地址為16位MOVDX,portINAL/AX,DX;輸入指令OUTDX,AL/AX;輸出指令DX內(nèi)為16位的端口地址port。3、80286以上的CPU還支持I/O端口與內(nèi)存直接交換數(shù)據(jù):輸入操作:MOVDX,PortLESDI,Buffer_inINSB;(將DX所指向的端口地址內(nèi)的數(shù)據(jù)輸入到由ES:DI所指向的內(nèi)存單元,傳送一個8位的數(shù)據(jù))INSW;同上,傳送一個16位的數(shù)據(jù)輸出操作:MOVDX,PortLDSSI,Buffer_outOUTSB;(將由DS:SI所指向的內(nèi)存單元內(nèi)的數(shù)據(jù)輸出到DX所指向的端口地址,傳送一個8位的數(shù)據(jù))OUTSW;同上,傳送一個16位的數(shù)據(jù)二、I/O設(shè)備與主機信息傳送方式I/O控制方式主要由程序?qū)崿F(xiàn)主要由附加硬件實現(xiàn)IOP方式程序查詢方式程序中斷方式DMA方式通道方式程序查詢方式:由CPU來執(zhí)行一段輸入輸出程序(由I/O指令所編的程序)來控制主機與外設(shè)之間的信息傳送。基本思想:I/O接口:設(shè)置反映外設(shè)工作的狀態(tài)字CPU:利用程序循環(huán)查詢先由主機通過啟動指令啟動外設(shè)工作,啟動后主機用測試指令不斷查詢外設(shè)工作是否完成,一旦外設(shè)工作完成,就可進行數(shù)據(jù)傳送了。8.3程序查詢方式一、程序查詢方式的接口電路設(shè)備選擇電路數(shù)據(jù)緩沖寄存器設(shè)備狀態(tài)寄存器CPU需要不斷監(jiān)測狀態(tài)位以確定是否該做下一個I/O操作。由于CPU比I/O設(shè)備快得多,所以輪詢就要浪費大量的CPU時間。②設(shè)備選擇電路DBRQQ&數(shù)據(jù)線準備就緒啟動命令地址線SEL輸入數(shù)據(jù)啟動設(shè)備設(shè)備工作結(jié)束①③④⑤⑥D(zhuǎn)B二、程序查詢方式的接口電路-工作過程①②③⑤1010④以輸入為例⑥(1)先向I/O設(shè)備發(fā)出命令字,請求進行數(shù)據(jù)傳送;(2)從I/O接口讀入狀態(tài)字;(3)檢查狀態(tài)字中的標志,看看數(shù)據(jù)交換是否可以進行;(4)假如這個設(shè)備沒有準備就緒,則第(2)、第(3)步重復(fù)進行,一直到這個設(shè)備準備好交換數(shù)據(jù),發(fā)出準備就緒信號“Ready”為止;(5)CPU從I/O接口的數(shù)據(jù)緩沖寄存器輸入數(shù)據(jù),或者將數(shù)據(jù)從CPU輸出至接口的數(shù)據(jù)緩沖寄存器。與此同時,CPU將接口中的狀態(tài)標志復(fù)位。(6)數(shù)據(jù)傳送三、程序查詢流程1.查詢流程檢查狀態(tài)標記交換數(shù)據(jù)準備就緒?是否單個設(shè)備測試指令轉(zhuǎn)移指令傳送指令檢查狀態(tài)標記1設(shè)備1準備就緒?檢查狀態(tài)標記N設(shè)備N準備就緒?…處理設(shè)備1是否否處理設(shè)備N是多個設(shè)備四、程序查詢方式的特點:控制簡單,但是主機和外設(shè)是串行工作的。當外設(shè)速度很慢時,主機大量時間被消耗在測試等待中,不能充分發(fā)揮CPU效率。CPU一段時間內(nèi)只能和一臺外設(shè)交換信息,無法使其它外設(shè)同時工作。當多個設(shè)備同時準備就緒時,由程序來決定優(yōu)先級。發(fā)現(xiàn)和處理預(yù)先無法估計的錯誤和異常情況困難。應(yīng)用:調(diào)試維護過程或其他簡單調(diào)用外設(shè),適用在CPU不太忙且傳送速度要求不高時工作原理:CPU查詢外設(shè)已準備好后,才傳送數(shù)據(jù)。特點:CPU與外設(shè)間通過程序同步,CPU被外設(shè)獨占,CPU效率低下。要求:不需要增加額外的硬件電路。應(yīng)用:

適同在CPU不太忙且傳送速度要求不高時。程序查詢方式中斷問題的提出:在程序查詢方式中,CPU和外設(shè)的工作是串行的,當CPU和外設(shè)交換信息時,就把CPU的控制權(quán)交給了該設(shè)備,而CPU只能做測試等待,直到外設(shè)工作完成。CPU的大部分工作時間被浪費了。假若CPU在啟動外設(shè)工作后,設(shè)備釋放對CPU的控制權(quán)使CPU繼續(xù)工作,當外設(shè)工作完成后向CPU發(fā)中斷請求信號,若CPU響應(yīng)中斷,則停止正在執(zhí)行的程序,轉(zhuǎn)中斷服務(wù)程序為該程序服務(wù),這樣就能實現(xiàn)CPU和外設(shè)并行工作,使CPU的效率充分發(fā)揮。8.4中斷控制方式8.4中斷控制方式中斷的概念中斷源中斷識別(方法2種)中斷優(yōu)先級中斷嵌套中斷的處理過程(4個)

中斷屏蔽技術(shù)1、中斷:指CPU暫時中止現(xiàn)行程序,轉(zhuǎn)去處理隨機發(fā)生的緊急事件,處理后自動返回原程序的功能和技術(shù)。一、中斷的概念…KK+1QQ+1……中斷服務(wù)程序1中斷服務(wù)程序2入口1入口22、中斷系統(tǒng)是計算機實現(xiàn)中斷功能的軟硬件總稱。硬件:在CPU中設(shè)置中斷機構(gòu),在外設(shè)接口中設(shè)置中斷控制器;軟件:設(shè)置相應(yīng)的中斷服務(wù)程序。3、中斷應(yīng)用主機和低速的I/O設(shè)備速度的不匹配CPU啟動外設(shè)后,需要一段時間的等待才能實現(xiàn)主機與I/O設(shè)備之間的信息交換。在設(shè)備準備的同時,CPU不做無謂的等待,而是繼續(xù)執(zhí)行現(xiàn)行的程序,當I/O設(shè)備準備就緒后向CPU提出請求CPU暫停正在執(zhí)行的程序轉(zhuǎn)入中斷服務(wù)程序。以打印機為例發(fā)中斷請求空閑接收數(shù)據(jù)接收數(shù)據(jù)準備發(fā)中斷請求打印打印打印機執(zhí)行主程序繼續(xù)執(zhí)行主程序繼續(xù)執(zhí)行主程序響應(yīng)中斷中斷返回響應(yīng)中斷中斷返回啟動打印機傳送數(shù)據(jù)傳送數(shù)據(jù)CPUCPU與打印機并行工作總之,中斷技術(shù)的出現(xiàn),提供了一種以響應(yīng)外部異常事件而改變狀態(tài)流程的有效手段,它支持了多重程序的運行及多個用戶同時共享整個計算機資源,充分發(fā)揮了計算機的高速處理和實時處理能力,以及自動處理機內(nèi)部故障的能力,提高計算機的整機效率。異常處理如:計算機在運行時,突然掉電,保存CPU正在處理的信息,待來電后自動恢復(fù)。實時控制在實時控制領(lǐng)域,要求CPU能夠及時響應(yīng)外來信號的請求,并完成相應(yīng)的操作。也要求采用中斷技術(shù)。二、中斷源發(fā)出中斷請求的外部設(shè)備或引起中斷的內(nèi)部原因。簡單來講就是能夠發(fā)出中斷請求的來源。內(nèi)部中斷(不可屏蔽)(1)人為設(shè)置的中斷:如轉(zhuǎn)管指令(2)程序性事故溢出、操作碼不能識別、除法非法外部中斷(3)硬件故障(不可屏蔽)(4)I/O設(shè)備(5)外部事件用鍵盤中斷現(xiàn)行程序三、中斷識別中斷識別:CPU確定是哪個中斷源發(fā)出的中斷請求,并為之服務(wù)。只有外部硬件中斷需要識別,由中斷控制器來完成。目的:要形成該中斷源的中斷服務(wù)程序的入口地址中斷識別的方法有兩種:①硬件向量法:由中斷向量來指示中斷服務(wù)程序的入口地址。通過硬件來實現(xiàn),響應(yīng)速度快。②軟件查詢法:通過采用軟件來查詢各設(shè)備的中斷狀態(tài)標志,確認是哪個設(shè)備發(fā)中斷,并為之服務(wù)?!蛄康刂贰抨犉鬏敵?/p>

顯示器服務(wù)程序

打印機服務(wù)程序JMP400JMP300JMP200…………主存12H13H14H200300向量地址入口地址入口地址中斷向量地址形成部件設(shè)備編碼器1000…000100100100…00010011硬件向量法四、中斷優(yōu)先級問題:多個中斷源同時請求中斷時,CPU應(yīng)該先響應(yīng)哪一個?解決:進行排隊。排隊的方式有兩種:按優(yōu)先級排隊:按中斷源的輕重緩急程度確定的優(yōu)先級別,稱為優(yōu)先級。它使用得最多。循環(huán)輪流排隊:不分級別高低,所有中斷源都一律平等,CPU輪流響應(yīng)各個中斷源的中斷請求。五.中斷嵌套(多重中斷)一個中斷請求尚未處理完,又轉(zhuǎn)而處理新的中斷請求,稱為中斷的多重嵌套或稱為多重中斷。1#中斷請求響應(yīng)返回1#中斷服務(wù)程序2#中斷請求響應(yīng)返回2#中斷服務(wù)程序3#中斷請求響應(yīng)返回3#中斷服務(wù)程序原主程序中斷優(yōu)先級3#>2#>1#六、I/O中斷處理過程中斷過程分為四個階段中斷請求→中斷響應(yīng)→中斷服務(wù)→中斷返回1、中斷請求①外設(shè)先發(fā)送“中斷請求”信號給CPU。②CPU執(zhí)行完每條指令后去檢查“中斷請求”輸入線INTR,NMI。CPU響應(yīng)中斷的條件和時間(1)條件(2)時間允許中斷觸發(fā)器EINT=1用開中斷指令將EINT置“1”用關(guān)中斷指令將EINT置“0”或硬件自動復(fù)位在每條指令執(zhí)行階段的結(jié)束CPU發(fā)中斷查詢信號(將INTR置“1”)2、中斷響應(yīng)3、中斷服務(wù)程序關(guān)中斷:以免在響應(yīng)過程中被新的中斷源中斷,破壞了當前中斷處理的現(xiàn)場(單重中斷)指令保護斷點:程序的狀態(tài)以及下一條指令的地址。系統(tǒng)完成保護現(xiàn)場:將中斷服務(wù)程序中用到的各寄存器壓入棧,以免存放其中的主程序的數(shù)據(jù)被破壞。入棧PUSH中斷處理:處理申請中斷的中斷源所要求的操作。

a.與CPU交換數(shù)據(jù),進行I/O操作;

b.外部期望CPU給以控制,進行參數(shù)修改。恢復(fù)現(xiàn)場:出棧POP保護現(xiàn)場其它服務(wù)程序恢復(fù)現(xiàn)場中斷返回PUSH視不同請求源而定POP中斷服務(wù)程序IRET4、中斷返回中斷服務(wù)程序結(jié)束,執(zhí)行中斷返回。七、中斷屏蔽屏蔽一個或數(shù)個中斷源的中斷請求。屏蔽技術(shù)可改變處理優(yōu)先等級。響應(yīng)優(yōu)先級:不可改變處理優(yōu)先級:可改變(通過重新設(shè)置屏蔽字)響應(yīng)優(yōu)先級A→B→C→D

降序排列

中斷源原屏蔽字新屏蔽字ABCD11110111001100011111010001100111處理優(yōu)先級A→D→C→B降序排列1.設(shè)某機有5級中斷:L0—L4,優(yōu)先次序為L0最高,L1次之,L4最低。現(xiàn)要求將中斷程序的處理次序改為L1-L3-L0-L4-L2,試問:下表中各級中斷處理程序的各中斷級屏蔽值如何設(shè)置(每級對應(yīng)一位,該位為“0”表示允許中斷,該位為“1”表示中斷屏蔽)?中斷處理程序中斷處理級屏蔽位L0級L1級L2級L3級L4級L0中斷處理程序L1中斷處理程序L2中斷處理程序L3中斷處理程序L4中斷處理程序

10101

11111

00100

10111

0

01012.現(xiàn)有A、B、C、D四個中斷源,其優(yōu)先級由高向低按A、B、C、D順序排列。若中斷服務(wù)程序的執(zhí)行時間為20μs,請根據(jù)下圖所示時間軸給出的中斷源請求中斷的時刻,畫出CPU執(zhí)行程序的軌跡。服務(wù)程序t(s)主程序D服務(wù)C服務(wù)B服務(wù)A服務(wù)0102030405060708090100110120130B與C請求

D請求B請求A請求解:中斷系統(tǒng)需解決的問題(1)各中斷源如何向CPU提出請求?(2)各中斷源同時提出請求怎么辦?(5)如何尋找入口地址?(4)如何保護現(xiàn)場?(3)CPU什么條件、什么時間、以什么方式

響應(yīng)中斷?(6)如何恢復(fù)現(xiàn)場,如何返回?(7)處理中斷的過程中又出現(xiàn)新的中斷怎么辦?硬件

+軟件1.允許中斷觸發(fā)器用于_____。

A.向CPU發(fā)中斷請求B.指示正有中斷在進行

C.開放或關(guān)閉中斷系統(tǒng)2.CPU響應(yīng)中斷的時間是_____。

A.一條指令執(zhí)行結(jié)束B.外設(shè)提出中斷C.取指周期結(jié)束3.向量中斷是_____。

A.外設(shè)提出中斷B.由硬件形成中斷服務(wù)程序入口地址

C.由硬件形成向量地址,再由向量地址找到中斷服務(wù)程序入口地址4.某機有四級中斷.優(yōu)先級從高到低為1→2→3→4。若將優(yōu)先級順序修改,改后1級中斷的屏蔽字為1011,2級中斷的屏蔽宇為1111,3級中斷的屏蔽字為0011,4級中斷的屏蔽字為0001,則修改后的優(yōu)先順序從高到低為_____。

A.3→2→1→4B.1→3→4→2C.2→1→3→45.中斷系統(tǒng)是由_____實現(xiàn)的。

A.硬件B.固件C.軟硬件結(jié)合8.5DMA方式直接存儲器訪問(DirectMemoryAddress)DMA方式是為了在主存儲器與高速I/O設(shè)備(磁盤)間交換批量數(shù)據(jù)而設(shè)置的。是一種完全由硬件執(zhí)行I/O交換的工作方式。在這種方式中,DMA控制器從CPU完全接管對總線的控制,數(shù)據(jù)交換不經(jīng)過CPU,而直接在內(nèi)存和I/O設(shè)備之間進行。優(yōu)點:速度快。由于CPU根本不參加傳送操作,因此就省去了CPU取指令、取數(shù)、送數(shù)等操作。在數(shù)據(jù)傳送過程中,沒有保存現(xiàn)場、恢復(fù)現(xiàn)場之類的工作。DMA和程序中斷兩種方式的數(shù)據(jù)通路CPU主存ACC中斷接口DMA接口I/O

設(shè)備中斷方式數(shù)據(jù)傳送通路輸入指令輸出指令DMA方式數(shù)據(jù)傳送通路在數(shù)據(jù)傳送過程中不需要CPU的參與,但是在啟動DMA時初始化工作和結(jié)束的過程中后處理還是由CPU靠指令來進行的。DMA的應(yīng)用場合:1、磁盤、磁帶等高速外圍存儲設(shè)備以數(shù)據(jù)塊為單位與CPU之間進行信息交換。數(shù)據(jù)傳送結(jié)束后,采用中斷方式由CPU來處理。2、網(wǎng)絡(luò)通信接口。傳送速率幾十M/S,當一幀(以同步方式串行傳送的一塊數(shù)據(jù))數(shù)據(jù)傳送完后,也是采用中斷方式通知CPU進行相應(yīng)的處理。3、用在DRAM的刷新。每隔一段時間(2ms)完成一次對DRAM的刷新。4、高速的數(shù)據(jù)采集。在A/D,圖像、音頻等信息的采集過程中。2.DMA與主存交換數(shù)據(jù)的三種方式停止CPU訪問主存CPU周期挪用(竊?。┓绞紻MA與CPU交替訪內(nèi)2.DMA與主存交換數(shù)據(jù)的三種方式(1)停止CPU訪問主存控制簡單CPU處于不工作狀態(tài)或保持狀態(tài)未充分發(fā)揮CPU對主存的利用率主存工作時間CPU不執(zhí)行程序DMA不工作DMA不工作DMA工作

CPU控制并使用主存

DMA控制并使用主存t(2)周期挪用(或周期竊?。〥MA訪問主存有三種可能

CPU此時不訪存

CPU正在訪存

CPU與DMA同時請求訪存此時CPU將總線控制權(quán)讓給DMA主存工作時間

CPU控制并使用主存

DMA控制并使用主存t(3)DMA與CPU交替訪問主存工作時間DMA控制并使用主存CPU控制并使用主存tCPU工作周期C1專供DMA訪存C2專供CPU

訪存所有指令執(zhí)行過程中的一個基準時間不需要申請建立和歸還總線的使用權(quán)二、DMA接口的功能和組成1.DMA接口功能(1)向CPU申請

DMA傳送(2)處理總線控制權(quán)的轉(zhuǎn)交(3)管理系統(tǒng)總線、控制數(shù)據(jù)傳送(4)確定數(shù)據(jù)傳送的首地址和長度(5)DMA傳送結(jié)束時,給出操作完成信號修正傳送過程中的數(shù)據(jù)地址和長度DMA接口主存CPU2.DMA接口組成DMA

控制邏輯

中斷機構(gòu)設(shè)備HLDAARWCDARHRQ中斷請求數(shù)據(jù)線地址線+1+1溢出信號DREQDACKBR三、DMA的工作過程1.DMA傳送過程預(yù)處理、數(shù)據(jù)傳送、后處理(1)預(yù)處理通過幾條輸入輸出指令預(yù)置如下信息通知DMA控制邏輯傳送方向(入/出)設(shè)備地址DMA的DAR主存地址DMA的AR傳送字數(shù)DMA的WC預(yù)處理:主存起始地址設(shè)備地址傳送數(shù)據(jù)個數(shù)啟動設(shè)備DMADMADMA數(shù)據(jù)傳送:繼續(xù)執(zhí)行主程序同時完成一批數(shù)據(jù)傳送后處理:中斷服務(wù)程序做DMA結(jié)束處理繼續(xù)執(zhí)行主程序CPU(2)DMA傳送過程示意允許傳送?主存地址送總線數(shù)據(jù)送I/O設(shè)備(或主存)修改主存地址修改字計數(shù)器數(shù)據(jù)塊傳送結(jié)束?向CPU申請程序中斷DMA請求否否是是數(shù)據(jù)傳送(3)后處理校驗送入主存的數(shù)是否正確是否繼續(xù)用DMA測試傳送過程是否正確,錯則轉(zhuǎn)診斷程序由中斷服務(wù)程序完成DMA方式與程序中斷方式的比較(1)數(shù)據(jù)傳送(2)響應(yīng)時間(3)處理異常情況(4)中斷請求(5)優(yōu)先級中斷方式DMA方式程序硬件指令執(zhí)行結(jié)束存取周期結(jié)束能不能低高傳送數(shù)據(jù)后處理三種方式的CPU工作效率比較存取周期結(jié)束CPU執(zhí)行現(xiàn)行程序CPU執(zhí)行現(xiàn)行程序DMA請求啟動I/OI/O準備I/O準備一個存取周期實現(xiàn)I/O與主存之間的傳送CPU

執(zhí)行現(xiàn)行程序CPU查詢等待并傳輸I/O數(shù)據(jù)CPU

執(zhí)行現(xiàn)行程序啟動I/OI/O準備及傳送指令執(zhí)行周期結(jié)束CPU執(zhí)行現(xiàn)行程序CPU執(zhí)行現(xiàn)行程序啟動I/O中斷請求I/O準備I/O準備CPU處理中斷服務(wù)程序?qū)崿F(xiàn)I/O與主機之間的傳送間斷啟動I/O啟動I/OI/O準備中斷請求啟動I/OI/O準備一個存取周期DMA請求程序查詢方式程序中斷方式DMA方式I/O準備及傳送間斷I/O準備I/O準備通道由DMA的不足(CPU也參與啟動外設(shè)等操作,也要干預(yù)DMA進行預(yù)置和后處理)引出,如果把這些工作進一步接手過來,形成I/O通道,對I/O全面管理。這樣就引出了“通道控制”的概念。8.6通道方式基本思想通道:專用的I/O控制器;可以連接多個外設(shè)(控制器);執(zhí)行通道程序。CPU:啟動通道,CPU將“傳輸控制”的功能下放給通道后只負責“數(shù)據(jù)處理”功能。CPU內(nèi)部運算和IO設(shè)備可以并行工作。典型的具有通道的計算機系統(tǒng)結(jié)構(gòu)圖通道控制的原理

(1)通道指令和通道控制程序,獨立對外設(shè)進行控制

(2)輸入輸出指令:可以獨立于CPU進行,但通道的工作也要聽從CPU的統(tǒng)一調(diào)度

(3)輸入輸出中斷:通道控制器向CPU匯報工作情況。通道的功能:執(zhí)行通道指令組織外圍設(shè)備和內(nèi)存進行數(shù)據(jù)傳輸按I/O指令要求啟動外圍設(shè)備向CPU報告中斷1.通道的任務(wù)(1)接受CPU的I/O指令,按指令要求與指定的外圍設(shè)備進行通信。(2)從內(nèi)存選取屬于該通道程序的通道指令,經(jīng)譯碼后向設(shè)備控制器和設(shè)備發(fā)送各種命令。(3)組織外圍設(shè)備和內(nèi)存之間進行數(shù)據(jù)傳送,并根據(jù)需要提供數(shù)據(jù)緩存的空間,以及提供數(shù)據(jù)存入內(nèi)存的地址和傳送的數(shù)據(jù)量。(4)從外圍設(shè)備得到設(shè)備的狀態(tài)信息,形成并保存通道本身的狀態(tài)信息,根據(jù)要求將這些狀態(tài)信息送到內(nèi)存的指定單元,供CPU使用。

(5)將外圍設(shè)備的中斷請求和通道本身的中斷請求,按次序及時報告CPU。2.CPU對通道的管理

CPU是通過執(zhí)行I/O指令以及處理來自通道的中斷,實現(xiàn)對通道的管理。來自通道的中斷有兩種,一種是數(shù)據(jù)傳送結(jié)束中斷,另一種是故障中斷。管態(tài):CPU運行操作系統(tǒng)的管理程序的狀態(tài)。目態(tài):CPU執(zhí)行目的程序時的狀態(tài)。3.通道對設(shè)備控制器的管理通道通過使用通道指令控制設(shè)備控制器進行數(shù)據(jù)傳送操作,并以通道狀態(tài)字接收設(shè)備控制器反映的外圍設(shè)備的狀態(tài)。因此,設(shè)備控制器是通道對I/O設(shè)備實現(xiàn)傳輸控制的執(zhí)行機構(gòu)。設(shè)備控制器的具體任務(wù)如下:

(1)從通道接受通道指令,控制外圍設(shè)備完成所要求的操作;(2)向通道反映外圍設(shè)備的狀態(tài);(3)將各種外圍設(shè)備的不同信號轉(zhuǎn)換成通道能夠識別的標準信號。4、通道的類型與之相關(guān)的特點(重點)

(1)字節(jié)多路通道

以字節(jié)為單位交叉?zhèn)魉透髟O(shè)備數(shù)據(jù)(慢速)主要用于連接大量的低速設(shè)備,如鍵盤、打印機等等。例如數(shù)據(jù)傳輸率是1000B/s,即傳送1個字節(jié)的間隔是1ms,而通道從設(shè)備接收或發(fā)送一個字節(jié)只需要幾百納秒,因此通道在傳送兩個字節(jié)之間有很多空閑時間,字節(jié)多路通道正是利用這個空閑時間為其他設(shè)備服務(wù)。特點:字節(jié)多路通道是一種簡單的低速共享通道,在時間分割的基礎(chǔ)上,服務(wù)于多臺低速和中速的外部設(shè)備。(2)選擇通道

選擇通道是一種高速通道,在物理上它可以連接多個設(shè)備,但每次只能選擇一臺I/O設(shè)備。數(shù)據(jù)的傳送以數(shù)據(jù)塊方式進行,傳送的速率很高。選擇通道主要用于連接高速外圍設(shè)備,如磁盤、磁帶等,信息以成組方式高速傳輸。由于數(shù)據(jù)傳輸率很高,可以達到1.5MB/s,即0.67μs傳送一個字節(jié),通道在傳送兩個字節(jié)之間已很少空閑,所以在數(shù)據(jù)傳送期間只為一臺設(shè)備服務(wù)是合理的。但是這類設(shè)備的輔助操作時間很長,在樣長的時間里通道處于等待狀態(tài),因此整個通道的利用率不是很高。(3)數(shù)組多路通道

以數(shù)組(數(shù)據(jù)塊)為單位交叉?zhèn)魉透髟O(shè)備數(shù)據(jù)特點:當某設(shè)備進行數(shù)據(jù)傳送時,通道只為該設(shè)備服務(wù),當設(shè)備在執(zhí)行尋址等控制動作時,通道暫時斷開與這個設(shè)備的連接,掛起設(shè)備的通道程序,去為其他設(shè)備服務(wù)。由于數(shù)組多路通道既保留了選擇通道高速傳送數(shù)據(jù)的優(yōu)點,又充分利用了控制性操作的時間間隔為其他設(shè)備服務(wù),使通道效率充分得到發(fā)揮,因此數(shù)組多路通道在實際系統(tǒng)中得到較多應(yīng)用。字節(jié)多路通道和數(shù)組多路通道共同之處:都是多路通道,在一段時間內(nèi)能交替執(zhí)行多個設(shè)備的通道程序,使這些設(shè)備同時工作。不同之處:(1)數(shù)組多路通道允許多個設(shè)備同時工作,但只允許一個設(shè)備進行傳輸型操作,其他設(shè)備進行控制型操作。而字節(jié)多路通道不僅允許多個設(shè)備同時操作,而且也允許它們同時進行傳輸型操作。(2)數(shù)組多路通道與設(shè)備之間數(shù)據(jù)傳送的基本單位是數(shù)據(jù)塊,通道必須為一個設(shè)備傳送完一個數(shù)據(jù)塊以后,才能為別的設(shè)備傳送數(shù)據(jù)塊。而字節(jié)多路通道與設(shè)備之間數(shù)據(jù)傳送的基本單位是字節(jié),通道為一個設(shè)備傳送一個字節(jié)后,又可以為另一個設(shè)備傳送一個字節(jié),因此各設(shè)備與通道之間的數(shù)據(jù)傳送是以字節(jié)為單位交替進行。通道結(jié)構(gòu)的發(fā)展:1.輸入輸出處理器(IOP)

是通道結(jié)構(gòu)的I/O處理器。IOP可以和CPU并行工作,提供高速的DMA處理能力,實現(xiàn)數(shù)據(jù)的高速傳送。但是它不是獨立于CPU工作的,而是主機的一個部件。有些IOP例如Intel8089IOP,還提供數(shù)據(jù)的變換、搜索以及字裝配/拆卸能力。這類IOP廣

溫馨提示

  • 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)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論