版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、1,第7章輸入輸出系統(tǒng),2,主要內(nèi)容,輸入輸出系統(tǒng)的特點和功能I/O端口及其編址方式基本輸入輸出方法中斷控制技術(shù),3,§7.1 輸入輸出系統(tǒng)概述,主要內(nèi)容:I/O系統(tǒng)特點I/O接口與I/O端口的概念I(lǐng)/O端口的編址方式端口地址譯碼數(shù)據(jù)傳送方式,4,一、輸入輸出系統(tǒng),將CPU及主存以外的部分叫做輸入輸出系統(tǒng),輸入輸出接口輸入輸出設(shè)備輸入輸出軟件,,5,輸入輸出系統(tǒng)的特點,復(fù)雜性異步性時實性與設(shè)備無關(guān)性
2、,6,I/O接口,I/O接口:負(fù)責(zé)將外設(shè)連接到總線上的一組邏輯電路的總稱。實現(xiàn)外設(shè)與主機(jī)之間的信息交換。,7,I/O接口要解決的問題,速度匹配(Buffer)信號的驅(qū)動能力(電平轉(zhuǎn)換器、驅(qū)動器) 信號形式和電平的匹配(A/D、D/A) 信息格式(字節(jié)流、塊、數(shù)據(jù)包、幀) 時序匹配(定時關(guān)系)總線隔離(三態(tài)門),8,接口的功能,數(shù)據(jù)的緩沖與暫存信號電平與類型的轉(zhuǎn)換增加信號的驅(qū)動能力對外設(shè)進(jìn)行監(jiān)測、控制與管理,中斷處理,
3、9,二、I/O端口,數(shù)據(jù)端口狀態(tài)端口控制端口,,端 口,I/O端口:接口中的寄存器,10,I/O端口,,,,,,CPU,數(shù)據(jù),狀態(tài),控制,外設(shè),,,,,,,11,I/O端口的編址方式,統(tǒng)一編址獨立編址,,12,端口與內(nèi)存的統(tǒng)一編址,特點:指令及控制信號統(tǒng)一內(nèi)存地址資源減少,,,,,內(nèi)存地址960KB,I/O地址64KB,00000H,F0000H,FFFFFH,13,端口的獨立編址,特點:內(nèi)存地址資源充分利用能夠應(yīng)用
4、于端口的指令較少,,,,,內(nèi)存地址,I/O地址,00000H,FFFFFH,FFFFH,0000H,14,端口的獨立編址,8086總線,,,,,,,A19-A0,,A15-A0,MEMR、MEMW,,,IOR、IOW 、BHE,,,,,,存儲器,輸入/輸出,,15,8086的I/O端口編址,采用I/O獨立編址方式(但地址線與存儲器共用);最小模式下由M/IO區(qū)分是訪問內(nèi)存還是訪問端口;最大模式下用總線控制器信號來區(qū)分訪
5、問對象I/O操作只使用20位地址信號中的16位:A15~A0可尋址的I/O端口數(shù)為64K(65536)個I/O地址范圍為0~FFFFHIBM PC只使用了1024個I/O地址(0~3FFH),,16,三、I/O地址的譯碼,目的:確定端口的地址參加譯碼的信號:IOR,IOW,A15 ~ A0OUT指令將使總線的IOW信號有效IN指令將使總線的IOR信號有效,,,,,17,I/O地址的譯碼,當(dāng)接口只有一個端口時,16位地址
6、信號一般應(yīng)全部參與譯碼,譯碼輸出直接選擇該端口;當(dāng)接口具有多個端口時,則16位地址線的高位參與譯碼(決定接口的基地址),而低位則用于確定要訪問哪一個端口。,18,I/O地址的譯碼,某外設(shè)接口有4個端口,地址為2F0H——2F3H,試將其與系統(tǒng)連接。,19,四、輸入輸出數(shù)據(jù)的傳送方式,并行 —— 一個數(shù)據(jù)單位同時傳送串行 —— 數(shù)據(jù)按位傳送,,20,§7.2 基本輸入/輸出方法,程序控制方式中斷方式傳送直接存儲器存取(D
7、MA),,無條件傳送查詢式傳送,,21,一、無條件傳送,適用于總是處于準(zhǔn)備好狀態(tài)的外設(shè)優(yōu)點:軟件及接口硬件簡單缺點:只適用于簡單外設(shè),適應(yīng)范圍較窄,22,無條件傳送例,讀取開關(guān)的狀態(tài);當(dāng)開關(guān)閉合時,輸出編碼使發(fā)光二極管亮,23,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,D,CP,Q,D0,D1,輸出口地址38F3H,輸入口地址38F0H,,+5V,1,,,,24,二、查詢工作方式,適用場合:外設(shè)并不
8、總是準(zhǔn)備好對傳送速率和效率要求不高對外設(shè)及接口的要求:外設(shè)應(yīng)提供設(shè)備狀態(tài)信息接口應(yīng)具備狀態(tài)端口,25,,查詢工作方式,優(yōu)點:軟件比較簡單缺點:CPU效率低,數(shù)據(jù)傳送的實時性 差,速度較慢,單一外設(shè)時的工作流程,,26,,超時?,READY?,與外設(shè)進(jìn)行數(shù)據(jù)交換,,,,,,,超時錯,,,讀入并測試外設(shè)狀態(tài),,Y,N,Y,N,傳送完?,,防止死循環(huán),,復(fù)位計時器,,N,Y,27,查詢工作方式例,外設(shè)
9、狀態(tài)端口地址為03FBH,第5位(bit5)為狀態(tài)標(biāo)志(=1忙,=0準(zhǔn)備好)外設(shè)數(shù)據(jù)端口地址為03F8H,寫入數(shù)據(jù)會使?fàn)顟B(tài)標(biāo)志置1 ;外設(shè)把數(shù)據(jù)讀走后又把它置0。試畫出其電路圖,并將DATA下100B數(shù)輸出,28,三、中斷控制方式,特點:外設(shè)在需要時向CPU提出請求,CPU再去為它服務(wù)。服務(wù)結(jié)束后或在外設(shè)不需要時,CPU可執(zhí)行自己的程序優(yōu)點:CPU效率高,實時性好,速度快。缺點:程序編制較為復(fù)雜。,29,以上三種I/O方式的共
10、性,均需CPU作為中介:軟件: 外設(shè)與內(nèi)存之間的數(shù)據(jù)傳送是通過CPU 執(zhí)行程序來完成的(PIO方式);硬件: I/O接口和存儲器的讀寫控制信號、地址 信號都是由CPU發(fā)出的。 缺點:程序的執(zhí)行速度限定了傳送的最大速度 (約為幾十KB/秒),30,四、DMA控制方式,特點:外設(shè)直接與存儲器進(jìn)行數(shù)據(jù)交換 ,CPU不再擔(dān)當(dāng)數(shù)據(jù)傳輸?shù)闹薪檎撸豢偩€由
11、DMA控制器(DMAC)進(jìn)行控制(CPU要放棄總線控制權(quán)),內(nèi)存/外設(shè)的地址和讀寫控制信號均由DMAC提供。,31,DMA控制方式,,,,,DMAC,外設(shè)接口,CPU,QRD,,,,,,MEM,,,,,,DACK,HOLD,HLDA,…,BUS,控制信號,32,DMA控制方式的工作過程,外設(shè)向DMA控制器發(fā)出“DMA傳送請求”信號DRQ;DMA控制器收到請求后,向CPU發(fā)出“總線請求”信號HOLD;CPU在完成當(dāng)前總線周期后會立即
12、發(fā)出HLDA 信號,對HOLD信號進(jìn)行響應(yīng);DMA控制器收到HLDA信號后,就開始控制總線,并向外設(shè)發(fā)出DMA響應(yīng)信號DACK,33,DMA控制方式的工作過程,DMA控制器送出地址信號和相應(yīng)的控制信號,實現(xiàn)外設(shè)與內(nèi)存或內(nèi)存與內(nèi)存之間的直接數(shù)據(jù)傳送;例:從外設(shè)向內(nèi)存?zhèn)魉鸵粋€字節(jié) DMAC向I/O接口發(fā)出讀信號,同時往地址總線上發(fā)出存儲器的地址和存儲器寫信號和AEN信號。,34,DMA控制方式的工作過程,DMA控制器自動
13、修改地址和字節(jié)計數(shù)器,并判斷是否需要重復(fù)傳送操作。當(dāng)規(guī)定的數(shù)據(jù)傳送完后,DMA控制器就撤銷發(fā)往CPU的HOLD信號。CPU檢測到HOLD失效后,緊接著撤銷HLDA信號,并在下一時鐘周期重新開始控制總線。,35,DMA的三種傳送方式,連續(xù)傳送(塊傳送): DMAC在申請到總線后,將一塊數(shù)據(jù)傳送完后才釋放總線,而不管中間DREQ是否有效。單次傳送(每次傳送一個字節(jié)): 每個DMA周期只傳送一個字節(jié)就立即釋放總線。按需傳送(猝
14、發(fā)傳送): 只要I/O接口的數(shù)據(jù)緩沖可用,就可進(jìn)行傳送。此時I/O接口需要有一定大小的FIFO緩沖區(qū)。,36,數(shù)據(jù)塊傳送:,Y,N,,允許DMA,DMA請求?,,DMAC請求總線,,CPU響應(yīng), DMAC獲總線控制權(quán),,DMA傳送一個字節(jié),塊結(jié)束?,,,,,,地址增量,計數(shù)器減量,,,,,DMAC釋放總線,,Y,,N,37,每次傳送一個字節(jié):,N,Y,N,,允許DMA,,DMAC請求總線,,CPU響應(yīng), DMAC獲總線控制權(quán),,D
15、MA傳送一個數(shù)據(jù),塊結(jié)束?,,釋放總線至少一個總線周期,,,地址增量,計數(shù)器減量,,,,,DMAC釋放總線,,,Y,測試I/O的DREQ DMA請求?,,38,按需傳送:,,,,,N,Y,,CPU響應(yīng), DMAC獲總線控制權(quán),,DMA傳送一個字節(jié),塊結(jié)束?,,測試I/O的DREQ 有效?,,,,,地址增量,計數(shù)器減量,,釋放總線,請求中斷,,,無效,釋放總線,,允許DMA,DMA請求?,,DMAC請求總線,,,,,Y,N,Y,N,3
16、9,DMA控制方式,優(yōu)點:數(shù)據(jù)傳輸由DMA硬件來控制,數(shù)據(jù)直接在內(nèi)存和外設(shè)之間交換,可以達(dá)到很高的傳輸速率(可達(dá)幾MB/秒),40,五、I/O通道控制方式,具有自己的指令系統(tǒng)專門負(fù)責(zé)外部設(shè)備的控制,,41,§7.3 中斷技術(shù),掌握:中斷的基本概念中斷響應(yīng)的一般過程中斷向量表及其初始化8088/8086中斷系統(tǒng),42,一、中斷的基本概念,中斷:CPU執(zhí)行程序時,由于發(fā)生了某種隨機(jī)的事件(外部或內(nèi)部),引起CPU暫時
17、中斷正在運行的程序,轉(zhuǎn)去執(zhí)行一段特殊的服務(wù)程序(稱為中斷服務(wù)程序或中斷處理程序),以處理該事件,該事件處理完后又返回被中斷的程序繼續(xù)執(zhí)行,這一過程稱為中斷。,43,中斷源,引起CPU中斷的事件,發(fā)出中斷請求的來源,內(nèi)部中斷,外部中斷,異常中斷,軟件中斷,可屏蔽中斷,非屏蔽中斷,,,,,異常事件引起,中斷指令引起,,,,INTR中斷,NMI中斷,44,引入中斷的原因,提高數(shù)據(jù)傳輸率;避免了CPU不斷檢測外設(shè)狀態(tài)的過程,提高了CPU的利用
18、率。實現(xiàn)對特殊事件的實時響應(yīng)。,45,二、外部中斷響應(yīng)的一般過程,中斷請求中斷判優(yōu)及中斷源識別中斷響應(yīng)中斷處理(服務(wù))中斷返回,46,中斷請求,中斷請求信號應(yīng)保持到中斷被處理為止;CPU響應(yīng)中斷后,中斷請求信號應(yīng)及時撤銷。,NMIINTR,,47,中斷源識別,軟件查詢法中斷矢量法。由中斷源提供中斷類型號,CPU根據(jù)類型確定中斷源。,48,中斷判優(yōu) 要解決的問題,對同時產(chǎn)生的中斷: 首先處理優(yōu)先級別較高的中
19、斷;若優(yōu)先級別相同,則按先來先服務(wù)的原則對非同時產(chǎn)生的中斷: 低優(yōu)先級的中斷程序允許被高優(yōu)先級的中斷源所中斷,,中斷嵌套,,49,中斷判優(yōu) 控制方法,軟件判優(yōu) 順序查詢中斷請求,先查詢的先服務(wù) (即先查詢的優(yōu)先級別高)硬件判優(yōu) 鏈?zhǔn)脚袃?yōu)、并行判優(yōu)(中斷向量法),,,50,菊花鏈邏輯電路,,INTAin,,,IREQ,INTR,&,,,,,
20、,≥1,,,,,,,,INTAout,,,,,DB,,,,,,三態(tài)門,中斷向量碼,,E,,外設(shè)接口,中斷確認(rèn),菊花鏈邏輯電路,,,51,中斷響應(yīng),向中斷源發(fā)出INTA中斷響應(yīng)信號;保護(hù)斷點。包括FLAGS、 CS和IP獲得中斷服務(wù)程序入口地址,固定入口法中斷向量法,,,,52,中斷處理,中斷服務(wù)子程序的特點:為“遠(yuǎn)過程”用IRET指令返回,53,中斷服務(wù)子程序完成的工作,保護(hù)現(xiàn)場開中斷(STI)中斷處理關(guān)中斷(
21、CLI)恢復(fù)現(xiàn)場中斷返回,54,中斷返回,執(zhí)行IRET指令,使IP、CS和FLAGS從堆棧彈出,55,三、8088/8086中斷系統(tǒng),內(nèi)部中斷外部中斷,除法錯中斷溢出中斷單步中斷軟件中斷,非屏蔽中斷可屏蔽中斷,,,,256個中斷源,56,NMI,INTR,,中斷邏輯,軟件中斷指令,溢出中斷,除法錯,單步中斷,,,,,,,,,非屏蔽中斷請求,中斷控制器8259APIC,,,,,,,,,,,8086/8088CPU
22、內(nèi)部邏輯,,斷點中斷,,可屏蔽中斷請求,n,4,3,0,1,2,8086/8088中斷源類型:,57,中斷向量表,,,,,,┇,,,┇,00000H,003FFH,,1KB,58,中斷向量表,存放各類中斷的中斷服務(wù)程序的入口地址每個入口占用4 Bytes,低字為段內(nèi)偏移,高字為段基址表的地址位于內(nèi)存的00000H~003FFH,大小為1KB,共256個入口,59,中斷向量表的初始化,將用戶自定義的中斷服務(wù)程序入口地址放入
23、向量表兩種方法:直接寫中斷向量表利用DOS中斷功能調(diào)用:INT 25H 例:將中斷向量碼為48H的服務(wù)程序入口地址放入向量表,60,中斷向量表的初始化,直接寫中斷向量表 MOV AX,0MOV DS,AXMOV SI, 48H*4MOV DX,OFFSET int_procMOV [SI],DXMOV DX,SEG int_procMOV [SI+2],DX利用DOS中斷功能調(diào)用:I
24、NT 25HMOV DX,SEG int_procMOV DS,DXMOV DX,OFFSET int_procMOV AX,2548HINT 21H,,P319,61,8088/8086內(nèi)部中斷響應(yīng)過程,特點:無INTA周期中斷類型碼固定或由指令給出,,62,8088/8086內(nèi)部中斷響應(yīng)過程,響應(yīng)過程步驟: ① PUSH FLAG ② 暫存TF ③ 清除IF和TF
25、 ④ PUSH CS PUSH IP ⑤ [0:中斷類型號*4] →I P [0:中斷類型號*4+2]→CS,63,8088/8086外部中斷響應(yīng)過程,可屏蔽中斷(INTR): ① INTA周期1,PIC進(jìn)行中斷的排隊和優(yōu)先級處理 ② INTA周期2,PIC把中斷類型號放到DB上,由CPU讀入 ③ PUSH FLAG ④ 暫存TF
26、 ⑤ 清除IF和TF ⑥ PUSH CS PUSH IP ⑦ [0:中斷類型號*4] →I P [0:中斷類型號*4+2]→CS NMI中斷響應(yīng)過程與內(nèi)部中斷類似,,中斷響應(yīng)和處理流程見p318,64,8088/8086中斷系統(tǒng)的優(yōu)先級,優(yōu)先級從高到低的順序為:內(nèi)部中斷NMI中斷INTR中斷單步中斷,65,四、中斷程序的一般結(jié)構(gòu),中斷初始化確定中斷類型碼保存原中斷向量
溫馨提示
- 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 傷病的社區(qū)康復(fù)
- 骨關(guān)節(jié)傷病的康復(fù)
- 常見傷病康復(fù)指南
- 罕見傷病的康復(fù)護(hù)理慢性壅塞性肺病的康復(fù)護(hù)理
- 運動創(chuàng)傷治療與康復(fù)技能運動傷病的防治與康復(fù)
- 社區(qū)康復(fù)康復(fù)護(hù)理
- 康復(fù)二科脊髓損傷病例
- 社區(qū)康復(fù)
- 社區(qū)康復(fù)康復(fù)護(hù)理醫(yī)學(xué)
- 腦癱的社區(qū)康復(fù)
- 腦卒中的社區(qū)康復(fù)
- 社區(qū)康復(fù)概論
- 社區(qū)康復(fù)護(hù)理
- 內(nèi)臟疾病的社區(qū)康復(fù)
- 衡陽創(chuàng)建社區(qū)戒毒社區(qū)康復(fù)
- 速度滑板運動員傷病康復(fù)應(yīng)用與研究
- 中醫(yī)傳統(tǒng)康復(fù)療法與社區(qū)康復(fù)
- 社區(qū)康復(fù)護(hù)理寶典
- 社區(qū)康復(fù)醫(yī)學(xué)題庫
- 社區(qū)康復(fù)概論講解
評論
0/150
提交評論