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

下載本文檔

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

文檔簡介

輸入輸出系統(tǒng)計算機組成原理程序查詢中斷DMA本章主要內(nèi)容本章內(nèi)容簡介輸入輸出系統(tǒng)簡稱I/O系統(tǒng),包括I/O接口、I/O管理部件及相關軟件。它與計算機系統(tǒng)的綜合處理能力、可擴展性、兼容性和性價比等,存在密切關系。本章首先說明外圍設備的定時方式和信息交換方式,之后重點介紹程序中斷方式、DMA方式、通道方式,最后介紹通用的并行I/O標準接口SCSI和串行I/O標準接口IEEE1394。重點內(nèi)容中斷方式DMA方式5輸入輸出方式接口:主機和外設之間的交接界面,實現(xiàn)主機與外設之間的信息交換。數(shù)據(jù)信息、控制信息、狀態(tài)信息、聯(lián)絡信息等端口:接口電路中可以進行讀/寫的寄存器若干個端口加上相應的控制邏輯電路才組成接口。接口端口I/O端口編址方式統(tǒng)一編址I/O端口地址和內(nèi)存單元地址是統(tǒng)一編址的不設置專門的I/O指令I/O端口占用了內(nèi)存地址獨立編址內(nèi)存地址空間與I/O端口地址空間互相獨立分別有訪問內(nèi)存和訪問I/O外設的控制線有專門的I/O指令外圍設備的輸入/輸出方式I/O控制方式主要由程序實現(xiàn)主要由附加硬件實現(xiàn)IOP方式程序查詢方式程序中斷方式DMA方式通道方式程序直接控制方式由CPU執(zhí)行一段輸入輸出程序來實現(xiàn)內(nèi)存與外設之間數(shù)據(jù)傳送。無條件傳送CPU假設I/O端口總是處于準備好的狀態(tài),在CPU認為需要時,直接訪問I/O端口。軟、硬件簡單,但要求時序嚴格配合例:假設輸入端口地址為30H,輸出端口為31H。INAL,30H;從30口輸入數(shù)據(jù)OUT31H,AL;將數(shù)據(jù)從31口輸出下圖為一恒溫器,其引線D0—D7可送出當前溫度的二進制編碼(如:D0—D7為64H,溫度為100度)A、B為溫度控制輸入端,其控制功能編碼如下:1.請使用8255A將此恒溫器接到8088系統(tǒng)總路線上,畫出連接圖(不用設計地址碼電路)2.每20秒檢測一次溫度,若溫度大于100℃,則減溫;若溫度小于96℃,則加溫;在此范圍內(nèi),則保持。設8255A端口地址為60H—63H,試編寫對接口的初始化程序和控制程序。(若用到延遲程序,則可直接調(diào)用)舉例——2001年試題D0...D7AB恒溫器BA功能00保持10加溫11減溫可編程并行接口8255AIntel公司的標準外圍接口電路。8255A的引腳和外設相連的信號PA7~PA0:A口數(shù)據(jù)線PB7~PB0:B口數(shù)據(jù)線PC7~PC0:C口數(shù)據(jù)線,可兼作控制線和主機相連的信號Reset:復位信號。D7~D0:數(shù)據(jù)線。CS:片選線RD:讀信號WR:寫信號A1

A0:端口選擇信號00:A口01:B口10:C口11:控制端口8255AD7~D0CSRDWRA1A0ResetPA7~PA0PC7~PC4PC3~PC0PB7~PB0VCCGND8255A的控制字8255A的工作方式方式0:基本輸入/輸出方式,適用于端口A、B、C方式1:選通輸入/輸出方式,適用于端口A、B方式2:雙向方式,只適用于端口A方式選擇控制字

D7

D6D5

D4

D3

D2

D1

D0A組控制B組控制1:方式字標志A組方式選擇00:方式001:方式11X:方式2B組方式選擇0:方式01:方式1C口高4位1:輸入0:輸出C口低4位1:輸入0:輸出B口1:輸入0:輸出A口1:輸入0:輸出MOVAL,90HOUT63H,ALMOVAL,0;保持

L0:OUT61H,AL;B口輸出控制

CALLDELAY20;延進20SINAL,60H;讀A口溫度值CMPAL,100JADOWN;高于100℃,減溫CMPAL,96;低于96℃,加溫JBUPMOVAL,0;96℃~100℃,保持JMPL0DOWN:MOVAL,03H;減溫JMPL0UP:MOVAL,02H;加溫JMPL08255AD0~D7A0PA7A1~CSPA0WRPB0

RDPB1D7~D0A0A1

WRRDD0...D7AB恒溫器譯碼A2

~A900001001方式字A組方式0初始化控制字C高4未用B組方式0B口輸出C低4未用A口輸入答案程序查詢方式CPU查詢外設的工作狀態(tài)如外設未準備好,循環(huán)等待;直到外設準備好,CPU才與外設進行數(shù)據(jù)交換。優(yōu)點保證數(shù)據(jù)傳送的正確性缺點實時性、并行性差對未知錯誤和異常無法處理查詢式輸入INDATA:INAL,STATUS_PORT;從狀態(tài)端口讀入狀態(tài)TESTAL,01H;測試是否“準備好”JZINDATA;未準備好,循環(huán)測試INAL,DATA_PORT;準備好,輸入數(shù)據(jù)數(shù)據(jù)端口EN狀態(tài)端口EN鎖存器CPRCPReadyQD輸入設備STB

IBF&&地址譯碼D7~D0A7~A0+5VIO/MRDD0準備好狀態(tài)端口查詢式輸出OUTDATA:INAL,STATUS_PORT;從狀態(tài)端口讀入狀態(tài)TESTAL,80H;測試是否“忙”JNZOUTDATA;忙,循環(huán)測試MOVAL,STORE;空閑,從緩沖區(qū)取數(shù)據(jù)

OUTDATA_PORT,AL;輸出到數(shù)據(jù)端口忙標志數(shù)據(jù)端口CP狀態(tài)端口ENCPRBUSYDQ輸出設備ACK

