版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、 計算機系統(tǒng)由計算機系統(tǒng)由主機主機和和外部設(shè)備外部設(shè)備兩大部分組成,外設(shè)不能直兩大部分組成,外設(shè)不能直接和計算機系統(tǒng)的三總線相連接,必須在外設(shè)和接和計算機系統(tǒng)的三總線相連接,必須在外設(shè)和CPU三總線之三總線之間增設(shè)一個能控制外設(shè)與間增設(shè)一個能控制外設(shè)與CPU進(jìn)行信息交換的中轉(zhuǎn)電路(即接進(jìn)行信息交換的中轉(zhuǎn)電路(即接口電路),來協(xié)調(diào)口電路),來協(xié)調(diào)CPU和外設(shè)間的信息交換及工作秩序。和外設(shè)間的信息交換及工作秩序。接口電路(即可編程接口芯片)種類很多,它的顯著特點是可編程接口電路(即可編程接口芯片)種類很多,它的顯著特點是可編程性,即可以通過編程來規(guī)定其功能及操作參數(shù)。性,即可以通過編程來規(guī)定其功能
2、及操作參數(shù)。存儲器存儲器I/O設(shè)備設(shè)備不不同同點點種類少種類少種類多種類多功能單一功能單一功能多樣功能多樣傳送一個字節(jié)傳送一個字節(jié)傳送規(guī)律豐富傳送規(guī)律豐富與與CPU速度匹配速度匹配與與CPU速度不匹配速度不匹配易于控制易于控制控制難控制難結(jié)論結(jié)論可與可與CPU直接相連直接相連需要經(jīng)過需要經(jīng)過I/O接口電路與接口電路與CPU連接連接二、接口電路的基本結(jié)構(gòu)二、接口電路的基本結(jié)構(gòu)數(shù)據(jù)總線控制總線地址總線數(shù)據(jù)緩沖器讀/寫/中斷控制邏輯數(shù)據(jù)端口控制端口狀態(tài)端口端口地址譯碼外部設(shè)備接口電路數(shù)據(jù)線控制線狀態(tài)線端口地址是計算機端口地址是計算機系統(tǒng)一種重要資源系統(tǒng)一種重要資源 系系統(tǒng)統(tǒng)板板 00001F0200
3、3F04005F06007F08009F0A00BF0C00DF0E00FFDMA控制器控制器1中斷控制器中斷控制器1定時計數(shù)器定時計數(shù)器并行接口電路并行接口電路DMA頁面寄存器頁面寄存器中斷控制器中斷控制器2DMA控制器控制器2協(xié)處理器協(xié)處理器 I/O 通通 道道1F01F820020727827F2F82FF37837F38038F3A03AF3B03BF3D03DF3F03F73F83FF硬盤適配器硬盤適配器游戲接口游戲接口并行打印機接口并行打印機接口LPT2串行通信接口串行通信接口COM2并行打印機接口并行打印機接口LPT1SDLC通信接口通信接口BSC通信接口通信接口單色顯示單色顯示
4、/打印機適配器打印機適配器彩色圖形適配器彩色圖形適配器CGA軟盤適配器軟盤適配器串行通信接口串行通信接口COM18086的的I/O端口空間分配端口空間分配 x86訪問外設(shè)時只使用低訪問外設(shè)時只使用低16位位A0A15,尋址,尋址64K個個8位位I/O端口,端口,PC機僅使用低機僅使用低10位位A0A9,尋址,尋址1024個個8位位I/O端口端口例:例:8086用用DMA方式輸出單個數(shù)據(jù)方式輸出單個數(shù)據(jù)中斷源中斷源中斷中斷請求請求 當(dāng)當(dāng) 前前 程程 序序中斷中斷服務(wù)服務(wù)程序程序程序斷點程序斷點中斷返回中斷返回中斷響應(yīng)中斷響應(yīng)l中斷優(yōu)先級的解決方法中斷優(yōu)先級的解決方法u軟件查詢法(需要少量硬件)軟
5、件查詢法(需要少量硬件)u菊花鏈(菊花鏈(daisy chain)優(yōu)先級排隊電路)優(yōu)先級排隊電路u可編程中斷控制器(如可編程中斷控制器(如8259)通常,正在執(zhí)行較低級的通常,正在執(zhí)行較低級的中斷服務(wù)程序時,可以響應(yīng)較中斷服務(wù)程序時,可以響應(yīng)較高級的中斷請求,而將正在處高級的中斷請求,而將正在處理的中斷暫時掛起,稱為理的中斷暫時掛起,稱為中斷中斷嵌套。嵌套。01267INT磁磁盤盤磁磁帶帶CRT鍵鍵盤盤打打印印“或或”端口號端口號XXH256級中斷的中斷入口地址表級中斷的中斷入口地址表 為了避開由外設(shè)硬件產(chǎn)生為了避開由外設(shè)硬件產(chǎn)生INTR中斷請求信號和提供中中斷請求信號和提供中斷類型號的麻煩,
6、可以用軟件中斷指令斷類型號的麻煩,可以用軟件中斷指令I(lǐng)NT nn來模擬來模擬外設(shè)提供的硬件中斷。外設(shè)提供的硬件中斷。00000H00004H003FCH0型中斷向量型中斷向量1型中斷向量型中斷向量255型中斷向量型中斷向量n型中斷向量型中斷向量4*n4n4n+2n型型ISP首指令的有效地址首指令的有效地址n型型ISP代碼段的段基址代碼段的段基址00000H00001H0000CH(0000:000CH)1EA00H(1E00:0A00H)FFFFFH低地址低地址內(nèi)存內(nèi)存高地址高地址 1E00 0 H+ 0A0 0 H 1EA0 0 H中斷服務(wù)程序中斷服務(wù)程序.1E(CSH)00(CSL)0A(
7、IPH)00(IPL).中斷類型號中斷類型號34000CH 首先,中斷請求信號首先,中斷請求信號INTR由外部設(shè)備產(chǎn)生由外部設(shè)備產(chǎn)生并送至并送至8086的的INTR引引腳上。腳上。 CPU是否響應(yīng)取決于是否響應(yīng)取決于CPU內(nèi)部的內(nèi)部的IF標(biāo)志。標(biāo)志。 IBM PC系列微機的中斷結(jié)構(gòu)系列微機的中斷結(jié)構(gòu)l 8086執(zhí)行中斷響應(yīng)時,在執(zhí)行中斷響應(yīng)時,在2個中斷響應(yīng)周期之間插入了個中斷響應(yīng)周期之間插入了2個或個或插入插入3個空閑狀態(tài)。個空閑狀態(tài)。l 但在但在8088 CPU的的2個中斷響應(yīng)周期之間并沒有插入空閑狀態(tài)個中斷響應(yīng)周期之間并沒有插入空閑狀態(tài)l 當(dāng)一個非屏蔽中斷,或一個軟件中斷或一個單步中斷被
8、響應(yīng)當(dāng)一個非屏蔽中斷,或一個軟件中斷或一個單步中斷被響應(yīng)時,以上各步均要執(zhí)行,除了第時,以上各步均要執(zhí)行,除了第1步不存在步不存在l 對于由軟件產(chǎn)生的中斷,除了沒有執(zhí)行中斷響應(yīng)總線周期外,對于由軟件產(chǎn)生的中斷,除了沒有執(zhí)行中斷響應(yīng)總線周期外,其余的則執(zhí)行同樣序列的總線周期。其余的則執(zhí)行同樣序列的總線周期。六、六、 中斷服務(wù)子程序設(shè)計中斷服務(wù)子程序設(shè)計 在中斷向量表中在中斷向量表中40H7FH中斷向量是留給用戶增加中中斷向量是留給用戶增加中斷服務(wù)程序時使用的。為此斷服務(wù)程序時使用的。為此,可以將某些通用性強的子程序功可以將某些通用性強的子程序功能能,用中斷子程序來實現(xiàn)。一旦設(shè)置好這樣的中斷子程序
9、用中斷子程序來實現(xiàn)。一旦設(shè)置好這樣的中斷子程序,在其在其他應(yīng)用程序中就可以調(diào)用這個中斷程序。他應(yīng)用程序中就可以調(diào)用這個中斷程序。 中斷服務(wù)程序的編程原則中斷服務(wù)程序的編程原則l中斷是異步發(fā)生的,進(jìn)入響應(yīng)時并不考慮當(dāng)前運行狀態(tài),中斷是異步發(fā)生的,進(jìn)入響應(yīng)時并不考慮當(dāng)前運行狀態(tài),因此中斷服務(wù)程序必須保護(hù)現(xiàn)場因此中斷服務(wù)程序必須保護(hù)現(xiàn)場l在進(jìn)入具體中斷處理之前要先初始化中斷向量,使其指向在進(jìn)入具體中斷處理之前要先初始化中斷向量,使其指向相應(yīng)的中斷服務(wù)程序,但在此之前要先關(guān)中斷,以防接管相應(yīng)的中斷服務(wù)程序,但在此之前要先關(guān)中斷,以防接管中斷過程中發(fā)生中斷中斷過程中發(fā)生中斷l(xiāng)在中斷服務(wù)程序入口處要立即開
10、中斷,以允許較高優(yōu)先級在中斷服務(wù)程序入口處要立即開中斷,以允許較高優(yōu)先級的中斷產(chǎn)生的中斷產(chǎn)生l中斷服務(wù)程序的服務(wù)時間要盡量壓縮,以免干擾同級或低中斷服務(wù)程序的服務(wù)時間要盡量壓縮,以免干擾同級或低級中斷設(shè)備的工作級中斷設(shè)備的工作l由于由于PC機中機中8259采用正常結(jié)束中斷,因此在中斷服務(wù)程采用正常結(jié)束中斷,因此在中斷服務(wù)程序執(zhí)行序執(zhí)行IRET返回前應(yīng)向返回前應(yīng)向8259發(fā)結(jié)束中斷命令發(fā)結(jié)束中斷命令EOI MOV AL, 20H ; 使當(dāng)前使當(dāng)前ISR中的對應(yīng)位復(fù)位中的對應(yīng)位復(fù)位 OUT 20H, AL IRETl當(dāng)編制替代系統(tǒng)原有中斷服務(wù)程序時,應(yīng)保存好原中斷當(dāng)編制替代系統(tǒng)原有中斷服務(wù)程序時,
11、應(yīng)保存好原中斷向量的內(nèi)容。在應(yīng)用程序終止前恢復(fù)原有的中斷向量向量的內(nèi)容。在應(yīng)用程序終止前恢復(fù)原有的中斷向量l中斷服務(wù)程序不要使用中斷服務(wù)程序不要使用DOS系統(tǒng)功能調(diào)用(系統(tǒng)功能調(diào)用(INT 21H),),因為因為DOS不允許重入不允許重入l若中斷服務(wù)程序只為某個應(yīng)用程序服務(wù),則中斷服務(wù)程若中斷服務(wù)程序只為某個應(yīng)用程序服務(wù),則中斷服務(wù)程序可以和主程序組裝成一個程序一起裝入內(nèi)存,隨主程序可以和主程序組裝成一個程序一起裝入內(nèi)存,隨主程序結(jié)束而一起退出內(nèi)存序結(jié)束而一起退出內(nèi)存l若中斷服務(wù)程序為多個應(yīng)用程序服務(wù),則中斷服務(wù)程序若中斷服務(wù)程序為多個應(yīng)用程序服務(wù),則中斷服務(wù)程序可以與一個初始化程序組裝成一個
12、程序一起裝入內(nèi)存,可以與一個初始化程序組裝成一個程序一起裝入內(nèi)存,通過初始化程序的執(zhí)行而將中斷服務(wù)程序駐留內(nèi)存通過初始化程序的執(zhí)行而將中斷服務(wù)程序駐留內(nèi)存 中斷向量表的操作中斷向量表的操作 讀寫中斷向量表不能使用讀寫中斷向量表不能使用MOV指令,而應(yīng)調(diào)用相應(yīng)的指令,而應(yīng)調(diào)用相應(yīng)的DOS功能功能l取中斷向量取中斷向量u預(yù)置預(yù)置AH=35H, AL=中斷類型號中斷類型號u執(zhí)行執(zhí)行INT 21H把類型號為把類型號為AL的中斷向量取出到的中斷向量取出到ES:BX中中l(wèi)設(shè)置中斷向量設(shè)置中斷向量u預(yù)置預(yù)置AH=25H, AL=中斷類型號中斷類型號,DS:DX=中斷向量中斷向量u執(zhí)行執(zhí)行INT 21H把把D
13、S:DX指向的中斷向量放置到中斷向量表中類指向的中斷向量放置到中斷向量表中類型號為型號為AL的中斷向量處的中斷向量處 中斷服務(wù)程序的編程中斷服務(wù)程序的編程中斷入口中斷入口保護(hù)現(xiàn)場保護(hù)現(xiàn)場為中斷源服務(wù)部分為中斷源服務(wù)部分發(fā)中斷結(jié)束命令發(fā)中斷結(jié)束命令恢復(fù)現(xiàn)場恢復(fù)現(xiàn)場中斷返回中斷返回常規(guī)內(nèi)存:常規(guī)內(nèi)存:1MB基本基本RAM區(qū):區(qū):640KB保留保留RAM區(qū):區(qū):128KB擴展擴展ROM區(qū):區(qū):128KB基本基本ROM區(qū):區(qū):64KB擴展內(nèi)存:用作擴展內(nèi)存:用作RAM區(qū)區(qū)保留保留ROM64KB基本基本ROM64KB擴展擴展RAM15MB基本基本ROM64KB保留保留ROM64KB擴展擴展ROM128K
14、B顯示顯示RAM128KB系統(tǒng)系統(tǒng)RAM640KB000000H0A0000H0C0000H0E0000H0F0000H100000HFE0000HFFFFFFH常規(guī)內(nèi)存常規(guī)內(nèi)存1MB擴展內(nèi)存擴展內(nèi)存15MB保護(hù)現(xiàn)場保護(hù)現(xiàn)場(將需要保護(hù)的寄存器壓入堆棧將需要保護(hù)的寄存器壓入堆棧)STI(可選可選);恢復(fù)現(xiàn)場恢復(fù)現(xiàn)場IRET中斷處理中斷處理例如:例如:PUSH AXPUSH BXPUSH CXPOP CXPOP BXPOP AX 中斷服務(wù)程序的一般結(jié)構(gòu)中斷服務(wù)程序的一般結(jié)構(gòu)PUSHF; FR的內(nèi)容壓入堆棧的內(nèi)容壓入堆棧POP AX; FR的內(nèi)容彈出到的內(nèi)容彈出到AXOR AX,0100H; 使使
15、AX中對應(yīng)中對應(yīng)TF的位置為的位置為“1”,其他位不變其他位不變PUSH AX; 修改后的修改后的AX內(nèi)容壓入棧內(nèi)容壓入棧POPF 彈回到彈回到FR(TF=1)1-TFPUSHFPOP AXAND AX, 0F7FFHPUSH AX;POPF0-TFlIRET中斷返回指令中斷返回指令u中斷服務(wù)程序的出口指令,從棧頂彈出中斷服務(wù)程序的出口指令,從棧頂彈出6個字節(jié)個字節(jié)依次寫入依次寫入IP、CS和標(biāo)志寄存器和標(biāo)志寄存器u在執(zhí)行在執(zhí)行IRET之前必須保證棧頂是斷點地址,否之前必須保證棧頂是斷點地址,否則執(zhí)行則執(zhí)行IRET指令將導(dǎo)致系統(tǒng)癱瘓指令將導(dǎo)致系統(tǒng)癱瘓解:由于解:由于1CH為用戶的中斷類型,因此
16、在編寫新的中斷程序時為用戶的中斷類型,因此在編寫新的中斷程序時應(yīng)做以下工作:應(yīng)做以下工作:(1)在主程序的初始化部分,先保存當(dāng)前中斷向量表的內(nèi)容,)在主程序的初始化部分,先保存當(dāng)前中斷向量表的內(nèi)容,再置新的中斷向量(再置新的中斷向量(INT 21H,功能號功能號AH=35H););(2)需要屏蔽定時器中斷:)需要屏蔽定時器中斷: IN AL, 21H AND AL, 11111110B OUT 21H, AL(3)在主程序結(jié)束部分恢復(fù)保存的)在主程序結(jié)束部分恢復(fù)保存的1CH向量(向量(INT 21H,功,功能號能號AH=25H)。)。sstack segment STACKdb 256 dup
17、 (0); 定義堆棧段,定義堆棧段,256字節(jié)字節(jié)sstack endsdata segment; 定義數(shù)據(jù)段定義數(shù)據(jù)段count dw 1mess db Time is up!, 0dh, 0ah, $data endscode segment; 定義代碼段,字符串顯示定義代碼段,字符串顯示main proc farassume cs:code, ds:data, ss:sstackstart:push dssub ax, axpush axmov ax, datamovds, axmov ax, sstackmov ss, ax; 初始化段寄存器初始化段寄存器mov di, 07fffhdelay: mov si, 08fffhdelay1: mov bp, 2delay2: dec bpjnz delay2dec sijnz delay1dec dijnz delay; 重復(fù)延遲等候時間到引發(fā)多重復(fù)延遲等候時間到引發(fā)多次次1CH中斷中斷pop dxpop dsmov al, 1chmov ah, 25hin
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024蘇州二手房買賣合同協(xié)議范本:房屋交易保障及售后服務(wù)協(xié)議3篇
- 2025年度廠區(qū)綠化養(yǎng)護(hù)與生態(tài)景觀提升合同3篇
- 2025年度360借條合同多(信用評級合作版)3篇
- 2025年度油氣田廢棄井修復(fù)打井合同范本4篇
- 2025年度文化創(chuàng)意產(chǎn)業(yè)出資協(xié)議合同模板3篇
- 2024美團(tuán)外賣配送配送員配送區(qū)域合作伙伴服務(wù)標(biāo)準(zhǔn)合同3篇
- 2024網(wǎng)絡(luò)安全風(fēng)險評估及防護(hù)服務(wù)合同
- 2025年度圖書檔案庫房智能化儲藏系統(tǒng)合同4篇
- 2025年度智能車場租賃服務(wù)合同(新能源汽車版)4篇
- 2025年度電磁兼容性實驗室設(shè)備采購合同2篇
- 《C語言從入門到精通》培訓(xùn)教程課件
- 2023年中國半導(dǎo)體行業(yè)薪酬及股權(quán)激勵白皮書
- 2024年Minitab全面培訓(xùn)教程
- 社區(qū)電動車棚新(擴)建及修建充電車棚施工方案(純方案-)
- 項目推進(jìn)與成果交付情況總結(jié)與評估
- 鐵路項目征地拆遷工作體會課件
- 醫(yī)院死亡報告年終分析報告
- 建設(shè)用地報批服務(wù)投標(biāo)方案(技術(shù)方案)
- 工會工作人年度考核個人總結(jié)
- 上海民辦楊浦實驗學(xué)校初一新生分班(摸底)語文考試模擬試卷(10套試卷帶答案解析)
- 機器人論文3000字范文
評論
0/150
提交評論