版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、v接口概念: 輸入/輸出(I/O)接口是主機與外部設(shè)備(簡稱外設(shè))之間所設(shè)置的邏輯控制部件,通過它實現(xiàn)主機與I/O設(shè)備之間的信息交換。輸入輸出接口概述 思考問題: 微型計算機和外設(shè)之間為什么需要接口?第1頁/共111頁一般情況下,存儲器可以與總線直接相連,而外部設(shè)備卻需要通過接口與CPU的總線相連,原因是由存儲器和外設(shè)的特點決定:存儲器:功能單一 傳輸方式單一(一次一個字或一個字節(jié))操作方式單一(讀和寫) 制造工藝與CPU相似,速度與CPU相匹配輸入輸出接口概述 微型計算機和外設(shè)之間為什么需要接口?第2頁/共111頁接口:解決以上差異,協(xié)調(diào)、匹配外設(shè)與主機正常工作的邏輯部件及相應(yīng)控制軟件。外設(shè)
2、:種類繁多 (機械、機電、電子)信號種類不一 (A,D,開關(guān)量)信號格式不同 (串行,并行)同一個時刻CPU通常只和一個外設(shè)交換信息工作速度不同,且范圍寬。如硬盤和打印機工作時序不匹配,無法和CPU時序取得統(tǒng)一輸入輸出接口概述 微型計算機和外設(shè)之間為什么需要接口?第3頁/共111頁v接口電路的任務(wù): 對數(shù)據(jù)提供緩沖(時間和電氣性能上):設(shè)置數(shù)據(jù)的寄存、緩沖邏輯; 信息格式相容性變換:如串并行的轉(zhuǎn)換;電平轉(zhuǎn)換、數(shù)?;蚰?shù)轉(zhuǎn)換等; 協(xié)調(diào)時序差異:提供“準備好”“空”“滿”等狀態(tài)信號 提供地址譯碼或設(shè)備選擇信號: 提供中斷和DMA控制邏輯及管理:輸入輸出接口概述輸入輸出接口概述 第4頁/共111頁I
3、/O端口的尋址方式CPU要操作接口,首先要能識別這個接口。解決方法:通過地址識別。(1)存儲器映像尋址方式 若把系統(tǒng)中的每一個I/O端口都看作一個存儲單元,并與存儲單元一樣統(tǒng)一編址,這樣訪問存儲器的所有指令均可用來訪問I/O端口,不用設(shè)置專門的I/O指令。優(yōu)點: 簡化了指令集,對I/O設(shè)備的訪問更加靈活方便,I/O地址空間可大可小缺點: 占用內(nèi)存空間,訪問速度慢。輸入輸出接口概述輸入輸出接口概述 第5頁/共111頁I/O端口的尋址方式(2)I/O單獨編址方式 對系統(tǒng)中的輸入輸出端口地址單獨編址,構(gòu)成一個I/O空間,他們不占用存儲空間,而是用專門的IN和OUT指令來訪問這種具有獨立地址空間的端口
4、。優(yōu)點:將輸入輸出指令和訪問存儲器的指令明顯區(qū)分開,使程序清晰,可讀性好;I/O指令長度短,執(zhí)行速度快,不占用內(nèi)存空間;I/O地址譯碼電路簡單。缺點:指令系統(tǒng)中需專門的指令,且這些指令的功能沒有訪問存儲器指令強;CPU需提供區(qū)分存儲器讀/寫和I/O讀寫的控制信號。輸入輸出接口概述輸入輸出接口概述 第6頁/共111頁CPU和I/O設(shè)備之間的接口信息1、數(shù)據(jù)信息數(shù)字量信息:離散的二進制形式數(shù)據(jù),最小單位為“位(b)”,8位為一個字節(jié)(B)。模擬量信息:用模擬電壓或模擬電流幅值大小表示的物理量。開關(guān)量:只有兩個狀態(tài),“開”和“關(guān)”,用一位二進制數(shù)即可表示。輸入輸出接口概述 第7頁/共111頁2、狀態(tài)
5、信息 反映當前外設(shè)所處的工作狀態(tài),實際中通過狀態(tài)端口信息表現(xiàn)。例如:輸入時:“準備好”(Ready) 輸出時:“空”(Empty)、“忙”(Busy)3、控制信息 由CPU發(fā)出的用來控制外設(shè)工作的信號。例如:控制輸入/輸出裝置的啟動或停止、讀或?qū)?問題提出:數(shù)據(jù)信息、狀態(tài)信息、控制信息是不同性質(zhì)的信息,被分別傳送,如何實現(xiàn)?CPU和I/O設(shè)備之間的接口信息輸入輸出接口概述 第8頁/共111頁 問題解決:數(shù)據(jù)信息、狀態(tài)信息、控制信息使用不同的端口地址。 問題結(jié)論:都通過數(shù)據(jù)總線傳送,但放在接口的不同寄存器 (I/O端口)中,其中:v輸入輸出的數(shù)據(jù)信息放在數(shù)據(jù)緩沖器v輸入的狀態(tài)信息放在狀態(tài)寄存器v
6、輸出的控制信息放在控制寄存器CPU和I/O設(shè)備之間的接口信息輸入輸出接口概述 第9頁/共111頁接口數(shù)據(jù)輸入寄存器數(shù)據(jù)輸出寄存器控制輸出寄存器狀態(tài)輸入寄存器CPU和I/O設(shè)備之間的接口信息外部輸入或輸出設(shè)備CPUDBABCB外設(shè)通過接口與CPU之間的連接數(shù)據(jù)控制狀態(tài)ABCBDB輸入輸出接口概述 第10頁/共111頁訪問接口的過程描述:1. CPU先將地址信息發(fā)送到地址總線,將確定的控制信息發(fā)送到控制總線(打開相應(yīng)端口);2. CPU傳輸數(shù)據(jù)信息到數(shù)據(jù)總線上等待相應(yīng)端口接收,或者CPU等待接口把指定端口的內(nèi)容送到數(shù)據(jù)總線上(收發(fā)數(shù)據(jù))。注意:地址是端口(寄存器)的地址,而不是接口部件的地址,一個
7、接口部件包含多個端口,即多個地址。CPU和I/O設(shè)備之間的接口信息輸入輸出接口概述 第11頁/共111頁幾點說明: vI/O端口即I/O接口的寄存器,接口中的每個寄存器都有一個端口地址,每個I/O接口都有一組寄存器。vCPU與外設(shè)的信息交流就是CPU與接口寄存器(端口)的交流。v數(shù)據(jù)輸入和數(shù)據(jù)輸出寄存器可以使用同一地址;控制輸出和狀態(tài)輸入寄存器可以使用同一地址。CPU和I/O設(shè)備之間的接口信息輸入輸出接口概述 第12頁/共111頁v程序方式v無條件傳送方式v查詢傳送方式v中斷傳送方式v直接存儲器存取(DMA) 控制方式CPU和外設(shè)之間的數(shù)據(jù)傳送方式 第13頁/共111頁定義: 在數(shù)據(jù)傳送過程中
8、,輸入或輸出數(shù)據(jù)一方不查詢、判斷對方的狀態(tài),進行無條件的數(shù)據(jù)傳送。 CPU能夠確信外設(shè)準備就緒,就不用查詢外設(shè)的狀態(tài)而可以直接進行數(shù)據(jù)傳輸。驅(qū)動指示燈、繼電器、啟動電機等 例如:CPU要輸出一個數(shù)據(jù)到顯示器顯示,由于顯示器是可以根據(jù)輸入數(shù)據(jù)而隨時改變顯示內(nèi)容的設(shè)備,因而CPU就可以直接向其發(fā)送數(shù)據(jù),而無需查詢。無條件傳送方式CPU和外設(shè)之間的數(shù)據(jù)傳送方式 第14頁/共111頁無條件傳送方式三態(tài)緩沖器輸入設(shè)備地址譯碼器&數(shù)據(jù)來自外設(shè)數(shù)據(jù)總線地址總線IO/MRDCPU無條件傳送的輸入方式CPU和外設(shè)之間的數(shù)據(jù)傳送方式 第15頁/共111頁無條件傳送方式鎖存器輸出設(shè)備地址譯碼器&數(shù)據(jù)
9、到外設(shè)數(shù)據(jù)總線地址總線IO/MWRCPUCE無條件傳送的輸出方式CPU和外設(shè)之間的數(shù)據(jù)傳送方式 第16頁/共111頁 定義: CPU執(zhí)行程序不斷讀取并測試外設(shè)的狀態(tài),如果外設(shè)處于準備好(輸入)或空閑(輸出)狀態(tài),則執(zhí)行輸入或輸出指令,進行數(shù)據(jù)交換,否則等待。查詢傳送方式CPU和外設(shè)之間的數(shù)據(jù)傳送方式 第17頁/共111頁 完成一次數(shù)據(jù)傳送的過程: 1) CPU從狀態(tài)端口讀取外設(shè)的狀態(tài)字; 2) CPU檢測狀態(tài)字對應(yīng)位是否滿足“就緒”條件; 3) 如不滿足,則重復(fù)執(zhí)行1)2)過程,直到條件 滿足; 4) 如果條件滿足,表明外設(shè)就緒,則傳送數(shù)據(jù), 同時I/O的狀態(tài)復(fù)位。查詢傳送方式CPU和外設(shè)之間
10、的數(shù)據(jù)傳送方式 第18頁/共111頁實現(xiàn)流程: 在與外設(shè)進行傳送數(shù)據(jù)前,CPU先查詢外設(shè)狀態(tài),當外設(shè)準備好后,才執(zhí)行I/O指令,實現(xiàn)數(shù)據(jù)傳送特點:1. CPU通過不斷查詢外設(shè)狀態(tài),實現(xiàn)與外設(shè)的速度匹配2. CPU的工作效率低NY從狀態(tài)端口讀入狀態(tài)信息從數(shù)據(jù)端口傳送一個數(shù)據(jù)外設(shè)準備好否?CPU和外設(shè)之間的數(shù)據(jù)傳送方式和外設(shè)之間的數(shù)據(jù)傳送方式 第19頁/共111頁 兩種查詢傳送方式: 1. 查詢式輸入 2. 查詢式輸出查詢傳送方式查詢式輸入方式描述 查詢式輸入是程序控制下的查詢式輸入方式,在傳送前,CPU必須去查詢一下外設(shè)的狀態(tài),當外設(shè)準備好了才傳送;若未準備好,CPU則等待。CPU和外設(shè)之間的數(shù)
11、據(jù)傳送方式 第20頁/共111頁鎖存器鎖存器三態(tài)緩沖器(8位)輸入設(shè)備地址譯碼器&數(shù)據(jù)選通信號DBABIO/MRDCPU三態(tài)緩沖器(1位)&準備就緒觸發(fā)器DQR+5VDiREADY(狀態(tài)信息)查詢式輸入接口電路三態(tài)緩沖器(8位)三態(tài)緩沖器(1位)CPU和外設(shè)之間的數(shù)據(jù)傳送方式 第21頁/共111頁三態(tài)緩沖器(8位)三態(tài)緩沖器(8位)鎖存器鎖存器輸入設(shè)備地址譯碼器&數(shù)據(jù)選通信號DBABIO/MRDCPU三態(tài)緩沖器(1位)&準備就緒觸發(fā)器DQR+5VDiREADY(狀態(tài)信息)查詢式輸入接口電路CPU和外設(shè)之間的數(shù)據(jù)傳送方式 第22頁/共111頁1. 輸入設(shè)備準備好后
12、,發(fā)選通信號;2. 數(shù)據(jù)進入鎖存器鎖存,并使D觸發(fā)器置1,從而使三態(tài)緩沖器輸出狀態(tài)信號;3. CPU從狀態(tài)端口讀入狀態(tài)字;4. CPU檢測狀態(tài)位,如果條件滿足;5. CPU從數(shù)據(jù)端口讀入數(shù)據(jù);6. 清狀態(tài)字。查詢式輸入的過程:CPU和外設(shè)之間的數(shù)據(jù)傳送方式 第23頁/共111頁D7D08位數(shù)據(jù)端口(8位) (輸入)D7狀態(tài)端口(1位) (輸入)查詢式輸入時的數(shù)據(jù)和狀態(tài)信息:“READY”(1位)數(shù)據(jù)信息狀態(tài)信息CPU和外設(shè)之間的數(shù)據(jù)傳送方式 第24頁/共111頁LOOP1: INAL,STATUS_PORT ;讀入狀態(tài)值 TESTAL,80H ;READY=1? JZLOOP1 ;未準備好?循
13、環(huán) INAL,DATA_PORT ;是,輸入數(shù)據(jù)查詢式輸入的查詢程序:討論:分析查詢程序,熟悉匯編語言在接口電路中的應(yīng)用。CPU和外設(shè)之間的數(shù)據(jù)傳送方式 第25頁/共111頁例1 查詢方式輸入假設(shè) 外設(shè)的狀態(tài)端口為21C H, 其中D4=1時,表示外設(shè)數(shù)據(jù)準備好 外設(shè)的數(shù)據(jù)端口為218 H。 實現(xiàn)從外設(shè)讀入50H個字節(jié)到內(nèi)存緩沖區(qū)buffer中。21CH端口狀態(tài)端口218H端口數(shù)據(jù)端口地址譯碼數(shù)據(jù)緩沖控制電路輸入外備CPU地址線數(shù)據(jù)線控制線CPU和外設(shè)之間的數(shù)據(jù)傳送方式 第26頁/共111頁從21CH狀態(tài)端口讀入外設(shè)狀態(tài)信息從218H數(shù)據(jù)端口讀入一個字節(jié)數(shù)據(jù)YND4=1, 外設(shè)準備好否?N50
14、H個數(shù)據(jù)傳送結(jié)束?Y編程從外設(shè)讀入50H個字節(jié)到內(nèi)存緩沖區(qū)buffer中CPU和外設(shè)之間的數(shù)據(jù)傳送方式 第27頁/共111頁 、 MOV AX, SEG buffer ;取緩沖區(qū)首地址 MOV DS, AX LEA DI, buffer MOV CX, 50H ;傳送個數(shù) next: MOV DX, 21CH ask: IN AL, DX ;從狀態(tài)端口讀入狀態(tài)信息 TEST AL, 0001 0000B ;檢測D4位 JZ ask ;D4=0,繼續(xù)查詢MOV DX, 218H IN AL, DX ;從數(shù)據(jù)端口讀入數(shù)據(jù)MOV DI, AL ;送緩沖區(qū) INC DI ;修改緩沖區(qū)指針 LOOP n
15、ext ;傳送下一個、查詢方式輸入程序段:CPU和外設(shè)之間的數(shù)據(jù)傳送方式 第28頁/共111頁輸出設(shè)備地址譯碼器&數(shù)據(jù)選通信號DBABIO/MRDCPU狀態(tài)緩沖器(1位)&忙觸發(fā)器DQR+5V數(shù)據(jù)鎖存器查詢式輸出接口電路WRACKBUSY狀態(tài)忙置1CPU和外設(shè)之間的數(shù)據(jù)傳送方式 第29頁/共111頁1. 通過M/IO,WR信號將數(shù)據(jù)寫入鎖存器,并同時將狀態(tài)觸發(fā)器置1,進而使狀態(tài)位BUSY置1,防止CPU再次傳送數(shù)據(jù);2. 外設(shè)讀取數(shù)據(jù);3. 外設(shè)向接口發(fā)ACK信號,將狀態(tài)位BUSY清零。查詢式輸出的過程:CPU和外設(shè)之間的數(shù)據(jù)傳送方式 第30頁/共111頁D7D08位數(shù)據(jù)端口(
16、8位) (輸出)D7狀態(tài)端口(1位) (輸出)查詢式輸出時的數(shù)據(jù)和狀態(tài)信息:“READY”(1位)數(shù)據(jù)信息狀態(tài)信息CPU和外設(shè)之間的數(shù)據(jù)傳送方式 第31頁/共111頁LOOP2:INAL,STATUS_PORT ;讀狀態(tài)信息TESTAL,80H ;檢查BUSY位JNZLOOP2;BUSY=0?MOVAL,STORE ;為零,取數(shù)據(jù)OUTDATA_PORT,AL ;數(shù)據(jù)端口輸出查詢式輸出的查詢程序:問題:結(jié)合匯編語言,分析程序是如何實現(xiàn)查詢輸出功能的?CPU和外設(shè)之間的數(shù)據(jù)傳送方式 第32頁/共111頁例2 查詢方式輸出假設(shè) 外設(shè)的狀態(tài)端口為21C H, 其中D0 = 0時,表示外設(shè)準備好 外設(shè)
17、的數(shù)據(jù)端口為219 H。 編程將緩沖區(qū)buffer的80H個字節(jié)輸出到外設(shè)。21CH端口狀態(tài)端口219H端口數(shù)據(jù)端口地址譯碼數(shù)據(jù)緩沖控制電路輸出外設(shè)CPU地址線數(shù)據(jù)線控制線CPU和外設(shè)之間的數(shù)據(jù)傳送方式 第33頁/共111頁從21CH狀態(tài)端口讀入外設(shè)狀態(tài)信息將一字節(jié)數(shù)據(jù)送至219H數(shù)據(jù)端口YND0=0, 外設(shè)準備好否?N80H個數(shù)據(jù)傳送結(jié)束?Y編程將緩沖區(qū)buffer的80H個字節(jié)輸出到外設(shè)CPU和外設(shè)之間的數(shù)據(jù)傳送方式 第34頁/共111頁、 MOV AX, SEG buffer ;取緩沖區(qū)首地址 MOV DS, AX LEA SI, buffer MOV CX, 80H ;傳送個數(shù) nex
18、t: MOV DX, 21CH ask: IN AL, DX ;從狀態(tài)端口讀入狀態(tài)信息 TEST AL, 0000 0001B ;檢測D0位 JNZ ask ;D00,繼續(xù)查詢 MOV AL, SI ;從緩沖區(qū)取數(shù) MOV DX, 219H OUT DX, AL ;從數(shù)據(jù)端口輸出數(shù)據(jù) INC SI ;修改緩沖區(qū)指針 LOOP next ;輸出下一個 、查詢方式輸出程序段: CPU和外設(shè)之間的數(shù)據(jù)傳送方式 第35頁/共111頁工作原理: 當外設(shè)準備好數(shù)據(jù)或可以接收數(shù)據(jù)時,就通過接口向CPU發(fā)出中斷請求信號,CPU在執(zhí)行完當前的一條指令后,檢測是否有中斷信號,如果有中斷信號,則CPU轉(zhuǎn)向執(zhí)行中斷服
19、務(wù)程序,執(zhí)行完畢后CPU返回原來的程序繼續(xù)執(zhí)行。中斷方式CPU和外設(shè)之間的數(shù)據(jù)傳送方式 第36頁/共111頁三態(tài)緩沖器輸入設(shè)備地址譯碼器1數(shù)據(jù)RDYDBABIO/MRDCPU&中斷請求觸發(fā)器數(shù)據(jù)鎖存器+5V中斷傳送方式輸入接口電路QDINT狀態(tài)信號數(shù)據(jù)鎖存器三態(tài)緩沖器1&CPU和外設(shè)之間的數(shù)據(jù)傳送方式 第37頁/共111頁中斷方式1. 輸入設(shè)備準備就緒,發(fā)出就緒狀態(tài)信號,數(shù)據(jù)暫存在鎖存器中,同時中斷請求觸發(fā)器置“1”,向CPU發(fā)出中斷請求信號;2. CPU響應(yīng)中斷,執(zhí)行中斷服務(wù)程序,從數(shù)據(jù)端口輸入數(shù)據(jù),同時將中斷請求觸發(fā)器置“0”,撤銷中斷請求;3. CPU返回被中斷的程序。中
20、斷傳送方式的過程:CPU和外設(shè)之間的數(shù)據(jù)傳送方式 第38頁/共111頁中斷服務(wù)程序發(fā)申請中斷服務(wù)程序發(fā)申請中斷方式下CPU執(zhí)行程序流程外設(shè)CPU和外設(shè)之間的數(shù)據(jù)傳送方式 第39頁/共111頁 中斷傳送方式的特點:1. CPU和外設(shè)大部分時間處在并行工作狀態(tài), 只在CPU響應(yīng)外設(shè)的中斷申請后,進入數(shù)據(jù)傳送的過程2. 中斷傳送方式提高了CPU的效率CPU和外設(shè)之間的數(shù)據(jù)傳送方式 第40頁/共111頁三、查詢傳送方式VS中斷傳送方式查詢方式中斷方式 CPU不主動查詢外設(shè),只執(zhí)行自己的程序,當外設(shè)準備好需要傳送數(shù)據(jù)時,提出申請,若CPU準于請求,放下正在執(zhí)行的程序,去傳送外設(shè)的數(shù)據(jù)。CPU和外設(shè)之間的
21、數(shù)據(jù)傳送方式 第41頁/共111頁DMA傳送方式的提出 直接存儲器存取(DMA)控制方式 DMA(Direct Memory Access)直接存儲器存取控制方式下,I/O設(shè)備是和存儲器直接交換信息,不需要CPU介入,外設(shè)與存儲器間的數(shù)據(jù)傳輸是在硬件的作用下完成的。優(yōu)點:傳輸速度大幅提高。CPU和外設(shè)之間的數(shù)據(jù)傳送方式 第42頁/共111頁 DMA方式下,外設(shè)利用專門的接口電路直接和存貯器進行高速數(shù)據(jù)傳送,而不經(jīng)過CPU。數(shù)據(jù)的傳輸速度基本上決定于外設(shè)和存儲器的速度。直接存儲器存取(DMA)控制方式主存I/O設(shè)備CPU改進主存I/O設(shè)備總線 使用直接存儲器傳送方式(DMA),實現(xiàn)數(shù)據(jù)塊操作。C
22、PU和外設(shè)之間的數(shù)據(jù)傳送方式 第43頁/共111頁 實現(xiàn)方法: 1. 由專用接口芯片DMA控制器(稱DMAC) 控制傳送過程,2. 當外設(shè)需傳送數(shù)據(jù)時,通過DMAC向CPU發(fā)出總線請求;3. CPU發(fā)出總線響應(yīng)信號,釋放總線;4. DMAC接管總線,控制外設(shè)、內(nèi)存之間直接數(shù)據(jù)傳送.DMA傳送方式的特點 1. 外設(shè)和內(nèi)存之間,直接進行數(shù)據(jù)傳送,不通過CPU, 傳送效率高。 適用于在內(nèi)存與高速外設(shè)、 或兩個高速外設(shè)之間進行大批量數(shù)據(jù)傳送。 2. 電路結(jié)構(gòu)復(fù)雜,硬件開銷較大。CPU和外設(shè)之間的數(shù)據(jù)傳送方式 第44頁/共111頁DMA 傳送方式過程CPUDMAC內(nèi)存外設(shè)總線響應(yīng)總線請求CPU和外設(shè)之間
23、的數(shù)據(jù)傳送方式 第45頁/共111頁 什么是中斷 中斷源 中斷分類 中斷類型號 中斷優(yōu)先權(quán) 中斷服務(wù)程序 斷點和中斷現(xiàn)場 8086/8088 CPU響應(yīng)中斷的過程 8086/8088 CPU如何獲取中斷類型號中斷系統(tǒng)中斷系統(tǒng)第46頁/共111頁什么是中斷什么是中斷 在CPU正常運行程序時,由于內(nèi)部或外部某個非預(yù)料事件的發(fā)生,使CPU暫停正在運行的程序,而轉(zhuǎn)去執(zhí)行處理引起中斷事件的程序,然后再返回被中斷了的程序,繼續(xù)執(zhí)行。這個過程就是中斷。中斷系統(tǒng)第47頁/共111頁中斷源中斷源 引起中斷的因素很多,將發(fā)出中斷申請的外設(shè)或內(nèi)部原因,稱為中斷源。例如:CPU指令執(zhí)行產(chǎn)生的異常(如被零除)、停電等故
24、障等。中斷系統(tǒng)第48頁/共111頁中斷的分類中斷的分類按中斷源的不同,中斷分為內(nèi)部中斷和外部中斷。內(nèi)中斷(軟中斷)指CPU執(zhí)行某些特殊操作或由INT指令引起的中斷 被零除操作或OF=1時執(zhí)行INTO指令引起 使用DEBUG中的單步或斷點設(shè)置操作引起 執(zhí)行INT n 指令引起中斷系統(tǒng)第49頁/共111頁指外部芯片通過CPU的INTR引腳或NMI引腳發(fā)出中斷申請引起的中斷。當INTR上有高電平信號當NMI上有上升沿信號外中斷(硬中斷)8088GNDA14A13A12A11A10A9A8AD7AD6AD5AD4AD3AD2AD1AD0NMIINTRCLKGNDVCCA15A16/S3A17/S4A1
25、8/S5A19/S6(HIGH)(SSO)MN/MXRDRQ/GT0(HOLD)RQ/GT1(HLDA)LOCK(WR)S2(IO/M)S1(DT/R)S0(DEN)QS0(ALE)QS1(INTA)TESTREADYRESET中斷系統(tǒng)第50頁/共111頁 可屏蔽中斷 由INTR引腳引起的中斷,稱可屏蔽中斷。 CPU是否響應(yīng)INTR引腳上的中斷請求取決于IF標志: IF=1,CPU響應(yīng)INTR引腳上的中斷請求 IF=0,CPU不響應(yīng)INTR引腳上的中斷請求(即當IF=0時,將INTR引腳上的中斷申請屏蔽。 ) 非屏蔽中斷 由NMI引腳引起的中斷,稱非屏蔽中斷。 當NMI引腳上產(chǎn)生上升沿信號,C
26、PU必響應(yīng)此中斷請求,即NMI引腳上的中斷請求不受IF標志的控制, IF不能屏蔽NMI引腳上的中斷請求。 如電源掉電、存貯器讀寫出錯、總線奇偶錯中斷系統(tǒng)第51頁/共111頁NMI(17號引腳)中 斷 邏 輯非屏蔽中斷請求INT 2硬件(外部)中斷軟件(內(nèi)部)中斷可屏蔽中斷請求中斷類型號32255INTR(18號引腳)中斷指令I(lǐng)NT nN32255溢出中斷INTOINT 4斷點中斷INT 3單步中斷(TF1)INT 1除法錯誤INT 0中斷系統(tǒng)第52頁/共111頁中斷優(yōu)先權(quán)中斷優(yōu)先權(quán) 給每個中斷源指定一個優(yōu)先權(quán),稱為中斷優(yōu)先權(quán)。當多個中斷源同時發(fā)出中斷請求時,CPU按照中斷優(yōu)先權(quán)的高低順序,依次
27、響應(yīng)。中斷系統(tǒng)第53頁/共111頁中斷服務(wù)程序中斷服務(wù)程序 處理中斷源,完成其所要求功能的程序,稱中斷服務(wù)程序(中斷例行程序、中斷子程)。CPU執(zhí)行流程中斷服務(wù)程序1中斷服務(wù)程序2非預(yù)料事件2非預(yù)料事件1中斷系統(tǒng)第54頁/共111頁斷點和中斷現(xiàn)場斷點和中斷現(xiàn)場 斷點:是指CPU執(zhí)行的現(xiàn)行程序被中斷時的下一條指令的地址,又稱斷點地址。 中斷現(xiàn)場:是指CPU轉(zhuǎn)去執(zhí)行中斷服務(wù)程序前的運行狀態(tài),包括CPU內(nèi)部各寄存器、斷點地址等。中斷系統(tǒng)第55頁/共111頁1000:150H 、 、MOV AX, 0ADD AX, DXMOV DI , AX、CPU在執(zhí)行此指令時,某中斷源發(fā)申請中斷;CPU在執(zhí)行完該
28、指令后,轉(zhuǎn)去執(zhí)行中斷子程序,此時CPU的狀態(tài)稱為中斷現(xiàn)場。地址1000:150H為斷點斷點概念:中斷系統(tǒng)第56頁/共111頁1000:150H 、 、MOV AH, 01INT 21HCMP AL, 0Dh、用指令調(diào)用中斷程序軟件中斷用指令調(diào)用中斷程序中斷系統(tǒng)第57頁/共111頁中斷的好處1、CPU分時操作(與多個外設(shè)并行工作)2、實現(xiàn)實時處理3、故障處理溫度壓力斷電CPU處理外設(shè)外設(shè)外設(shè)CPU如何實現(xiàn)中斷?中斷系統(tǒng)第58頁/共111頁中斷系統(tǒng)的功能(1)響應(yīng)中斷及返回(2)能實現(xiàn)優(yōu)先權(quán)排隊(3)能實現(xiàn)中斷嵌套中斷請求中斷請求RETIRETI主程序中斷系統(tǒng)第59頁/共111頁CPU響應(yīng)中斷的條
29、件(1)有中斷請求(2)中斷請求沒有被屏蔽(3)中斷是開放的或者是允許的(4)在現(xiàn)行指令結(jié)束后才響應(yīng)中斷中斷系統(tǒng)第60頁/共111頁中斷系統(tǒng)中斷系統(tǒng)中斷響應(yīng)及中斷期間應(yīng)做的工作(1)關(guān)中斷(硬件自動實現(xiàn))(2)保留斷點(硬件自動實現(xiàn))(3)保護現(xiàn)場(軟件完成)(4)給出中斷,入口轉(zhuǎn)入相應(yīng)的中斷服務(wù)程序(硬件自動完成)(5)恢復(fù)現(xiàn)場(6)開中斷與返回(由RETI指令實現(xiàn)) 第61頁/共111頁非預(yù)料事件是指事件發(fā)生的時間無法預(yù)知,即中斷源何時產(chǎn)生中斷不確定,是隨機的。但事件的性質(zhì)及處理方法則是已知的,確定的,即中斷服務(wù)程序是事先編寫好的,只是何時執(zhí)行未知。中斷源產(chǎn)生中斷的隨機性,使中斷服務(wù)程序的
30、執(zhí)行也具有隨機性,即何時執(zhí)行中斷服務(wù)程序不是在程序中安排好的。中斷系統(tǒng)中斷和子程序調(diào)用的區(qū)別第62頁/共111頁RETI與RET的異同點相同:均執(zhí)行恢復(fù)斷點操作,即從堆棧中彈出斷點給PC。不同:RETI將清“0”響應(yīng)時所置的優(yōu)先級觸發(fā)器,RET沒有該功能。中斷系統(tǒng)第63頁/共111頁當中斷源產(chǎn)生中斷申請后,不論是內(nèi)中斷、非屏蔽中斷,還是可屏蔽中斷,只要滿足響應(yīng)條件,在執(zhí)行完當前指令后,CPU內(nèi)部硬件會自動完成下列響應(yīng)中斷的過程: 取中斷類型號N 當前PSW的內(nèi)容入棧 清IF、TF標志為0 當前CS的內(nèi)容入棧 當前IP的內(nèi)容入棧 取內(nèi)存單元( 0 : N 4 )字內(nèi)容送IP 取中斷子程 取內(nèi)存單
31、元( 0 : N 4 + 2 )字內(nèi)容送CS 入口地址 此時CS:IP指向中斷程序的入口,開始執(zhí)行中斷程序。保存現(xiàn)場中斷系統(tǒng)中斷系統(tǒng)中斷響應(yīng)過程 中斷源提出申請 CPU決定是否響應(yīng) 若響應(yīng)轉(zhuǎn)去中斷處理 完成后返回原中斷處。第64頁/共111頁當前指令執(zhí)行完的含義vCPU正在執(zhí)行一條指令,執(zhí)行完本條指令,響應(yīng)中斷;v對于帶重復(fù)前綴的串指令(如REP MOVSB),執(zhí)行一次重復(fù)和串指令即可響應(yīng)中斷;v對MOV和POP指令,處理對象為段寄存器,以及STI和IRET指令執(zhí)行完本條指令后,再執(zhí)行一條指令才響應(yīng)中斷。中斷系統(tǒng)第65頁/共111頁中斷系統(tǒng)第66頁/共111頁中斷系統(tǒng)第67頁/共111頁中斷系
32、統(tǒng)第68頁/共111頁中斷系統(tǒng)第69頁/共111頁 .中斷系統(tǒng)第70頁/共111頁中斷系統(tǒng)第71頁/共111頁內(nèi) 存中斷向量表0:0 3FFH1000:150h3000:0200h0: N40: N4+20: 0000、 0200h 3000h、 MOV AX, 0 ADD AX, DX MOV DI, AX、 MOV BX,CX、 IRET、類型N中斷子程 某中斷源發(fā)申請中斷,申請執(zhí)行類型號為N的中斷子程響應(yīng)中斷前 SS:SP 響應(yīng)中斷后SS:SP 堆棧執(zhí)行IRET后 (IP) (CS)(PSW)01501000(PSW)SS:SP (IP)=0200h(CS)=3000h0:3FFH0:0
33、中斷系統(tǒng)第72頁/共111頁從中斷子程返回斷點處,靠的是執(zhí)行中斷子程最后的指令I(lǐng)RET,從堆棧中取出斷點地址給CS:IP,繼續(xù)執(zhí)行被中斷的程序。故中斷子程最后應(yīng)安排 IRET 指令。1000:150h3000:200h0: N40: N4+20: 0000、 0200h 3000h、 MOV AX, 0 ADD AX, DX MOV DI, AX、 MOV BX,CX、 IRET、響應(yīng)中斷前 SS:SP 響應(yīng)中斷后SS:SP 堆棧執(zhí)行IRET后 (IP) (CS)(PSW)01501000(PSW)SS:SP (IP)=0200h(CS)=3000h中斷系統(tǒng)第73頁/共111頁中斷系統(tǒng)第74頁
34、/共111頁8086/8088 CPU如何獲取中斷類型號如何獲取中斷類型號 由前面介紹知,當中斷源產(chǎn)生中斷請求后,不論是內(nèi)中斷、非屏蔽中斷,還是可屏蔽中斷,只要滿足響應(yīng)條件,在執(zhí)行完當前指令后,CPU內(nèi)部硬件會自動完成響應(yīng)中斷的過程,共七個步驟,而第一步就是獲取中斷類型號。不同的中斷源,8088CPU獲取中斷類型號的方法不同。中斷系統(tǒng)第75頁/共111頁CPU 執(zhí)行除零或 OF 為 1 執(zhí)行 INTO 指令 除零 固定類型號 00H OF 為 1 執(zhí)行 INTO 指令 固定類型號 04H使用 DEBUG 下的單步和斷點操作 單步 固定類型號 01H 斷點 固定類型號 03H內(nèi)中斷執(zhí)行中斷調(diào)用指
35、令I(lǐng)NT N 由指令中給出 指令中指定類型號N非屏蔽中斷 引腳 NMI 上有中斷申請信號 (上升沿信號) 非屏蔽中斷 固定類型號 02H外中斷可屏蔽中斷 (參看中斷響應(yīng)時序圖) 當 IF=1, 引腳 INTR 上有中斷申請信號 (高電平信號 ) CPU 按中斷響應(yīng)周期時序,從數(shù)據(jù)總線上獲取中斷類型號 可屏蔽中斷 外部接口送上類型號中斷系統(tǒng)第76頁/共111頁 中斷系統(tǒng)第77頁/共111頁FLAGS 入棧NNN完成當前指令有內(nèi)部中斷嗎?從指令中或內(nèi)部獲得中斷類型號從外部得到中斷類型號TEMP=1?令TEMPTF調(diào)中斷處理程序YYY有NMI中斷嗎?有INTR中斷嗎?TF1?執(zhí)行下一條指令NNNNY
36、中斷類型號2YIF1?中斷類型號1清IF、TFCS、IP入棧返回斷點FLAGS出棧IP、CS出棧中斷服務(wù)有NMI?(1)(1)(1)(1)(2)(3)(4)(5)YY8086/8088的中斷處理過程 中斷系統(tǒng)第78頁/共111頁可編程中斷控制器可編程中斷控制器8259A 8259A的引腳、編程結(jié)構(gòu)和工作過程 8259A的編程 8259A在IBM PC/XT系統(tǒng)中的應(yīng)用 8259A在 Pentium機中的應(yīng)用第79頁/共111頁中斷申請管理接口INT中斷申請接口1網(wǎng)絡(luò)接口2硬盤接口3軟盤接口4打印機8088CPUINTRIF可編程中斷控制器可編程中斷控制器8259A第80頁/共111頁1. 向C
37、PU的引腳INTR發(fā)中斷申請信號 當有多個外設(shè)同時發(fā)出中斷請求時, 能按照一定的優(yōu)先級順序,向CPU發(fā)出中斷申請, 使CPU能優(yōu)先響應(yīng)優(yōu)先級最高的外部設(shè)備的中斷申請。2. 送中斷類型號 在CPU中斷響應(yīng)周期,針對不同外設(shè)的中斷請求, 向CPU傳送不同的中斷類型號, 使CPU執(zhí)行相應(yīng)的中斷子程。中斷申請管理接口的主要功能:在IBM PC機由8259A可編程中斷控制器(PIC)來完成??删幊讨袛嗫刂破骺删幊讨袛嗫刂破?259A第81頁/共111頁8259A的引腳 雙列直插式芯片,28個引腳方 波鍵 盤保 留串 口2 硬 盤軟 盤打印機IOW18.2HzA0CS8259A總線A0數(shù) 據(jù) 線 IORR
38、DWR片選譯碼IR0IR1IR2IR3IR4IR5IR6IR7A5A9D0D7D0D7VccSP/ENCA0CA1CA2GND+ 5V203FH用于多片8259A級連情況INTAINT INTA INTR串 口1 定時器可編程中斷控制器可編程中斷控制器8259A第82頁/共111頁編程結(jié)構(gòu)SP/ENCA0CA1CA2IORIOW總線D0D7數(shù) 據(jù) 線D0D7INTAINTRA0片選譯碼A5A9CSA0RD INTAWRINT 1 I3 I4ICW1 芯片控制 ICW2 中斷類型號 ICW3 主從片連接關(guān)系 ICW4 方式控制0111A01 0 0 1 0 1 0 0OCW1 中斷屏蔽寄存器 I
39、MR 0 0 OCW2 優(yōu)先級設(shè)置、發(fā)EOI 0 1 OCW3特殊屏蔽,查詢方式設(shè)置處理部分控制部分000 0 0 0 0 0 ISR當前中斷服務(wù)寄存器PR優(yōu)先級裁決器VCCGND100A0IR0IR1IR2IR3IR4IR5IR6IR7IRR中斷申請寄存器000 0 0 0 0 0 可編程中斷控制器可編程中斷控制器8259A第83頁/共111頁4個初始化命令寄存器 ICW1、ICW2 ICW3、ICW4 3個操作命令寄存器 OCW1(IMR) OCW2、OCW3當前中斷服務(wù)寄存器 ISR中斷申請寄存器 IRR 8259A內(nèi)部有9個 可讀寫的寄存器8259A的編程結(jié)構(gòu) 1 I3 I4ICW1
40、芯片控制 ICW2 中斷類型號 ICW3 主從片關(guān)系 ICW4 方式控制處理部分控制部分000 0 0 0 0 0 ISR當前中斷服務(wù)寄存器PR優(yōu)先級裁決器IRR中斷申請寄存器000 0 0 0 0 0 中斷屏蔽寄存器 IMROCW2 1 0 0 1 0 1 0 0 0 0 0 1 OCW3OCW18259A中斷控制器可編程中斷控制器8259A第84頁/共111頁(1) 初始化命令字(ICW1- ICW4) 決定8259A的工作方式 通常是在計算機系統(tǒng)啟動時在初始程序設(shè)置, 一旦設(shè)定,一般在系統(tǒng)工作過程不再改變。(2) 操作命令字(OCW1,OCW2,OCW3) 在應(yīng)用程序中設(shè)定,動態(tài)地控制C
41、PU處理中斷的過程(3) ISR和IRR存放當前8259A的狀態(tài) 通過讀取 ISR 和 IRR 的內(nèi)容,可了解當前8259A工作情況可編程中斷控制器8259A第85頁/共111頁v分兩步:v(1)處理外設(shè)中斷申請,決定是否向CPU發(fā)中斷申請信號。v(2)若發(fā)中斷申請信號,且CPU響應(yīng),則在CPU中斷響應(yīng)周期送出中斷類型號。8259A 的工作過程可編程中斷控制器8259A第86頁/共111頁(1) 處理外設(shè)中斷申請,決定是否向CPU發(fā)中斷申請信號 中斷屏蔽寄存器 IMR 決定 IRR 中的中斷申請 是否進入優(yōu)先級裁決器 PR。 IMR對應(yīng)位為 0,允許中斷申請進入優(yōu)先級裁決器, 為 1,不允許進
42、入,中斷申請被IMR屏蔽。 中斷申請寄存器IRR 鎖存外部的中斷申請。 若 IR0IR7 引腳上有中斷申請,則將 IRR 相應(yīng)位置1可編程中斷控制器8259A第87頁/共111頁(1) 處理外設(shè)中斷申請,決定是否向CPU發(fā)中斷申請信號 當前中斷服務(wù)寄存器 ISR 記錄CPU正在響應(yīng)的中斷。 ISR中的某位為1,表示CPU正在響應(yīng)此級中斷, ISR中的某位為0,表示CPU沒有或已響應(yīng)完此級中斷, 優(yōu)先級裁決器PR 據(jù)新進入的中斷申請和 ISR的內(nèi)容, 決定是否發(fā)中斷申請信號。 如果進入的中斷申請比 ISR 中記錄的中斷優(yōu)先級高,則通過 8259A 的 INT 引腳向 CPU發(fā)出中斷請求信號; 如
43、果進入的中斷申請不比 ISR 中記錄的中斷優(yōu)先級高,同級或低級,則不向 CPU 發(fā)中斷請求信號??删幊讨袛嗫刂破?259A第88頁/共111頁 中斷申請寄存器IRR 鎖存外部的中斷申請。 若 IR0IR7 引腳上有中斷申請,則將 IRR 相應(yīng)位置1IORIOW總線數(shù) 據(jù) 線D0D7INTAA0片選譯碼A5A9CSA0RD INTAWRINTD0D7 ICW1 芯片控制 ICW2 中斷類型號 ICW3 主從片關(guān)系 ICW4 方式控制000 0 0 0 0 0 ISR當前中斷服務(wù)寄存器IR0IR1IR2IR3IR4IR5IR6IR7OCW1 中斷屏蔽寄存器 IMR 0 0 OCW2 優(yōu)先級、發(fā)EO
44、I OCW3 特殊屏蔽設(shè)置PR優(yōu)先級裁決器IRR中斷申請寄存器000 0 0 0 0 0 1 0 0 1 0 1 0 0INTR11可編程中斷控制器8259A第89頁/共111頁 中斷屏蔽寄存器 IMR 決定 IRR 中的中斷申請是否進入優(yōu)先級裁決器PR。 IMR對應(yīng)位為0,允許中斷申請進入優(yōu)先級裁決器,為1,不允許進入,中斷申請被IMR屏蔽。IORIOW總線數(shù) 據(jù) 線D0D7INTAA0片選譯碼A5A9CSA0RD INTAWRINTD0D7 ICW1 芯片控制 ICW2 中斷類型號 ICW3 主從片關(guān)系 ICW4 方式控制000 0 0 0 0 0 ISR當前中斷服務(wù)寄存器IR0IR1IR
45、2IR3IR4IR5IR6IR7OCW1 中斷屏蔽寄存器 IMR 0 0 OCW2 優(yōu)先級、發(fā)EOI OCW3 特殊屏蔽設(shè)置PR優(yōu)先級裁決器IRR中斷申請寄存器100 0 0 0 0 1 1 0 0 1 0 1 0 0INTR可編程中斷控制器8259A第90頁/共111頁 當前中斷服務(wù)寄存器 ISR 記錄CPU正在響應(yīng)的中斷。 ISR中的某位為1,表示CPU正在響應(yīng)此級中斷,即正在執(zhí)行此中斷源的中斷子程序; ISR中的某位為 0,表示CPU沒有或已響應(yīng)完此級中斷,即不在執(zhí)行此中斷源的中斷子程序IORIOW總線數(shù) 據(jù) 線D0D7INTAA0片選譯碼A5A9CSA0RD INTAWRINTD0D7
46、 ICW1 芯片控制 ICW2 中斷類型號 ICW3 主從片關(guān)系 ICW4 方式控制001 0 0 0 0 0 ISR當前中斷服務(wù)寄存器IR0IR1IR2IR3IR4IR5IR6IR7OCW1 中斷屏蔽寄存器 IMR 0 0 OCW2 優(yōu)先級、發(fā)EOI OCW3 特殊屏蔽設(shè)置PR優(yōu)先級裁決器IRR中斷申請寄存器100 0 0 0 0 1 1 0 0 1 0 1 0 0INTR可編程中斷控制器8259A第91頁/共111頁 優(yōu)先級裁決器據(jù)新的中斷申請和ISR的內(nèi)容, 決定是否發(fā)中斷申請信號。 如果進入的中斷申請比ISR中記錄的中斷優(yōu)先級高,則通過 8259A 的 INT 引腳向 CPU發(fā)出中斷請
47、求信號; 如果進入的中斷申請不比ISR中記錄的中斷優(yōu)先級高,同級或低級,則不向 CPU 發(fā)中斷請求信號。IORIOW總線數(shù) 據(jù) 線D0D7INTAA0片選譯碼A5A9CSA0RD INTAWRINTD0D7 ICW1 芯片控制 ICW2 中斷類型號 ICW3 主從片關(guān)系 ICW4 方式控制001 0 0 0 0 0 ISR當前中斷服務(wù)寄存器IR0IR1IR2IR3IR4IR5IR6IR7OCW1 中斷屏蔽寄存器 IMR 0 0 OCW2 優(yōu)先級、發(fā)EOI OCW3 特殊屏蔽設(shè)置PR優(yōu)先級裁決器IRR中斷申請寄存器100 0 0 0 0 1 1 0 0 1 0 1 0 0INTR可編程中斷控制器
48、8259A第92頁/共111頁(2) 若發(fā)中斷申請信號,且CPU響應(yīng),則在CPU中斷響應(yīng)周期送出中斷類型號 CPU接收到 INTR上的中斷申請信號后:l如果 IF 標志為0,則CPU不響應(yīng)此中斷申請信號,即中斷申請被IF屏蔽。l如果 IF 標志為1, 則處理完當前的指令后, 進入中斷響應(yīng)周期 通過 INTA 引腳發(fā)出兩個負脈沖信號, 從數(shù)據(jù)總線上獲取中斷類型號, 進入中斷響應(yīng)的過程??删幊讨袛嗫刂破?259A第93頁/共111頁 將 ISR 中相應(yīng)位置1,表示 CPU 響應(yīng)此級中斷,執(zhí)行此中斷源的中斷子程。 把 IRR中對應(yīng)的位清0,清除IRR中鎖存的中斷申請信號。8259A在接收到第一個IN
49、TA中斷響應(yīng)信號后:001 0 0 0 0 0 ISR當前中斷服務(wù)寄存器IR0IR1IR2IR3IR4IR5IR6IR7PR優(yōu)先級裁決器IRR中斷申請寄存器100 0 0 0 0 1 ICW1 芯片控制 ICW2 中斷類型號 ICW3 主從片關(guān)系 ICW4 方式控制OCW1 中斷屏蔽寄存器 IMR 0 0 OCW2 優(yōu)先級、發(fā)EOI OCW3 特殊屏蔽設(shè)置1 0 0 1 0 1 0 0IORIOW總線數(shù) 據(jù) 線D0D7INTAA0片選譯碼A5A9CSA0RDWR INTAINTD0D7INTR01可編程中斷控制器8259A第94頁/共111頁通過數(shù)據(jù)線,將被響應(yīng)申請的中斷類型號送給CPU。類型
50、號由ICW2提供,在初始化8259A時已設(shè)定好。 CPU獲得中斷類型號后,進入CPU響應(yīng)中斷的過程,執(zhí)行中斷子程,處理中斷源申請的功能。8259A在接收到第二個INTA中斷響應(yīng)信號后:001 0 0 0 0 0 ISR當前中斷服務(wù)寄存器IR0IR1IR2IR3IR4IR5IR6IR7PR優(yōu)先級裁決器IRR中斷申請寄存器100 0 0 0 0 1 ICW1 芯片控制 ICW2 中斷類型號 ICW3 主從片關(guān)系 ICW4 方式控制OCW1 中斷屏蔽寄存器 IMR 0 0 OCW2 優(yōu)先級、發(fā)EOI OCW3 特殊屏蔽設(shè)置1 0 0 1 0 1 0 0IORIOW總線數(shù) 據(jù) 線D0D7INTAA0片
51、選譯碼A5A9CSA0RDWR INTAINTD0D7INTR01可編程中斷控制器8259A第95頁/共111頁 取中斷類型號N 當前PSW的內(nèi)容入棧 清IF、TF標志為0當前CS的內(nèi)容入棧 當前IP的內(nèi)容入棧 取內(nèi)存單元( 0 : N 4 )字內(nèi)容送IP 取中斷子程 取內(nèi)存單元( 0 : N 4 + 2 )字內(nèi)容送CS 入口地址 此時CS:IP指向中斷程序的入口,開始執(zhí)行中斷程序。保存現(xiàn)場CPU響應(yīng)中斷過程:執(zhí)行完中斷子程中最后一條指令I(lǐng)RET后,返回被中斷處,繼續(xù)執(zhí)行被中斷的程序??删幊讨袛嗫刂破?259A第96頁/共111頁4個初始化命令寄存器 ICW1、ICW2 ICW3、ICW4 3
52、個操作命令寄存器 OCW1(IMR) OCW2、OCW3當前中斷服務(wù)寄存器 ISR中斷申請寄存器 IRR 8259A內(nèi)部有9個 可讀寫的寄存器8259A的編程結(jié)構(gòu) 1 I3 I4ICW1 芯片控制 ICW2 中斷類型號 ICW3 主從片關(guān)系 ICW4 方式控制處理部分控制部分000 0 0 0 0 0 ISR當前中斷服務(wù)寄存器PR優(yōu)先級裁決器IRR中斷申請寄存器000 0 0 0 0 0 中斷屏蔽寄存器 IMROCW2 1 0 0 1 0 1 0 0 0 0 0 1 OCW3OCW18259A中斷控制器可編程中斷控制器8259A第97頁/共111頁8259A有兩個I/O端口地址A0=0 偶地址
53、端口A0=1 奇地址端口對9個寄存器的讀寫均通過這兩個端口實現(xiàn)根據(jù)(1)寫入數(shù)據(jù)的特征位(2)寫入的先后順序 區(qū)分是對哪個寄存器進行操作 1 I3 I4ICW1 芯片控制 ICW2 中斷類型號 ICW3 主從片關(guān)系 ICW4 方式控制處理部分控制部分000 0 0 0 0 0 ISR當前中斷服務(wù)寄存器PR優(yōu)先級裁決器IRR中斷申請寄存器000 0 0 0 0 0 中斷屏蔽寄存器OCW2 1 0 0 1 0 1 0 0 0 0 0 1 OCW3OCW18259A中斷控制器D0D7A0CSRDWR80111A0100A0可編程中斷控制器8259A第98頁/共111頁(1)通過中斷屏蔽寄存器IMR的
54、讀寫,設(shè)置中斷屏蔽字(2) 通過OCW2操作命令寄存器,發(fā)中斷結(jié)束EOI命令要求掌握如下編程:8259A的編程方法8259A有多種工作方式,這些工作方式均可編程選擇,使用相當靈活??删幊讨袛嗫刂破?259A第99頁/共111頁 通過往寄地址端口寫入IMR內(nèi)容實現(xiàn) 對應(yīng)位為0,允許該級中斷申請進入 對應(yīng)位為1,禁止該級中斷申請進入(1)設(shè)置中斷屏蔽字IORIOW總線數(shù) 據(jù) 線D0D7INTAA0片選譯碼A5A9CSA0RD INTAWRINTD0D7 ICW1 芯片控制 ICW2 中斷類型號 ICW3 主從片關(guān)系 ICW4 方式控制000 0 0 0 0 0 ISR當前中斷服務(wù)寄存器IR0IR1
55、IR2IR3IR4IR5IR6IR7OCW1 中斷屏蔽寄存器 IMR 0 0 OCW2 優(yōu)先級、發(fā)EOI OCW3 特殊屏蔽設(shè)置PR優(yōu)先級裁決器IRR中斷申請寄存器100 0 0 0 0 1 1 0 0 1 0 1 0 0INTR可編程中斷控制器8259A第100頁/共111頁l 新增允許 IR2 的中斷申請 IN AL, 21H ;讀入原IMR的內(nèi)容 AND AL, 1111 1011B ;D2=0,允許IR2的中斷申請 OUT 21H, AL ;寫入IMRl 禁止 IR4 的中斷申請 IN AL, 21H ;讀入原IMR的內(nèi)容 OR AL, 0001 0000B ;D4=1,禁止IR4的中斷申請 OUT 21H, AL ;寫入IMR例 已知 IBM PC/XT系統(tǒng)中,8259A的奇地址端口地址為21H可編程中斷控制器8259A第101頁/共111頁設(shè)置完成后的結(jié)果:IORIOW總線數(shù) 據(jù) 線D0D7INTAA0片選譯碼A5A9CSA0RD INTAWRINTD0D7 ICW1 芯片控制 ICW2 中斷類型號 ICW3 主從片
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 招標策略大揭秘3篇
- 按摩店合伙協(xié)議書范本3篇
- 教育培訓(xùn)勞動合同范本2篇
- 尾氣減排志愿者行動3篇
- 撤訴授權(quán)書格式撰寫要點3篇
- 文明進步守則3篇
- 交通園區(qū)機場建設(shè)協(xié)議
- 拍賣場地租賃協(xié)議
- 金融服務(wù)合同簽訂及執(zhí)行管理辦法
- 商業(yè)區(qū)步行街護欄裝修合同
- 哈工大材料力學(xué)試卷及答案
- 五星級酒店精裝修報價清單
- QC成果提高鋼結(jié)構(gòu)栓釘焊接一次合格率
- YY/T 0506.5-2009病人、醫(yī)護人員和器械用手術(shù)單、手術(shù)衣和潔凈服第5部分:阻干態(tài)微生物穿透試驗方法
- FZ/T 90097-2017染整機械軋車線壓力
- 你比劃-我來猜(適合小學(xué)生)課件
- 《我國二手車市場的現(xiàn)狀及前景【論文】4600字》
- (完整)公共衛(wèi)生基本知識考試題題庫及答案
- 《紅樓夢》作品簡介名著導(dǎo)讀 國學(xué)經(jīng)典 PPT模板
- EBV相關(guān)TNK細胞淋巴組織增殖性疾病
- 中國電信-員工手冊(共20頁)
評論
0/150
提交評論