OBF&&地址譯碼D7~D0A7~A0+5VIO/MWRD7RD5.2程序中斷方式采用中斷技術的原因解決速度矛盾快速主機與慢速外設提高并行性多個外設可同時工作,CPU分時,提高吞吐率。實現(xiàn)實時處理對隨機事件及時處理。及時故障處理電源掉電、除數(shù)為0等。中斷的概念當計算機執(zhí)行現(xiàn)行程序時,系統(tǒng)中出現(xiàn)某些急需處理的異常情況和特殊請求;CPU暫時中止現(xiàn)行程序,而轉去對隨機發(fā)生的更緊迫的事件進行處理;處理完畢后,自動返回原來的程序繼續(xù)執(zhí)行。主程序主程序A請求中斷B請求中斷C請求中斷A中斷服務子程序B中斷服務子程序C中斷服務子程序引發(fā)執(zhí)行子程序是由程序員預先設計的(由一條調(diào)用子程序指令轉入)執(zhí)行中斷服務程序是由隨機的中斷事件引起的;與主程序關系子程序的執(zhí)行受到主程序或上層子程序的控制中斷服務程序一般與被中斷的現(xiàn)行程序毫無關系;同時性不存在同時調(diào)用多個子程序的情況有可能發(fā)生多個外設同時請求CPU為自己服務的情況中斷與子程序區(qū)別中斷的基本類型按中斷產(chǎn)生方式強迫中斷:由某種隨機產(chǎn)生的緊急事件引發(fā)的中斷。自愿中斷:由程序中事先安排好的中斷指令引發(fā)按中斷處理方式程序中斷:CPU響應中斷后,轉去執(zhí)行相應的中斷處理程序。簡單中斷(DMA方式):CPU響應中斷后,不執(zhí)行中斷處理程序,只是讓出幾個總線周期給DMAC完成DMA操作。按中斷源內(nèi)中斷:由CPU內(nèi)部軟硬件原因引發(fā),如單步中斷外中斷:CPU以外的部件引發(fā)非屏蔽中斷:優(yōu)先級高,用于應急處理可屏蔽中斷:優(yōu)先級低,用于一般外設傳送中斷的基本類型按中斷響應方式向量中斷將所有的中斷處理程序的入口地址(第一條指令的地址)排成一張表,稱為中斷向量表;在中斷響應時,CPU通過這張表找到各個中斷處理程序的入口地址。非向量中斷中斷源不提供中斷服務程序的入口地址,而通過軟件查詢的方法得到。按中斷重數(shù)單重中斷:在CPU執(zhí)行中斷服務程序的過程中不能再被打斷多重中斷(中斷嵌套):在執(zhí)行某個中斷服務程序的過程中,CPU可去響應級別更高的中斷請求。中斷全過程流程圖取指令執(zhí)行指令中斷?響應中斷關中斷,即“中斷屏蔽”置位找出中斷源,并保存(PC)轉中斷服務子程序AA保存CPU現(xiàn)場設備服務恢復CPU現(xiàn)場開中斷,即“中斷屏蔽”復位是否公操作一條指令執(zhí)行完畢后,CPU所進行的操作。(如中斷處理、DMA傳送、取下條指令等)中斷周期中斷服務子程序中斷全過程中斷請求中斷判優(yōu)中斷響應主程序子程序中斷返回中斷處理中斷請求中斷源:引起中斷的原因或發(fā)出中斷申請的來源輸入輸出設備、實時時鐘、故障源、軟中斷指令中斷請求方式獨立請求線可直接識別中斷源中斷請求線數(shù)目有限公共請求線通過軟硬件識別中斷源中斷源數(shù)目可擴充二維結構同級別采用相同請求線不同級別采用不同請求線CPU中斷源n中斷源1INTRnINTR1…CPU中斷源n中斷源1INTAINTR…CPU中斷源1,n中斷源1,1INTA1INTR1…中斷源m,n中斷源m,1INTAmINTRm……中斷判優(yōu)CPU現(xiàn)行程序與中斷請求之間現(xiàn)行程序優(yōu)先級低于中斷請求優(yōu)先級,CPU可以響應中斷請求。各中斷請求之間軟件查詢方式查詢順序可通過編程改變,靈活;查詢、判優(yōu)靠程序實現(xiàn),占用CPU時間,速度慢。硬件排隊方式優(yōu)先級高的自動封鎖優(yōu)先級低的中斷請求。速度快,成本高,難于修改。INT1對1號中斷源服務INT2對2號中斷源服務INT3對3號中斷源服務INTn對n號中斷源服務YYYYNNNN…CPU響應中斷的條件CPU接收到中斷請求信號CPU允許中斷一條指令執(zhí)行完畢中斷響應過程保存斷點:入?;虼嫒胫付▋?nèi)存單元。關中斷:防止中斷響應過程被打斷。形成中斷服務程序入口中斷響應假定用0#內(nèi)存單元保存斷點(*用堆棧保存斷點)0#

