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