版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、6.1 輸入輸出接口概述 6.2 CPU與外設(shè)數(shù)據(jù)傳送的方式 6.3 中斷技術(shù) 6.4 8086/8088的中斷系統(tǒng)和中斷處理,第6章 輸入輸出與中斷,6.1 輸入輸出接口概述,計(jì)算機(jī)在應(yīng)用中,必然同各種各樣的外設(shè)打交道. 外設(shè)與計(jì)算機(jī)的連接不能像存儲(chǔ)器那樣直接掛到總線(DB、AB、CB)上,而必須通過(guò)各自的專用接口電路(接口芯片)與主機(jī)連接.,一、 CPU與外設(shè)間的連接,速度匹配(Buffer) 信號(hào)電平和驅(qū)動(dòng)能力(電平轉(zhuǎn)換器、驅(qū)動(dòng)器) 信號(hào)形式匹配(A/D、D/A) 信息格式(字節(jié)流、塊、數(shù)據(jù)包、幀) 時(shí)序匹配(定時(shí)關(guān)系) 總線隔離(三態(tài)門),I/O接口要解決的問(wèn)題,接口電路的信息可分為3
2、類:數(shù)據(jù)信息;狀態(tài)信息;控制信息。,(一)數(shù)據(jù)信息,數(shù)據(jù)信息包括: 1)數(shù)字量 2)模擬量 3)開(kāi)關(guān)量:,(二) 狀態(tài)信息,反映外設(shè)當(dāng)前所處工作狀態(tài)的信息,以作為CPU與外設(shè)間可靠交換數(shù)據(jù)的條件。,(三) 控制信息,用于控制外設(shè)的啟動(dòng)或停止。,二、接口電路的基本結(jié)構(gòu),(1) 3種信息應(yīng)通過(guò)不同的端口分別傳送。如數(shù)據(jù)輸入/輸出寄存器(緩沖器)、狀態(tài)寄存器與命令控制寄存器各占一個(gè)端口,每個(gè)端口都有自己的端口地址 (2) 外設(shè)的狀態(tài)作為一種輸入數(shù)據(jù),而CPU的控制命令,是作為一種輸出數(shù)據(jù),從而可通過(guò)數(shù)據(jù)總線來(lái)分別傳送。 (3) 端口地址由CPU地址總線的低8位或低16位地址信息來(lái)確定,CPU根據(jù)IO
3、指令提供的端口地址來(lái)尋址端口,然后同外設(shè)交換信息。,不同外設(shè)具有的端口數(shù)各不相同,計(jì)算機(jī)中為每一個(gè)端口都賦予一個(gè)惟一編號(hào)稱為端口地址,6.2 CPU與外設(shè)之間數(shù)據(jù)傳送的方式,CPU與外設(shè)之間的數(shù)據(jù)傳送,通常采用以下3種I/O傳送方式 程序傳送 中斷傳送 DMA傳送,一、程序傳送,CPU與外設(shè)間的數(shù)據(jù)交換在程序控制(即IN或OUT指令控制)下進(jìn)行,I/O數(shù)據(jù)傳送指令(1)IN累加器,端口號(hào) 端口號(hào)可以用8位立即數(shù)直接給出;也可以將端口號(hào)事先安排在DX寄存器中,間接尋址16位長(zhǎng)端口號(hào)(可尋址的端口號(hào)為065535)。IN指令是將指定端口中的內(nèi)容輸入到累加器AL/AX中。 其指令如下: IN AL,
4、PORT ;AL(端口PORT)IN AX,PORT ;AX(端口PORT) IN AL,DX ;AL(端口(DX) IN AX,DX ;AX(端口(DX),(2)OUT 端口號(hào),累加器 與IN指令相同,端口號(hào)可以由8位立即數(shù)給出,也可由DX寄存器間接給出。OUT指令是將累加器AL/AX中的內(nèi)容輸出到指定的端口。 OUT PORT,AL ;端口PORTAL OUT PORT,AX ;端口PORTAX OUT DX,AL ;端口(DX)AL OUT DX,AX ;端口(DX)AX,適用于總是處于準(zhǔn)備好狀態(tài)的外設(shè) 以下外設(shè)可采用無(wú)條件傳送方式: 開(kāi)關(guān) 發(fā)光器件(如發(fā)光二極管、7段數(shù)碼管、燈泡等)
5、繼電器 步進(jìn)電機(jī) 優(yōu)點(diǎn):軟件及接口硬件簡(jiǎn)單 缺點(diǎn):只適用于簡(jiǎn)單外設(shè),適應(yīng)范圍較窄,(一) 無(wú)條件傳送(又稱同步傳送),輸入輸出(無(wú)條件程序傳送)原理圖,輸入緩沖與輸出鎖存,當(dāng)CPU執(zhí)行IN指令時(shí),外設(shè)的數(shù)據(jù)是已準(zhǔn)備好的,否則就會(huì)讀錯(cuò)。 在CPU執(zhí)行OUT指令時(shí),必須確信所選外設(shè)的鎖存器是空的,例:一個(gè)采用同步傳送的數(shù)據(jù)采集系統(tǒng)如圖6.4所示。,采集過(guò)程要求: (1)先斷開(kāi)所有的繼電器線圈及觸頭,不采集數(shù)據(jù)。 (2)延遲一段時(shí)間后,使K0閉合,采集第1個(gè)通道的模擬 量,并保持一段時(shí)間,以使數(shù)字電壓表能將模擬電壓轉(zhuǎn)換為 16位BCD碼。 (3)分別將高8位與低8位BCD碼存入內(nèi)存,完成第1個(gè)模 擬
6、量的輸入與存。 (4)利用移位與循環(huán)實(shí)現(xiàn)8個(gè)模擬量的依次采集、輸入 與轉(zhuǎn)存。,數(shù)據(jù)采集程序如下: START: MOV DX,0100H ;01HDH,置吸合第1個(gè)繼電器代碼 ;00HDL,置斷開(kāi)所有繼電器代碼 LEA BX,DSTOR ;置輸入數(shù)據(jù)緩沖器的地址指針 XOR AL,AL ;清AL及進(jìn)位位CF AGAIN: MOV AL,DL OUT 20H,AL ;斷開(kāi)所有繼電器線圈 CALL NEAR DELAY1 ;模擬繼電器觸點(diǎn)的釋放時(shí)間 MOV AL,DH OUT 20H,AL ;先使P0吸合 CALL NEAR DELAY2 ;模擬觸點(diǎn)閉合及數(shù)字電壓表的轉(zhuǎn)換時(shí)間 IN AX,10H
7、;輸入 MOV BX,AX ;存入內(nèi)存 INC BX INC BX RCL DH,1 ;DH左移(大循環(huán))1位,為下一個(gè)觸點(diǎn)吸合 作準(zhǔn)備 JNC AGAIN ;8位都輸入完了嗎?沒(méi)有,則循環(huán) DONE: ;輸入已完,則執(zhí)行別的程序段。,適用于外設(shè)并不總是準(zhǔn)備好,而且對(duì)傳送速率、傳送效率要求不高的場(chǎng)合。 CPU在與外設(shè)交換數(shù)據(jù)前必須詢問(wèn)外設(shè)狀態(tài)“你準(zhǔn)備好沒(méi)有?” 對(duì)外設(shè)的要求:應(yīng)提供設(shè)備狀態(tài)信息 對(duì)接口的要求:需要提供狀態(tài)端口 優(yōu)點(diǎn):軟件比較簡(jiǎn)單 缺點(diǎn):CPU效率低,數(shù)據(jù)傳送的實(shí)時(shí)性差, 速度較慢,此條件是:在執(zhí)行輸入(IN指令)或輸出(OUT指令)前,要先查詢接口中狀態(tài)寄存器的狀態(tài)。輸入時(shí),由
8、該狀態(tài)信息指示要輸入的數(shù)據(jù)是否已“準(zhǔn)備就緒”;而輸出時(shí),又由它指示輸出設(shè)備是否“空閑”,由此條件來(lái)決定執(zhí)行輸入或輸出。,(二)程序查詢傳送(條件傳送異步傳送),查詢方式的流程圖,超時(shí)?,READY?,與外設(shè)進(jìn) 行數(shù)據(jù)交換,超時(shí)錯(cuò),讀入并測(cè)試外設(shè)狀態(tài),Y,N,Y,N,傳送完?,防止死循環(huán),復(fù)位計(jì)時(shí)器,N,Y,程序查詢輸入,圖6.6 查詢式輸入時(shí)的數(shù)據(jù) 和狀態(tài)信息,查詢輸入部分的程序: POLL:IN AL,STATUSPORT ;讀狀態(tài)端口的信息 TEST AL,80 ;設(shè)“準(zhǔn)備就緒”(READY)信息 在D7位 JE POLL ;未“準(zhǔn)備就緒”,則循環(huán)再查 IN AL,DATA_PORT ;已
9、“準(zhǔn)備就緒”(READY=1),則 讀入數(shù)據(jù),. 程序查詢輸出,查詢輸出部分的程序: POLL: IN AL,STATUS_PORT ;查狀態(tài)端口中的狀態(tài)信息D7 TEST AL,80H JNE POLL; ;D71即忙線1,則循環(huán)再查 MOV AL,STORE ;否則,外設(shè)空閑,由內(nèi)存讀取數(shù)據(jù) OUT DATA_PORT,AL ;輸出到DATA地址端口單元,.一個(gè)采用查詢方式的數(shù)據(jù)采集系統(tǒng),采集過(guò)程要求: (1) 初始化。 (2) 先停止轉(zhuǎn)換。 (3) 啟動(dòng)轉(zhuǎn)換,查輸入狀態(tài)信息。 (4) 當(dāng)輸入數(shù)據(jù)已轉(zhuǎn)換完(REA1,即準(zhǔn)備就緒),則經(jīng) 由端口輸入至CPU的累加器AL中,并轉(zhuǎn)送內(nèi)存。 (5)
10、 設(shè)置下一個(gè)內(nèi)存單元與下一個(gè)輸入通道,循環(huán)次。,數(shù)據(jù)采集過(guò)程的程序?yàn)椋?STARE: MOV DL,0F8H ;設(shè)置啟動(dòng)A/D轉(zhuǎn)換的信號(hào),且低位選通多路 開(kāi)關(guān)通道 MOV AX,SEG DSTOR ;設(shè)置輸入數(shù)據(jù)的內(nèi)存單元地址指針 MOV ES,AX LEA DI,DSTOR AGAIN:MOV AL,DL AND AL,0EFH ;使D4 OUT 04,AL ;停止A/D轉(zhuǎn)換 CALL DELAY ;等待停止A/D轉(zhuǎn)換操作的完成 MOV AL,DL OUT 04,AL ;選輸入通道并啟動(dòng)A/D轉(zhuǎn)換 POLL: IN AL,02 ;輸入狀態(tài)信息 SHR AL,1 ;查AL的D0 JNC POL
11、L ;判READY=1?若D0=0,未準(zhǔn)備好,則循環(huán)再查 IN AL,03 ;若已準(zhǔn)備就緒,則經(jīng)端口將采樣數(shù)據(jù)輸入至A STOSB ;輸入數(shù)據(jù)轉(zhuǎn)送內(nèi)存單元 IN CDL ;輸入模擬量通道增1 JNE AGAIN ;8個(gè)模擬量未輸入完則循環(huán) ;輸入已完,執(zhí)行別的程序,總結(jié)上述程序查詢輸入/輸出傳送方式的執(zhí)行過(guò)程, 其步驟是: ()CPU從I/O接口的狀態(tài)端口中讀入所尋址的外設(shè) 的狀態(tài)信息“READY”或“BUSY”。 ()根據(jù)讀入的狀態(tài)信息進(jìn)行判斷。 程序查詢輸入時(shí),若狀態(tài)信息READY0,則外設(shè)數(shù)據(jù)未準(zhǔn)備好,CPU繼續(xù)等待查詢,直至READY,外設(shè)已準(zhǔn)備好數(shù)據(jù),執(zhí)行下一步操作; 程序查詢輸出時(shí)
12、,若狀態(tài)信息BUSY,則外設(shè)正在忙”,CPU繼續(xù)等待查詢,直至外設(shè)“空閑”,BUSY0時(shí),執(zhí)行下一步操作。,()執(zhí)行輸入/輸出指令,進(jìn)行I/O傳送。完成數(shù)據(jù)的 輸入輸出,同時(shí)將外設(shè)的狀態(tài)信息復(fù)位,一個(gè)位的數(shù)據(jù) 傳送結(jié)束。 當(dāng)計(jì)算機(jī)工作任務(wù)較輕或CPU不太忙時(shí),可以應(yīng)用程序 查詢輸入輸出傳送方式,它能較好地協(xié)調(diào)外設(shè)與CPU之間定 時(shí)的差別;程序和接口電路比較簡(jiǎn)單。其主要缺點(diǎn)是:CPU必 須作程序等待循環(huán),不斷測(cè)試外設(shè)的狀態(tài),直至外設(shè)為交換數(shù) 據(jù)準(zhǔn)備就緒時(shí)為止。這種循環(huán)等待方式很花費(fèi)時(shí)間,大大降 低了CPU的運(yùn)行效率。,中斷是外設(shè)或其他中斷源中止CPU當(dāng)前正在執(zhí)行的程序,而轉(zhuǎn)向?yàn)樵撏庠O(shè)服務(wù)(如完成
13、它與CPU之間傳送一個(gè)數(shù)據(jù))的程序,一旦服務(wù)結(jié)束,又返回原程序繼續(xù)工作。 CPU在每一條指令執(zhí)行的結(jié)尾階段,均查詢是否有中斷請(qǐng)求信號(hào),若有,則暫停執(zhí)行現(xiàn)行的程序,轉(zhuǎn)去為申請(qǐng)中斷的某個(gè)外設(shè)服務(wù),以完成數(shù)據(jù)傳送。,二、 中斷傳送,CPU無(wú)需循環(huán)查詢外設(shè)狀態(tài),而是外部設(shè)備在需要進(jìn)行數(shù)據(jù)傳送時(shí)才中斷CPU正在進(jìn)行的工作,讓CPU來(lái)為其服務(wù)。大大提高了CPU的利用率。 優(yōu)點(diǎn):CPU效率高,實(shí)時(shí)性好,速度快。 缺點(diǎn):程序編制較為復(fù)雜。,特點(diǎn):,三、 直接存儲(chǔ)器存?。ǎ﹤魉?前面三種I/O方式都需要CPU作為中介: 外設(shè) CPU 內(nèi)存 兩個(gè)含義: 1)軟件:外設(shè)與內(nèi)存之間的數(shù)據(jù)傳送是通過(guò)CPU執(zhí)行程序來(lái)完成的; 2)硬件:I/O接口和存儲(chǔ)器的讀寫控制信號(hào)、地址信號(hào)都是由CPU發(fā)出的(總線由CPU控制)。 缺點(diǎn):程序的執(zhí)行速度限定了傳送的最大速度(約為幾十KB/秒) 解決:DMA傳輸,(Direct Memory Access)方式即直接存儲(chǔ)器存取,或稱為數(shù)據(jù)通道方式,是一種由專門的硬件電路執(zhí)行交換的傳送方式,它讓外設(shè)接口可直接與內(nèi)存進(jìn)行高速的數(shù)據(jù)傳送,而不必經(jīng)過(guò),這樣就不必進(jìn)行保護(hù)現(xiàn)場(chǎng)之類的額外操作,可實(shí)現(xiàn)對(duì)存儲(chǔ)器的直接存取。這種專門的硬件電路就是DMA控制器,簡(jiǎn)稱為。,DMA傳輸: 外設(shè) 內(nèi)存 外設(shè)直接與存儲(chǔ)器進(jìn)行數(shù)據(jù)交換 ,CPU不再擔(dān)當(dāng)數(shù)據(jù)傳輸?shù)闹薪檎撸?總線由DMA控制器(DMAC)進(jìn)
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 妊娠期梅毒母嬰傳播的阻斷策略與效果
- 車間安全員試題及答案
- 婦幼健康與老齡化社會(huì)應(yīng)對(duì)策略
- 女性職業(yè)人群專項(xiàng)體檢項(xiàng)目設(shè)計(jì)
- 大數(shù)據(jù)在職業(yè)暴露評(píng)價(jià)中的整合
- 大數(shù)據(jù)分析驅(qū)動(dòng)醫(yī)療糾紛精準(zhǔn)預(yù)防策略-1
- 法律形成性考試及答案
- 聽(tīng)力考試山東題目及答案
- 2025年高職第一學(xué)年(模具設(shè)計(jì)與制造)模具CAM階段測(cè)試題及答案
- 2026年崗位能力綜合測(cè)試(崗位適配性評(píng)估)試題及答案
- 食品居間合同協(xié)議
- 2022學(xué)年上海復(fù)旦附中高一(上)期末信息技術(shù)試題及答案
- 勵(lì)志類的美文欣賞范文(4篇)
- 廣東省廣州市白云區(qū)2024-2025學(xué)年六年級(jí)(上)期末語(yǔ)文試卷(有答案)
- 心內(nèi)科護(hù)理帶教工作總結(jié)
- 知行合一實(shí)踐出真知主題班會(huì)
- GB/T 45166-2024無(wú)損檢測(cè)紅外熱成像檢測(cè)總則
- 山東省菏澤市東明縣2024-2025學(xué)年七年級(jí)上學(xué)期考試生物試題
- 北京市海淀區(qū)2023-2024學(xué)年六年級(jí)上學(xué)期語(yǔ)文期末試卷(含答案)
- 2024集裝箱儲(chǔ)能系統(tǒng)測(cè)試大綱
- 保溫班組安全晨會(huì)(班前會(huì))
評(píng)論
0/150
提交評(píng)論