




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
第6章輸入輸出與中斷
6.1輸入/輸出接口概述
6.2CPU與外設(shè)之間的數(shù)據(jù)傳送方式
5
6.3中斷技術(shù)
I6.4;中斷控制器8259A
憶…….三.......................................................................
6.1輸入/輸出接口概述
A在CPU與外部設(shè)備進行信息交換時至少有兩方面的困難:
■CPU和外設(shè)的速度差異非常大
■CPU不能和外設(shè)直接通過引腳連接
ACPU和外設(shè)之間必須要設(shè)置輸入/輸出接口(I/O接口),作為
CPU與外設(shè)進行信息交換的橋梁。
1.6工1:輸入/而出接口的功能|
1.6.1.2:CPU寫輸入/輸由接口乏而的信息
16.1.3;輸入/輸由接口的編蚯方式I
6.1.1輸入/輸出接口的功能
(1)I/O地址譯碼與設(shè)備選擇
I(2)|宿總的輸入扁曲;_____________
I.(?)備本、藪搪相液態(tài)的緩沖與鎖存:
(1)1/0地址譯碼與設(shè)備選擇
所有外設(shè)都通過I/O接口掛接在系統(tǒng)總線上,在
同一時刻,總線只允許一個外設(shè)與CPU進行數(shù)
據(jù)傳送。
*(2)信息的輸入/輸出
A通過I/O接口,CPU可以從外部設(shè)備輸入各種
信息,也可將處理結(jié)果輸出到外設(shè);
>CPU可以通過向I/O接口寫入命令字來控制I/O
接口的工作,還可以隨時監(jiān)測與管理I/O接口
和外設(shè)的工作狀態(tài);
>I/O接口還可以通過接口向CPU發(fā)出中斷請求。
&⑶命令、數(shù)據(jù)和狀態(tài)的緩沖與鎖存
>因為CPU與外設(shè)之間的時序和速度差異很大,
為了能夠確保計算機和外設(shè)之間可靠地進行
信息傳送,要求接口電路應(yīng)具有信息緩沖能
力。
A接口不僅應(yīng)緩存CPU送給外設(shè)的信息,也要
緩存外設(shè)送給CPU的信息。以實現(xiàn)CPU與外
設(shè)之間信息交換的同步。
(4)信息轉(zhuǎn)換
I/O接口還要實現(xiàn)信息格式變換、電平轉(zhuǎn)換、碼
制轉(zhuǎn)換、傳送管理以及聯(lián)絡(luò)控制等功能。
6.1.2CPU與輸入/輸出接口之間的信息
E1.數(shù)據(jù)信息
①數(shù)字量:以二進制形式表示的數(shù)據(jù)信息。
②模擬量:當(dāng)計算機處理現(xiàn)場連續(xù)變化的非電量
的物理量時,需通過傳感器把這些非電量的
物理量轉(zhuǎn)化為連續(xù)變化的模擬電壓或電流一
模擬量。模擬量再經(jīng)過A/D轉(zhuǎn)換器轉(zhuǎn)換為數(shù)
字量,才能輸入計算機處理。
③開關(guān)量:是指可用2個狀態(tài)表示的信息,如開
關(guān)的開和閉、電機的起和停等。一個開關(guān)量
只需要一位二進制數(shù)表示。
42.狀態(tài)信息
表示外設(shè)當(dāng)前所處的狀態(tài):
■輸入時,輸入設(shè)備是否準(zhǔn)備好(READY)
■輸出時,輸出設(shè)備是否處于忙(BUSY)
.3.控制信息
由CPU發(fā)出、用于控制I/O接口的工作方式以及
外設(shè)的啟動和停止等信息。
數(shù)據(jù)信息、狀態(tài)信息和控制信息是屬于不同性質(zhì)的
信息,需要分別傳送。
I/O端口包括:數(shù)據(jù)端口、狀態(tài)端口和控制端口。
■CPU通過數(shù)據(jù)端口從外設(shè)讀入數(shù)據(jù)或向外設(shè)輸出
數(shù)據(jù)
■從狀態(tài)端口讀入設(shè)備的當(dāng)前狀態(tài)
■通過控制端口向外設(shè)發(fā)出控制命令
一個I/O接口可能僅包含其中的一類或兩類端口,當(dāng)
然也可能包含全部三類端口。
,6.L3輸入/輸出端口的編址方式
A在微型計算機系統(tǒng)中,CPU對外設(shè)的訪問實
際上是對外設(shè)接口電路中相應(yīng)的I/O端口進行
訪問。
AI/O端口的編址通常有兩種不同的方式:
F…”—?…~1.................................:
I1;統(tǒng)一編址I
12ii立編定;
:;:
LI/O端口統(tǒng)一編址
>又稱為存儲器映射編址方式,即把每個I/O端
口都當(dāng)作一個存儲單元看待,按照存儲單元地址空間
的編址方式統(tǒng)一安琲端口留痣址。00000H
>優(yōu)點:可以用訪問內(nèi)存的方法來訪問I/O端口。
由于訪問內(nèi)存的指令種類豐富、尋址方式多
樣,因此這種編址方式為訪問外設(shè)帶耒了很內(nèi)存地址
(共960K)
大的靈活性。同時,I/O控制信號也可占存儲
器的控制信號共用,從而給應(yīng)用帶來了很大
的方便。
EFFFFII
FOOOOH
>缺點:外設(shè)占用了一部分內(nèi)存地址空間,這I/。地址
就減少了內(nèi)存可用的地址范圍。此外從指令(共64K)
上不易區(qū)分當(dāng)前是對內(nèi)存進行操作還是對外FFFFFH
設(shè)進行操作。
圖6.2存儲器和】()端口的統(tǒng)一編址
>IntelMCS-51等系列的單片微型計算機和
Motorola公司的MC6800、MC68000及
68Ho)5等微處理器就采用統(tǒng)一編址方式。
2.1/0端口獨立編址
>內(nèi)存地址空間和外設(shè)地址空間是相互獨立的。
>8086/8088系統(tǒng)的內(nèi)存地址范圍為00000H?FFFFFH,共1M空
間,而外設(shè)端口的地址范圍為0000H?FFFFH,共64K空間。
這兩個危址空間相互獨立,互不影響。
>CPU在尋址內(nèi)存和外設(shè)時,使用不同的控制信號來隹分當(dāng)前
是對應(yīng)存操作還是對I/O端口操作。例如8086的M/IO和8088
的IO/M信號。
>指令系統(tǒng)中單獨設(shè)置有專用的I/O指令。
優(yōu)點:修輸入輸出指令和訪問存儲器的指令明顯區(qū)分開,使
程序清晰,可讀性好,而且I/O指令長度短,執(zhí)行的速度快,
近木苫由內(nèi)存空間;I/O地址譯碼電路裝簡單,
缺點:必須有專門的IN和OUT指令,這些指令的功能沒有訪
問存儲器指令強,也增加了指令系統(tǒng)的規(guī)模。另夕卜,CPU要
能提供區(qū)分存儲器和I/O的控制信號。
6.2CPU與外設(shè)之間的數(shù)據(jù)傳送方式
3元蔡件方式
|6.2?2;“欣;
6.23中斷方式
6.2.4DMA方式
6.2.1無條件方式
>無條件傳送方式主要用于外部控制過程的各種動作是固定的、
且是已知的,控制的對象是一些簡單的、隨時“準(zhǔn)備好”的
外設(shè)。也就是說,建這些設(shè)備工祚時,隨時都可以接收CPU
輸出的數(shù)據(jù),或著它們的數(shù)據(jù)隨時都可以被CPU讀出。
>在與這樣的外設(shè)交換數(shù)據(jù)的過程中,數(shù)據(jù)交換與指令的執(zhí)行
是同步的,因此這種方式也稱為同步傳送方式。
圖6.3圖6.4
>優(yōu)點是程序簡單,所需的硬件和軟件都比較少,傳送速度快,
但必須在確信外設(shè)已準(zhǔn)備好椿況下才能使用,否則就會出錯。
>對于諸如開關(guān)、發(fā)光二極管等這一類簡單設(shè)備來說,就是采
用無條件的傳送方式。
&無條件傳送的輸入方式
數(shù)據(jù)總線
地址總線
來自
外設(shè)
圖6.3無條件傳送的輸入方式
當(dāng)CPU從外部設(shè)備輸入數(shù)據(jù)時,來自外設(shè)的數(shù)據(jù)已輸入至
三態(tài)緩沖器,CPU執(zhí)行一條IN指令,將地址信號組成的端
口地址送上地址總線,經(jīng)過譯碼,選,對應(yīng)的端口,然后
在讀信號RD=O期間將數(shù)據(jù)讀入。
無條件傳送的輸出方式
圖6.4無條件傳送的輸出方式
當(dāng)CPU向外部設(shè)備輸出數(shù)據(jù)時,CPU只執(zhí)行一條
OUT指令,輸出的過程類似,只是必須在寫信號
有效時將數(shù)據(jù)寫入輸出鎖存器,由它再把信息通
過外設(shè)輸出。
6.2.2查詢方式
>查詢方式的工作過程
>分為:
■查詢式輸入
■杳詢式輸出
>特點:利用查詢方式進行數(shù)據(jù)輸入輸出的過
程中,CPU將大量時間耗費在讀取和檢測外
設(shè)狀態(tài)上,真正用于傳送數(shù)據(jù)的時間很少,
這樣大大降低了CPU的效率。
查詢傳送的兩個環(huán)節(jié)
⑴查詢環(huán)節(jié)
尋址狀態(tài)端口
讀取狀態(tài)寄存器的標(biāo)志位
若不就緒就繼續(xù)查詢,直至就緒
⑵傳送環(huán)節(jié)
尋址數(shù)據(jù)端口
是輸入,通過輸入指令從數(shù)據(jù)端口讀入數(shù)據(jù)
是輸出,通過輸出指令向數(shù)據(jù)端口輸出數(shù)據(jù)
11.查詢式輸入
圖6.5查詢式輸入的接口電路
程序段
3查詢式輸入程序段
在查詢輸入的過程中,讀入的數(shù)據(jù)是8位或16位,而讀入的狀態(tài)位是1位,如
圖所示。設(shè)狀態(tài)口的地址為PORTS1,輸入數(shù)據(jù)口的地址為PORT_IN,傳送
數(shù)據(jù)的總字節(jié)數(shù)為COUNT1,則查詢式輸入數(shù)據(jù)的程序段為:
數(shù)據(jù)端口(8位)[DTI―—――――回
MOVBX,0;初始化指針(輸入)L
MOVCX,COUNT_1;字節(jié)數(shù)8位
MOVDX,PORTS1狀學(xué)W位
[讀入狀態(tài)位(輸入)
READ.Sl:INAL,DX??READY”(I位)------
TESTAL,01H;數(shù)據(jù)準(zhǔn)備好否?圖6.6杳ill]式輸入的數(shù)據(jù)和狀態(tài)信息
JZREAD.Sl;否,循環(huán)檢3則
MOVDX,PORTIN
INAL,DXC已準(zhǔn)備好,讀入數(shù)據(jù)
MOV[BX],AL;存到內(nèi)存緩沖區(qū)中
INCBX;修改地址指針
LOOPREAD_S1;未傳送完,繼續(xù)傳送
2.查詢式輸出
圖6.7查詢式輸出的接口電路
程序段
查詢式輸出程序段
在查詢輸出的過程中,輸出的數(shù)據(jù)是8位或16位,而讀入的狀態(tài)位是1位,如
圖所示。設(shè)狀態(tài)口的地址為P0RT_S2,輸出數(shù)據(jù)口的地址為PORTOUT,
傳送數(shù)據(jù)的總字節(jié)數(shù)為COUNT21若輸出的數(shù)據(jù)放在2000H開始的一段存
儲區(qū)中,則查詢式輸出數(shù)據(jù)的程序段為:
MOVBX,2000H;初始化地址指針
MOVCX,COUNT2;字節(jié)數(shù)
MOVDX,PORTS2
READS2:INAL,DX;暴入狀態(tài)位
TESTAL,80H;外設(shè)準(zhǔn)備好否?圖6.8杳詢式輸出的數(shù)據(jù)和狀態(tài)信息
JNZREADS2;否,循環(huán)檢測
MOVAL,-[BX];從內(nèi)存緩沖區(qū)中取數(shù)據(jù)
MOVDX,PORTOUT
OUTDX,AL「輸出數(shù)據(jù)
INCBX;修改地址指針
LOOPREADS2;未傳送完,繼續(xù)傳送
6.2.3中斷方式
當(dāng)CPU需要輸入時,若外設(shè)的輸入數(shù)據(jù)已存入寄存
器;需要輸出時,若外設(shè)已把上一個數(shù)據(jù)輸出,輸
出寄存器已空,這時為可由夕下設(shè)向CPU發(fā)出,斷請
錄。
CPU在接到請求后若條件允許,則暫停(或中斷)正在
進行的工作而轉(zhuǎn)去對該外設(shè)服務(wù),并在服務(wù)結(jié)束后
回到原來被中斷西地方繼續(xù)原萊的工作。
中斷流程圖6.10
特點:利用中斷方式進行數(shù)據(jù)傳送,不僅大大提高
了CPU效率,還能夠?qū)ν庠O(shè)的請求做出實時響應(yīng)。
尤其是在外設(shè)出現(xiàn)故障,利用中斷方式可以及時做
出處理,避免不必要的損失。
斷流程
主程序
中斷服務(wù)程序
中斷請求
對外設(shè)
進行處理
斷點
繼續(xù)執(zhí)行返回斷點
中斷傳送方式的接口電路
(中斷響應(yīng)信號)
圖6.10中斷傳送方式的接口電路
L6.2.4DMA方式
直接存儲器存取(DirectMemoryAccess)
DMA)方式是通過得殊的破件電路(DMA控制
器)來控制存儲器與外設(shè)直接進行數(shù)據(jù)傳送。
在這種方式下,CPU放棄對總線的管理,而
由DMA控制器來控制。
由于CPU只啟動而不干預(yù)數(shù)據(jù)傳送過程,整
個過程只由硬件完成不需要軟件介入,所以
這種方式的數(shù)據(jù)傳輸率很高。
工作過程
DMA的工作過程
>當(dāng)外設(shè)準(zhǔn)備好,可以進行DMA傳送時,外設(shè)向DMA控制器
發(fā)出DMA傳送請求信號(DRQ)。
>DMA控制器收到請求后,向CPU發(fā)出“總線請求”信號
HOLD,表示希望占用總線。
>CPU在完成當(dāng)前總線周期后會立即對HOLD信號進行響應(yīng)。
響應(yīng)包括兩個方面:一是CPU4尋藪據(jù)總線、地址總殯和相應(yīng)
的控制信號線均置為高阻態(tài),由此放棄對總線的控制權(quán);另
一方面,CPU向DMA控制器發(fā)出“總線響應(yīng)”信號(HLDA)。
>DMA控制器收到HLDA信號后,就開始控制總線,并向外設(shè)
發(fā)出DMA響應(yīng)信號DACK。
>DMA控制器送出地址信號和相應(yīng)的控制信號,實現(xiàn)外設(shè)與內(nèi)
存或內(nèi)存與內(nèi)存之間的直接數(shù)據(jù)傳送。
>數(shù)據(jù)傳送完成后,DMA控制器撤銷對CPU的請求信號,CPU
撤銷保持響應(yīng)信號并恢復(fù)對總線的控制。
6.3中斷技術(shù)
6.3]中斷概述|
6.3?2;中斷的處理過程
6.3.1中斷概述
1;中斷源及其分類
2中斷系統(tǒng)及其功能
3中斷優(yōu)先級的確定
1.中斷源及其分類
>引起中斷的事件就稱為中斷源。
>分為兩大類:
■內(nèi)部中斷源:來自CPU內(nèi)部,如:CPU執(zhí)行指令
時產(chǎn)生的異常、特殊操作引起的異常以及由程序
員安排在程序中的INTn軟件中斷指令。中斷的控
制完全是在CPU內(nèi)部實現(xiàn)的。
■外部中斷源:來自CPU外部,如:如鍵盤、打印
機、定時器時間到、電源掉電、硬件出錯等。利
用CPU的兩條中斷輸入信號線INTR和NMI親告訴
CPU已發(fā)生了中斷事件。
臺匕
2.中斷系統(tǒng)及其功目匕
圖6.11中斷的簡單過程示意
★I實現(xiàn)幣新響應(yīng)及:返回
★:岐現(xiàn)任先權(quán)排隊
k1)實現(xiàn)中斷響應(yīng)及返回
當(dāng)某個中斷源發(fā)出中斷請求時,CPU能根據(jù)條件決
定是否響應(yīng)該中斷請求。
若允許響應(yīng),則CPU必須在執(zhí)行完現(xiàn)行指令后:
■保護斷點和現(xiàn)場(即把斷點處的斷點地址和各寄存
器的內(nèi)容與標(biāo)志位的狀態(tài)推入堆棧);
■轉(zhuǎn)到需要處理的中斷服務(wù)程序的入口;
■清除中斷請求觸發(fā)器。
當(dāng)處理完中斷服務(wù)程序后,再恢復(fù)現(xiàn)場和斷點地址,
使CPU返回斷點,繼續(xù)執(zhí)行主程序。
2)實現(xiàn)優(yōu)先權(quán)排隊
A在實際系統(tǒng)中有多個中斷源時,有可能出現(xiàn)
兩個或兩個以上中斷源同時提出中斷請求的
情況,而CPU同一時刻只能接受一個中斷申
請。這樣就必須要設(shè)計者事先根據(jù)輕重緩急,
給每個中斷源一個中斷優(yōu)先權(quán)。
A當(dāng)多個中斷源同時發(fā)出中斷申請時,CPU能
找到優(yōu)先級別最高的中斷源,響應(yīng)它的中斷
請求。在優(yōu)先權(quán)級別最高的中斷源處理了以
后)再響應(yīng)級別較低的中斷源。
y3)高級中斷源能中斷低級的中斷處理
>當(dāng)CPU響應(yīng)某一中斷源的請求,在進行中斷
處理時,若有優(yōu)先級別更高的中斷源發(fā)出中
斷申請,則CPU要能中斷正在進行中的中斷
服務(wù)程序,保留這個程序的斷點和現(xiàn)場(類似
于子程序嵌套),響應(yīng)高級中斷,在高級中斷
處理完以后,再繼續(xù)執(zhí)行被中斷的中斷服務(wù)
程序。這就形成了中斷嵌套,如圖6.12所示。
>兩個中斷形成的是兩重中斷(或兩級嵌套),還
可以進行多重中斷(或多級嵌套)。
圖6.12中斷嵌套過程
圖6.12中斷嵌套過程
3.中斷優(yōu)先級的確定
>當(dāng)系統(tǒng)具有多個中斷源時,就有可能在某一時刻有
兩個以上的中斷源同時發(fā)出中斷請求,而CPU往往
只有一條中斷請求線,并且任一時刻只能響應(yīng)并處
理一個中斷,這就要求CPU能識別出是哪些中斷源
申請了中斷并找出優(yōu)先級最高的中斷源對其進行響
應(yīng),在處理完該中斷源后,再響應(yīng)級別較低的中斷
源的請求。
>中斷優(yōu)先權(quán)的確定方法:
I.★_.I軟..侔..方..法:I
「d★—;U.硬..件.方..法.I;
1)通過軟件確定中斷優(yōu)先權(quán)
?CPU響應(yīng)中斷后,就用軟件查詢以確定是哪些外設(shè)申
請中斷,并判斷它們的優(yōu)先權(quán)。
?例如,把8個外設(shè)的中斷請求觸發(fā)器組合起來,作為
一■個端口,并賦予設(shè)著號,如圖6.13所示。把各個,卜
設(shè)的中斷請求信號相“或”后,作為INTR信號,向
CPU送出中斷請求。當(dāng)CPU響應(yīng)中斷時,把中斷寄存
器的狀態(tài),作為一個外設(shè)讀入CPU,逐位檢測它們的
狀態(tài),若有中斷請求就轉(zhuǎn)到相應(yīng)的服務(wù)程序入口。這
時,中斷寄存器各位查詢的先后次序就是相應(yīng)中斷源
的優(yōu)先級別高低次序。
?實現(xiàn)簡單,調(diào)整優(yōu)先權(quán)次序方便,但在中斷源較多的
懵況下,由詢問轉(zhuǎn)至相應(yīng)的服務(wù)程序的入口時間長。
圖6.13通過軟件查詢確定優(yōu)先權(quán)
端口地址2011
圖6.13通過軟件查詢確定優(yōu)先權(quán)
2)硬件優(yōu)先權(quán)排隊電路
>利用專用的硬件電路或中斷控制器來安排各
中斷源的優(yōu)先級別。
A破件判優(yōu)電路的形式很多,下面介紹兩種常
用的硬件判優(yōu)方法:
I.★.|鏈?zhǔn)絻?yōu):先權(quán)排隊由路:
…?J............................................................;
區(qū):優(yōu)先權(quán)編碼電路;
(1)鏈?zhǔn)絻?yōu)先權(quán)排隊電路
>鏈?zhǔn)絻?yōu)先權(quán)排隊的基本思想是將所有的中斷源構(gòu)成一個鏈,排在鏈前面
的中斷源的優(yōu)先級別高于排在后邊的,高級別的中斷會自動封鎖低優(yōu)先
級別的中斷。
>如圖6:14所示:在電路中,每個外設(shè)對應(yīng)的接口都有一個中斷邏輯電路,
CPU響應(yīng)市斷時發(fā)出的INTA信號沿著這些邏輯電路串接段的鏈從前往后
傳遞。
>當(dāng)多個輸入有中斷請求,則由中斷輸入信號的“或”電路產(chǎn)生INTR信號,
送至CPU。當(dāng)CPU在現(xiàn)行指令執(zhí)行完后,響應(yīng)中斷,發(fā)出中斷響應(yīng)信號。
當(dāng)中斷響應(yīng)為高電平,若F/FAs宥中斷請求,則它的輸出為高,于是與門
A1輸出為高,由它控制轉(zhuǎn)至中斷1的服務(wù)程序的入口;且門A2輸出為低電
平;因而使門B「和C2等所有下面各級門的輸入和輸出全為低電
平,即屏蔽了所有其他的各級中斷。
>若第一級沒有中斷請求,即F/FAs=O,則中斷輸出1為低電平,但門A2的
輸出卻為高電平,把中斷響應(yīng)傳遞至中斷請求2。若此時F/FBs=l,則與
門Bi輸出為高電平,控制轉(zhuǎn)去執(zhí)行中斷2的服務(wù)程序;此時與門B2的輸出
為低,因而屏蔽了以下各級中斷。以此類推。
>該方法的優(yōu)先權(quán)判定速度快,但由于鏈?zhǔn)脚抨犑怯布溄樱灰渍{(diào)整優(yōu)
憲叔次序,且對硬件故障敏感。
圖6.14鏈?zhǔn)絻?yōu)先權(quán)排隊電路
中斷響應(yīng)(來自CPU)
中斷輸入1
中斷輸入2
中斷輸入3
中斷輸入4
(2)優(yōu)先權(quán)編碼電路
>用編碼器和比較器實現(xiàn)優(yōu)先權(quán)排隊電路,如圖6.15所示。
>若有8個中斷源,當(dāng)任一個有中斷請求時,通過“或”門,即可有一個中斷請求
信號產(chǎn)生,但它能否送至CPU的中斷請求線,還要受比較器的控制(若優(yōu)先權(quán)失
效信號為低電平,則與門2關(guān)閉)。
>8條中斷輸入線的任一條,經(jīng)過編碼器可以產(chǎn)生三位二進制優(yōu)先權(quán)編碼&A]Ao,
優(yōu)先權(quán)最高的線的編碼為111,優(yōu)先權(quán)最低的線的編碼為000。而且若宥多個輸入
線同時輸入,則編碼器只輸出優(yōu)先權(quán)最高的編碼。
>正在進行中斷處理的外設(shè)的優(yōu)先權(quán)編碼,通過CPU的數(shù)據(jù)總線,送至優(yōu)先權(quán)寄存
器,然后輸出編碼B2BN0至比較器,以上過程是由軟件實現(xiàn)的。
>比較器比較編碼A2AA與BzBiB。的大小,若AWB,則“A〉B”端輸出低電平,封
鎖與門1,就不向CPU差出新的中斷申請(即當(dāng)CPU正在處理中斷時,當(dāng)宥同級或
低級的中斷源申請中斷時,優(yōu)先權(quán)排隊線路就屏蔽它們的請求);只有當(dāng)A〉B時,
比較器輸出端才為高電平,打開與門1,將中斷請求信號送至CPU的INTR輸入端,
CPU就市斷正隹進行的+斷處理程序,轉(zhuǎn)去響應(yīng)更高級的市斷。
>若CPU不在進行中斷處理時(即在執(zhí)行主程序),則優(yōu)先權(quán)失效信號為高電平,當(dāng)
宥任一中斷源請求中斷時,卻能通過與門2,發(fā)出INTR信號。
>這樣的優(yōu)先權(quán)電路,當(dāng)外設(shè)的個數(shù)W8時,則它們公用一個產(chǎn)生中斷矢量的電路,
它有三位由比較器的編碼A2A]A。供給,就能做到不同的編碼轉(zhuǎn)入不同的入口地址。
圖6.15優(yōu)先權(quán)編碼電路
圖6.15優(yōu)先權(quán)編碼電路
6.3.2中斷的處理過程
3...;中斷處理
1.中斷請求
外設(shè)需要CPU服務(wù)時,首先要發(fā)出一個有效的中斷
請求信號送到CPU的中斷輸入端。
中斷請求信號分為邊沿觸發(fā)和電平觸發(fā)。一般來說,
CPU能夠即時予以響應(yīng)的中斷可以采用邊沿觸發(fā),
而不能即時響應(yīng)的中斷則應(yīng)采用電平觸發(fā),否則中
斷請求信號就會丟失。
8088/8086CPU的NMI為邊沿觸發(fā),而INTR為電平觸
發(fā)。為了保證產(chǎn)生的中斷能被CPU處理,INTR中斷
請求信號應(yīng)保持到該請求被CPU響應(yīng)為止。CPU響
應(yīng)后,INTR信號還應(yīng)及時撤除,以免造成多次響應(yīng)。
2.中斷響應(yīng)
>響應(yīng)中斷請求的3個條件:
(1)一條指令執(zhí)行結(jié)束。
(2)CPU處于開中斷狀態(tài)。
(3)沒有總線請求。在復(fù)位(RESET)、總線保持(HOLD)等總線請
求時,CPU不工作,當(dāng)然就不能響應(yīng)中斷。
>中斷響應(yīng)時,CPU除了要向中斷源發(fā)出中斷響應(yīng)信號外,還
要自動完成下述3項工作:
(1)關(guān)閉中斷。CPU響應(yīng)中斷時,需立即關(guān)中斷(使IF=0),以保
證保護現(xiàn)場、斷點花獲取中呀入口地虻等工作不受影口而。
⑵保護現(xiàn)場和斷點。將標(biāo)志寄存器FR(PSW)、斷點的段基址
(CS值)和偏移地址(IP值)壓入推棧,以保證中斷結(jié)束后能正
常返回被中斷的程序。
(3)獲得中斷服務(wù)程序入口,轉(zhuǎn)入中斷服務(wù)程序。
3.中斷處理
保護現(xiàn)場。保護現(xiàn)場是指把中斷服務(wù)程序中要用到的寄存器
的原內(nèi)容壓入堆棧保存起來。
開中斷。CPU響應(yīng)中斷時會自動關(guān)閉中斷(使IF=O)。若進入
中斷服務(wù)程序后允許中斷嵌套,則需用指令開中斷(使IF=1)。
執(zhí)行中斷處理程序。完成具體的中斷處理。
關(guān)中斷。確保有效地恢復(fù)被中斷程序的現(xiàn)場。
恢復(fù)現(xiàn)場。就是把先前保護的現(xiàn)場進行恢復(fù),也即把所保存
的有關(guān)寄存器內(nèi)容按入棧的相反順序從堆棧中彈出,使這些
寄存器恢復(fù)到中斷前的狀態(tài)。
開中斷返回。其操作正好是CPU硬件在中斷響應(yīng)時自動保護
硬件現(xiàn)場和斷點的逆過程,即CPU會自動地將堆棧內(nèi)保存的
斷點信息和標(biāo)志信息彈出到IP、CS和FR中,保證被中斷的程
序從斷點處繼續(xù)往下執(zhí)行。
6.3.38086/8088的中斷
8086/8088系統(tǒng)中給每種中斷都賦予一個中斷類
型碼(或稱中斷號),編號為0~255。CPU可根據(jù)
中斷類型碼的不同來識別不同的中斷源。
ri中斷類型
2..;.中斷優(yōu)先級順序
3向宣蓑
4中斷處理過程!
1.中斷類型
8086/8088系統(tǒng)的中斷源:
■外部中斷:來自CPU外部
■內(nèi)部中斷:來自CPU內(nèi)部
Fi)外部中斷
A君稱為硬件中斷,它是由外部硬件或外
設(shè)接口產(chǎn)生的。
A8086/8088CPU為外部設(shè)備提供了兩條中
斷信號線NMI和INTR。
等扉蔽申斷;
I.★.畫扉蔽申茄
i---------------------1......................................................................................;
(1)非屏蔽中斷
?由NMI引腳上出現(xiàn)的上升沿觸發(fā))它不
受中斷允許標(biāo)志IF的控制,其中斷類型
碼固定為2。
aCPU接收到非屏蔽中斷請求信號后,會
在執(zhí)行完當(dāng)前指令后立即響應(yīng)中斷請求
而進入相應(yīng)的中斷處理。
>非屏蔽中斷通常用來處理系統(tǒng)中出現(xiàn)的
重大故障或緊急情況。
(2)可屏蔽中斷
A從CPU的INTR端引入,高電平有效。可
屏蔽中斷受中斷允許標(biāo)志位IF居控制)
只有當(dāng)IF=LCPU才會響應(yīng)INTR請求。
如果IF=O,即使中斷源有中斷請隸,
CPU也不會響應(yīng)。
?在微型計算機中,外部設(shè)備的中斷請求
是通過中斷控制器8259A萊進行統(tǒng)一管
理的,由8259A決定是否允許一個外設(shè)
向CPU發(fā)出中斷請求。
$2)內(nèi)部中斷
>內(nèi)部中斷是CPU執(zhí)行了某些指令或者軟件對標(biāo)志寄
存器中某個標(biāo)志位進行設(shè)置而產(chǎn)生的,由于它與外
部硬件電路完全無關(guān),故也稱為軟件中斷。
>在8086/8088CPU中,內(nèi)部中斷可分為5種類型:
■除法出錯中斷
■單步中斷
■斷點中斷
■溢出中斷
■中斷指令I(lǐng)NTn
>以上所述內(nèi)部中斷的類型碼均是固定,除單步中斷
夕卜,其他的內(nèi)部中斷不受IF狀態(tài)標(biāo)志影響。
⑴除法出錯中斷
在執(zhí)行除法指令時,若發(fā)現(xiàn)除數(shù)為0或商超過了
結(jié)果寄存器所能表示的最大范圍,則立即產(chǎn)生
一個中斷類型碼為0的中斷。
(2)單步中斷
>8086/8088CPU的標(biāo)志寄存器中有一位陷阱標(biāo)
志TF。
>CPU每執(zhí)行完一條指令都會檢查TF的狀態(tài)。
若發(fā)現(xiàn)TF=h則CPU就產(chǎn)生中斷類型碼為1的
中斷,使CPU轉(zhuǎn)向單步中斷的處理程序。
>單步中斷廣泛地用于程序的調(diào)試。
(3)斷點中斷
8086/8088指令系統(tǒng)中有一條專用于設(shè)置斷點
的指令I(lǐng)NT3OCPU執(zhí)行該指令就會產(chǎn)生一個
中斷類型碼為3的中斷。
INT3指令是單字節(jié)指令,因而它能很方便地
插入程序的任何地方,專門用于在程序中設(shè)
置斷點耒調(diào)試程序,它也稱為斷點中斷,插
入INT3指令之處便是斷點。
?在斷點中斷服務(wù)程序中,可顯示有關(guān)的寄存
器、存儲單元等內(nèi)容,以便程序員分析到斷
點為止程序運行是否正確。
(4)溢出中斷
?若算術(shù)指令的執(zhí)行結(jié)果發(fā)生溢出(OF=1),則
執(zhí)行INTO指令后立即產(chǎn)生一個中斷類型碼為
4的中斷。
>溢出中斷為程序員提供了處理運算溢出的手
段,INTO指令通常和算術(shù)運算指令配合起來
使用。
S(5)中斷指令I(lǐng)NTn
INTn是用戶自定義的軟件中斷指令,CPU執(zhí)行
中斷指令I(lǐng)NTn也會引起內(nèi)部中斷,其中斷類型
碼由指令中的n指定。
2.中斷優(yōu)先級順序
表6.I8086/8088CPU的中斷優(yōu)先權(quán)順序
中斷優(yōu)先級
除法出錯、INT()、I、T〃最高
NMI1
INTRV
單步最低
3.中斷向量表
字節(jié),‘?dāng)?086次088最多禮品混定靠看卷
的中斷(中斷類型碼為0?255)。
>中斷向量表位于內(nèi)存的最低1K字節(jié)(即內(nèi)存中
00000H?003FFH區(qū)域),用以存放256個中斷向量,
即256個中斷的服務(wù)程序入口地址。
每個中斷向量占4個字節(jié),其中低位字(2個字?
放中斷服務(wù)程序入口地址的偏移量,高位字(2
節(jié))存放中斷服務(wù)程序入口地址的段地址。
圖6.16
中斷向量在表中的存放地址=4x中斷類型碼n
取連續(xù)的4n和4n+l字節(jié)單元的內(nèi)容裝入IP,取4n+2
和4n+3單元的內(nèi)容裝入CS,即可轉(zhuǎn)入中斷服務(wù)程序。
圖6.16中斷向量表
00000H
IP偏移質(zhì)中斷類型0
CS段基址的中斷向最
000()411
IP偏移鼠中斷類型I
CS段基址的中斷向t
00008H
IP偏移情中斷類型2
CS段基址的中斷向量
(M)(X)CH
IP偏移量中斷類型3
CS段基址的中斷向鼠
00010H
IP偏移鼠中斷類型4
的中斷向量
CS段基址
000I4H
:
00080H
【P偏移地中斷類型32
CS段基址的中斷向鼠
00084H
?
003FCH
IP偏移信中斷類型255
段基址的中斷向技
003FFHCS
_16位_
圖6.16中斷向最表
4.中斷處理過程
申航類型碼的獲取
.4..1
.★..[J.申...慚..處...理.I
1)中斷類型碼的獲取
有兩種方法獲取中斷類型碼:
?對于軟件中斷:類型碼為0、1、3、4的中斷
類型碼由系統(tǒng)自動形成;對于INTn指令,類
型碼由指令指定。
?對于硬件中斷:若為NMI中斷,則由系統(tǒng)自
動產(chǎn)生中斷類型碼2;若為INTR中斷,貝ICPU
轉(zhuǎn)入2個連續(xù)周期的中斷響應(yīng)周期,并在第2
個中斷響應(yīng)周期采樣數(shù)據(jù)總線,獲取中斷類
型碼。
2)中斷處理
>將類型碼乘4,計算出中斷向量的地址。
>硬件現(xiàn)場保護。即修標(biāo)志寄存器F壓入堆棧,以保護當(dāng)前指
令技行結(jié)巢鬲特征。
>清除IF和TF標(biāo)志,屏蔽新的INTR中斷和單步中斷。
>保存斷點,即把斷點處的IP和CS值壓入堆棧,先壓入CS值,
再壓入IP值。
>根據(jù)計算出來的地址從中斷向量表中取出中斷服務(wù)程序的人
口地址(段和偏移),分別送至CS和IP中。
>轉(zhuǎn)入中斷服務(wù)程序執(zhí)行。進入中斷服務(wù)程序后,首先要保護
在中斷服務(wù)程序中要使用的寄存器內(nèi)容,然后進行相應(yīng)的中
斷處理,
>現(xiàn)場恢復(fù)與中斷返回。在中斷返回前恢復(fù)保護的寄存器內(nèi)容,
最后執(zhí)行中斷返回指令I(lǐng)RET。IRET的執(zhí)行將使CPU按次序恢
復(fù)斷點處的IP、CS和標(biāo)志寄存器,從而使程序返回到斷點處
繼續(xù)執(zhí)行。
圖6.17
圖6178086/8088中斷處理順序流程圖
W八1小
I舔忑奇仃舞1|港一I
」逗㈣彼中質(zhì)的E光序
P86.1780868088中斷處理H序Ji程圖
6.4中斷控制器8259A
Intel8259A是8位可編程的中斷控制器。它具有8級
優(yōu)先權(quán)控制,多片8259A通過級聯(lián)還可擴展至對64
個中斷源實現(xiàn)優(yōu)先級控制。
8259A可以根據(jù)不同的中斷源向CPU提供不同的中
斷類型碼,還可根據(jù)需要對中斷源進行中斷屏蔽。
8259A有多種工作方式,可以通過編程來選擇,以
適應(yīng)不同的應(yīng)用場合。
|641;8259A的內(nèi)麗結(jié)構(gòu)及引畫
1.6.4.2;.8.25..9.A..的.工...作.方....式.]:
1.6.4.3;8259A的編程及應(yīng)用
6.4.18259A的內(nèi)部結(jié)構(gòu)及引腳
1]8259A的內(nèi)鈿結(jié)構(gòu)
2:8259A的引腳
L8259A的內(nèi)部結(jié)構(gòu)圖6.18
I.★.:中新諳耒備存露1旅|
I★],吩版多雷看惑ISR|
★I中斷屏蔽寄存器IMR
★中斷優(yōu)先權(quán)判別電路
★藪搪總磅凌沛落;
★swssiii
I★BSSSSl
圖6.188259A的內(nèi)部結(jié)構(gòu)
IN1AINT
SP/LN
圖6.188芥7A的內(nèi)藤結(jié)構(gòu)
1)中斷請求寄存器IRR圖618
保存從IRo?爾7來的中斷請求信號。
某一位為1表示相應(yīng)引腳上有中斷請求信號。
12)中斷服務(wù)寄存器ISR圖6.18
記錄正在處理中的中斷請求信息,它的每一
位IS。?鳥分別對應(yīng)IRo?IR7。
當(dāng)任何一級中斷被響應(yīng),CPU正在執(zhí)行它的
中斷服務(wù)程序時,ISR寄存器中的相應(yīng)位置
ur\一直保持到該級中斷處理過程結(jié)束為
止。
多重中斷情況下,ISR寄存器中有多位被同時
3)中斷屏蔽寄存器IMR;圖6.18
存放中斷屏蔽字,它的每一位分別與IRo?IR7
相對應(yīng)。其中為1的位所對應(yīng)的中斷請求輸入將
被屏蔽,為0的位所對應(yīng)的中斷請求輸入不受影
響。
4)中斷優(yōu)先權(quán)判別電路圖6.18
監(jiān)測從IRR、ISR和IMR來的輸入,經(jīng)過判定
最高優(yōu)先權(quán),確定是否應(yīng)向CPU發(fā)出中斷請
求。
在中斷響應(yīng)時,它要確定ISR寄存器哪一位應(yīng)
置并將相應(yīng)的中斷類型碼送給CPU。在中
斷結(jié)束EOI命令時,它要決定ISR寄存器哪一
位應(yīng)復(fù)位。
15)^^總線緩沖器圖6.18
是8259A與系統(tǒng)數(shù)據(jù)總線的接口,它是8位雙
向三態(tài)緩沖器。
凡是CPU對8259A編程的控制字,都是通過它
寫入8259A的;8259A的狀態(tài)信息,也是通過
它讀入CPU的;在中斷響應(yīng)周期,8259A送至
數(shù)據(jù)總線的中斷矢量也是通過它傳送的。
&6)讀/寫控制邏輯[06.18
?一片8259A只占兩個I/O端口地址,用地址線
A。來選擇端口,端口地址的高位由片選信號
輸入。
>CPU能通過讀/寫控制邏輯實現(xiàn)對8259A讀出
內(nèi)部寄存器的內(nèi)容(狀態(tài)信號)和將命令寫入有
關(guān)的控制寄存器。
S7)級聯(lián)緩沖器圖6.18
級聯(lián)緩沖器是實現(xiàn)8259A芯片之間的級連,使
得中斷源可由8級擴展至64級。
《2.8259A的引腳
亦7?Do是雙向三態(tài)數(shù)據(jù)線,它可直接與系
統(tǒng)的數(shù)據(jù)總線相連。
>IR0?次7是8條外界中斷請求輸入線。與一
是讀命令信號線,當(dāng)其有效時,控制信器二
息由8259A至CPU。D一
用灰是寫命令信號線,當(dāng)其有效時,控制信;;二二
名曲CPU寫入至8259A。"二
ACS是選片信號線,由地址高位控制。/二二
AA陰以選擇8259A內(nèi)部的不同寄存器,通:二二
常置接連至地址總線的A。。鼠;二二
SPTN
AINT中斷請求線,用于向CPU發(fā)中斷請求信g;一CAS:
口
萬。圖5.1952”A的引陰圖
?而式中斷響應(yīng)線,用于接收CPU的中斷響
應(yīng)信號。
ACAS2?CASo是級連信號線,當(dāng)8259作為主
片時,這三條為輸出線;作為叢片西,則此
三條線為輸入或。這三條線與SP/EN線軸配
合,實現(xiàn)8259A的級連。
y6.4.28259A的工作方式
8259A具有非常靈活的中斷管理方式,可滿足
用戶各種不同的要求,且這些工作方式都可以
通過編程來設(shè)置。
1..1中慚喻應(yīng)順序I
1..2..:8259A中慚優(yōu)先級管逋
1..3..;8259A巾慚屏蔽曾理;
1..4;8259A幣慚結(jié)束管理
1.5I8259A1SW
L中斷響應(yīng)順序圖6.18
當(dāng)有一條或若干條中斷請求(IRo?爪7)變高,中斷請求寄存器
IRR的相應(yīng)位置位。
>若中斷請求線中至少有一條是中斷允許的,則8259A由INT引
腳向CPU送出中斷請求信號。
>若CPU是處在開中斷狀態(tài),則在當(dāng)前指令執(zhí)行完以后,用
INTA信號作為響應(yīng)。
>8259A在接咚到CPU的同人信號后,使最高優(yōu)先權(quán)的ISR位
置位,而相應(yīng)的IRR位復(fù)位。
>8O86/8O88CPU啟動另一個中斷響應(yīng)周期,輸出另一個INTA
脈小。在這個周期市,8259A向數(shù)據(jù)總線輸送一個8位的中斷
類型碼。CPU隹此周期中,讀取此中斷類型碼并把它乘以4,
就可以從中斷服務(wù)程序入口地址表中取出中斷服務(wù)程序的人
口地址。這樣中斷響應(yīng)周期就完成了,CPU就可轉(zhuǎn)至中斷服
務(wù)程序執(zhí)行。
2.8259A中斷優(yōu)先級管理
|一彳T莞全嵌套方式1
區(qū)]i動循環(huán)方式1
I★:痔理莞全嵌套方式
11)完全嵌套方式
各中斷請求的中斷優(yōu)先級就是固定不變的。
8259A加電后就處于這種方式,默認(rèn)IRo優(yōu)先
級最高(0級為最高級),IR7優(yōu)先級最低(7級為
最低級)。
高優(yōu)先級的中斷可中斷低優(yōu)先級的中斷,實
現(xiàn)中斷嵌套。
2)自動循環(huán)方式
A在實際應(yīng)用中,許多中斷源的優(yōu)先權(quán)級別是一樣的,
若采用完全嵌套方式,則低級別中斷源的中斷請求
有可能總是得不到服務(wù)。解決的方法是使這些中斷
源輪源處于最高優(yōu)先級。這就是自動中斷優(yōu)先級循
A在自動循環(huán)方式下,從IRo?IR7引入的中斷輪流具
宥最高優(yōu)先級,即當(dāng)任何一級中斷被處理完,它的
優(yōu)先級別就被修改為最低,而最高優(yōu)先級分配給該
中斷的下一級幣斷。
>例如,現(xiàn)正在處理爾2引入的中斷服務(wù),如處理完畢,
IR2變?yōu)樽畹蛢?yōu)先級,以3為最高優(yōu)先級,為次高
優(yōu)先級,依次排序。
3)特殊完全嵌套方式
>用在8259A有級聯(lián)的情況。
>當(dāng)任何一個從8259A接收到一個中斷請求,經(jīng)本8259A判定
為最高優(yōu)先級,則響應(yīng)這個中斷,通過INT引腳向主片8259A
相應(yīng)的IR端提出中斷請求。
>如果此時主片8259A中ISR相應(yīng)位已置“1”,說明該從片
8259A的其它輸入端已提出過中斷請求,且正在服務(wù),而從
片8259A判別出剛申請的中斷優(yōu)先級最高,因此應(yīng)停止現(xiàn)行
中斷服務(wù)程序轉(zhuǎn)到剛申請的中斷服務(wù)程序。
>8259A有級連的情況下,按完全嵌套方式管理優(yōu)先級,即接
在主片8259AIR0上的從片比接在IR】上的從片具有高的優(yōu)先
級,而主片上IR。、IR1上的中斷比接在主片IR?上的從片具有
高的優(yōu)先級,依次類推。
3.8259A中斷屏蔽管理
a8259A的8個中斷請求都可根據(jù)需要單獨屏蔽,
屏蔽是通過編程使得屏蔽寄存器IMR相應(yīng)位置0
或置L從而允許或禁止該位所對應(yīng)的中斷。
a8259A有兩種屏蔽方式:
Er普通扉蔽方式
QT痔殊扉蔽方式
1)普通屏蔽方式
?將IMR某位置1,則它對應(yīng)的IR就被屏蔽,從
而使這個中斷請求不能從8259A送到CPUo
?如果該位置3則允許該IR中斷傳送給CPU。
12)特殊屏蔽方式
在執(zhí)行一個中斷服務(wù)程序時,可能希望優(yōu)先級別比
正在服務(wù)的中斷源低的中斷能夠中斷當(dāng)前的中斷服
務(wù)程序。
在第江立的1氏的處理中,若希望使除1氏以外的所有
IR中斷請求均可被響應(yīng),則首先設(shè)置特殊屏蔽方式,
再編程將1Kl屏蔽掉(使IMR中的IMj位置1),這樣就
會使ISR的地位復(fù)位。這時,除了正在服務(wù)的這級
中斷被屏蔽(不允許產(chǎn)生進一步中斷)外,其他各級
中斷全部被開放。
這樣,正在服務(wù)的優(yōu)先級高的中斷可以被優(yōu)先級低
的中斷申請中甑。
4.8259A中斷結(jié)束管理
?當(dāng)8259A響應(yīng)某一級中斷為其服務(wù)時,中斷服務(wù)寄存
器ISR的相應(yīng)位置“1L當(dāng)有更高級的中斷申請來到時,
ISR相應(yīng)位又置“1。
》在中斷服務(wù)結(jié)束時,ISR相應(yīng)位清“0”。
?中斷結(jié)束管理就是用不同的方式使ISR中相應(yīng)位清
5
HUT普通市面結(jié)束方式
「★T痔殯市斷結(jié)束方式
自前吊結(jié),方太
!I.....★...........;I.....................................M.......................................................
1)普通中斷結(jié)束方式
>配合全嵌套優(yōu)先權(quán)工作方式使用O
>當(dāng)CPU用輸出指令向8259A發(fā)出正常中斷結(jié)束
EOI命令時,8259A就會把ISR中已置1的位中
的級別最高位復(fù)位。因為在全嵌套方式中,
置1的級別最高ISR位對應(yīng)了最后一次被響應(yīng)
的和被處理的中斷,也就是當(dāng)前正在處理的
中斷,所以,把.已置1的位中級別最高的ISR
位復(fù)位相當(dāng)于結(jié)束了當(dāng)前正在處理的中斷。
2)特殊中斷結(jié)束方式(SEOI)
在非全嵌套方式下,由于中斷優(yōu)先級不斷改
變,無法確知當(dāng)前正在處理的是哪一級中斷,
這時就要采用特殊SEOI中斷結(jié)束方式。
在程序中是要發(fā)一條特殊中斷結(jié)束命令,這
個命令中指出要清除ISR中的哪一位。
3)自動中斷結(jié)束方式(AEOI)
>若采用AEOI方式,則在第二個中斷響應(yīng)信號的后沿,
8259A將自動把市斷服務(wù)寄存器ISR中的對應(yīng)位清除。
這樣,盡管系統(tǒng)正在為某個設(shè)備進行中斷服務(wù),但
對8259A來說,中斷服務(wù)寄存器中卻沒有保留正在
服務(wù)的中斷的狀態(tài)。所以,對8259A來說,好像中
斷服務(wù)已經(jīng)結(jié)束了一樣。
>只能用于沒有中斷嵌套的情況。
A在級聯(lián)方式下,一般用非自動中斷結(jié)束方式,無論
是普通中斷結(jié)束方式,還是特殊中斷結(jié)束方式,在
一個中斷服務(wù)程序結(jié)束時,都必須發(fā)兩次中斷結(jié)束
命令,一次是發(fā)給主后的,另一次則是發(fā)給從片的。
,5,8259A的級聯(lián)圖6.20
A當(dāng)中斷源超過8個時―可采用8259A的級聯(lián)工作方式。指定一片8259A為主
控芯片(主片),它的SP端接+5V,INT接到CPU上。而其余的8259A芯片均
作為從片,它的SP端接地,INT輸出分別接到主片的IR輸入端。由于8259A
宥8個IR輸入端,故一個主片8259A最少可以連接1片從片8259A,最多可以
連接8片從片8259A,所以8259A級聯(lián)最少允許15個IR中斷請求輸入,最多
允許有64個IR中斷請求輸入。
》不管是主片還是從片,每一片8259A都有各自獨立的初始化程序,以便設(shè)
置各自的工作狀態(tài)。在中斷結(jié)束時要連發(fā)兩次EOI命令,分別使主片和相應(yīng)
的從片完成中斷結(jié)束操作。
》在中斷響應(yīng)中,若中斷請求來自于從片,則中斷響應(yīng)時主片8259A會通過
CASO?CAS2來通知相應(yīng)的從片8259A,而從片8259A把IR對應(yīng)的中斷類型
碼送至數(shù)據(jù)總線。
A在級聯(lián)方式下,可采用前面提到的特殊全嵌套方式,以允許從片上優(yōu)先級
更高的IR產(chǎn)生中斷。在將主片初始化為蔣殊全嵌套方式后,從片的中斷響
應(yīng)結(jié)束時,要用軟件耒檢查中斷狀態(tài)寄存器ISR的內(nèi)容,查詢本從片上還有
無其他中斷請求耒被處理。如果沒宥,則連發(fā)兩個EOI,使從片及主片結(jié)束
中斷。若還宥其他未被處理的中斷,則應(yīng)只向從片發(fā)一個EOI命令,而不向
主片發(fā)EOI命令。
圖6.208259A構(gòu)成的級聯(lián)
圖6.205239A構(gòu)成的二聯(lián)
y6438259A的編程及應(yīng)用
a8259A是可編程中斷控制器,在它工作之前,
必須通過軟件向其寫入控制命令的方法來確
定其工作狀態(tài),這就是8259A的編程。
>控制命令分為:
■初始化命令字(ICW)
■操作命令字(OCW)
:……1?;8259A的編程
;.............................................J.....................................................................................................................1...?
28259A的應(yīng)府
L8259A的編程
★[初始化編程
LIE...........4...............Ir
Q|操作方式編程
1)初始化編程
寫ICWI
>icwx
寫lew?
>ICW2
>ICW3
>ICW4寫ICW3
圖6.218259A的初始
化的順序
⑴ICW]
寫ICW1意味著重新初始化8259A。
AQD7D$D4D3D?D|D<)
0XXXILTTMADISNCLIC4
要寫icw』
4;要寫ICW.1
單片
多片級聯(lián)
間隔為4
間隔為8
ri高電平觸發(fā)
Lo上升沿觸發(fā)
圖6.22初始化命令字IC'%的格式
卜(2)ICW2
lew2為中斷類型碼寄存器,用于存放中斷類型碼(中
斷向量碼)。
CPU響應(yīng)中斷時,8259A將該寄存器內(nèi)容放到數(shù)據(jù)
總線上供CPU讀取。
在8086/8088系統(tǒng)中,8259A在第二個中斷響應(yīng)周期,
將向CPU輸送中斷向量碼,其中的T7?T3是由【CW2
規(guī)定的,而低3位則是由8259A自動插入的。
A,D74D$-6D?5Do
nn1:111彳1「1:1晨1x1
溫馨提示
- 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)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 學(xué)校班班通管理制度
- 學(xué)生休閑室管理制度
- 學(xué)生科學(xué)生管理制度
- 宅急送薪酬管理制度
- 安全色標(biāo)志管理制度
- 安生產(chǎn)責(zé)任管理制度
- 安裝及維修管理制度
- 定制化服務(wù)管理制度
- 實訓(xùn)室考核管理制度
- 客服直播間管理制度
- 隱患排查五定制度
- BRCGS全球標(biāo)準(zhǔn)食品安全第9版標(biāo)準(zhǔn)要求
- 北京市初中《體育與健康知識》學(xué)業(yè)水平考試復(fù)習(xí)題庫及答案
- 教師口語知到智慧樹章節(jié)測試課后答案2024年秋成都師范學(xué)院
- 2024年福州第十一中學(xué)招聘筆試真題
- 小學(xué)生反分裂課件
- 2025年政府采購代理機構(gòu)考試題及答案
- 《特種設(shè)備安全管理員》考試通關(guān)題庫(600題 含參考答案)
- 公安警情處置流程
- 油罐換底工程施工及方案
- 大型展會展臺搭建管理細則(3篇)
評論
0/150
提交評論