→MAR*SP→MARPC→MDR;斷點保存WriteMDR→M(MAR)向量地址→PC0→EI;中斷允許觸發(fā)器清0,關中斷由中斷隱指令實現(xiàn)并不是真正的指令,由硬件直接實現(xiàn)的中斷響應過程中的基本操作。形成中斷處理程序入口軟件方法:軟件判優(yōu)、尋找中斷源,轉中斷處理硬件方法(向量中斷):硬件自動形成中斷處理程序的入口地址(中斷向量)。向量地址通常有兩種情況:向量地址是中斷服務程序的入口地址CPU不需要再經(jīng)過處理就可以進入相應的中斷服務程序。適合于中斷源比較少的情況。向量地址是中斷向量表的指針中斷源給出的向量地址是中斷服務程序入口地址的地址。例:8086中斷系統(tǒng)。中斷響應中斷處理及中斷返回中斷服務程序流程保護現(xiàn)場:將中斷服務程序所要使用的有關寄存器的內(nèi)容壓入堆棧保存。開中斷:允許中斷嵌套。中斷服務:根據(jù)中斷源的要求進行具體的服務操作。關中斷并恢復現(xiàn)場:防止受干擾,先關中斷;然后從堆棧彈出舊現(xiàn)場信息。開中斷:由于中斷程序的插入是隨機的,無法在返回原來的程序之后再來開中斷,因此必須在中斷返回之前,由中斷服務程序執(zhí)行開中斷指令。中斷返回:從堆棧中彈出斷點地址,便可從服務程序返回到原來程序的斷點處,繼續(xù)執(zhí)行原程序。中斷嵌套概念一個系統(tǒng)中有多個中斷源若CPU正在某中斷服務程序時有更重要的中斷源申請中斷,則CPU就中止正在服務的程序,轉為新的中斷源服務,在處理完畢后,再返回到被中止的服務程序,直至處理完,返回主程序。中斷嵌套的關鍵中斷處理程序中開中斷利用堆棧保證中斷的逐級返回。中斷子程序A中斷子程序BAB斷點1斷點2重要性如何判斷?是否可變?中斷屏蔽中斷優(yōu)先級包括兩層含義響應優(yōu)先級多個中斷源同時發(fā)出中斷請求時,由硬件排隊線路決定的CPU的響應次序,稱為硬排隊。處理優(yōu)先級CPU在處理中斷的過程中,優(yōu)先執(zhí)行哪個中斷服務程序的次序。可以由中斷屏蔽碼來改變優(yōu)先級順序,稱為軟排隊中斷屏蔽通過改變中斷屏蔽碼來改變中斷優(yōu)先級的技術。中斷屏蔽例:某計算機的中斷系統(tǒng)有4級響應優(yōu)先級1→2→3→4,每級對應一個屏蔽碼,如表所示,表中屏蔽碼為“0”表示開放,為“1”表示屏蔽。1000第4級1100第3級1110第2級1111第1級4級3級2級1級屏蔽碼中斷服務程序級別中斷屏蔽當有多個中斷源同時提出中斷請求時,中斷處理優(yōu)先級與中斷響應優(yōu)先級一致;當中斷請求先后出現(xiàn)時,允許級別高的中斷請求打斷級別低的中斷請求,以實現(xiàn)中斷嵌套。CPU運行軌跡如圖:①②④③②中斷服務程序①②③④主程序①中斷屏蔽改變中斷屏蔽碼:將優(yōu)先級順序改變?yōu)?→4→3→2。則中斷屏蔽碼應改寫為:1110第4級0110第3級0010第2級1111第1級4級3級2級1級屏蔽碼中斷服務程序級別中斷屏蔽此時CPU運行軌跡為:③②中斷服務程序①②④主程序③①②④①中斷控制器可編程中斷控制器8259A內(nèi)部結構數(shù)據(jù)總線緩沖器讀寫邏輯級聯(lián)緩沖比較器控制邏輯中斷服務寄存器(ISR)優(yōu)先級分析器中斷請求寄存器(IRR)中斷屏蔽寄存器(IMR)D7~D0…IR0IR7INTINTACSCAS0CAS1CAS2SP/ENRDWRA0內(nèi)部總線8259A的級聯(lián)9片825964級中斷主片8259從片08259從片78259IR0IR7…INTINT……IR0IR7IR0IR7INTINTA8259A的編程8259的不同工作方式是通過編程來選擇的首先根據(jù)需要,有選擇地寫入初始化控制字,使其處于預定的工作狀態(tài)初始化控制字共有4個:ICW1~ICW4然后根據(jù)編程要求,寫入工作方式控制字工作方式控制字:OCW1~OCW3中斷方式及其接口控制BSRDEI數(shù)據(jù)緩沖寄存器中斷向量邏輯設備選擇動作開始動作結束傳送數(shù)據(jù)IMIR公用寄存器IRPCCPU接口設備INTADBCS0101010101工作標志觸發(fā)器準備就緒標志觸發(fā)器允許中斷觸發(fā)器中斷請求觸發(fā)器中斷屏蔽觸發(fā)器P279中斷方式及其接口控制BSRDEI數(shù)據(jù)緩沖寄存器中斷向量邏輯設備選擇動作開始動作結束傳送數(shù)據(jù)IMIR公用寄存器IRPCCPU接口設備INTADBCS程序啟動外設:將該外設接口的BS置1,RD清0接口向外設發(fā)出啟動信號數(shù)據(jù)由外設傳送到接口的緩沖寄存器設備動作結束或緩沖寄存器滿時,將RD置1EI為1時,接口向CPU發(fā)出中斷請求信號IM為0時,CPU受理中斷請求中斷處理程序讀入數(shù)據(jù)發(fā)控制信號C,使BS,RD復位101236415171017向外設發(fā)INTA,并關中斷8轉中斷處理程序入口公操作時,接收中斷請求信號9010DMA方式的概念DMA——DirectMemoryAccess直接存儲器訪問在不需要CPU干預和軟件介入的情況下,在高速外設和內(nèi)存之間直接進行的大批量成組的數(shù)據(jù)傳送。DMA方式的應用內(nèi)存與高速外設間簡單的數(shù)據(jù)傳送磁盤的快速讀寫通信設備的批量數(shù)據(jù)傳送動態(tài)存儲器DRAM的刷新復雜情況,常綜合應用DMA方式與中斷方式DMA方式CPU存儲器高速外設DMA通道DMA方式的特點內(nèi)存和外設之間實現(xiàn)快速數(shù)據(jù)傳送(由硬件控制不用CPU干預);用硬件電路控制傳送數(shù)據(jù)塊的內(nèi)存地址和傳送長度計數(shù);內(nèi)存中要開辟專用緩沖區(qū),及時供給和接收外設的數(shù)據(jù);傳送速度快,CPU除了訪問主存會發(fā)生沖突以外,可以和外設并行工作,提高了系統(tǒng)的效率;傳送前通過程序進行預處理,結束后通過中斷方式進行后處理。多路型DMA控制器允許各設備以字節(jié)為單位交叉?zhèn)魉?,或以?shù)據(jù)塊為單位成組傳送。DMA和中斷的區(qū)別對CPU的占用程度不同中斷方式:由CPU執(zhí)行程序切換和保護、恢復現(xiàn)場DMA方式:除預處理和后處理階段,不占用CPU資源,但是占用總線。響應時機不同對中斷請求的響應只能發(fā)生在每條指令執(zhí)行完畢時對DMA請求的響應可發(fā)生在每個機器周期結束時優(yōu)先級不同DMA請求的優(yōu)先級高于中斷請求功能不同中斷有對異常事件的處理能力DMA方式僅局限于信息塊的輸入輸出DMA斷點取指令取源數(shù)取目的數(shù)執(zhí)行中斷斷點DMA傳送方式CPU停止訪存法DMA請求信號迫使CPU在現(xiàn)行周期結束后,將總線控制權交給DMAC;DMAC獲得總線控制權后,連接占用若干個存取周期進行成組連續(xù)的數(shù)據(jù)傳送,直至批量傳送結束,DMAC才把總線控制權交回CPU。DMA操作期間,CPU處于保持狀態(tài),停止訪問內(nèi)存,僅能進行一些與總線操作無關的內(nèi)部操作。CPU控制并使用內(nèi)存DMA控制并使用內(nèi)存內(nèi)存工作時間tDMA不工作DMA不工作DMA工作優(yōu)點:控制簡單,適用于高速外設成組的數(shù)據(jù)交換缺點:即使高速外設也跟不上內(nèi)存速度,存儲周期浪費CPU控制并使用內(nèi)存DMA控制并使用內(nèi)存內(nèi)存工作時間tDMA傳送方式周期挪用法外設有DMA請求,獲取總線控制權,挪用一個存取周期進行一個字節(jié)(字)的數(shù)據(jù)傳送,歸還總線權再申請,再傳送一個字節(jié)(字)如此重復,直至數(shù)據(jù)塊傳送完畢優(yōu)點:DMA只挪用少數(shù)周期,對CPU執(zhí)行程序無影響適用:內(nèi)存速度快的高速主機系統(tǒng)CPU控制并使用內(nèi)存DMA控制并使用內(nèi)存內(nèi)存工作時間tDMA傳送方式DMA與CPU交替訪存法將一個CPU周期分成2個時間片,一片分給CPU,一片分給DMA,使CPU和DMA交替訪存。優(yōu)點:無須申請和歸還總線,總線控制權切換很快,CPU不停止現(xiàn)行程序缺點:內(nèi)存同時為兩個部件服務,要求內(nèi)存工作速度提高一倍;很少有能與CPU速度配合的外設,DMA操作時間片可能成為空操作。DMA控制器(DMAC)DMA的過程系統(tǒng)總線CPU

