




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、2021-10-241第7章 輸入/輸出系統(tǒng)22021-10-24第7章 輸入/輸出系統(tǒng) n7.1 I/O接口技術(shù)概述 n7.2 CPU與外設(shè)之間數(shù)據(jù)傳送的方式 n7.3 中斷系統(tǒng) n7.4 8086/8088中斷系統(tǒng) n7.5 可編程中斷控制器Intel8259A n7.6 DMA傳送和DMA控制器8237 32021-10-247.1 I/O接口技術(shù)概述 n主機與外界交換信息稱為輸入/輸出(I/O)n主機與外界的信息交換是通過輸入/輸出設(shè)備進行的 42021-10-247.1.1 I/O接口 n對于主機,I/O接口提供了外部設(shè)備的工作狀態(tài)及數(shù)據(jù)n對于外部設(shè)備,I/O接口記憶了主機送給外設(shè)的
2、一切命令和數(shù)據(jù)n使主機與外設(shè)之間協(xié)調(diào)一致地工作 52021-10-24主機與外設(shè)的連接 圖7-1 主機與外設(shè)的連接 62021-10-24I/O接口的作用 n外部設(shè)備不能直接和CPU數(shù)據(jù)總線相連,要借助于接口電路使外設(shè)與總線隔離,起緩沖、暫存數(shù)據(jù)的作用,并協(xié)調(diào)主機和外設(shè)間數(shù)據(jù)傳送速度不配的矛盾;n接口電路為主機提供有關(guān)外設(shè)的工作狀態(tài)信息及傳送主機送給外設(shè)的控制命令;n借助于接口電路對信息的傳輸形式進行變換。 72021-10-247.1.2 CPU與外設(shè)交換的信息 nPC機與I/O設(shè)備之間交換的信息可分為數(shù)據(jù)信息、狀態(tài)信息和控制信息三類n在接口中,這三種信息是在不同的寄存器中分別存放的 820
3、21-10-241數(shù)據(jù)信息 n數(shù)據(jù)信息可以通過輸入設(shè)備送到計算機的輸入數(shù)據(jù),也可以是經(jīng)過計算機運算處理和加工后,送到輸出設(shè)備的結(jié)果數(shù)據(jù)n傳送可以是并行的,也可以是串行的 92021-10-242. 狀態(tài)信息 n狀態(tài)信息作為CPU與外設(shè)之間交換數(shù)據(jù)時的聯(lián)絡(luò)信息,反映了當前外設(shè)所處的工作狀態(tài),是外設(shè)通過接口送往CPU的n狀態(tài)信息能夠保障CPU與外設(shè)正確地進行數(shù)據(jù)交換 102021-10-243控制信息 n控制信息是CPU通過接口傳送給外設(shè)的,CPU通過發(fā)送控制信息設(shè)置外設(shè)(包括接口)的工作模式、控制外設(shè)的工作 112021-10-247.1.3 I/O接口的功能和基本結(jié)構(gòu) 1.接口的功能 n實現(xiàn)主
4、機和外設(shè)的通信聯(lián)絡(luò)控制 n進行地址譯碼和設(shè)備選擇 n實現(xiàn)數(shù)據(jù)緩沖 n數(shù)據(jù)格式的變換 n傳遞控制命令和狀態(tài)信息 122021-10-242.接口的基本結(jié)構(gòu) 圖7-2 一個典型的I/O接口 132021-10-24注意n輸入/輸出操作所用到的地址總是對端口而言,而不是對接口而言的n接口和端口是兩個不同的概念,若干個端口加上相應(yīng)的控制電路才構(gòu)成接口 142021-10-243.接口的類型 (1)按數(shù)據(jù)傳送方式分類 n并行接口。外設(shè)和I/O接口間的傳送寬度是一個字節(jié)(或字)的所有位,具有一次傳輸信息量大,數(shù)據(jù)線數(shù)目隧傳送數(shù)據(jù)寬度增加而增加的特點;n串行接口。外設(shè)和I/O接口間的傳送數(shù)據(jù)是一位一位串行傳
5、輸?shù)模哂幸淮蝹鬏斝畔⒘啃。瑪?shù)據(jù)線只需一條的特點。 152021-10-24(2)按主機訪問I/O設(shè)備的控制方式分類 n分為程序查詢式接口、程序中斷接口和DMA接口等 162021-10-24(3)按功能選擇的靈活性分類 n可編程接口。功能及操作方式是由程序來改變或選擇的n不可編程接口。不可編程接口則不能由編程來改變其功能,只能用硬連線邏輯來實現(xiàn)不同的功能 172021-10-24(4)按通用性分類 n有通用接口。可供多種外設(shè)使用的標準接口,通用性強n專用接口。是為某類外設(shè)或某種用途專門設(shè)計的 182021-10-24(5)按輸入輸出的信號分類 n數(shù)字接口。輸入輸出全為數(shù)字信號n模擬接口。模數(shù)
6、轉(zhuǎn)換器和數(shù)模轉(zhuǎn)換器屬于模擬接口 192021-10-24(6)按應(yīng)用來分類 n運行輔助接口。該接口是計算機日常工作所必需的接口器件,包括:數(shù)據(jù)總線、地址總線和控制總線的驅(qū)動器和接收器、時鐘電路、磁盤接口和磁帶接口。n用戶交互接口。這類接口包括:計算機終端接口、鍵盤接口、圖形顯示器接口及語音識別與合成接口等。n傳感接口。如溫度傳感接口、壓力傳感接口和流量傳感接口等。n控制接口。這類接口用于計算機控制系統(tǒng)。 202021-10-247.1.4 I/O端口的編址 nI/O端口實際上指那些在接口電路中完成信息的傳送,并可由編程人員尋址進行讀/寫的寄存器。若干個口加上相應(yīng)的控制電路而構(gòu)成接口n一個接口往
7、往含有幾個端口nCPU可通過輸入/輸出指令向這些端口取或存信息nPC系統(tǒng)中I/O端口編址方式有兩種:I/O端口與內(nèi)存單元統(tǒng)一編址和 I/O端口與內(nèi)存單元獨立編址 212021-10-241I/O端口與內(nèi)存單元統(tǒng)一編址 圖7-3 I/O端口與內(nèi)存單元統(tǒng)一編址 222021-10-24統(tǒng)一編址方式特點nCPU對I/O端口的輸入/輸出操作如同對存儲單元的讀/寫操作一樣無需專門的I/O指令,簡化了指令系統(tǒng)的設(shè)計n對存儲器的各種尋址方式也同樣適用于對I/O端口的訪問,給使用者提供了很大的方便n不足之處在于I/O端口地址占用了一部分存儲器空間n訪問指令長度一般比專用的I/O指令長,從而取指周期較長,又多占
8、了指令字節(jié) 232021-10-242I/O端口與內(nèi)存單元獨立編址 圖7-4 I/O端口與內(nèi)存單元獨立編址 242021-10-24獨立編址方式特點n存儲器地址空間不受I/O端口地址空間的影響,專用的輸入/輸出指令與訪問存儲器指令有明顯區(qū)別,便于理解和檢查n專用I/O指令增加了指令系統(tǒng)復雜性nI/O指令類型少,程序設(shè)計靈活性較差n要求CPU提供專門的控制信號以區(qū)分對存儲器和I/O端口的操作,增加了控制邏輯的復雜性 252021-10-248086/8088的獨立編址方式 262021-10-243I/O端口的地址譯碼 nPC系統(tǒng)常用的I/O接口電路一般都被設(shè)計成通用的I/O接口芯片,一個接口芯
9、片內(nèi)部可以有若干可尋址的端口n所有接口芯片都有片選信號線和用于片內(nèi)端口尋址的地址線 272021-10-248位接口與16位數(shù)據(jù)總線D0D7的連接方法 圖 7-5 8位接口與16位數(shù)據(jù)總線D0D7的連接方法 282021-10-248位接口與16位數(shù)據(jù)總線的連接方法 圖 7-6 8位接口與16位數(shù)據(jù)總線的連接方法 292021-10-24舉例【例4-1】 在8086 CPU工作在最小方式組成的系統(tǒng)中,擴充設(shè)計一個數(shù)據(jù)輸入/輸出端口,分配輸出端口地址為8620H,輸入端口的地址為8621H。輸入端口芯片用緩沖器74LS244,輸入設(shè)備為8個乒乓開關(guān)。輸出端口芯片用鎖存器74LS373,輸出設(shè)備為
10、8個發(fā)光二極管。(1)畫出此輸入/輸出端口與8086系統(tǒng)總線以及與輸入/輸出設(shè)備的連接圖。(2)編寫程序檢測K0K7開關(guān)。若K0K7斷開,發(fā)光二極管不發(fā)光;若K0K7閉合,發(fā)光二極管發(fā)光。 302021-10-24分析解:由于為8086系統(tǒng)為16位數(shù)據(jù)線,且端口地址8620H為偶地址,使用低8位數(shù)據(jù)線D7D0,且在I/O端口地址譯碼中,A0=0要參加譯碼。8621H為奇地址,使用高8位數(shù)據(jù)線D15D8,且在I/O端口地址譯碼中, =0要參加譯碼。 BHE312021-10-24(1)8086系統(tǒng)總線以及與輸入/輸出設(shè)備的連接圖 322021-10-24程序段 MOV DX,8621HIN AL
11、,DXNOT ALDEC DXOUT DX,AL332021-10-248.1.5 I/O端口讀/寫技術(shù) nIBM PC/XT I/O地址線有16條,對應(yīng)的I/O端口地址空間為64KBnIBM公司當初設(shè)計PC機主板及規(guī)劃接口卡時,其端口地址譯碼采用的是部分譯碼方式,即只考慮了低10位地址線A0A9n其I/O端口地址范圍是0000H03FFH,總共只有1024個端口n前512個端口(A9=0)分配給了系統(tǒng)板n后512個端口(A9=1)分配給了擴展槽上的常規(guī)I/O設(shè)備,即0200H03FFH地址范圍作為擴展插槽用的端口地址,用戶接口一般在此范圍進行地址譯碼 342021-10-241.IBM PC
12、/XT機的系統(tǒng)總線 nIMB PC/XT系統(tǒng)總線的微處理器是8088 CPU,總線的地址為20位,數(shù)據(jù)線為8位,稱其為8位總線n80286 CPU組成的IBM PC/AT系統(tǒng)級總線稱為ISA(Industry Standard Architecture)總線,又稱PC/AT總線 352021-10-241)地址總線 nA0A19,方向為輸出,是系統(tǒng)存儲器和I/O端口公用的地址總線n存儲器地址選擇時,20位地址總線全部采用nI/O端口地址譯碼只用其中的A0A9共10條線 362021-10-242)數(shù)據(jù)總線 nD0D7,數(shù)據(jù)總線,雙向 372021-10-243)控制總線 (1)擴充板上存儲器操
13、作需要的控制信號線 n ,方向為輸出,存儲器讀控制信號,低電平有效n ,方向為輸出,存儲器寫控制信號,低電平有效MEMRMEMW382021-10-24(2)I/O讀/寫操作需要的控制信號線 n ,方向為輸出,I/O端口讀操作控制信號,低電平有效n ,方向為輸出,I/O端口寫操作控制信號,低電平有效nAEN,方向為輸出,控制信號。在DMA操作時為高;執(zhí)行IN和OUT指令時為低 n ,外部輸入信號,低電平有效。在擴充板上的存儲器或I/O端口上。如果校驗有錯產(chǎn)生低電平加入,將引起NMI中斷 OCHCK/ IIOWIOR392021-10-24(3)存儲器讀/寫和I/O讀/寫需要的信號線 nALE,
14、輸出的“地址鎖存”控制信號nI/OCHRDY,外部輸入信號。它向CPU提供是否“準備好”信息。實現(xiàn)CPU操作與低速外設(shè)操作在時間上的同步 402021-10-24(4)中斷請求信號線 nIRQ2IRQ7,27級的中斷請求信號輸入端n允許有6個外部的中斷信號源n這6級中,級2優(yōu)先級最高,級7優(yōu)先級最低n級0和級1被主機板上定時中斷和鍵盤中斷占用 412021-10-24(5)DMA操作請求和響應(yīng)信號線 nDRQ1DRQ3,方向為輸入,高電平信號有效。 3 個通道的DMA傳送請求信號端。DRQ1的級別最高,DRQ3的級別最低。DRQ0在主機板內(nèi)部,用于控制動態(tài)存儲器的刷新n ,方向為輸出,低電平有
15、效。是CPU對DMA請求的回答(允許)信號,它們分別對應(yīng)DRQ0、DRQ1DRQ3,nT/C,方向為輸出,來自于DMA控制器,當某個通道計數(shù)到終值(0)時,該端輸出高電平信號 0DACK3DACK422021-10-24(4)其它信號線 nOSC,輸出信號,輸出14.318 MHz的方波 nCLK,輸出信號,是OSC信號經(jīng)過三分頻形成的4.77 MHz基本時鐘脈沖 nRESETDRV,輸出信號,在系統(tǒng)加電或復位時產(chǎn)生,在時間上與時鐘信號的下降邊同步,高電平有效,用于對接口或外設(shè)的初始化 n電源輸出為+5V、-5V、+12V、-12V和GN 432021-10-242.I/O指令需要的接口邏輯
16、n輸入指令(IN)的源操作數(shù)地址是一個I/O端口地址,目的為AL或AX寄存器n輸出指令(OUT)的源操作數(shù)在AL或AX寄存器中,目的為一個I/O端口地址 nI/O指令執(zhí)行時,都必須有I/O端口地址的選擇 442021-10-24單端口部分地址譯碼電路圖7-7單端口部分地址譯碼電路 452021-10-247.2 CPU與外設(shè)之間數(shù)據(jù)傳送的方式 n程序控制的輸入/輸出方式 n程序中斷的輸入/輸出方式 n直接存儲器存取(DMA)方式 462021-10-247.2.1程序傳送方式 n程序控制的輸入/輸出方式是指在程序的編制中利用I/O指令來完成CPU與接口間交換信息的一種方式n根據(jù)外設(shè)性質(zhì)的不同,
17、這種傳送方式又可分為無條件傳送及有條件傳送兩種 472021-10-241無條件傳送方式 圖 7-8 無條件數(shù)據(jù)傳送 482021-10-24無條件傳送方式結(jié)構(gòu) 圖7-9 無條件傳送方式(a) 無條件傳送數(shù)據(jù)輸入;(b) 無條件傳送數(shù)據(jù)輸出 492021-10-24無條件傳送方式特點n程序設(shè)計和接口電路都很簡單n為保證每一次數(shù)據(jù)傳送時外設(shè)都能處于就緒狀態(tài),傳送不能太頻繁n對少量的數(shù)據(jù)傳送來說,無條件傳送方式是最經(jīng)濟實用的一種傳送方法 502021-10-242程序直接控制傳送方式(查詢傳送方式) n查詢傳送也稱為條件傳送,是指在執(zhí)行輸入指令(IN)或輸出指令(OUT)前,要先查詢相應(yīng)設(shè)備的狀態(tài)
18、,CPU才執(zhí)行輸入/輸出指令與外設(shè)交換信息 512021-10-24有條件數(shù)據(jù)傳送流程圖 7-10 有條件數(shù)據(jù)傳送 522021-10-24查詢式輸入的接口電路圖7-11 查詢式輸入的接口電路 532021-10-24查詢式輸出的接口電路圖7-12 查詢式輸出的接口電路 542021-10-24查詢傳送方式特點n主要優(yōu)點是能保證主機與外設(shè)之間協(xié)調(diào)同步地工作,且硬件線路比較簡單,程序也容易實現(xiàn)n缺點:浪費CPU時間,實時性差。不能發(fā)現(xiàn)和處理預先無法估計的錯誤和異常情況n適用于數(shù)據(jù)輸入/輸出不太頻繁且外設(shè)較少、對實時性要求不高的情況552021-10-24舉例【例7-1】如一輸出設(shè)備接口的狀態(tài)端口
19、(8位)地址為PS,狀態(tài)端口的D3位為1表明準備好。數(shù)據(jù)端口(8位)的地址為PD,采用查詢傳送方式傳送1字節(jié)數(shù)據(jù)(數(shù)據(jù)在BL中) 562021-10-24程序 MOV DX, PS ;狀態(tài)端口地址傳送給DXLP: IN AL, DX ;讀狀態(tài)端口TEST AL,08H ;測試狀態(tài)端口的D3位是否為1JZ LP ;不為1(未準備好),則重復讀取狀態(tài)MOV AL, BL ;為1(準備好),則進行數(shù)據(jù)輸出MOV DX, PD OUT DX, AL 572021-10-247.2.2 程序中斷控制方式 n中斷(Interrupt)傳送方式是指當外設(shè)需要與CPU進行信息交換時,由外設(shè)向CPU發(fā)出請求信號
20、,使CPU暫停正在執(zhí)行的程序,轉(zhuǎn)去執(zhí)行數(shù)據(jù)的輸入/輸出操作,數(shù)據(jù)傳送結(jié)束后,CPU再繼續(xù)執(zhí)行被暫停的程序n中斷傳送方式是由外設(shè)主動向CPU發(fā)出請求,等候CPU處理,在沒有發(fā)出請求時,CPU和外設(shè)都可以獨立進行各自的工作 582021-10-24中斷傳送方式特點n優(yōu)點:CPU不必查詢等待,工作效率高,CPU與外設(shè)可以并行工作;發(fā)現(xiàn)和處理預先無法估計的錯誤和異常情況 n缺點: 為了能接受中斷的請求信號,CPU內(nèi)部要有一些線路來控制;利用中斷輸入/輸出,每傳送一次數(shù)據(jù)就要中斷一次CPU。 592021-10-247.2.3 存儲器直接存取方式(DMA) 1DMA傳送方式 nDMA(Direct Me
21、mory Access)傳送方式是在存儲器和外設(shè)之間、存儲器和存儲器之間直接進行數(shù)據(jù)傳送(如磁盤與內(nèi)存間交換數(shù)據(jù)、高速數(shù)據(jù)采集、內(nèi)存和內(nèi)存間的高速數(shù)據(jù)塊傳送等)nDMA傳送方式需要一個專用接口芯片DMA控制器(DMAC)對傳送過程加以控制和管理n傳輸速度基本取決于存儲器和外設(shè)的速度n在進行DMA傳送期間,CPU放棄總線控制權(quán),將系統(tǒng)總線交由DMAC控制n傳送結(jié)束后DMAC再將總線控制權(quán)交還給CPU 602021-10-24DMA系統(tǒng)結(jié)構(gòu)框圖圖7-13 DMA系統(tǒng)結(jié)構(gòu)框圖 612021-10-242DMA控制器的工作方式 1)單字節(jié)傳輸方式 n在該方式下,DMAC每次控制總線后只傳輸一個字節(jié),傳
22、輸完后即釋放總線控制權(quán)622021-10-242)成組傳輸方式(塊傳輸方式) n用這種方式,DMAC每次控制總線后都連續(xù)傳送一組數(shù)據(jù),待所有數(shù)據(jù)全部傳送完后再釋放總線控制權(quán)n成組傳輸方式的數(shù)據(jù)傳輸率要比單字節(jié)傳輸方式高n成組傳輸期間CPU無法進行任何需要使用系統(tǒng)總線的操作 632021-10-243)請求傳輸方式 n在該方式下,每傳輸完一個字節(jié),DMAC都要檢測I/O接口發(fā)來的DMA請求信號是否有效n若有效,則繼續(xù)進行DMA傳輸;否則就暫停傳輸,將總線控制權(quán)交還給CPU,直至DMA請求信號再次變?yōu)橛行В購膭偛艜和5哪且稽c繼續(xù)傳輸 642021-10-243DMA操作的基本操作 圖 7-14
23、DMA傳送流程圖 652021-10-24DMA傳送基本操作 n外設(shè)可通過DMA控制器向CPU發(fā)出DMA請求;nCPU響應(yīng)DMA請求,把總線控制權(quán)交給DMA控制器,使系統(tǒng)轉(zhuǎn)變?yōu)镈MA工作方式;n由DMA控制器發(fā)出I/O數(shù)據(jù)的存儲地址,并決定傳送數(shù)據(jù)塊的長度;n執(zhí)行DMA傳送;nDMA操作結(jié)束,并將控制權(quán)交還給CPU。 662021-10-247.3 中斷系統(tǒng) n中斷是現(xiàn)代計算機有效合理地發(fā)揮效能和提高效率的一個十分重要的功能nCPU中通常設(shè)有處理中斷的機構(gòu)中斷系統(tǒng) 672021-10-247.3.1 中斷的基本概念 1.中斷的定義 n中斷:在CPU執(zhí)行程序的過程中,出現(xiàn)了某種緊急或異常的事件(
24、中斷請求),CPU需暫停正在執(zhí)行的程序,轉(zhuǎn)去處理該事件(執(zhí)行中斷服務(wù)程序),并在處理完畢后返回斷點處繼續(xù)執(zhí)行被暫停的程序的過程682021-10-24中斷過程圖 7-15 中斷過程 692021-10-24程序中斷方式的示意圖 702021-10-24中斷方式特點n中斷方式在一定程度上實現(xiàn)了微處理器和外設(shè)的并行工作,使微處理器的效率得到充分的發(fā)揮 n中斷的處理過程實際上是程序的切換過程,即從現(xiàn)行程序切換到中斷服務(wù)程序,再從中斷服務(wù)程序返回現(xiàn)行程序 n中斷系統(tǒng)是計算機實現(xiàn)中斷功能的軟、硬件總稱。一般在微處理器中配置中斷機構(gòu),在外設(shè)接口中配置中斷控制器,在軟件上設(shè)計相應(yīng)的中斷服務(wù)程序 712021
25、-10-24程序中斷與調(diào)用子程序的區(qū)別 n子程序的執(zhí)行是由程序員事先安排好的(由一條調(diào)用子程序指令轉(zhuǎn)入),而中斷服務(wù)程序的執(zhí)行則是由隨機的中斷事件觸發(fā)引起的;n子程序的執(zhí)行受到主程序或上層子程序的控制,而中斷服務(wù)程序一般與被中斷的現(xiàn)行程序無關(guān);n不存在同時調(diào)用多個子程序的情況,而有可能發(fā)生多個外設(shè)同時請求微處理器為自己服務(wù)的情況。 722021-10-24中斷系統(tǒng)的基本功能 n及時記錄各種中斷請求信號;一般是用一個中斷請求寄存器來保存。n自動響應(yīng)中斷請求。CPU必須能夠在發(fā)生中斷事件后,自動響應(yīng)并處理。在一條指令執(zhí)行完、下條指令執(zhí)行前去檢查有無中斷請求發(fā)生。 n自動排隊判優(yōu)。在計算機系統(tǒng)中,中
26、斷源有很多,在有多個中斷請求同時產(chǎn)生時,能夠判斷出哪個中斷的優(yōu)先級高,選擇優(yōu)先級高的中斷先被響應(yīng)。n保護被中斷程序的斷點和現(xiàn)場。原程序被中止處的指令地址和當時的程序狀態(tài)和各寄存器的內(nèi)容必須保存,以便能正確回到原處繼續(xù)執(zhí)行。n中斷屏蔽?,F(xiàn)代計算機大多采用中斷嵌套技術(shù)。中斷系統(tǒng)中要有中斷屏蔽機制,使得每個中斷可以設(shè)置它允許被哪些中斷打斷,不允許被哪些中斷打斷,通過在中斷系統(tǒng)中設(shè)置中斷屏蔽字來實現(xiàn)。 732021-10-24一個完整的中斷系統(tǒng)結(jié)構(gòu)示意圖 742021-10-24(1)中斷請求觸發(fā)器 n中斷請求觸發(fā)器的作用就是產(chǎn)生中斷請求信號給微處理器n本質(zhì)上講,它是把外設(shè)的狀態(tài)信號保存在一個觸發(fā)器中
27、作為中斷信號。有兩個特點:它的輸出可以作為中斷請求信號,在滿足一定條件的情況下把信號發(fā)送給CPU,并在CPU未響應(yīng)時一直保存下去;當CPU滿足一定條件下響應(yīng)了該中斷請求信號,執(zhí)行了相關(guān)的操作后,該中斷請求信號可以被撤除。 752021-10-24中斷請求信號產(chǎn)生電路 762021-10-24一般中斷源n數(shù)據(jù)輸入/輸出外設(shè)請求中斷。n定時時間到請求中斷。n滿足規(guī)定狀態(tài)請求中斷。n電源掉電請求中斷。n故障報警請求中斷。n程序調(diào)試設(shè)置中斷。 772021-10-24(2)中斷屏蔽觸發(fā)器 n中斷屏蔽觸發(fā)器的功能就是決定中斷請求觸發(fā)器的輸出信號是否可以作為中斷請求信號發(fā)送給微處理器n微處理器通過對中斷屏
28、蔽觸發(fā)器的設(shè)置就可以達到對中斷源的控制 782021-10-24中斷請求觸發(fā)器和中斷屏蔽觸發(fā)器 792021-10-24(3)中斷源排隊判優(yōu)器 n當多個中斷源同時發(fā)出中斷請求時,微處理器在任何瞬間只能接受一個中斷源的請求n通常,微處理器會將全部中斷源按中斷的性質(zhì)和處理的輕重緩急安排優(yōu)先級,并進行排隊。n確定中斷優(yōu)先級排隊的原則是:對那些提出中斷請求后需要立即處理,否則就會造成嚴重后果的中斷源規(guī)定最高的優(yōu)先級;而對那些可以延遲響應(yīng)和處理的中斷源規(guī)定較低的優(yōu)先級。如故障中斷一般優(yōu)先級較高,其次是簡單中斷,接著才是I/O設(shè)備中斷。n每個中斷源均有一個為其服務(wù)的中斷服務(wù)程序,每個中斷服務(wù)程序都有與之對
29、應(yīng)的優(yōu)先級別n微處理器正在執(zhí)行的程序也有優(yōu)先級。只有當某個中斷源的優(yōu)先級別高于微處理器現(xiàn)在正在執(zhí)行的優(yōu)先級別時,才能中止微處理器執(zhí)行當前的程序 802021-10-24(4)中斷向量地址形成部件 n一個計算機系統(tǒng)往往有多個外設(shè)(中斷源)。當外設(shè)與微處理器以中斷方式進行數(shù)據(jù)交換時,微處理器必須從多個外設(shè)中判別是哪一個外設(shè)正在請求中斷,以便找到相應(yīng)的服務(wù)程序首地址,才能轉(zhuǎn)去為其服務(wù)n要解決兩個方面問題:一是,確定中斷源;二是,找到該中斷服務(wù)程序的入口地址。812021-10-24向量中斷的過程 822021-10-24向量中斷 832021-10-24中斷響應(yīng)周期時序 842021-10-24中斷
30、類型號80H產(chǎn)生電路 852021-10-242中斷源 n任何能夠引發(fā)中斷的事件都稱為中斷源n分為硬件中斷源和軟件中斷源兩類:硬件中斷源主要包括外設(shè)(如鍵盤、打印機等)、數(shù)據(jù)通道(如磁盤機、磁帶機等)、時鐘電路(如定時計數(shù)器8253)和故障源(如電源掉電)等;軟件中斷源主要包括為調(diào)試程序設(shè)置的中斷(如斷點、單步執(zhí)行等)、中斷指令(如INT 21H等)以及指令執(zhí)行過程出錯(如除法運算時除數(shù)為零)等 862021-10-243中斷處理過程 n幾個步驟:中斷請求、中斷響應(yīng)、保護斷點、中斷處理和中斷返回 872021-10-241) 中斷請求 n中斷請求是中斷源向CPU發(fā)出的請求中斷的要求n軟件中斷源
31、是在CPU內(nèi)部由中斷指令或程序出錯直接引發(fā)中斷;n硬件中斷源必須通過專門的電路將中斷請求信號傳送給CPU,CPU也有專門的引腳接收中斷請求信號 882021-10-24中斷請求與可屏蔽接口電路圖7-16 中斷請求與可屏蔽接口電路 892021-10-242)中斷響應(yīng) nCPU在每條指令執(zhí)行的最后一個時鐘周期檢測其中斷請求輸入端,判斷有無中斷請求n若CPU接收到了中斷請求信號,CPU內(nèi)部的中斷允許觸發(fā)器的狀態(tài)為1nCPU在現(xiàn)行指令執(zhí)行完后,發(fā)出信號響應(yīng)中斷 INTA902021-10-24CPU內(nèi)部設(shè)置可屏蔽中斷允許觸發(fā)器圖7-17 CPU內(nèi)部設(shè)置中斷允許觸發(fā)器 912021-10-243) 保
32、護斷點 nCPU一旦響應(yīng)中斷,需要對其正在執(zhí)行程序的斷點信息進行保護,以便在中斷處理結(jié)束后仍能回到該斷點處繼續(xù)執(zhí)行 n對于8086/8088 CPU,保護斷點的過程由硬件自動完成,主要工作是關(guān)中斷、將標志寄存器內(nèi)容入棧保存以及將CS和IP內(nèi)容入棧保存 922021-10-244) 中斷處理 n中斷處理的過程實際就是CPU執(zhí)行中斷服務(wù)程序的過程n用戶編寫的用于CPU為中斷源進行中斷處理的程序稱為中斷服務(wù)程序n不同中斷源在系統(tǒng)中的作用不同,所要完成的功能不同,不同中斷源的中斷服務(wù)程序內(nèi)容也各不相同 932021-10-245) 中斷返回 n執(zhí)行完中斷服務(wù)程序,返回到原先被中斷的程序,此過程稱為中斷
33、返回n為能正確返回到原來程序的斷點處,在中斷服務(wù)程序的最后應(yīng)專門放置一條中斷返回指令(如8086/8088的IRET指令)942021-10-247.3.2 中斷優(yōu)先級和中斷的嵌套中斷優(yōu)先級和中斷的嵌套 1中斷優(yōu)先級 n中斷請求是隨機發(fā)生的,當系統(tǒng)具有多個中斷源時,有時會同時出現(xiàn)多個中斷請求,CPU只能按一定的次序予以響應(yīng)和處理,這個響應(yīng)的次序稱為中斷優(yōu)先級n對于不同級別的中斷請求,一般的處理原則:不同優(yōu)先級的多個中斷源同時發(fā)出中斷請求,按優(yōu)先級由高到低依次處理。 低優(yōu)先級中斷正在處理,出現(xiàn)高優(yōu)先級請求,應(yīng)轉(zhuǎn)去處理高優(yōu)先級請求,服務(wù)結(jié)束后再返回原優(yōu)先級較低的中斷服務(wù)程序繼續(xù)執(zhí)行。高優(yōu)先級中斷正
34、在處理,出現(xiàn)低優(yōu)先級請求,可暫不響應(yīng)。中斷處理時,出現(xiàn)同級別請求,應(yīng)在當前中斷處理結(jié)束以后再處理新的請求。 952021-10-242中斷嵌套 nCPU在執(zhí)行低級別中斷服務(wù)程序時,又收到較高級別的中斷請求,CPU暫停執(zhí)行低級別中斷服務(wù)程序,轉(zhuǎn)去處理這個高級別的中斷,處理完后再返回低級別中斷服務(wù)程序,這個過程稱為中斷嵌套n為實現(xiàn)中斷嵌套,應(yīng)在低級別中斷服務(wù)程序的開始處加一條開中斷指令STI。 962021-10-24中斷嵌套示意圖圖7-18 中斷嵌套示意圖 972021-10-243.中斷控制方式的優(yōu)點 n分時操作。在中斷方式下,CPU和外設(shè)可并行工作。n實時處理。在實時控制系統(tǒng)中,現(xiàn)場隨機產(chǎn)生
35、的各種參數(shù)、信息需要CPU及時處理時,可以利用中斷方式向CPU發(fā)出中斷請求,CPU可立即響應(yīng)(在中斷標志為開放的情況下),進行相應(yīng)的處理。 n故障處理。在計算機運行過程中,如果出現(xiàn)事先預料不到的情況,或出現(xiàn)一些故障,則可利用中斷系統(tǒng)運行相應(yīng)的服務(wù)程序自行處理,而不必停機或報告工作人員。 982021-10-247.4 8086/8088中斷系統(tǒng)中斷系統(tǒng)7.4.1中斷類型 圖7-19 8086/8088中斷源 992021-10-241硬件中斷(外部中斷) n非屏蔽中斷NMI(中斷類型號為2)。整個系統(tǒng)只有一個非屏蔽中斷,它不受IF標志位的屏蔽出現(xiàn)在NMI上的請求信號是上升沿觸發(fā)的,一旦出現(xiàn),C
36、PU將予以響應(yīng)其中斷矢量號不由外部中斷源提供,而是由系統(tǒng)固定分配。非屏蔽中斷通常用來處理應(yīng)急事件,如總線奇偶錯、電源故障或電源掉電等。 n可屏蔽中斷INTR可屏蔽中斷請求信號從INTR引腳送往CPU,高電平有效。它受中斷允許標志位IF的影響和控制當IF置1(STI指令)時,表明可屏蔽中斷被允許,CPU響應(yīng)可屏蔽中斷當IF置0(CLI指令)時,表明可屏蔽中斷被禁止 1002021-10-242軟件中斷(內(nèi)部中斷) n處理運算過程中某些錯誤的中斷 除法錯中斷(中斷類型號為0) 溢出中斷INTO(中斷類型號為4) n為調(diào)試程序設(shè)置的中斷 單步中斷(中斷類型號為1) 斷點中斷(中斷類型號為3) n中斷
37、指令I(lǐng)NT n引起的中斷(中斷類型號為n) 1012021-10-2438086/8088中斷源的優(yōu)先級 8086/8088中斷源的優(yōu)先級順序由高到低依次為:n除數(shù)為0中斷nINT nnINTO指令nNMInINTRn單步中斷 1022021-10-247.4.2 中斷向量表 n中斷向量表是存放中斷向量的一個特定的內(nèi)存區(qū)域n中斷向量,就是中斷服務(wù)程序的入口地址n 8086/8088可以處理256種中斷,每種中斷對應(yīng)一個中斷類型號,每個中斷類型號與一個中斷服務(wù)程序的入口地址相對應(yīng) n地址范圍為00000H003FFH,為1K個單元 n服務(wù)程序入口地址在中斷向量表中的位置=中斷類型號4 10320
38、21-10-248086/8088的中斷向量表 圖7-20 8086/8088的中斷向量表 1042021-10-247.4.3 8086/8088中斷處理過程 n中斷響應(yīng)的操作過程分為:可屏蔽中斷、非可屏蔽中斷和內(nèi)部中斷 1052021-10-241.可屏蔽中斷的響應(yīng)和處理過程 圖 7-21 可屏蔽中斷的響應(yīng)和處理過程 1062021-10-24可屏蔽中斷響應(yīng)過程nCPU要響應(yīng)可屏蔽中斷請求,必須滿足一定的條件,即中斷允許標志置1(IF=1),無內(nèi)部中斷,沒有非可屏蔽中斷(NMI=0),沒有總線請求; n當某一外部設(shè)備通過其接口電路中斷控制器8259A發(fā)出中斷請求信號時,經(jīng)8259A處理后,
39、得到相應(yīng)的中斷矢量號,并同時向CPU申請中斷INT=1; nCPU執(zhí)行完當前指令后便向8259A發(fā)出中斷響應(yīng)信號,表明CPU響應(yīng)該可屏蔽中斷請求; n8259A連續(xù)兩次(2個總線周期)接收到的中斷響應(yīng)信號后,便通過總線將中斷矢量號送CPU; n保護斷點。將標志寄存器內(nèi)容、當前CS內(nèi)容及當前IP內(nèi)容壓入堆棧;n清除IF及TF(IF0,TF0),以便禁止其它可屏蔽中斷或單步中斷發(fā)生; n根據(jù)8259A向CPU送的中斷向量號n求得中斷向量,從中斷向量表中得到相應(yīng)中斷處理程序首地址(段內(nèi)偏移地址和段地址),并將其分別置入IP及CS中; n中斷處理程序包括保護現(xiàn)場、中斷服務(wù)、恢復現(xiàn)場等部分。 n中斷處理
40、程序執(zhí)行完畢,最后執(zhí)行一條中斷返回指令I(lǐng)RET,將原壓入堆棧的標志寄存器內(nèi)容及程序斷點地址重又彈出至原處。 1072021-10-242.非可屏蔽中斷的響應(yīng)和處理過程 n非可屏蔽的中斷請求在NMI端加入nCPU對它的響應(yīng)不受IF位的控制(但可以在外部邏輯中對加入NMI端的信號進行控制)n與可屏蔽中斷一樣,非可屏蔽中斷也要等待當前指令執(zhí)行結(jié)束 1082021-10-243.內(nèi)部中斷的響應(yīng)和處理過程 n中斷類型號要么是指令碼給定的,要么是處理硬件決定的,都不需要從外部邏輯輸入;n沒有包括信號的響應(yīng)周期; n不受IF位的控制,但單步中斷受TF位控制; n內(nèi)部中斷響應(yīng)也要執(zhí)行可屏蔽中斷響應(yīng)的項操作。
41、1092021-10-248086/8088 CPU中斷處理的基本過程 圖7-22 8086/8088 CPU中斷處理的基本過程 1102021-10-247.4.4中斷服務(wù)程序的設(shè)計 圖7-23 中斷服務(wù)程序的一般結(jié)構(gòu) 1112021-10-241DOS系統(tǒng)功能調(diào)用法 功能號:(AH)=25H。入口參數(shù):(AL)=中斷類型號 (DS)=中斷服務(wù)程序入口地址的段地址 (DX)=中斷服務(wù)程序入口地址的偏移地址 1122021-10-24舉例程序段完成中斷類型號為80H的入口地址置入,設(shè)其中斷服務(wù)程序為NEWINT。PUSH DS ;保護DSMOV DX,OFFSET NEWINT ;取服務(wù)程序偏
42、移地址MOV AX,SEG NEWINT;取服務(wù)程序段地址MOV DS,AXMOV AH,25H ;送功能號MOV AL,80H ;送中斷類型號INT 21H ;DOS功能調(diào)用POP DS ;恢復DS 1132021-10-242直接裝入法 n用傳送指令直接將中斷服務(wù)程序首地址置入矢量表中 1142021-10-24舉例設(shè)中斷類型號為80H(此類型號對應(yīng)的矢量表地址為從00200H開始的四個連續(xù)存儲單元),其中斷服務(wù)程序為NEWINT。程序段如下:XOR AX,AXMOV DS,AXMOV AX,OFFSET NEWINTMOV DS:0200H,AX;置服務(wù)程序偏移地址MOV AX,SEG
43、NEWINTMOV DS:0200H+2,AX;置服務(wù)程序所在代碼段的段地址 1152021-10-243.使用字符串指令裝入法 MOV AX, 0MOV ES, AXMOV DI, n*4MOV AX, OFFSET NEWINTCLDSTOSWMOV AX, SEG NEWINTSTOSW其中:n為中斷類型號 1162021-10-24中斷服務(wù)程序的設(shè)計舉例n某外設(shè)可屏蔽中斷類型號為80H,輸入數(shù)據(jù)端口地址為48H4FH,其中斷請求接口電路如圖4-27所示。要求編寫讀取該外設(shè)一次數(shù)據(jù)送60000H單元的中斷服務(wù)程序。1172021-10-24某外設(shè)中斷請求接口電路 1182021-10-2
44、4主程序 HLT ;等中斷1192021-10-24設(shè)置中斷服務(wù)程序入口地址n用傳送指令直接將中斷服務(wù)程序首地址置入向量表中n設(shè)中斷類型號為80H(此類型號對應(yīng)的向量表地址為00200H00203H的存儲單元內(nèi)容),其中斷服務(wù)程序為NEWINT。 1202021-10-24設(shè)置中斷服務(wù)程序入口地址程序 XOR AX,AXMOV DS,AXMOV AX,OFFSET NEWINTMOV DS:0200H,AX ;置服務(wù)程序偏移地址MOV AX,SEG NEWINTMOV DS:0200H+2,AX ;置服務(wù)程序所在代碼段的段地址 1212021-10-24中斷服務(wù)程序 NEWINT:PUSH B
45、XPUSH DXSTIMOV BX, 6000H MOV DS, BX MOV BX, 0 MOV DX, 48HIN AL, DXMOV BX, ALCLIPOP DXPOP BXSTIIRET 1222021-10-247.5 可編程中斷控制器可編程中斷控制器Intel8259A7.5.1 8259A的功能 n8259A是可編程中斷控制器(Programmable Interrupt Controller)芯片n用于管理和控制80 x86的外部中斷請求n可實現(xiàn)中斷優(yōu)先級判定,提供中斷類型號,屏蔽中斷輸入等功能n單片8259A可管理8級中斷,若采用級聯(lián)方式,最多可以用9片8259A構(gòu)成兩級中
46、斷機構(gòu),管理64級中斷n具有的多種中斷優(yōu)先級管理方式可以通過主程序在任何時候進行改變或重新組織 1232021-10-241.8259A的內(nèi)部結(jié)構(gòu) 圖7-24 8259A內(nèi)部結(jié)構(gòu)框圖 1242021-10-24(1)中斷請求寄存器IRR(Interrupt Request Register)n8位,接受并鎖存來自IR0IR7的中斷請求信號n當IR0IR7上出現(xiàn)某一中斷請求信號時,IRR對應(yīng)位被置1 1252021-10-24(2)中斷屏蔽寄存器IMR(Interrupt Mask Register)n8位,若IRR中記錄的各級中斷中有任何一級需要屏蔽,只要將IMR的相應(yīng)位置1即可,未被屏蔽的中
47、斷請求進入優(yōu)先權(quán)判別器 1262021-10-24(3)中斷服務(wù)寄存器ISR(In-Service Register)n8位,保存當前正在處理的中斷請求 1272021-10-24(4)優(yōu)先權(quán)判別器PR(Priority Resolver) n能夠?qū)⒏髦袛嗾埱笾袃?yōu)先級最高者選中,并將ISR中相應(yīng)位置1 n在中斷服務(wù)程序結(jié)束時,向8259A發(fā)中斷結(jié)束命令,該命令將ISR寄存器的相應(yīng)位清0,中斷處理結(jié)束 1282021-10-24(5)數(shù)據(jù)總線緩沖器n是8259A與系統(tǒng)之間傳送信息的數(shù)據(jù)通道 1292021-10-24(6)讀/寫控制邏輯n讀/寫控制邏輯包含了初始化命令字寄存器和操作命令字寄存器
48、1302021-10-24(7)級聯(lián)緩沖/比較器n用來存放和比較在系統(tǒng)中用到的所有8259A的級聯(lián)地址n主控8259A通過CAS0、CAS1和CAS2發(fā)送級聯(lián)地址,選中從控8259A 1312021-10-2428259A的外部引腳 圖7-25 8259A引腳 1322021-10-247.5.2 8259A的編程 n8259A的編程分兩步:第一步,在系統(tǒng)加電和復位后,用初始化命令字對8259A芯片進行初始化編程;第二步,在操作階段,用操作命令字對8259A進行操作過程編程,即實現(xiàn)對8259A的狀態(tài)、中斷方式和中斷響應(yīng)次序等的管理。n一般不再發(fā)初始化命令字 1332021-10-241. 初始
49、化命令字 n共有4個初始化命令字ICW1ICW4 1342021-10-24(1)ICW1命令字 1352021-10-24(2)ICW2命令字nICW2命令字用來設(shè)置中斷類型號基值n低3位根據(jù)當前CPU響應(yīng)的中斷是IR0IR7中的哪一個而定,分別對應(yīng)000111 1362021-10-24(3)ICW3命令字 n僅用于8259A級聯(lián)方式1372021-10-24(4)ICW4命令字 1382021-10-242初始化編程 圖 7-26 8259A初始化編程流程圖 1392021-10-24初始化編程注意n在ICWl中指明需要ICW3和ICW4以后,才發(fā)送ICW3和ICW4n一旦初始化以后,若
50、要改變某一個ICW,則必須重新再進行初始化編程,不能只是寫入單獨的一個ICW 1402021-10-24舉例例如,兩片8259A設(shè)置的初始化命令字如下: 主片: ICW1=00010001,邊沿觸發(fā),有ICW4,級聯(lián)方式; ICW2=00001000,中斷類型號基值為08H; ICW3=00000100,在IR2端接有從片; ICW4=00000001,非數(shù)據(jù)總線緩沖方式, 中斷正常(非自動)結(jié)束,正常全嵌套方式。 從片: ICW1=00010001,邊沿觸發(fā),有ICW4,級聯(lián)方式; ICW2=01110000,中斷類型號基值為70H; ICW3=00000010,該片的識別標志,對應(yīng)主片的I
51、R2; ICW4=00000001,非數(shù)據(jù)總線緩沖方式,中斷正常(非自動)結(jié)束,正常全嵌套方式。 1412021-10-243操作命令字n系統(tǒng)初始化完成以后,可以在應(yīng)用程序中隨時向8259A送操作命令字,以改變8259A的工作方式,讀出8259A內(nèi)部寄存器的值等 1422021-10-24(1)OCW1操作命令字n該命令字用來設(shè)置中斷源的屏蔽狀態(tài) 1432021-10-24(2)OCW2命令字n用來控制中斷結(jié)束方式及修改優(yōu)先權(quán)管理方式 1442021-10-24( 3)操作命令字OCW3n用來管理特殊的屏蔽方式和查詢方式 1452021-10-247.5.3 8259A的工作方式 n對8259
52、A置入初始化命令字后,8259A便處于準備就緒狀態(tài),等待中斷源發(fā)來的中斷請求信號,并處于完全嵌套中斷方式n若想變更8259A的中斷方式和中斷響應(yīng)次序,應(yīng)向8259A寫入操作命令字n操作命令字可在主程序中寫入,也可在中斷服務(wù)程序中寫入n8259A的中斷方式有5種:完全嵌套方式循環(huán)優(yōu)先方式特殊循環(huán)方式特殊屏蔽方式查詢方式 1462021-10-241中斷優(yōu)先級管理方式(1)全嵌套方式 n也稱固定優(yōu)先級方式n這種方式下,由IR端引入的中斷請求具有固定的優(yōu)先級,IR0最高,IR7最低nPC機在對8259A初始化后若沒有設(shè)置其他優(yōu)先級方式,則默認為全嵌套方式n可用發(fā)操作命令字OCW2=00將8259設(shè)置
53、為這種排序方式 n完全嵌套方式下,應(yīng)通過發(fā)非指定中斷級的結(jié)束命令字,即OCW2=20H,使ISR寄存器中的對應(yīng)位ISRi=0,來實現(xiàn)中斷結(jié)束操作 1472021-10-24(2)自動循環(huán)方式 n等優(yōu)先權(quán)方式n其特點是某一中斷請求被響應(yīng)后,該中斷級便自動成為最低的中斷級,其它中斷源的優(yōu)先級別也相應(yīng)循環(huán)改變,以使各中斷源被優(yōu)先響應(yīng)的機會相同,亦即優(yōu)先等級是輪流的 1482021-10-24(3)指定最低級的循環(huán)排序方式 n也稱特殊循環(huán)方式n這種方式下,能在主程序或服務(wù)程序中通過指定某中斷源的優(yōu)先級為最低級,而其它中斷源的優(yōu)先級也隨之改變的方法,來改變各中斷源的優(yōu)先等級 1492021-10-24(
54、4)查詢法排序方式 n用查詢的方法響應(yīng)與8259A相連的8級中斷請求n采用該方式時,8259A的INT引腳不用,或CPU處于關(guān)中斷狀態(tài),以便CPU不能響應(yīng)INT線上來的中斷請求 1502021-10-242中斷屏蔽方式(1)普通屏蔽方式 n通過對中斷屏蔽寄存器(IMR)的設(shè)定,實現(xiàn)對中斷請求的屏蔽 1512021-10-24(2)特殊屏蔽方式 n該方式與完全嵌套方式的排序方法不同,除了用操作命令字OCW1屏蔽掉的中斷級和正在服務(wù)和中斷級外,允許其它任何級的中斷請求中斷正在服務(wù)的中斷 1522021-10-243中斷結(jié)束方式n中斷結(jié)束(EOI)是指對8259A內(nèi)部中斷服務(wù)寄存器ISR的對應(yīng)位復位
55、的操作n有兩種方法:自動EOI方式和EOI命令方式 1532021-10-24(1)自動EOI方式 n指在第二個 脈沖的后沿之后,由8259A自動清除ISR中已置位的那些位中優(yōu)先級最高的位n這種自動結(jié)束中斷方式只適用于非多重中斷的情況 INTA1542021-10-24(2)一般中斷結(jié)束方式 n該方式用于全嵌套方式下的中斷結(jié)束nCPU在中斷服務(wù)程序結(jié)束時,向8259A發(fā)常規(guī)中斷結(jié)束命令,將8259A的中斷服務(wù)寄存器中最高優(yōu)先級的ISR位清0n全嵌套方式下,應(yīng)通過發(fā)非指定中斷級的結(jié)束命令字,即OCW2=20H,將把ISR寄存器內(nèi)為1的所有位中優(yōu)先級最高的位置0 ,來實現(xiàn)中斷結(jié)束操作1552021
56、-10-24(3)特殊中斷結(jié)束方式(SEOI)n在非全嵌套方式下,根據(jù)ISR的內(nèi)容無法確定最后所響應(yīng)和處理的是哪一級中斷n這種情況下,在程序中要發(fā)一條特殊中斷結(jié)束命令,該命令指出了要清除ISR中的哪一位。n注意:在級聯(lián)方式下,一般不用中斷自動結(jié)束方式,而是用一般結(jié)束方式或特殊結(jié)束方式在中斷處理程序結(jié)束時,必須發(fā)兩次中斷結(jié)束命令,一次是發(fā)往主片,另一次發(fā)往從片 1562021-10-244.完全嵌套方式響應(yīng)過程舉例 圖7-27 完全嵌套方式響應(yīng)過程舉例 1572021-10-247.5.4 8259A應(yīng)用舉例 圖7-28 8259A 在PC/XT機中的連接 1582021-10-24舉例n假設(shè)某
57、外設(shè)的中斷請求信號由IR2端引入,要求編程實現(xiàn)CPU每次響應(yīng)該中斷時屏幕顯示字符串“WELCOME!”。n已知主機啟動時8259A中斷類型號的高5位已初始化為00001,故IR2的類型號為0AH(00001010B)n8259A的中斷結(jié)束方式初始化為非自動結(jié)束,即要在服務(wù)程序中發(fā)EOI命令;8259A的端口地址為20H和21H 1592021-10-24程序段MESS DB WELCOME!,0AH,0DH,$MOVAX,SEG INTPRM MOV DS,AX MOV DX,OFFSET INTPRM MOV AX,250AH INT 21H ;置中斷向量表 IN AL,21H ;讀中斷屏蔽
58、寄存器 AND AL,0FBH ;開放IR2中斷 OUT 21H,AL STILL: JMP LL ;等待中斷INTPRM:MOV AX,SEG MESS ;中斷服務(wù)程序 MOV DS,AX MOV DX,OFFSET MESS MOV AH,09 INT 21H ;顯示每次中斷的提示信息 MOV AL,20H OUT 20H,AL ;發(fā)出EOI結(jié)束中斷 IN AL,21H OR AL,04H ;屏蔽IR2中斷 OUT 21H,AL STI IRET 1602021-10-247.6 DMA傳送和DMA控制器8237 nDMA傳送控制邏輯是微處理器CPU外圍控制邏輯的重要部分n它一側(cè)與微處理器
59、相接,其中重要的兩條信號線是HOLD(總線控制權(quán)請求)和HLDA(總線控制權(quán)應(yīng)答)n它所形成的接受DMA請求信號線DRQ和DMA請求確認信號線DACK作為系統(tǒng)級總線的一部分 1612021-10-247.6.1 DMA傳送的基本原理 n基本特點是直接實現(xiàn)存器與I/O設(shè)備之間的數(shù)據(jù)傳送n在IMB PC系統(tǒng)中,DMA方式傳送一個字節(jié)的時間通常是一個總線周期,即5個時鐘周期時間nDMA傳送方式特別適合用于外部設(shè)備與存儲器之間高速成批的數(shù)據(jù)傳送 1622021-10-24DMA傳送的基本原理圖 圖7-29 DMA傳送的基本原理圖 1632021-10-24DMA傳送3個階段 n第1階段是準備階段。這是
60、一個程序工作階段,包括對DMA控制器的初始化,工作方式基本參數(shù)的設(shè)置;對I/O設(shè)備及其接口的初始化,如寄存器的清除、設(shè)備工作的啟動等 n第2階段是DMA傳送操作階段。傳送需要的地址信息和控制信號由DMA控制器產(chǎn)生和發(fā)出;執(zhí)行傳送階段每傳送一個字節(jié)計數(shù)器減1,待到計數(shù)器減為0值 ,作為傳送結(jié)束的標志(TC) n第3階段是傳送結(jié)束處理階段。在這一階段通常是引入一段程序(可由中斷方法或基本I/O測試狀態(tài)法引入),對傳送的結(jié)果進行處理,或者同時完成下一次傳送的第1階段的任務(wù),為下次DMA傳送作準備1642021-10-247.6.2 DMA控制器8237的結(jié)構(gòu)和引腳 圖7-30 8237的結(jié)構(gòu)框圖 1
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年吉林省建筑安全員C證考試(專職安全員)題庫及答案
- 2025-2030年中國衣物柔順劑行業(yè)發(fā)展狀況及營銷戰(zhàn)略研究報告
- 2025-2030年中國薺藍油市場發(fā)展現(xiàn)狀規(guī)劃研究報告
- 2025-2030年中國硅酸鋯行業(yè)前景趨勢及發(fā)展規(guī)劃分析報告
- 2025-2030年中國礦物棉市場營運狀況及發(fā)展策略研究報告
- 2025波蘭數(shù)學奧林匹克(第二輪)試題
- 2025遼寧省建筑安全員B證考試題庫
- 合肥幼兒師范高等??茖W校《漢字文化與創(chuàng)新設(shè)計》2023-2024學年第二學期期末試卷
- 河北美術(shù)學院《中小學教學名師論壇》2023-2024學年第二學期期末試卷
- 湖南電氣職業(yè)技術(shù)學院《現(xiàn)代辦公技能訓練A》2023-2024學年第二學期期末試卷
- 多聯(lián)機空調(diào)系統(tǒng)設(shè)計課件
- 螺紋牙強度校核計算
- 技術(shù)規(guī)范書柴油發(fā)電機組
- 青島科技大學成人大專《工商企業(yè)管理實訓報告》
- 低鉀血癥最新版本最新課件
- 獸醫(yī)外科手術(shù)學與獸醫(yī)外科學章節(jié)測試及答案
- 2023年陜西延長石油礦業(yè)有限責任公司招聘筆試題庫及答案解析
- YY/T 1792-2021熒光免疫層析分析儀
- GB/T 39235-2020豬營養(yǎng)需要量
- GB/T 30799-2014食品用洗滌劑試驗方法重金屬的測定
- 染廠公司簡介(4個范本)
評論
0/150
提交評論