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