微機原理6-基本輸入輸出接口_第1頁
微機原理6-基本輸入輸出接口_第2頁
微機原理6-基本輸入輸出接口_第3頁
微機原理6-基本輸入輸出接口_第4頁
微機原理6-基本輸入輸出接口_第5頁
已閱讀5頁,還剩50頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

12第6章基本輸入輸出接口教學重點

I/O接口電路的典型結構無條件傳送方式查詢傳送方式中斷工作過程36.1I/O接口概述I/O設備有哪些?為什么需要I/O接口(電路)?微機的外部設備多種多樣工作原理、驅動方式、信息格式、以及工作速度方面彼此差別很大它們不能與CPU直接相連,必須經(jīng)過中間電路再與系統(tǒng)相連46.1I/O接口概述(續(xù)1)什么是I/O接口(電路)?I/O接口是位于系統(tǒng)與外設間、用來協(xié)助完成數(shù)據(jù)傳送和控制任務的邏輯電路主板上的可編程接口芯片、I/O總線插槽的接口卡電路板(適配器adapter)都是接口電路接口一般還需要軟件支持(編程):初始設置,工作驅動CPU接口電路I/O設備56.1I/O接口概述(續(xù)2)什么是微機接口技術?處理微機系統(tǒng)與外設間聯(lián)系的技術根據(jù)應用系統(tǒng)的需要,使用或構造相應的接口電路,編制配套的接口程序66.1.1I/O接口的主要功能⑴對輸入輸出數(shù)據(jù)進行緩沖

驅動、隔離和鎖存⑵對信號的形式和數(shù)據(jù)的格式進行變換微機直接處理:數(shù)字量、開關量、脈沖量,而外設工作信號可能是如高電壓、大電流的模擬信號,需要進行信號變換。⑶對I/O端口進行尋址

一個外設可以有多個端口⑷與CPU和I/O設備進行聯(lián)絡

外設狀態(tài),控制信號,外設請求76.1.2I/O接口的典型結構控制總線CB地址總線ABI/O接口電路數(shù)據(jù)控制狀態(tài)數(shù)據(jù)總線DBCPU外設控制寄存器狀態(tài)寄存器數(shù)據(jù)寄存器8I/O接口的典型結構1.接口電路的內部結構2.接口電路的外部特性3.接口芯片的分類4.接口芯片的可編程性91.接口電路的內部結構CPU與外設主要有數(shù)據(jù)、狀態(tài)和控制信息需要相互交換,于是從應用角度看內部: ⑴數(shù)據(jù)寄存器保存外設給CPU和CPU發(fā)往外設的數(shù)據(jù) ⑵狀態(tài)寄存器保存外設或接口電路的狀態(tài) ⑶控制寄存器保存CPU給外設或接口電路的命令102.接口電路的外部特性面向CPU一側的信號(比較統(tǒng)一):用于與CPU連接主要是數(shù)據(jù)、地址和控制信號(與M類似)面向外設一側的信號(各不相同):用于與外設連接提供的信號五花八門功能定義、時序及有效電平等差異較大113.接口芯片的分類接口電路核心部分往往是一塊或數(shù)塊大規(guī)模集成電路芯片(接口芯片):通用接口芯片支持通用的數(shù)據(jù)輸入輸出和控制的接口芯片,如8255面向外設的專用接口芯片針對某種外設設計、與該種外設接口,如8279(鍵盤/顯示器接口芯片

面向微機系統(tǒng)的專用接口芯片與CPU和系統(tǒng)配套使用,以增強其總體功能,如8259(中斷控制器),8237(DMA控制器),8253(定時/計數(shù)器)124.接口電路的可編程性(Programmable)許多接口電路具有多種功能和工作方式,可以通過編程的方法選定其中一種;多數(shù)接口不僅需要進行物理連接,還需要編寫接口軟件;其工作方式和內部資源可通過編程加以控制,因此為接口設計和應用提供了更大的靈活性。136.1.3I/O端口的編址接口電路占用的I/O端口有兩類編排形式I/O端口單獨編址I/O地址空間獨立于存儲地址空間如8086/8088I/O端口與存儲器統(tǒng)一編址它們共享一個地址空間如M6800(Motrola)14I/O端口單獨編址優(yōu)點:I/O端口的地址空間獨立控制和地址譯碼電路相對簡單專門的I/O指令使程序清晰易讀缺點:I/O指令沒有存儲器指令豐富80x86采用I/O端口獨立編址,參見P14內存空間I/O空間FFFFF0FFFF015I/O端口與存儲器統(tǒng)一編址優(yōu)點:不需要專門的I/O指令I/O數(shù)據(jù)存取與存儲器數(shù)據(jù)存取一樣靈活缺點:I/O端口要占去部分存儲器地址空間程序不易閱讀(不易分清訪存和訪問外設)內存部分I/O部分存儲空間0FFFFF166.1.48088/8086的輸入輸出指令輸入指令INAL,i8/DX ;字節(jié)輸入INAX,i8/DX ;字輸入輸出指令OUTi8/DX,AL ;字節(jié)輸出OUTi8/DX,AX ;字輸出176.1.5I/O地址的譯碼I/O地址的譯碼方法與存儲器地址的譯碼方法一樣,但有它的特點:允許“浪費”不強調地址的連續(xù)性,因為各外設的操作相對獨立,且訪問頻率遠低于存儲器例:書P157,圖6-218用門電路實現(xiàn)I/O地址譯碼A9A8A7A6A5A2A4A3AENA1A074LS30(8輸入與非門)I/O地址3E7HA9-A0:1111100111B19用跳線和撥動開關設置接口地址的例子(P158)20IBMPC/XT主機板的I/O譯碼電路Y0Y1Y2Y3Y4Y5Y6Y7A5A6A7A8A9-AEN-IOWAB

C-E1-E2E374LS138-DMACS(8237)-INTRCS(8259)-T/CCS(8253)-PPICS(8255)-WRTDMAPG(寫DMA頁面寄存器)-WRTNMIREG(寫NMI屏蔽寄存器)接口芯片內部譯碼A0~A4-AEN:DMA地址有效21IBMPC/AT主機板的I/O譯碼電路接口芯片內部譯碼A0~A4DMA控制器1中斷控制器1定時計數(shù)器并行接口電路DMA頁面寄存器中斷控制器2DMA控制器2協(xié)處理器A5A6A7A8A9138譯碼器HLDAMASTERABCE1-E2-E3Y0Y1Y2Y3Y4Y5Y6Y7HLDA和MASTER有效,表示別的設備控制總線,CPU不能尋址I/O226.1.6CPU與外設的數(shù)據(jù)傳送方式程序控制下的數(shù)據(jù)傳送——通過CPU執(zhí)行程序中的I/O指令來完成傳送,又分為:無條件傳送查詢傳送中斷傳送直接存儲器存?。―MA)——傳送請求由外設向DMA控制器(DMAC)提出,后者向CPU申請總線,最后DMAC利用系統(tǒng)總線來完成外設和存儲器間的數(shù)據(jù)傳送I/O處理機——CPU委托專門的I/O處理機來管理外設,完成傳送和相應的數(shù)據(jù)處理236.2無條件傳送方式及其接口在CPU與慢速變化的設備交換數(shù)據(jù)時,可以認為它們總是處于“就緒”狀態(tài),隨時可以進行數(shù)據(jù)傳送,這就是無條件傳送,或稱立即傳送、同步傳送適合于簡單設備,如LED數(shù)碼管、按鍵/按鈕等無條件傳送的接口和操作均十分簡單這種傳送有前提:外設必須隨時處于就緒狀態(tài)傳送流程接口實例24無條件傳送:輸入示例IOR三態(tài)緩沖器OEI/O裝置地址譯碼器CSD7~D0A15~A1A00160HMOVDX,160HINAL,DX25無條件傳送:輸入示例MOVDX,160HINAL,DX74LS244+5V10Kx8G1G2數(shù)據(jù)總線CSRD26無條件傳送:輸出示例地址譯碼器數(shù)據(jù)鎖存器A15A0~A14-IOWCS0160H輸出設備D7~D0MOVDX,160HMOVAL,[BX]OUTDX,AL27無條件傳送:輸出實例MOVDX,160HMOVAL,[BX]OUTDX,AL+5V74LS373300

x8LEOE數(shù)據(jù)總線CSWR28無條件傳送:輸入輸出接口K7K1K0+5VD0~D7A0~A15CLK74LS06反相驅動器74LS2738D鎖存器74LS244三態(tài)緩沖器8000H譯碼+5VLED0LED7……-G-IOW-IOR兩個端口地址共用8000H,怎么區(qū)分?29無條件傳送:輸入輸出接口 movdx,8000h ;DX指向數(shù)據(jù)端口next:

inal,dx

;從輸入端口讀開關狀態(tài)

notal ;反相

outdx,al

;送輸出端口顯示

calldelay ;調子程序延時

