Hệ thống điều khiển nhúng - Phần 5 ppsx

6 279 0
Hệ thống điều khiển nhúng - Phần 5 ppsx

Đang tải... (xem toàn văn)

Thông tin tài liệu

http://www.ebook.edu.vn 81 5 KỸ THẬT LẬP TRÌNH NHÚNG 5.1 Tác vụ và quá trình (process)  Tácvụ(task)?Làmộtcôngviệccầnthựcthithamgiatronghệthống  Quátrình(process)làmộtdiễnbiếnthựcthimộttácvụcủahệthống.  Đôikhingườ itavẫndùnglẫnhaikháiniệmnàyvàkhôngphânbiệt. Tácvụchukỳ(period)vàkhôngchukỳ(aperiod)  Cáctácvụphảithựchiệnlặplạimộtcáchđềuđặntheonhững khoảngthờigianpđược gọilàcáctácvụcóchukỳvàpđượcgọilàchukỳcủatácvụ.Cácloạitácvụkhácthì đượcgọilàtácvụkhôngchukỳ. 5.2 Lập lịch (Scheduling) Tạisaophảilậplịch? Đểđảmbảođượccơchếthực thichias ẻtàinguyênhữuhạnvàthoảmãnyêucầuthời gianthực.Lậplịchphảinhằmthoảmãnhayđạttớ iđượcsựthoảhiệpgiữacácràng  buộcvềtàinguyên,sựphụthuộclẫnnhauhaythờigianthựchiện. 5.2.1 Các khái niệm Lậplịchlàmộtphépthựchiệnphânbổvàgánquytrìnhthựcthicáctácvụchobộxửlý saochomỗitácvụđượcthựchiệnhoàntoàn.  Lậplịch=tìmkiếmmột giảnđồphânbốthờigianthựchiệnđanhiệmhợplývớicác điềukiệnràngbuộcchotrước.Haynóicáchkháclàbộlậplịchphảixửlýđểquyếtđịnh vàđiều phốiquátrình/tácvụthựchiện.  Cómộtsốthôngtinvềtácvụluônphảiquantâmđốivớib ấtkỳbộlậplịchthờigian thựcnào,baogồm: • Thờigianxuấthiện i a (arrivaltime):Khisựkiệnxảyravàtácvụtươngứngđược kíchhoạt. • Thờiđiểmbắtđầuthựcthi i r (releasetime):Thờiđiểmsớmnhấtkhiviệcxửlýđã sẵnsàngvàcóthểbắtđầu. • Thờiđiểmbắtđầuthựchiện i s (startingtime):Làthờiđiểmmàtạiđótácvụbắt đầuviệcthựchiệncủamình. • Thờigiantínhtoán/thựcthi i c (Computationtime):Làkhoảngthờigiancầnthiết đểbộxửlýthựchiệnxongnhiệmvụcủamìnhmàkhôngbịngắt. • Thờiđiểmhoànthành i f (finishingtime):Làthờiđiểmmàtạiđótácvụhoànthành việcthựchiệncủamình. • Thờigianrủiro/xấunhất i w (worstcasetime):khoảngthờigianthựchiệnlâunhất cóthểxảyra. 82 • Thờiđiểmkếtthúc i d (duetime):Thờiđiểmmàtácvụphảihoànthành.  Hình5‐1:GiảnđồthựchiệncủamộttácvụT i Trêncơsởđóbộlậplịchsẽphảithựchiệnbàitoántốiưuvề:  Thờigianđápứng(responsetime)  Hiệusuấtthựchiện(sốlượngcôngviệcthựchiện xongtrongmộtđơnvịthời gian)  Sựcôngbằngvàthờigianchờđợi(cáctácvụkhôngphảichờđợiquálâu)  Vídụvềmộtlịchthựchiện2tácvụđượcmôtảnhưtrongHình 5‐2.   Hình5‐2:Giảnđồlậplịchthựchiện2tácvụ Trongtrườnghợpcủavídụnàycácthôngsốvềthờigianthựchiệncủacáctácvụtính đượcnhưsau: ¾ Thờigiantínhtoán 1 9C = và 2 12C = . ¾ Thờigianbắtđầuthựchiện: 1 0s = , 2 6s = . ¾ Thờiđiểmhoànthành: 1 18f = , 2 28f = . ¾ Khoảngthờigianchênhlệchthờiđiểm kếtthúcvàdeadline(Lateness) iii Lfd=−: 1 4L =− , 2 1L = . ¾ Khoảngthờigianrỗi/dưthừagiữathờigianchophépthựchiệnvàthờigiancần đểthựchiệntácvụ(Laxity) iiii X daC=−−: 1 13X = , 2 11X = . 5.2.2 Các phương pháp lập lịch phổ biến  http://www.ebook.edu.vn 83  Hình5‐3:Phânloạicácphươngpháplậplịch Tuỳthuộcvàoloạihìnhtácvụ,ngườitarahaiphươngpháplậplịchlàcóchukỳvà khôngcóchukỳ.  Lập lịch non‐preemptive:Phương phápnàyđảmbảo các tác vụđược th ực hiệnhoàn thànhmỗikhithựcthi,vìvậythờigianđápứngchocácsựkiệnkháccóthểlâu.  Lập lịch preemptive: Phương pháp này khắc phục nhượcđiểm của lập l ịch non‐ preemptivekhithờigianthựcthicáctácvụlâu.Cáctácvụsẽđượcthựchiệnvàcóthểbị ngắtgiữachừngđểphụcvụthựcthicáctácvụkhác.Cơchếlậplịchnày chophépđảm bảothờigianđápứngchocácsựkiệnvàtácvụngắnvànhanhhơn.  Lậplịchoffline/tĩnh:Việclậplịchđượcthựchiệndựatrêncáchiểubiếthoặ cdựbáovề cácsựkiệntácvụthựchiệntronghệthống(thờiđiểmxuấthiện,thờigianthựchiện, deadline…)vàđượcquyếtđịnhtạithờiđiểmthiếtkếvàđược ápdụngcốđịnhtrong suốtquátrìnhhoạtđộngcủahệthống.Việclậplịchtrướccómộtsốcácưuđiểmsau: • Tácvụtiếptheocóthểđượclựachọnthựcthitrongkhoảngthờigianlàhằngsố • Khảnăngđápứngyêucầuthờigianthựccóthểđượcbiếttrướcvàđượcđảm bảo Nhượcđiểm: o Khôngthểthayđổilịchtrìnhthựchiệncủahệthốngtrongquátrìnhthự chiện o Đòihỏiphảicóthôngtinthờigianchínhxácvềcáctácvụđểtínhtoánlậplịch Mộtthuậttoánlậplịchtĩnhđượcgọilàtốiưunếunóluônluôn cóthểtìmđượcmột lịchđiềuphốithoảmãncácràngbuộcđãchotrongkhimộtthuậttoántĩnhkháccũng tìmđượcmộtlờigiải.  Lậplịchonline/động:Bộxửlýth ựchiệnviệclậplịchtrongquátrìnhthựcthidựatrên cơsởcácthôngtinhoạtđộnghiệnhànhcủahệthống.Sơđồlậplịchlàkhôngxácđịnh trướcvàthayđổiđộngtheo quátrìnhthựchiện. Cácthuậttoánlậplịchtĩnhtốiưukhôngphảilàtốiưutronghệthốngđộng. 84 Khôngtồntạimộtlờigiảitốiưuchoviệclậplịchtronghệthốngnhiềubộxửlýnếu thờiđiểmxuấthiệnyêucầuthựcthicủacáctác vụkhôngđượcbiếttrước. Cáchạtnhânđượcđiềukhiểntheocơchếngắtthườngthựcthicơchếlậplịchnon‐ preemtiveđộngtrongkhiloạihạtnhânvậnhànhtheoquátrìnhlại thựcthitheocơchế preemptiveđộng.  Mộtthuật toánlậplịchđộngđượcgọilàtốiưunếunócóthểtìmrađượcmộtlịchđiều phốiđiềukhiểnhệthốngthoảmãncác ràngbuộcthờigianđãchobấtkểkhinàomà thuậttoántĩnhkhôngtìmrađược.  Lậplịchtậptrunghoặcphântán:Việclậplịchđượcthựchiệnápdụngchocác tácvụ thựcthibởimột(tậptrung)hoặcnhiềubộxửlý(phântán).  LậplịchMonohayMulti‐processor:Nhiệmvụlậplịchvàthựcthiđượcđảmnhiệmbởi một(mono) hoặcnhiềubộvixửlý(multi).Tuỳthuộc vàođộphứctạpvềthuậttoáncần xửlýkhilậplịchmàngườitaquyếtđịnhphảisửdụngphươngpháplậplịch monohay multi‐processor.  Tínhkhảlậplịch:Mộthệthốngvớimộttậpcáctácvụvàcácđiềukiệnràngbuộcđược gọilàkhảlậplịchnếutồntạiítnhấ tmộtc ơchếlịchtrìnhthựchiệnthoảmãn cáctácvụ vàđiềukiệnràngbuộcđó.  Vídụvềlậplịchchohệthốngđanhiệmvới2tácvụ.Tácvụ1thực hiệntheochukỳvà tácvụ2thựchiệnkhôngtheochukỳvớithờigianthựcthilớnhơnthờigianchukỳlặp lạicủatácvụ1.   Hình5‐4:Giảnđồthờigianthựchiệnlịchcủatácvụ http://www.ebook.edu.vn 85 5.2.3 Kỹ thuật lập lịch FCFS Trongcơchếlậplịchđếntrướcđượcphụvụtrướcthìcácquátìnhđượcxửlýtheothứ tựmànóxuấthiệnyêucầuvàchođếnkhihoànthành.Cơchếlậplịchnàythuộc loại khôngngắtđượcvàcóưuđiểmlàdễdàngthựcthi.Tuynhiên,nókhôngphùhợpcho cáchệthốngmàhỗtrợnhiềungườisửdụngvìcómộtsựbiếnđổilớnvề thờigian trungbìnhmàmộtquátrìnhhaytácvụphảichờđợiđểđượcxửlý.Hơnnữadoviệc xửlýkhôngngắtđượcnêncóhiệntượngchiếmhữuđộcquyềnbộxửlýtrongth ờigian dàivàcóthểgâyrasựtrễbấtthườngtrongquátrìnhthựchiệncủacáctácvụphảichờ đợikhác.  ShortestJobFirst‐SJF Trongcơchếlậplịchnàytácvụcóthờigianthựcthingắnnhấtsẽcóquyềnưutiêncao nhấtvà sẽđượcphục vụtrước. Vấnđềchính gặp phải trongcơ chế lậplịch nàylà khôngbiếttrướcđượcthờigianth ựcthicủacáctácvụthamgiatrongchươngtrìnhvà thôngthườngphảiápdụngcơchếtiênđoánvàđánhgiádựavàokinhnghiệmvềcác tácvụthựcthitronghệthống.Điềunàychắ cchắnrấtkhóđểluônđảmbảođượcđộ chínhxác.Cơchếlậplịchnàycóthểápdụngchocảloạingắtđượcvàkhôngngắtđược.  Ratemonotonic(RM): PhươngpháplậplichRMcólẽ hiệnnàylàthuậttoánđượcbiếttớinhiềunhấtápdụng chocáctácvụhayquátrìnhđộclập.Phươngphápnàydựatrênmộtsốgiảthiếtsau: (1) Tấtcảcáctácvụtham giahệthốngphảicódeadlinekiểuchukỳ (2) Tấtcảcáctácvụđộclậpvớinhau (3) Thờigianthựchiệncủacáctácvụbiếttrướcvàkhôngđổi (4) Thờigianchuyể nđổingữcảnhthựchiệnlàrấtnhỏvàcóthểbỏqua  ThuậttoánRMđượcthựcthitheonguyênlýgánmứcưutiênchocáctácvụdựatrên chukỳcủachúng.Tácvụnàocó chukỳnhỏthìsẽcóđượcgánmứcưutiêncao.Theo nguyênlýnàyvớicáctácvụchukỳkhôngthayđổithìRMsẽlàphươngpháplậplịch chophépngắtvàmứcưutiêncốđịnh.Tuynhiên RMhỗtrợyêucầuhệthốngkhông tốt.  Earliest‐deadline‐first(EDF) Nhưđúngtêngọicủaphươngpháp,thuậttoánlậplichtheophươngphápnàysửdụng deadlinecủatácvụhaynhưđiều kiệnưutiênđểxửlýđiềuphốihoạtđộng.Tácvụcó deadlinegầnnhấtsẽcómứcưutiêncaonhấtvàcáctácvụcódeadlinexanhấtsẽnhận mứcưutiênthấpnhất.Ư uđiểmnổibậtcủaphươngphápnàylàgiớihạncóthểlậplịch đápứngđược100%chotấtcảcáctậptácvụ.Hơnnữamứcưutiêngánchomỗi tácvụ trongquátrìnhhoạtđộnglàđộngvìvậychukỳcủatácvụcóthểthayđổibấtkỳlúc nàotheothờigian.  86 EDFcóthểđượcápdụngchocáctậptácvụchukỳvàcũngcóthểmởrộngđểđápứng chocáctrườnghợpcácdeadlinethayđổikhácnhautheochukỳ.  Vấnđềchínhcủathuậttoán lậplichEDFlàkhôngthểđảmbảođượctácvụnàotrong hệthốngcóthểkhôngđượcthựcthitrongtìnhhuốngquáđộhệthốngbịquátải.Trong nhiềutrườnghợpmặcdùmứcđộsửd ụngtrungbìnhnhỏhơn100%nhữngvẫncóthể trongmộttìnhhuốngnàođóvẫnvượtquakhảnăngđápứngcủahệthốngtứclàsẽcó tácvụkhôngđượcđảmbảothực thiđúng.Trongnhữngtrườnghợpnhưvậycầnphải điềukhiểnđểbiếttácvụnàobịlỗikhôngthựchiệnthànhcônghoặctácvụnàođược thựchiệnthànhcôngtrongquátrình quáđộ.  MinimumLaxityfirst(MLF) Cơchếlậplịchnàysẽưutiêntácvụnàocònítthờigiancònlạiđểthựchiệnnhấttrước khinóphảikếtthúcđểđảmbảoyêucầuthự cthiđúng.Đâyđượcxemlàcơchếlậplịch gánquyềnưutiênđộngvàdễđạtđượcsựtốiưuvềhiệusuấtthựchiệnvàsựcông bằngtronghệthống.  RoundRobin Đâylàmộtcơchếlậplịchphânbổđềuđặn,ngắtđượcvàđơngiản.Mỗimộttácvụ đượcxửlý/phụcvụtrongmộtkhoảngthờigiannhấtđịnhvàlặplạitheom ộtchu trình xuyênsuốttoànbộcáctácvụthamgiatronghệthống.Khoảngthờigianphụcvụcho mỗitácvụtrongquátrìnhlàmộtsựthoảhiệpgiữathờigianthựchiệnc ủacác tácvụ vàthờigianthựchiệnmộtchutrình.Cóthểchọnkhoảngthờigianđórất nhỏvàđôi lúcchúngtakhôngnhậnđượcrarằngđangcósựphânbổthựchiệntronghệth ống. Tuynhiênnếuthờigianđóquánhỏcóthểlàmmấttínhhiệuquảthựchiệntoànhệ thốngvìcầnnhiềuthờigiantrongviệcchuyểnđổingữcảnhchomỗitácvụ saumỗi chutrìnhthựchiện. http://www.ebook.edu.vn 87 5.3 Truyền thông và đồng bộ 5.3.1 Semaphore  Hình5‐5:Truyềnthôngquátrình Semaphoreslàmộtcấutrúcdữliệuđượcđịnhnghĩađểloạitrừkhảnăngxungđột trongquátrìnhchiasẻtàinguyêncủacáctácvụtronghoạtđộngcủahệthống.  Semaphoreshỗtrợhaihoạtđộngchính nhưsau:  wait(semaphore):giảmvàkhoáchotớikhisemaphoređượcmở  signal(semaphore): tăng và chophép thêmmột luồngmớiđược thamgia hoạt động Tronghoạtđộngphốihợpcùngvớisemaphore cómộthàngđợigồmcáctácvụcầnđược thựcthisẽcómộtsốtìnhhuốnghoạtđộngcơbảnnhưsau: Khimộtluồng(thread)gọiwait(): • Nếusemaphoređượcmởthìluồngđósẽđượcgianhậpvàtiếptụcthựcthi • Nếu semaphoređangbị đóng thì nhánhđósẽ bịkhoá và phảinằm chờ tronghàngđợichotớikhinàosemaphoređượcmở signal()sẽmởsemaphore: • nếumộtluồngđangnằmtronghàngđợivàkhôngbịkhoá • nếukhôngcóluồngnàotronghàngđợivàtínhiệusignalsẽđượcnhớvà dànhcholuồngtiếptheo  CácloạiSemaphore Mutexsemaphore 9 Chophépđiềukhiểnhoạtđộngtruynhậpđơnlẻvàotàinguyênchiasẻcủa hệthống. 88 9 Đảmbảoloạitrừxungđộttronghoạtđộngtruynhậpđồngthờicủanhiềutác vụ,vàchỉcómộttácvụđượcthựcthitạimỗithờiđiểm.  Countingsemaphore 9 Điềukhiểntàinguyênmàcóthểphục vụcùngmộtlúcnhiềutácvụhoặcmột nguồntàinguyênchophépphụcvụmộtsốnhấtđịnhcáctácvụkhôngđồng bộvàhoạtđộngđồng thời. 9 NhiềuluồngcóthểtruyềnSemaphore 9 SốlượngluồngđượcquyếtđịnhbởibiếnđếmNcủaSemaphore  Thựcchấtmutexsemaphorelàmộtdạngđặcbiệtcủacounting semaphorev ớibiếnđếm N=1.  ThựcthiSemaphore    SửdụngSemaphoretrongviệcđồngbộhaiquátrìnhtạovàsửdụnghạngmụcthông quabộđệmtrunggian.    http://www.ebook.edu.vn 89 Nhậnxét: 9 Semaphorescóthểđượcsửdụngđểgiảiquyếtbấtkỳmộtbàitoánhayvấnđề đồngbộtruyềnthốngnào 9 Tuynhiênchúngcómộtsốnhượcđiểm o Chúngchủyếu sửdụngcácbiếntoàncụctrongviệcđiềukhiểnhoạtđộng đồngbộnêncóthểtruynhậpbấtkỳđâutronghệthốngÆkhókiểmsoát o Khôngcósựliênkếtchặtchẽ giữasemaphorevàdữliệumàđượcnóđiều khiển. o Đượcsửdụngđồngthờichocảviệcloạitrừxungđột(mutualexclusion)và hoạtđộngđồngbộchocáctácvụ(scheduling) 5.3.2 Monitor Monitorlàmộtngônngữlậptrìnhđượcxâydựngđểđiềukhiểnviệctruynhậpvào vùngdữliệuchiasẻtronghoạtđộngcủahệthống.Mãchươngtrìnhđồngbộđượcbổ sungvàotrongbộbiên dịchvàthựcthikhichạychươngtrình. 3Monitorlàmộtmodulđónggói • Cáccấutrúcdữliệuđượcchiasẻ • Cácthủtụchoạtđộngthaotáctrêncáccấutrúcdữliệuchiasẻ • Đồngbộcácluồngthựcthiđồngthờimàcóthểkíchhoạtcácthủtụctrong hoạtđộnghệthống 3Monitorcóthểbảovệdữliệukhỏisựtruynhậpkhôngcócấutrúc.Nó đảmbảorằng cácluồngtruynhậpvàodữliệuthôngquacácthủtụctươngtáctheonhữngcáchhợp phápvàcókiểmsoát. 3Monitorđảmbảoloạitrừxungđột • Chỉcómộtluồngcóthểthựcthibấtkỳthủtụcnàotạimỗimộtthờiđiểm (luồngtrongmonitor) • Nếucómộtluồngđangthựcthibêntrongmộtmonitornósẽkhoácácluồng khácmuốnvào,dođómonitorcũngphảicómộthàngđợi.   90 5.4 Xử lý ngắt TínhiệuđiềukhiểnbộVXLkíchhoạtbởimộtsựkiệnthamgia trongquátrìnhhoạt độngcủahệthốnglàmhệthốngngừngvàchuyểnhướngthựcthiđượcgọilà tínhiệu ngắt.NósẽngắtbộVXLkhỏihoạtđộngmànóđangthựcthivàchuyểnsangthựchiện mộtcôngviệckhácphụcvụchosựkiệnkíchhoạtngắttươngứng. Vídụnhưtrongquá trìnhthuthậpdữliệu,VXLluônphảichờđợithờiđiểmđónnhậndữliệuvàsẽkích hoạtsựkiệnngắtCPUmỗikhicódữliệuxuấthiệnđể kịpthờighidữliệuvàobộnhớ. Saukhihoànthành,CPUphụchồilạitrạngtháicủahệthốngvàtrởlạitiếptụcthực hiệnchươngtrìnhtừthờiđiểm mànóbịngắt.Đốivớibộxửlýngắt,nósẽphảithực hiệnhainhiệmvụchínhđólà:(1)Xácđịnhcósựkiệnngắtvà(2)nhậndạngsựkiện ngắttrước khitácvụphụcvụngắttươngứngđượckíchhoạt.Hình5‐6môtảmộtchu trìnhcơbảnthựchiệnngắttrongcáchệVXL/VĐK.   Hình5‐6:Chutrìnhthựchiệnngắt    Hình5‐7:Vídụvềcấutrúcphầncứngxửlýngắt http://www.ebook.edu.vn 91  Hình5‐8:Cơchếthựchiệnthủtụcngắt ThủtụckíchhoạtmộttácvụphụcvụsựkiệnngắtđượcmôtảnhưtrongHình5‐8. ThôngthườngngườitahayquantâmnhiềuđếnđápứngcủaCPUvớisựkiệnngắtvà  thờigianthựchiệntácvụngắt.Ởđâythờigianđápứngphụthuộcvàquyếtđịnhbởi tốcđộvàkhảnăngxửlýcủaphầncứngcònthờigianthựchiệntácvụ ngắtchủyếu quyếtđịnhbởitácvụngắtđódàihayngắnvàdochươngtrìnhquyếtđịnh.   Hình5‐9:Vídụvềnguồnngắt(DSPTMS320C2812) 92 Cácnguồnngắtngoài/cứngcóthểđượcnhậndạngtheokiểutínhiệungắt • Theosườnxung(ngắtđượckíchhoạtkhixuấthiệnsườnxungdươngtớichân nhậntínhiệungắt) • Theomức(ngắtđượckíchhoạtkhixuấthiệnmộttínhiệuxungmứctíchcựctới chânnhậntínhiệungắt) Mộtsựkiệnngắtcũngcóthểđượckíchhoạt chỉbởimộthoạtđộngđọchoặcviếtvào mộtthanhghithiếtbịngoạivihoặccácthanhghiđiều khiểnhoặctrạngthái.  Sựxungđộttranhchấpgiữacácnguồnngắt cùngxuấthiệntạimộtthờiđiểmcóthể đượcgiảiquyếtbằngmứcđộưutiênhoặckếtnốicứngvớibộxửlý.Cácnguồnngắt ngoàicóthểđượctối giảnviệcxửlýbằngsựkếthợpvớiphầnmềmvàcùngchias ẻcác đườngtínhiệungắt.Cơchếthựchiệnngắtcósựtranhchấpvàgiảiquyếtb ằng mứcđộ ưutiênđượcmôtảnhưtrongHình5‐10.   Hình5‐10:Cơchếthựchiệnngắttheomứcđộưutiên . Nếucómộtluồngđangthựcthibêntrongmộtmonitornósẽkhoácácluồng khácmuốnvào,dođómonitorcũngphảicómộthàngđợi.   90 5. 4 Xử lý ngắt Tínhiệu điều khiển bộVXLkíchhoạtbởimộtsựkiệnthamgia trongquátrìnhhoạt độngcủa hệ thống làm hệ thống ngừngvàchuyểnhướngthựcthiđượcgọilà tínhiệu ngắt.NósẽngắtbộVXLkhỏihoạtđộngmànóđangthựcthivàchuyểnsangthựchiện mộtcôngviệckhácphụcvụchosựkiệnkíchhoạtngắttươngứng. Vídụnhưtrongquá trìnhthuthậpdữliệu,VXLluônphảichờđợithờiđiểmđónnhậndữliệuvàsẽkích hoạtsựkiệnngắtCPUmỗikhicódữliệuxuấthiệnđể kịpthờighidữliệuvàobộnhớ. Saukhihoànthành,CPUphụchồilạitrạngtháicủa hệ thống vàtrởlạitiếptụcthực hiệnchươngtrìnhtừthờiđiểm mànóbịngắt.Đốivớibộxửlýngắt,nósẽphảithực hiệnhainhiệmvụchínhđólà:(1)Xácđịnhcósựkiệnngắtvà(2)nhậndạngsựkiện ngắttrước khitácvụphụcvụngắttươngứngđượckíchhoạt.Hình 5 6môtảmộtchu trìnhcơbảnthựchiệnngắttrongcác hệ VXL/VĐK.   Hình 5 6:Chutrìnhthựchiệnngắt    Hình 5 7:Vídụvềcấutrúc phần cứngxửlýngắt http://www.ebook.edu.vn 91  Hình 5 8:Cơchếthựchiệnthủtụcngắt ThủtụckíchhoạtmộttácvụphụcvụsựkiệnngắtđượcmôtảnhưtrongHình 5 8. ThôngthườngngườitahayquantâmnhiềuđếnđápứngcủaCPUvớisựkiệnngắtvà  thờigianthựchiệntácvụngắt.Ởđâythờigianđápứngphụthuộcvàquyếtđịnhbởi tốcđộvàkhảnăngxửlýcủa phần cứngcònthờigianthựchiệntácvụ ngắtchủyếu quyếtđịnhbởitácvụngắtđódàihayngắnvàdochươngtrìnhquyếtđịnh.   Hình 5 9:Vídụvềnguồnngắt(DSPTMS320C2812) 92 Cácnguồnngắtngoài/cứngcóthểđượcnhậndạngtheokiểutínhiệungắt •. Đòihỏiphảicóthôngtinthờigianchínhxácvềcáctácvụđểtínhtoánlậplịch Mộtthuậttoánlậplịchtĩnhđượcgọilàtốiưunếunóluônluôn cóthểtìmđượcmột lịch điều phốithoảmãncácràngbuộcđãchotrongkhimộtthuậttoántĩnhkháccũng tìmđượcmộtlờigiải.  Lậplịchonline/động:Bộxửlýth ựchiệnviệclậplịchtrongquátrìnhthựcthidựatrên cơsởcácthôngtinhoạtđộnghiệnhànhcủa hệ thống. Sơđồlậplịchlàkhôngxácđịnh trướcvàthayđổiđộngtheo quátrìnhthựchiện. Cácthuậttoánlậplịchtĩnhtốiưukhôngphảilàtốiưutrong hệ thống động. 84 Khôngtồntạimộtlờigiảitốiưuchoviệclậplịchtrong hệ thống nhiềubộxửlýnếu thờiđiểmxuấthiệnyêucầuthựcthicủacáctác vụkhôngđượcbiếttrước. Cáchạtnhânđược điều khiển theocơchếngắtthườngthựcthicơchếlậplịchnon‐ preemtiveđộngtrongkhiloạihạtnhânvậnhànhtheoquátrìnhlại thựcthitheocơchế preemptiveđộng.  Mộtthuật toánlậplịchđộngđượcgọilàtốiưunếunócóthểtìmrađượcmộtlịch điều phối điều khiển hệ thống thoảmãncác ràngbuộcthờigianđãchobấtkểkhinàomà thuậttoántĩnhkhôngtìmrađược.  Lậplịchtậptrunghoặcphântán:Việclậplịchđượcthựchiệnápdụngchocác tácvụ thựcthibởimột(tậptrung)hoặcnhiềubộxửlý(phântán).  LậplịchMonohayMulti‐processor:Nhiệmvụlậplịchvàthựcthiđượcđảmnhiệmbởi một(mono) hoặcnhiềubộvixửlý(multi).Tuỳthuộc. Semaphorescóthểđượcsửdụngđểgiảiquyếtbấtkỳmộtbàitoánhayvấnđề đồngbộtruyền thống nào 9 Tuynhiênchúngcómộtsốnhượcđiểm o Chúngchủyếu sửdụngcácbiếntoàncụctrongviệc điều khiển hoạtđộng đồngbộnêncóthểtruynhậpbấtkỳđâutrong hệ thống Ækhókiểmsoát o

Ngày đăng: 22/07/2014, 14:21

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan