Beruflich Dokumente
Kultur Dokumente
Vi x l
Khi 9y ra hai hay nhiu ngt 8ng th=i hoQc 9y ra mt ngt trong khi mt ngt ang ph' ('L ta c- hai s 8 9: l; ngtZ s 8 chuGi (.ng ( s 8 hai m2c u ti%n+ 2.1 Cho php v khng cho php ngt: <_i mt nguy%n nhWn ngt &c cho ph5p hoQc kh7ng cho ph5p ri%ng rO th7ng /ua thanh ghi ch2c n`ng Qc "it #nh #a cha "itL thanh ghi cho ph5p ngt CT (interrupt ena"le) c- #a cha "yte l YbXc+ <_i mt "it ca thanh ghi ny cho ph5p hoQc kh7ng cho ph5p tNng nguy%n nhWn ngt ri%ng r^L thanh ghi CT 8ng th=i cmt "it ton c'c (glo"al) cho ph5p hoQc kh7ng cho ph5p tHt c c*c ngt+ B !" #.1 Thanh ghi cho php ngt IE B$% CT+d CT+\ CT+V CT+i CT+j CT+[ CT+k CT+Y &' ($)* Tb g TU[ TD TUk Tmk TUY TmY +, -(. /$% bec bTc bhc b,c blc bbc bnc bXc M0 % 1 0: 2(0!" -(3 4(546 1: -(3 4(54 7 ,ho ph5pfkh7ng cho ph5p ngt ton c'c Kh7ng s: 3'ng ,ho ph5p ngt 3o " #nh th=i [ ,ho ph5p ngt 3o port n6i ti1p ,ho ph5p ngt 3o " #nh th=i k ,ho ph5p ngt tN "%n ngoi ( ngt ngoi k ) ,ho ph5p ngt 3o " #nh th=i Y ,ho ph5p ngt tN "%n ngoi ( ngt ngoi Y )
T9Z Ngt 3o " #nh th=i k &c cho ph5p "Fng c*ch 3ong hai lnhZ DTUl TUk DTUl Tb qrs p ,ho ph5p ngt 3o " #nh th=i mt p set "it Tb "Fng k 4 cho ph5p ngt ton c'c
2.2 u tin ngt: <_i mt nguy%n nhWn ngt &c lIp tr!nh ri%ng r^ 4 c- mt trong hai m2c u ti%n th7ng /ua ch2c n`ng thanh ghi Qc "it &c #nh #a cha "itL thanh ghi u ti%n ngt C> (interrupt priority)L thanh ghi ny c- #a cha "yte l YlXc+ B !" #.2 Thanh ghi u tin ngt IP
43
Ti liu tham kho TH. Vi x l B$% C>+d C>+\ C>+V C>+i C>+j C>+[ C>+k C>+Y &' ($)* g g >U[ >D >Uk >mk >UY >mY +, -(. /$% g g Ylhc Yl,c Yllc Ylbc Ylnc YlXc
GVHD: Trn Hoi Tm M0 % 11: 89- -,36 0: 89- %(:47 Kh7ng s: 3'ng Kh7ng s: 3'ng wu ti%n ngt 3o " #nh th=i [ wu ti%n ngt 3o port n6i ti1p wu ti%n ngt 3o " #nh th=i k wu ti%n ngt ngoi k wu ti%n ngt 3o " #nh th=i Y wu ti%n ngt ngoi Y
Khi h th6ng &c thi1t lIp l$i tr$ng th*i "an ]uL thanh ghi C> sO mQc #nh tHt c c*c ngt ) m2c u ti%n thHp+ ,h ng tr!nh chMnh 3o &c thc thi m2c nn ( kh7ng &c k1t h&p (Ji mt ngt no n%n lu7n lu7n "# t$m 3Nng ")i c*c ngt+ N1u c- hai ngt 9y ra 8ng th=i th! ngt no c- m2c u ti%n cao h n sO &c ph'c (' trJc+ 2.3 Chui v ng: N1u c- hai ngt c- cong m2c u ti%n 9uHt hin 8ng th=iL chu_i (.ng c6 #nh sO 9*c #nh ngt no &c ph'c (' trJc+ ,hu_i (.ng ny sO lZ ngt ngoi YL ngt 3o " #nh th=i YL ngt ngoi kL ngt 3o " #nh th=i kL ngt 3o port n6i ti1pL ngt 3o " #nh th=i [+ ;. <= >? NGT : Khi c- mt ngt 9uHt hin ( &c ,>? chHp nhInL ch ng tr!nh chMnh "# ngt+ ,*c thao t*c sau Wy 9y raZ con tHt (ic thc thi lnh hin hnh l 1m ch ng tr!nh >, &c cHt (o stack Ur$ng th*i ca ngt hin hnh &c lu gix l$i ,*c ngt &c chIn l$i ) m2c ngt l 1m ch ng tr!nh >, &c n$p #a cha (ector ca tr!nh ph'c (' ngt CDE
44
CDE &c thc thi 4 *p 2ng c7ng (ic ca ngt+ uic thc thi CDE k1t thPc khi gQp lnh ETUC+ ynh ny lHy l$i gi* tr# cz ca " 1m ch ng tr!nh >, tN stack ( ph'c h8i tr$ng th*i ca ngt cz+ Cc vector ngt: Khi mt ngt &c chHp nhInL gi* tr# &c n$p cho " 1m ch ng tr!nh >, &c g0i l (ector ngt+ uector ngt l #a cha "t ]u ca tr!nh ph'c (' ngt ca nguy%n nhWn ngt t ng 2ng+ B !" #.; !"ng vcto# ngt N"@% Eeset h th6ng Ngt ngoi Y Ngt 3o " #nh th=i Y Ngt ngoi k Ngt 3o " #nh th=i k Ngt 3o port n6i ti1p Ngt 3o " #nh th=i [ +, -(. AB-%3C YYYYc YYYjc YYYlc YYkjc YYklc YY[jc YY[lc
D. THIET &E CHNG TFGNH H= IJNG CKC NGT: Khu7n m{u ngh# cho mt ch ng tr!nh &c thc thi c lIp c- s: 3'ng ngt nh sauZ tE| YYYYc y}<> <bCN g g tE| YYjYc <bCNZ g g
45
Ti liu tham kho TH. Vi x l TNh $.1 C%c t#&nh ph'c v' ngt k(ch th)c nh*:
,*c tr!nh ph'c (' ngt phi &c "t ]u ) g]n *y ca " nhJ ch ng tr!nh t$i c*c #a cha /ui #nh+ <Qc 3o cha c- X "yte gixa c*c i4m nhIp ca c*c tr!nh ph'c (' ngtL 3ung l&ng ny th=ng 4 thc hin c*c c7ng (ic &c y%u c]u ( /uay tr) ( ch ng th!nh chMnh tN mt tr!nh ph'c (' ngt+ Aiu ny c- ngh@a l tr!nh ph'c (' ngt cho c*c ngt t ng 2ng th=ng kh7ng 3i /u* X "yte+ N1u c- nhiu ngt &c 3ong ta phi c~n thIn 4 m "o c*c CDE &c "t ]u Png (# trM m kh7ng trn sang CDE k1+ T9Z tE| YYYYc y}<> <bCN tE| YYYlc UYCDE Z <tu >[L vYYYYkkkkl ETUC <bCN Z g g TNh p k1t thPc ch ng tr!nh p tr) ( ch ng tr!nh chMnh p ch ng tr!nh chMnh p i4m nhIp ngt " #nh th=i Y p "t ]u CDE cho " #nh th=i Y p i4m nhIp reset
$.2 C%c t#&nh ph'c v' ngt k(ch th)c +)n: N1u mt tr!nh ph'c (' ngt 3i h n X "yte &c c]n 1nL ta phi 3i chuy4n ph ng tr!nh ny 1n mt n i kh*c trong " nhJ ch ng tr!nh hoQc ta c- th4 cho lHn /ua i4m nhIp ca CDE k1+ Ai4n h!nh l CDE "t ]u (Ji mt lnh nhy 1n mt (ong kh*c ca " nhJ ch ng tr!nhL ) - CDE &c tri rng n1u c]n+ T9Z tE| YYYYc y}<> <bCN tE| YYYlc p i4m nhIp ngt 3o timer Y
4
Ti liu tham kho TH. Vi x l y}<> UYCDE g g tE| YYjYc <bCNZ g g g UYCDEZ g g g ETUC TNh
T9Z ui1t ch ng tr!nh t$o s-ng (u7ng c- t]n s6 kYKc tr%n chWn pk+Y s: 3'ng " #nh th=i Y ( ngt 3o " #nh th=i Y+ tE| YYYYc y}<> <bCN tE| YYYlc UYCDEZ ,>y >k+Y ETUC <bCNZ <tu U<thL vYYYYYYkYl "it) <tu UcYL vgVY <tu CTL vkYYYYYkYl DTUl UEY D}<>
4!
p i4m nhIp ngt timer Y p CDE timer Y p o "it >k+Y p tr) ( ch ng tr!nh chMnh
p timer Y ho$t ng ) ch1 [ (X p gi* tr# n$p l$i t ng 2ng (Ji VYus p cho ph5p ngt 3o " #nh th=i Y p "It timer Y p nhy t$i ch_
T9Z ui1t ch ng tr!nh s: 3'ng c*c ngt 4 t$o ra 8ng th=i c*c 3$ng s-ng (u7ng c- t]n s6 l kYKc tr%n chWn >k+Y ( VYYc tr%n chWn >k+k tE| YYYYc y}<> <bCN tE| YYYlc y}<> N|bUUY tE| YYklc y}<> N|bUUk tE| YYjYc <bCNZ <tu U<thL vYYYkYYkYl <tu UcYL vgVY <tu UckL vcC|c(gkYYY) <tu UykL vyt(gkYYY) <tu CTL vkYYYkYkYl DTUl UEY DTUl UEk D}<> N|bUUYZ ,>y >k+Y ETUC N|bUUkZ ,yE UEk <tu UckL vcC|c(gkYYY) <tu UykL vyt(gkYYY) DTUl UEk ,>y >k+k ETUC
4"
Ngt ngoi 9y ra khi c- m2c thHp hoQc c- c$nh Wm tr%n chWn fCNUY hoQc fCNUk+ uic ch0n c*c ngt thuc t*c ng c$nh hay c*c ngt lo$i t*c ng m2c &c lIp tr!nh th7ng /ua c*c "it CUY ( CUk ca thanh ghi U,tN+ u! c*c chWn ngt ngoi &c lHy m{u mt l]n ) m_i chu k m*y c*c ng (o ny phi &c 3uy tr! t6i thi4u k[ chu k 3ao ng 4 m "o rFng (ic lHy m{u l Png+ N1u ngt ngoi thuc t*c ng c$nh nguy%n nhWn ngt ngoi phi &c 3uy tr! t$i chWn y%u c]u ) m2c cao t6i thi4u mt chu k ( sau - ) m2c thHp t6i thi4u mt chu k nxa 4 m "o rFng (ic chuy4n tr$ng th*i &c ph*t hin+ CTY ( CTk t ng &c 9-a khi ,>? trB tJi tr!nh ph'c (' ngt t ng 2ng+ N1u ngt ngoi thuc lo$i t*c ng m2cL nguy%n nhWn ngt ngoi phi &c 3uy tr! tr$ng th*i tMch cc cho 1n khi ngt theo y%u c]u thc s t$o ra+ Dau nguy%n nhWn ngt phi ) tr$ng th*i th' ng trJc khi tr!nh ph'c (' ngt &c thc thi 9ong hoQc trJc khi c- mt ngt kh*c &c t$o ra+ Uh7ng th=ngL mt c7ng (ic &c thc thi "%n trong tr!nh ph'c (' ngt lm cho nguy%n nhWn ngt tr tMn hiu y%u c]u ngt tr) ( tr$ng th*i kh7ng tMch cc+
4#