jmpnext ;重復程序執(zhí)行效果?K0閉合,LED0亮還是滅?306.3查詢傳送方式及其接口CPU先了解(查詢)外設的工作狀態(tài),在外設就緒(可以交換信息)的情況下實現(xiàn)數(shù)據(jù)的輸入或輸出對多個外設的情況,則CPU按一定順序依次查詢(輪詢)。先查詢的外設將優(yōu)先進行數(shù)據(jù)交換查詢傳送的特點是:工作可靠,適用面寬,但傳送效率低31查詢傳送的兩個環(huán)節(jié)查詢環(huán)節(jié)尋址狀態(tài)口讀取狀態(tài)寄存器的標志位若不就緒就繼續(xù)查詢,直至就緒傳送環(huán)節(jié)尋址數(shù)據(jù)口是輸入,通過輸入指令從數(shù)據(jù)口讀入數(shù)據(jù)是輸出,通過輸出指令向數(shù)據(jù)口輸出數(shù)據(jù)輸入狀態(tài)就緒?數(shù)據(jù)交換YN傳送流程接口實例326.3.1查詢輸入接口-IOR+5V8D鎖存器8位三態(tài)緩沖器譯碼1位三態(tài)緩沖器

A0~A158000H8001HD0~D7D0輸入設備-IOR-STB-RQD兩次讀入數(shù)據(jù):1、D0(狀態(tài)口),

2、D0-D7(數(shù)據(jù)口)33查詢輸入接口

movdx,8000h ;DX指向狀態(tài)端口status:inal,dx

;讀狀態(tài)端口

testal,01h

;測試標志位D0(al&01h)

jzstatus;D0=0,未就緒,繼續(xù)查詢

incdx;D0=1,就緒,DX指向數(shù)據(jù)端口

inal,dx

;從數(shù)據(jù)端口輸入數(shù)據(jù)346.3.2查詢輸出接口8D鎖存器譯碼1位三態(tài)緩沖器RQ

A0~A158000H8001HD0~D7D7D+5V-ACK-IOW-IOR輸出設備狀態(tài)口35查詢輸出接口 movdx,8000h ;DX指向狀態(tài)端口status: inal,dx ;讀取狀態(tài)端口的狀態(tài)數(shù)據(jù)

testal,80h ;測試標志位D7 jnzstatus ;D7=1,未就緒,繼續(xù)查詢

incdx ;D7=0,就緒,DX指向數(shù)據(jù)端口

moval,buf ;變量buf送AL outdx,al ;將數(shù)據(jù)輸出給數(shù)據(jù)端口366.4中斷傳送方式程序斷點主程序中斷請求為外設繼續(xù)執(zhí)行返回斷點傳送流程CPU在執(zhí)行程序中,被內部或外部的事件所打斷,轉去執(zhí)行一段預先安排好的中斷服務程序;服務結束后,又返回原來的斷點,繼續(xù)執(zhí)行原來的程序提供服務中斷服務程序

入口376.4.1中斷傳送與接口中斷傳送是一種效率更高的程序傳送方式;中斷過程的完成由中斷系統(tǒng)(硬件,如8259和CPU)和中斷服務程序(軟件)共同控制完成;進行傳送的中斷服務程序是預先設計好的,其入口地址已知;中斷請求是外設隨機向CPU提出的(時間隨機);程序執(zhí)行到何位置(斷點)也是隨機的(地點隨機);38中斷可能來自CPU內部,也可能來自CPU外部外部中斷可分為可屏蔽中斷和不可屏蔽中斷

可屏蔽中斷:INTR引入;-INTA響應。CPU可通過設置IF=1(開中斷)和IF=0(關中斷)決定是否響應。

不可屏蔽中斷:NMI。必須響應,直接激活中服,如電源掉電、奇偶校驗出錯、浮點運算出錯等。39CPU對中斷請求的檢測是有規(guī)律的:一般是在每條指令的最后一個時鐘周期采樣中斷請求輸入引腳本章主要論述中斷在輸入和輸出方面的應用:即中斷傳送中斷還有著非常廣泛的應用,如程序調試(軟中斷)等;時鐘中斷:多道程序并發(fā)執(zhí)行的推動力40三態(tài)緩沖器中斷輸入接口(向量中斷)D0~D7+5V8D鎖存器8位三態(tài)緩沖器RQ