MDMA控制器接口接口I/OI/O1.DMA控制器功能(1)接收初始化信息(主存首址、交換量、傳送方向)。初始化(2)接收外設DMA請求,判優(yōu),向CPU申請總線。傳送前(3)接管總線權,發(fā)地址、讀/寫命令。傳送期間控制/狀態(tài)邏輯中斷機構內(nèi)存地址計數(shù)器傳送長度計數(shù)器數(shù)據(jù)緩沖寄存器DMA請求觸發(fā)器DMA控制器(DMAC)DMAC的組成內(nèi)存CPU設備選擇設備數(shù)據(jù)線地址線溢出信號HOLDHLDA控制線控制/狀態(tài)邏輯中斷機構內(nèi)存地址計數(shù)器傳送長度計數(shù)器數(shù)據(jù)緩沖寄存器DMA請求觸發(fā)器設備選擇傳送長度計數(shù)器設備DMA請求觸發(fā)器內(nèi)存地址計數(shù)器+1中斷機構中斷請求溢出信號控制/狀態(tài)邏輯HOLDHLDA數(shù)據(jù)緩沖寄存器參看P291DMA控制器(DMAC)DMAC的功能接受DMA請求接受外設發(fā)出的DMA請求——DREQ并向CPU發(fā)出占用總線請求——HOLD接管總線控制權接收CPU發(fā)出的DMA響應——HLDA向外設發(fā)出DMA響應——DACK接管對總線的控制,進入DMA操作周期控制數(shù)據(jù)傳送確定數(shù)據(jù)的內(nèi)存地址及傳送長度,并能自動修改發(fā)出讀寫控制信號,執(zhí)行數(shù)據(jù)傳送操作傳送完畢,向CPU提出中斷,報告DMA操作的結束DMA控制器(DMAC)DMAC的引出線內(nèi)存CPUDMAC外設MEMRMEMWIORIOWDREQDACKHRQHLDA計數(shù)器MEMWIORMEMRMEMRIOWDBABDREQDACKHLDAHRQ參看P298DMA控制器(DMAC)DMAC的連接和傳送(P298-299-300)內(nèi)存CPUDMAC外設MEMRMEMWIORIOWDBABDREQDACKHRQHLDA6計數(shù)器7+18重復5、6、79撤銷HLDA,總線歸還CPU1DREQ2HRQ3HLDA4DACK566DMA傳送過程預處理:CPU執(zhí)行初始化測試外設狀態(tài)對DMAC寄存器賦初值(傳送方向、

溫馨提示

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

評論

0/150

提交評論