版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
講稿7三、中斷源
引起中斷的原因或發(fā)出中斷申請的來源稱中斷源。
中斷源通常有以下幾種:
a、一般的I/O設(shè)備。
b、由外部事件引起。
c、故障請求中斷。
d、軟件設(shè)置的中斷。
§2中斷的處理過程
一、中斷處理過程中應(yīng)解決的幾個(gè)問題
a、CPU何時(shí)檢測中斷請求信號(hào)以及響應(yīng)中斷的條件。
c、CPU響應(yīng)中斷時(shí),如何保存斷點(diǎn)地址。
d、CPU如何識(shí)別中斷源以及如何轉(zhuǎn)去執(zhí)行相應(yīng)的中
斷服務(wù)程序。
e、如何處理優(yōu)先級(jí)較高的中斷源去中斷正在執(zhí)行的
優(yōu)先級(jí)較低的中斷服務(wù)程序。二、中斷請求
由于每個(gè)中斷源向CPU發(fā)出中斷請求信號(hào)是隨機(jī)的,
而大多數(shù)CPU是在現(xiàn)行指令周期結(jié)束時(shí),才去檢測
有無中斷請求。因此,必須把隨機(jī)的中斷請求信號(hào)
暫存起來,在CPU響應(yīng)中斷后再清除此中斷請求,為
此,要求設(shè)置一個(gè)中斷請求觸發(fā)器。
在多個(gè)中斷源請求中斷的情況下,可設(shè)置中斷屏蔽
觸發(fā)器。它可用來控制外設(shè)的中斷請求能否被送到
CPU,這樣可以增加控制的靈活性。
三、中斷優(yōu)先權(quán)判別
在實(shí)際系統(tǒng)中,常常會(huì)遇到多個(gè)中斷源同時(shí)請求中
斷的情況,這時(shí)CPU必須確定首先為哪一個(gè)中斷源
服務(wù),以及服務(wù)的次序。解決的方法是用中斷優(yōu)先
排隊(duì)的處理方法,即給每一個(gè)中斷源規(guī)定一個(gè)中斷
級(jí)別一優(yōu)先權(quán)。實(shí)現(xiàn)中斷優(yōu)先權(quán)的判別一般有硬件
判別和軟件判別兩種方法。
1、軟件判優(yōu)
當(dāng)CPU響應(yīng)中斷后,把中斷請求觸發(fā)器的狀態(tài)讀入
CPU中,然后逐位檢測,若發(fā)現(xiàn)有中斷請求則轉(zhuǎn)至
相應(yīng)的中斷服務(wù)程序入口,顯然各中斷源的優(yōu)先權(quán)
取決于查詢程序的順序,先測試的優(yōu)先權(quán)為高。
查詢程序如下:
INAL,20H
TESTAL,80H
JNZPWF
TESTAL,40H
JNZDISS
2、硬件判優(yōu)
采用菊花鏈法是硬件判優(yōu)的最簡單的方法,其邏輯
電路如圖示:
菊花鏈邏輯:
由電路可知,來自CPU的中斷響應(yīng)信號(hào)INTA從1號(hào)段備
的菊花鏈邏輯電路開始串行地往下傳送,若1號(hào)設(shè)備
有中斷請求,則中斷響應(yīng)信號(hào)將在門3處被封鎖。可
見,在鏈?zhǔn)脚抨?duì)電路中,排在鏈的前面的設(shè)備其優(yōu)先
權(quán)高。四、中斷響應(yīng)及中斷服務(wù)
1響應(yīng)中斷的條件:
當(dāng)CPU得到經(jīng)中斷判別輸出的中斷請求信號(hào)后,并不
立即響應(yīng)中斷而要等待適當(dāng)?shù)臈l件被滿足。這些條
件有:CPU對中斷是開放的(即中斷允許觸發(fā)IF=1),
一條指令已執(zhí)行完畢,滿足上述條件后,CPU將響應(yīng)
中斷,并進(jìn)入中斷響應(yīng)周期,
2中斷響應(yīng)的順序:
a、發(fā)中斷響應(yīng)信號(hào),INTA。
b、關(guān)中斷,使IF=0
c、保護(hù)斷點(diǎn),封鎖PC+1,把PC值壓棧,以便中斷處
理后返回。
d、給出中斷服務(wù)程序的入口地址,使控制轉(zhuǎn)移到相
應(yīng)的中斷服務(wù)程序。
3中斷服務(wù)程序:
中斷服務(wù)程序的格式如下所示。它包括保護(hù)現(xiàn)場, 中斷服務(wù),恢復(fù)現(xiàn)場,開中斷和返回幾部分。
保護(hù)現(xiàn)場(寄存器及標(biāo)志)
↓
中斷服務(wù)
↓
恢復(fù)現(xiàn)場
↓
開中斷(低級(jí)中斷時(shí),開中斷
應(yīng)放在保護(hù)現(xiàn)場之后)
↓
返回五、中斷嵌套
當(dāng)CPU執(zhí)行優(yōu)先權(quán)級(jí)別較低的中斷服務(wù)程序時(shí),
允許響應(yīng)比它優(yōu)先級(jí)別高的中斷請求,而掛起
正在處理的中斷,這就是所謂中斷嵌套或稱為
多重中斷。要實(shí)現(xiàn)中斷的嵌套,除應(yīng)加入屏蔽
本級(jí)和較低級(jí)中斷請求的環(huán)節(jié)以外,應(yīng)在中斷
服務(wù)程序中,在保護(hù)現(xiàn)場后立即開中斷,以便
響應(yīng)優(yōu)先權(quán)高的中斷源的請求。
§38086的中斷系統(tǒng)
一、8086的中斷分類
8086有一個(gè)強(qiáng)有力的中斷系統(tǒng),可處理256種不同的
中斷,每一個(gè)中斷對應(yīng)一個(gè)類型碼。故256種中斷
對應(yīng)的中斷類型碼為0-225。
從產(chǎn)生中斷的方法來分,可分為外部中斷與內(nèi)部中
斷兩類。
1、外部中斷
8086CPU的兩條引腳INTR和NMI供外部設(shè)備申請中斷
使用。
a、非屏蔽中斷:不受中斷允許標(biāo)志IF的屏蔽。NMI
的中斷類型碼為2。
b、可屏蔽中斷:只有當(dāng)IF=1時(shí),才被允許。可屏蔽
中斷的優(yōu)先權(quán),通常通過對中斷控制
器8259編程來實(shí)現(xiàn)。
2、內(nèi)部中斷
由CPU自己啟動(dòng)的中斷處理過程稱為內(nèi)部中斷。
a、軟件陷井
軟件陷井是指在某些指令執(zhí)行期間,CPU中發(fā)生了某
種情況時(shí),由CPU的內(nèi)部邏輯去啟動(dòng)所需的中服程
序。8086有兩種陷井中斷。
類型0中斷:除法錯(cuò)誤中斷.
類型1中斷:單步中斷(標(biāo)志TF=1時(shí))
b、軟件中斷,通過中斷指令來實(shí)現(xiàn)的中斷。
INTn指令:指定類型中斷,類型為n,n≤255
INT3指令:斷點(diǎn)中斷指令
INT0指令:溢出中斷指令,類型碼為4
IRET指令:中斷返回指令
二、8086的中斷優(yōu)先權(quán)排序
8086系統(tǒng)中優(yōu)先權(quán)順序規(guī)定如下:
除法錯(cuò)誤→NMI→INTR→單步
INTnINTO
高低
三、中斷向量和中斷向量表
1、中斷類型碼與中斷入口地址
8086可處理256種中斷,每個(gè)中斷對應(yīng)一個(gè)類型碼.
A、中斷類型碼:
軟件中斷通過中斷指令I(lǐng)NTn來實(shí)現(xiàn),其中斷類 型碼由n提供。
外部中斷的中斷類型碼由外設(shè)接口電路提供。
B、中斷入口地址:
8086根據(jù)中斷類型碼,將它乘以4,在RAM的0 段讀得中斷入口地址,CPU將它送至CS,IP,實(shí) 現(xiàn)轉(zhuǎn)移。2、中斷向量:中斷處理子程序的入口地址。
一個(gè)中斷向量將占4個(gè)存貯單元, 即入口地址的IP與CS。
3、中斷向量表:按中斷類型的序號(hào),對應(yīng)的中斷向
量在內(nèi)存00000H單元開始有規(guī)則地
進(jìn)行排列。
由于8086有256個(gè)中斷,故中斷向 量表為0段的0000H-03FFH。
4、中斷類型碼與中斷向量表的對應(yīng)關(guān)系:
類型0:(除數(shù)為0)0000H:0000H~0003H
1:(單步)0000H:0004H~0007H
2:(NMI)0000H:0008H~000BH
3:(斷點(diǎn))0000H:000CH~000FH
4:(溢出)0000H:0010H~0013H
5~31:(保留)0000H:0014H~007FH
32~:(用戶)0000H:0080H~
5、舉例:
A、INT21H指令的中斷向量存于RAM的哪4個(gè)單元中。
B、設(shè)中斷類型碼為A0H,中斷入口地址為1000:223AH, 試問該中斷入口地址應(yīng)寫入RAM哪些單元中。
C、設(shè)中斷類型碼為60H,中斷入口地址為1000:0A40H,
試編一設(shè)置該中斷入口地址的程序。
四、中斷處理順序
A、中斷響應(yīng)過程
8086對中斷響應(yīng)過程流程圖如圖示:
結(jié)束當(dāng)前指令標(biāo)志壓棧,令TEMP=TF清TF,IF內(nèi)部中斷?y斷點(diǎn)壓棧(CS與IP)n有NMI否?y進(jìn)入中斷處理程序n有INTR否?YIF=1?有NMI否?ynnyn取中斷類型碼TEMP=1?ynTF=1?y執(zhí)行中斷處理程序n執(zhí)行下一條指令彈出CS,IP.彈出標(biāo)志(返回?cái)帱c(diǎn))
B、中斷響應(yīng)總線周期
8086中斷響應(yīng)總線周期如圖所示:注:
a、8086中斷響應(yīng)要用兩個(gè)總線周期
一個(gè)用來發(fā)INTA,通知外設(shè)CPU已響應(yīng)中斷,請準(zhǔn)
備好類型碼。
一個(gè)用來接收類型碼。
b、外設(shè)中斷類型碼必須從DB總線的低8位送CPU。
c、INTR應(yīng)是一個(gè)電平信號(hào),且必須維持2個(gè)時(shí)鐘
周期的高電平。
附:軟件中斷的特點(diǎn)
a、用一條指令便可進(jìn)入中斷處理程序,且類型碼由
指令提供。
b、進(jìn)入中斷,不需要執(zhí)行中斷響應(yīng)總線周期。
c、不受IF標(biāo)志的影響。
d、當(dāng)正在執(zhí)行軟件中斷時(shí),可實(shí)現(xiàn)中斷嵌套。
e、它沒有隨機(jī)性。§4中斷控制器8259A
8259A是專為控制優(yōu)先級(jí)中斷而設(shè)計(jì)的芯片。它將中
斷源按優(yōu)先級(jí)排隊(duì),辯認(rèn)中斷源,提供中斷向量的
電路集成于一體,因而中斷系統(tǒng)無需附加任何電路,
只需對8259A進(jìn)行編程就可管理8級(jí)中斷,而且通過
級(jí)聯(lián)連接,最多可管理64級(jí)中斷請求。
一、8259A的結(jié)構(gòu)及引腳信號(hào)說明
8259A的結(jié)構(gòu)框圖如圖所示:1、各部件的功能
a、數(shù)據(jù)總線緩沖器:實(shí)現(xiàn)8259A與CPU進(jìn)行命令,數(shù)
據(jù)的傳送。
b、讀/寫控制邏輯:接收CPU的讀/寫命令,完成規(guī)
定操作。
c、級(jí)聯(lián)緩沖器/比絞器:在級(jí)聯(lián)方式的主從結(jié)構(gòu)中,
用來存放和比較系統(tǒng)中各
8259A的從設(shè)備標(biāo)志。
d、中斷屏蔽寄存器(IMR):用來控制各中斷請求是
允許還是禁止。
e、中斷請求寄存器(IRR):用來暫存中斷請求信號(hào)。
f、中斷服務(wù)寄存器(ISR):用來存放當(dāng)前正在進(jìn)行
服務(wù)的所有中斷級(jí)。
g、優(yōu)先權(quán)分析電路:對IRR中的中斷請求,進(jìn)行邏輯
判斷,確定此請求是否向CPU發(fā)
INT信號(hào)。
h、控制邏輯:它由初始化命令寄存器和操作命令寄
存器組成,它們按編程設(shè)置的工作方式
管理8259A的全部工作。
2、中斷響應(yīng)過程
a、中斷請求線(IR0~I(xiàn)R7)變?yōu)楦唠娖綍r(shí),設(shè)置相
應(yīng)的IRR位。
b、在判斷優(yōu)先權(quán)和IMR狀態(tài)后,如條件合適,則向
CPU發(fā)INT。
c、CPU響應(yīng)中斷時(shí),發(fā)INTA脈沖。
d、第一個(gè)INTA到達(dá)時(shí):
①使IRR鎖存功能失效即不接收中斷請求信號(hào)。
②使當(dāng)前ISR中的相應(yīng)位置“1”。
③使IRR中相應(yīng)位清“0”。
e、第二個(gè)INTA到達(dá)時(shí)
①使IRR鎖存功能有效。
②將中斷類型寄存器的內(nèi)容ICW2送至數(shù)據(jù)總線。
③當(dāng)方式字中的中斷自動(dòng)結(jié)束位為1,則在INTA2
結(jié)束時(shí),將ISR的相應(yīng)位清"0"。
3、引腳信號(hào)說明
D0~7:數(shù)據(jù)總線,雙向。
RD/WR:讀/寫
A0:命令選擇地址。(用來對寄存器進(jìn)行選
擇),通常和地址總線A1相連。以保證
DB低8位和8259A交換數(shù)據(jù)。
CS:選片
INTR:中斷請求(出)
INTA:中斷響應(yīng)入
IR0~7:中斷請求入,IR0優(yōu)先級(jí)最高。
CAS0~2:級(jí)連線,用來構(gòu)成8259A主一從式級(jí)聯(lián)控制
結(jié)構(gòu)。主片作輸出,從片作輸入,主片通過
此線發(fā)出從片中斷請求識(shí)別碼,從片識(shí)別碼
和它相符時(shí),則該片中斷被允許。
SP/EN:從片編程/允許緩沖器,雙向。
A.采用緩沖方式,為輸出,在數(shù)據(jù)8259A→CPU
時(shí)啟動(dòng)數(shù)據(jù)總線驅(qū)動(dòng)器。
B.采用非緩沖方式為輸入,
SP/EN=1為主片,SP/EN=0為從片
注:緩沖方式:8259A通過總線驅(qū)動(dòng)器與數(shù)據(jù)總線 相連。
非緩沖方式:8259A直接與數(shù)據(jù)總線相連。
二、8259A的編程
在8259啟動(dòng)之前必須送入2-4字節(jié)的ICW命令。且必
須嚴(yán)格按規(guī)定順序進(jìn)行。初始化完成下列操作:
①、復(fù)位內(nèi)部邊沿檢測電路,使IRi高電平有效。
②、量“0”IMR。
③、規(guī)定IR7優(yōu)先權(quán)最低。
④、使特殊屏蔽方式觸發(fā)器及狀態(tài)觸發(fā)器復(fù)位。 8259A的操作方式則由操作控制字來設(shè)置,此字可在 初始化之后任何時(shí)刻寫入。
1、8259A的初始化命令字
A、ICW1:芯片控制字
A0D7654321D0
LTIM:D3=0邊沿觸發(fā)D3=1為電平觸發(fā)
SNGL:D1=1一片8259D1=0多片8259 IC4:D0=1后面將設(shè)置ICW4。0///1LTIM/SNGLICW4
B、ICW2:中斷類型碼字
A0D7654321D0
用戶定義中斷類型碼由IR0~7確定
C、ICW3:主/從片字(當(dāng)SNGL=0才設(shè)置1CW3)
A0D7654321D0
主片:
IRi=1,此引腳連有從片IRi=0,未連從片。
A0D7654321D0
從片:
從片INT連在主從IRi時(shí),則ID2~0代碼=i。1///IR7IR6IR5IR4IR3IR2IR1IR0
100000ID2ID1ID0
1
ID2~0為一標(biāo)識(shí)碼,主片通過它與從片聯(lián)絡(luò),即
從片的CAS2~0接收主片發(fā)來編碼,并與ID2~0
代碼比較。如相等,則在INTA2到來時(shí),將自己的
中斷類型碼送到數(shù)據(jù)總線上。
D、ICW4:方式控制
A0D7654321D0
SFNMD4=1特殊全嵌套方式
BUFD3=1緩沖方式D3=0,非緩沖方式
(直接與數(shù)據(jù)總線相連)
M/SBUF=1時(shí),M/S=1,主片/M/S=0:從片
BUF=0時(shí),M/S不起作用
AEOID1=1,中斷自動(dòng)結(jié)束方式
UPMD0=1,8259A當(dāng)前所在系統(tǒng)為8086/8088
系統(tǒng)。000SFMNBUFM/SAEOIUPM
12、初始化編程順序
ICW1(A0=0,D4=1)[設(shè)置了SNGL與IC4]
↓
ICW2(A0=1)
↓n
SNGL0?───┐
(級(jí)聯(lián)方式)│
y↓│
ICW3(A0=1)│
↓←───┘n
IC4=1?────┐
↓Y│
ICW4(A0=1)│
↓←───┘
3、8259A操作命令字
A、無OCW的操作方式:即沒有OCW字寫入。
8259以全嵌套的操作方式工作,一般的中斷結(jié) 束方式,IR0級(jí)別最高。
B、OCW1:中斷屏蔽
A0D7654321D0
┌─┐┌─┬─┬─┬─┬─┬─┬─┬─┐
│1││M7│M6│M5│M4│M3│M2│M1│M0│
└─┘└─┴─┴─┴─┴─┴─┴─┴─┘
Mi=0對應(yīng)位中斷允許。
Mi=1對應(yīng)位中斷被屏蔽。
C、0CW2(設(shè)置優(yōu)先循環(huán)/中斷結(jié)束方式)
A0D7654321D0
┌─┐┌─┬─┬──┬─┬─┬─┬─┬─┐
│0││R│SL│EOI│0│0│L2│L1│L0│
└─┘└─┴─┴──┴─┴─┴─┴─┴─┘
R:D7=1,采用優(yōu)先級(jí)循環(huán)方式,D7=0,非循環(huán)
方式。
EOI:中斷結(jié)束命令位,D5=1時(shí),將使ISn=0。
SL:D6=1,則L2~0有效,D6=0,L2~0無效。
L2~0:SL=1,EOI=1時(shí),L2~0指出要清除ISn哪一
位。SL=1,R=1時(shí),L2~7指出循環(huán)工始時(shí),
哪個(gè)優(yōu)先級(jí)最低。
D、OCW3
A0D7654321D0┌─┐┌─┬──┬──┬─┬─┬─┬─┬──┐
│0││0│ESMM│SMM│0│1│P│RR│RIS│
└─┘└─┴──┴──┴─┴─┴─┴─┴──┘
ESMM特殊屏蔽模式允許位。
SMM特殊屏蔽模式位。
ESMM=1:SMM=1,工作特殊屏蔽方式;ESMM=0則SMM位
無意義;SMM=0恢復(fù)一般屏蔽方式。
P查詢方式位,P=1,工作于查詢方式,P=0退出
查詢方式。
RR讀IRR/ISR命令位,RR=1允許讀,RR=0禁止讀。
RIS讀IRR/ISR選擇位,RIS=1讀ISRRIS=0讀IRR。
注:屏蔽寄存器IMR的值,隨時(shí)可通過輸入指令從奇 地址口讀取。
三、編程舉例
設(shè):單片/主片地址:0020H,0022H.
從片地址:00A0H,00A2H.
1、ICW編程
a、單片:MOVAL,13HICW1
OUT20H,AL
MOVAL,80HICW2
OUT22H,AL MOVAL,01HICW4
OUT22H,AL
b、主/從片
主片:MOVAL,11HICW1
OUT20H,AL
MOVAL,80HICW2
OUT22H,AL
MOVAL,4ICW3
OUT22H,AL
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年全球及中國同步發(fā)電機(jī)行業(yè)頭部企業(yè)市場占有率及排名調(diào)研報(bào)告
- 2025版事業(yè)單位聘用合同續(xù)簽與培訓(xùn)發(fā)展支持協(xié)議3篇
- 2025年度個(gè)人股權(quán)交易合同模板2篇
- 2025年度個(gè)人戶外用品租賃融資合同范本民間版4篇
- 科技驅(qū)動(dòng)下的校園安全教育新模式
- 二零二五年度出租車企業(yè)車輛油耗監(jiān)控合同3篇
- 二零二五年度車牌租賃企業(yè)信用評估合同協(xié)議4篇
- 二零二五年度車輛維修配件無償借用合作協(xié)議4篇
- 2025年度企事業(yè)單位食堂及便利店整體承包合作協(xié)議3篇
- 跨學(xué)科教育背景下的多元職業(yè)發(fā)展
- 30題紀(jì)檢監(jiān)察位崗位常見面試問題含HR問題考察點(diǎn)及參考回答
- 高考作文復(fù)習(xí)任務(wù)驅(qū)動(dòng)型作文的審題立意課件73張
- 詢價(jià)函模板(非常詳盡)
- 《AI營銷畫布:數(shù)字化營銷的落地與實(shí)戰(zhàn)》
- 麻醉藥品、精神藥品、放射性藥品、醫(yī)療用毒性藥品及藥品類易制毒化學(xué)品等特殊管理藥品的使用與管理規(guī)章制度
- 一個(gè)28歲的漂亮小媳婦在某公司打工-被老板看上之后
- 乘務(wù)培訓(xùn)4有限時(shí)間水上迫降
- 2023年低年級(jí)寫話教學(xué)評語方法(五篇)
- DB22T 1655-2012結(jié)直腸外科術(shù)前腸道準(zhǔn)備技術(shù)要求
- GB/T 16474-2011變形鋁及鋁合金牌號(hào)表示方法
- 氣管切開病人的觀察與護(hù)理【版直接用】課件
評論
0/150
提交評論