譯碼8001H中斷向量號(8259提供)D0~D7INTRD輸入設備中斷允許觸發(fā)器A0~A15中斷請求觸發(fā)器-IOR-INTA-STB數(shù)據(jù)口1、數(shù)據(jù)準備好,產生中斷請求信號2、CPU響應中斷,接收中斷向量號3、根據(jù)中斷向量,找到中服程序,讀取數(shù)據(jù)41?中斷向量如何獲取中斷向量表:在內存的前1K字節(jié),可容納256個中斷向量;每個中斷向量占用4個字節(jié),用于存儲對應中斷源的服務程序入口地址。一部分為系統(tǒng)保留,其余用戶可用,可作為外部中斷源向量。每個中斷向量,即一個1字節(jié)的中斷類型碼(00H~FFH),比如88H。426.4.2中斷工作過程(可屏蔽)中斷請求(外設)中斷響應(CPU)關中斷(CPU)斷點保護(CPU)中斷識別(硬件/軟件)現(xiàn)場保護(用戶)中斷服務(用戶)恢復現(xiàn)場(用戶)開中斷(CPU/用戶)中斷返回(IRET,用戶)中斷服務是進行數(shù)據(jù)交換的實質性環(huán)節(jié)43CPU響應中斷的條件中斷請求時,沒有更高級別的請求發(fā)生,如RESET、HOLD、NMI等;中斷請求應保持到它被響應為止;44斷點保護與現(xiàn)場保護的不同斷點保護是CPU自動完成的,保護內容有:FLAGS、CS、IP等;現(xiàn)場保護:用戶根據(jù)需要在程序中施行,用PUSH。456.4.3中斷識別和中斷優(yōu)先權處理問題1:CPU如何識別中斷源?一個中斷源: 向量中斷(硬件)P164,圖6-12多個中斷源: 中斷查詢(軟/硬件結合)中斷源的識別46中斷查詢接口A0~A15鎖存器INTR三態(tài)緩沖器譯碼

8001HD0~D7中斷A中斷B中斷C中斷H……-IOR軟件流程見圖6-14中服程序依次查詢中斷A-H,看有否發(fā)出申請,先查的優(yōu)先級高476.4.3中斷優(yōu)先權(續(xù)1)問題2:有多個中斷同時請求,CPU如何應對?硬件方案1:鏈式優(yōu)先權排隊電路2:優(yōu)先權編碼電路中斷優(yōu)先級排隊48鏈式中斷優(yōu)先權排隊電路A2A1C2C1D2D1B2B1中斷源A觸發(fā)器中斷源B觸發(fā)器中斷源C觸發(fā)器中斷矢量D中斷矢量C中斷矢量B中斷矢量A中斷源D觸發(fā)器緩沖器緩沖器緩沖器緩沖器-INTA高優(yōu)先級INTRD0~D71、產生請求信號2、關閉B23、送出中斷矢量49中斷優(yōu)先權編碼電路比較器失效信號(當前無中斷服務時有效)比較器8:3優(yōu)先權編碼器優(yōu)先權寄存器D0~D721A<B中斷請求0中斷請求1中斷請求2A0A1A2INTRB0B1B2…有中斷請求中斷請求7低優(yōu)先權記錄正在服務的中斷編碼,若無,則輸出比較器失效信號50

設中斷源2有中斷請求,1、若當前沒有中斷服務…2、當前正在服務的是中斷源1(優(yōu)先級高于2)…3、當前正在服務的是中斷源5(優(yōu)先級低于2)…516.4.3中斷優(yōu)先權(續(xù)2)問題3:中斷處理過程中,又有中斷提出請求,怎么辦?辦法1:鏈式優(yōu)先權排隊電路辦法2:優(yōu)先權編碼電路中斷嵌套526.5DMA傳送方式希望克服程序控制傳送的不足: 外設→CPU→存儲器 外設←CPU←存儲器直接存儲器存取DMA:不經(jīng)CPU,不用指令

外設→存儲器(DMA寫)

外設←存儲器(DMA讀)CPU出讓系統(tǒng)總線(輸出高阻),由DMA控制器(DMAC)接管系統(tǒng)總線53DMA傳送特點:DMAC同時訪問存儲器和I/O設備;對一個對象讀,必然對另一個對象寫;只對存儲單元進行尋址,對I/O端口不尋址。54DMA傳送的工作過程⑴CPU對DMA控制器進行初始化設置⑵外設、DMAC、CPU,3者通過應答信號建立聯(lián)系:CPU將總線暫交DMAC控制,事后再將控制權收回。⑶DMA傳送DMA讀:存儲器→外設DMA寫:存儲器←外設⑷DMAC的功能:對存儲器尋址地址動加1/減1計數(shù)器減1判斷傳送是否完成傳送流程55DMA傳送(以DMA寫為例)-MEMW-IOR數(shù)據(jù)總線地址總線輸入設備存儲器DMACCPU②③④①HOLDHLDA56DMA傳送流程HLDA發(fā)存儲器地址傳送數(shù)據(jù)傳送結束?DMA結束修改地址指針57傳送方式的比較無條件傳送:慢速外設需與CPU保持同步查詢傳送:簡單實用,效率較低中斷傳送:外設主動,可與CPU并行工作,但每次傳送需要大量額外時間開銷DMA傳送:DMAC控制,外設直接和存儲器進行數(shù)據(jù)傳送,適合大量、快速數(shù)據(jù)傳送58第

溫馨提示

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

評論

0/150

提交評論