微機(jī)原理與接口技術(shù)輸入輸出接口技術(shù).ppt
《微機(jī)原理與接口技術(shù)輸入輸出接口技術(shù).ppt》由會(huì)員分享,可在線閱讀,更多相關(guān)《微機(jī)原理與接口技術(shù)輸入輸出接口技術(shù).ppt(29頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
第6章 輸入輸出接口技術(shù),本章重點(diǎn),I/O接口的基本概念 輸入輸出IN/OUT指令 程序查詢輸入輸出方式 中斷輸入輸出方式 DMA輸入輸出方式 I/O端口地址分配 I/O端口地址譯碼,計(jì)算機(jī)系統(tǒng)的I/O接口,為什么輸入輸出設(shè)備不能像存儲(chǔ)器一樣直接連在總線上?,6.1 接口技術(shù)基本概念,外設(shè)接口(I/O接口)的必要性 外設(shè)的種類繁多,而存儲(chǔ)器的種類單一,必須經(jīng)過(guò)接口電路連接到總線上。 外設(shè)的速度較慢,而存儲(chǔ)器的速度較快,必須經(jīng)過(guò)接口電路進(jìn)行數(shù)據(jù)的緩沖和鎖存。 外設(shè)的信號(hào)多種多樣,必須經(jīng)過(guò)接口電路轉(zhuǎn)換成處理器可以識(shí)別的信號(hào)。,I/O接口的作用相當(dāng)與一個(gè)轉(zhuǎn)換器,它可以保證外圍設(shè)備用計(jì)算機(jī)所要求的形式發(fā)送或接受信息。,I/O接口的功能,進(jìn)行譯碼選址——在具有多臺(tái)外設(shè)的系統(tǒng)中,外設(shè)接口必須能夠進(jìn)行地址譯碼,確定本設(shè)備是否被選中 轉(zhuǎn)換信息格式——接口電路完成串/并轉(zhuǎn)換、并/串轉(zhuǎn)換 協(xié)調(diào)定時(shí)差異——為了緩解主機(jī)與外設(shè)之間的速度差異,對(duì)傳輸?shù)臄?shù)據(jù)或地址加以緩沖或鎖存 提供聯(lián)絡(luò)信號(hào)——接口電路向主機(jī)提供外部設(shè)備“就緒”、“忙”,數(shù)據(jù)緩沖器“滿”、“空”等狀態(tài)信號(hào) 中斷管理功能——接口電路有產(chǎn)生并管理中斷請(qǐng)求和DMA請(qǐng)求的能力,以滿足實(shí)時(shí)系統(tǒng)以及大批量數(shù)據(jù)傳送的能力 可編程——對(duì)一些通用的接口電路,應(yīng)該具有通過(guò)軟件編程控制外設(shè)工作方式的能力 錯(cuò)誤檢測(cè)功能——對(duì)通信過(guò)程中的傳輸錯(cuò)誤或者溢出錯(cuò)誤能夠進(jìn)行實(shí)時(shí)檢測(cè),I/O接口的組成,I/O接口與I/O端口,端口:CPU能夠直接訪問(wèn)的I/O接口內(nèi)部的寄存器稱為端口,端口號(hào):每一個(gè)端口的訪問(wèn)地址,I/O接口,CPU與I/O接口傳遞的信息,數(shù)據(jù)信息、狀態(tài)信息和控制信息都是通過(guò)數(shù)據(jù)總線傳送的。 CPU寫入控制端口的數(shù)據(jù)是CPU對(duì)外設(shè)的控制信息; CPU讀狀態(tài)端口的數(shù)據(jù)是外設(shè)的狀態(tài)信息; CPU寫數(shù)據(jù)端口的數(shù)據(jù)是CPU送給外設(shè)的數(shù)據(jù) CPU讀數(shù)據(jù)端口的數(shù)據(jù)是外設(shè)送給CPU的數(shù)據(jù),I/O端口編址方式,為了便于CPU訪問(wèn)端口,每一個(gè)端口都有一個(gè)地址,系統(tǒng)有兩種方式為端口分配地址: I/O端口和存儲(chǔ)器統(tǒng)一編址 統(tǒng)一編址就是從存儲(chǔ)器空間中劃分出一部分給I/O設(shè)備,把I/O端口當(dāng)作存儲(chǔ)單元來(lái)訪問(wèn)。 例如:設(shè)CPU有16根地址線,存儲(chǔ)空間為64K,規(guī)定地址總線的最高位A15=1訪問(wèn)I/O端口,A15=0訪問(wèn)存儲(chǔ)器,則0~32K為存儲(chǔ)器地址空間,32K~64K為I/O端口地址空間。 統(tǒng)一編址的優(yōu)點(diǎn)是不需要專門的I/O指令,凡對(duì)存儲(chǔ)器有效的訪問(wèn)指令都可以訪問(wèn)I/O端口,訪問(wèn)形式靈活。缺點(diǎn)是端口占用了一定的存儲(chǔ)空間,存儲(chǔ)器空間變小。,6.3 I/O端口編址方式及地址譯碼,統(tǒng)一編址方式,I/O端口和存儲(chǔ)器獨(dú)立編址 獨(dú)立編址就是I/O端口地址補(bǔ)占用存儲(chǔ)器地址空間,兩者的地址空間完全獨(dú)立,都從0開(kāi)始編址。獨(dú)立編址需要專門的I/O端口訪問(wèn)指令。,8086采用存儲(chǔ)器與I/O端口獨(dú)立編址方式,即內(nèi)存單元和I/O端口從0單元開(kāi)始編址。當(dāng)引腳M/IO為高電平時(shí)訪問(wèn)存儲(chǔ)器,當(dāng)M/IO為低電平時(shí)訪問(wèn)I/O端口。 8086有專門的訪問(wèn)I/O端口的指令(IN和OUT),當(dāng)8086在執(zhí)行訪問(wèn)I/O端口的輸入(IN)指令和輸出(OUT)指令時(shí),就會(huì)使M/IO信號(hào)處于低電平,結(jié)合RD和WR信號(hào)產(chǎn)生出對(duì)相應(yīng)的I/O端口的讀/寫操作。,獨(dú)立編址的優(yōu)點(diǎn)是I/O端口不占用內(nèi)存空間;缺點(diǎn)是I/O指令功能單一,類型少,使輸入輸出操作受到限制。,獨(dú)立編址方式,IN和OUT指令 8086系統(tǒng)中可以有64K個(gè)8位端口,相鄰編號(hào)的兩個(gè)端口可以組合成為一個(gè)16的端口。 執(zhí)行輸入(IN)輸出(OUT)指令時(shí),CPU可以從一個(gè)8位端口讀入(寫出)一個(gè)字節(jié)到AL中,或者從一個(gè)16位端口讀入(寫出)一個(gè)字到AX中。,1. IN指令(輸入指令) 格式:IN A,PORT ;A可以是AL或者是AX 功能: AL←(PORT) 或AX←(PORT +1)_(PORT),(1)直接輸入指令 端口號(hào)為0~255,用一個(gè)立即數(shù)表示(00H~FFH),IN AL,50H ;將50H端口的字節(jié)讀入AL IN AX,70H ;分別將70H、71H端口的內(nèi)容讀入AL、AH,(2)間接輸入指令 當(dāng)端口號(hào)大于FFH時(shí),這些端口號(hào)不能用在指令中用立即數(shù)的形式給出,端口號(hào)放在DX寄存器中。,MOV DX,500H ;端口號(hào)送DX IN AL,DX ;將DX所指端口內(nèi)容送AL,OUT DX,AL ;將AL中的字節(jié)輸出到DX所指的端口中,2. OUT指令(輸出指令) 格式:OUT PORT,A ;A可以是AL或者是AX 功能: AL→(PORT) 或AX→(PORT +1)_(PORT),(1)直接輸出指令,OUT 44H,AL ;將AL中的內(nèi)容輸出到44H端口 OUT 80H,AX ;將AL、AH中的內(nèi)容輸出到80H、81H端口,(2)間接輸出指令,I/O端口地址譯碼,端口地址 27CH~27FH,固定式譯碼方式,門電路譯碼,跳線在J1時(shí),端口地址27CH~27FH,跳線在J2時(shí),端口地址37CH~37FH,可選式譯碼方式,譯碼器電路譯碼,340H,341H,342H,343H,344H,345H,346H,347H,全地址譯碼,000-01FH,040-05FH,060-07FH,080-09FH,0A0-0BFH,0C0-0DFH,0E0-0FFH,020-03FH,部分地址譯碼,CPU與外部設(shè)備的定時(shí)方式 -輸入過(guò)程: 1)CPU把一個(gè)地址值放在地址總線上,選擇某一輸入設(shè)備; 2)CPU等候輸入設(shè)備的數(shù)據(jù)成為就緒; 3)CPU從數(shù)據(jù)總線讀入數(shù)據(jù),并放在一個(gè)相應(yīng)的寄存器中。 -輸出過(guò)程: 1)CPU把一個(gè)地址值放在地址總線上,選擇輸出設(shè)備; 2)CPU等候輸出設(shè)備的狀態(tài)成為就緒; 3)CPU把數(shù)據(jù)放在數(shù)據(jù)總線上,輸出設(shè)備把數(shù)據(jù)取走。,問(wèn)題的關(guān)鍵在于:輸入時(shí)究竟什么時(shí)候輸入設(shè)備數(shù)據(jù)成為就緒? 輸出時(shí)什么時(shí)候輸出設(shè)備的狀態(tài)才成為就緒。很顯然由于輸入輸出設(shè)備本身的速度差異很大,對(duì)于不同速度的外圍設(shè)備,需要有不同的定時(shí)方式。,6.3 CPU與外設(shè)數(shù)據(jù)傳遞方式,CPU與外圍設(shè)備的定時(shí)有三種情況: -簡(jiǎn)單外圍設(shè)備: CPU和這類設(shè)備的數(shù)據(jù)交換不需要定時(shí),CPU認(rèn)為它們始終處于就緒狀態(tài),例如:機(jī)械開(kāi)關(guān),CPU認(rèn)為輸入設(shè)備的數(shù)據(jù)一定就緒,因?yàn)橹灰鶕?jù)開(kāi)關(guān)的閉/合就可以輸入0/1信號(hào);例如:顯示二極管,CPU認(rèn)為輸出設(shè)備的狀態(tài)一定就緒,因?yàn)橹灰狢PU輸出0/1信號(hào),顯示二級(jí)就可以滅/亮。 CPU和這類設(shè)備的數(shù)據(jù)交換一般采用無(wú)條件傳送方式。 -慢速外圍設(shè)備 由于這類設(shè)備的速度和CPU的速度不在一個(gè)數(shù)量級(jí)上,如打印機(jī);或由于設(shè)備本身是在不規(guī)則時(shí)間間隔下操作的,如鍵盤,因此CPU與這類設(shè)備之間的通常采用異步定時(shí)方式。,輸入:CPU首先查詢外部設(shè)備的數(shù)據(jù)是否就緒,如果就緒則通過(guò)數(shù)據(jù)總線輸入數(shù)據(jù),否則循環(huán)等待直到數(shù)據(jù)就緒;或者由外部設(shè)備在數(shù)據(jù)就緒時(shí)通知CPU,CPU通過(guò)數(shù)據(jù)總線輸入數(shù)據(jù)。,輸出:CPU首先查詢外部設(shè)備的狀態(tài)是否就緒,如果就緒則通過(guò)數(shù)據(jù)總線輸出數(shù)據(jù),否則循環(huán)等待直到外設(shè)就緒;或者由外部設(shè)備在狀態(tài)就緒時(shí)通知CPU,CPU通過(guò)數(shù)據(jù)總線輸出數(shù)據(jù)。,CPU和這類設(shè)備的數(shù)據(jù)交換一般采用程序查詢方式或者中斷方式。,-高速的外圍設(shè)備 由于這類外設(shè)是以相等的時(shí)間間隔操作的,則CPU可以用等間隔的速率執(zhí)行輸入/輸出指令。因此CPU與這類設(shè)備之間的通常采用同步定時(shí)方式。 例如外設(shè)外設(shè)的速度是2400B/s,則CPU每隔1/2400執(zhí)行一次輸入指令即可。 CPU和這類設(shè)備的數(shù)據(jù)交換一般采用DMA方式或通道方式。,無(wú)條件方式 CPU認(rèn)為外設(shè)的輸入數(shù)據(jù)始終有效,隨時(shí)可以輸入;或外設(shè)的狀態(tài)始終就緒,隨時(shí)可以輸出。,程序查詢方式,CPU 和 I/O 串行工作,踏步等待,CPU通過(guò)執(zhí)行程序不斷讀取并測(cè)試外設(shè)的狀態(tài),如果外設(shè)處于就緒狀態(tài),則CPU執(zhí)行輸入指令或輸出指令與外設(shè)交換數(shù)據(jù)。否則CPU必須循環(huán)等待。,,,,,,,,,,程序查詢方式的接口,1)設(shè)備選擇電路 2)數(shù)據(jù)緩沖寄存器 3)設(shè)備狀態(tài)標(biāo)志,CPU通過(guò)執(zhí)行程序不斷讀取并測(cè)試外設(shè)的狀態(tài),如果外設(shè)處于就緒狀態(tài),則CPU執(zhí)行輸入指令(in)或輸出指令(out)與外設(shè)交換數(shù)據(jù)。否則CPU循環(huán)等待。,測(cè) 試 指 令,轉(zhuǎn) 移 指 令,傳 送 指 令,設(shè)I/O接口的數(shù)據(jù)寄存器端口地址為62H(圖中未給出),輸入的字符存放在BX所指的內(nèi)存緩沖區(qū)中,則通過(guò)查詢傳送輸入數(shù)據(jù)的程序如下: INPUT: IN AL,61H ;讀狀態(tài)寄存器 TEST AL,01H ;測(cè)試最低位 JZ INPUT ;繼續(xù)讀入 IN AL,62H ;輸入數(shù)據(jù) MOV [BX],AL ;存放數(shù)據(jù),查詢式輸入接口電路,查詢式輸出接口電路,中斷傳送方式 在查詢方式中,不能有效的利用CPU。為了提高CPU的利用率,于是產(chǎn)生了中斷處理技術(shù)。在中斷系統(tǒng)中,CPU與外設(shè)交換數(shù)據(jù)時(shí),CPU不需要查詢外部設(shè)備的狀態(tài),當(dāng)外設(shè)沒(méi)有做好傳送數(shù)據(jù)的準(zhǔn)備時(shí), CPU可以執(zhí)行其他操作,當(dāng)外設(shè)準(zhǔn)備好后,向CPU發(fā)送中斷請(qǐng)求,CPU暫停當(dāng)前的程序,執(zhí)行中斷程序來(lái)完成數(shù)據(jù)傳送,接著返回原來(lái)的程序繼續(xù)執(zhí)行。,中斷的概念 在CPU正常運(yùn)行程序時(shí),由于內(nèi)部或外部某個(gè)非預(yù)料事件的發(fā)生,使CPU暫停正在運(yùn)行的程序,而轉(zhuǎn)去執(zhí)行處理引起中斷事件的程序,然后再返回被中斷了的程序,繼續(xù)執(zhí)行。這個(gè)過(guò)程就是中斷。中斷適合隨機(jī)出現(xiàn)的請(qǐng)求,例如輸入輸出設(shè)備的請(qǐng)求。,I/O中斷的產(chǎn)生以打印機(jī)為例,CPU 與打印機(jī)并行工作,直接存儲(chǔ)器讀取(DMA)方式 為了進(jìn)一步提高CPU的利用率,人們提出了直接內(nèi)存訪文技術(shù),即Direct Memory Access,簡(jiǎn)稱DMA技術(shù)。 在DMA方式下,外部設(shè)備利用專門的接口電路直接和內(nèi)存進(jìn)行高速的數(shù)據(jù)交換,不需要CPU的干預(yù)。這樣在進(jìn)行數(shù)據(jù)傳輸時(shí)就不需要像中斷那樣要進(jìn)行保護(hù)斷點(diǎn)之類的一系列操作,使CPU的利用率得到大幅度的提高。 利用DMA方式進(jìn)行數(shù)據(jù)傳輸時(shí),當(dāng)然要利用系統(tǒng)中的數(shù)據(jù)總線,地址總線和控制總線,但是系統(tǒng)的總線是由CPU管理控制的。因此用DMA方式進(jìn)行數(shù)據(jù)傳輸?shù)臅r(shí)候,接口電路需要向CPU發(fā)送總線請(qǐng)求,申請(qǐng)CPU讓出總線,即把總線控制權(quán)交給控制DMA傳輸?shù)慕涌陔娐贰?這種能夠控制系統(tǒng)總線完成外設(shè)與內(nèi)存之間大量數(shù)據(jù)交換的接口電路就是DMA控制器。,- 1.請(qǐng)仔細(xì)閱讀文檔,確保文檔完整性,對(duì)于不預(yù)覽、不比對(duì)內(nèi)容而直接下載帶來(lái)的問(wèn)題本站不予受理。
- 2.下載的文檔,不會(huì)出現(xiàn)我們的網(wǎng)址水印。
- 3、該文檔所得收入(下載+內(nèi)容+預(yù)覽)歸上傳者、原創(chuàng)作者;如果您是本文檔原作者,請(qǐng)點(diǎn)此認(rèn)領(lǐng)!既往收益都?xì)w您。
下載文檔到電腦,查找使用更方便
9.9 積分
下載 |
- 配套講稿:
如PPT文件的首頁(yè)顯示word圖標(biāo),表示該P(yáng)PT已包含配套word講稿。雙擊word圖標(biāo)可打開(kāi)word文檔。
- 特殊限制:
部分文檔作品中含有的國(guó)旗、國(guó)徽等圖片,僅作為作品整體效果示例展示,禁止商用。設(shè)計(jì)者僅對(duì)作品中獨(dú)創(chuàng)性部分享有著作權(quán)。
- 關(guān) 鍵 詞:
- 微機(jī) 原理 接口 技術(shù) 輸入輸出
鏈接地址:http://kudomayuko.com/p-2848375.html