Id-dar > Wirja > Il-kontenut

Mikrokontrollur Tinterrompi latency

Mar 08, 2019

B'kuntrast ma 'kompjuters għal skopijiet ġenerali, il-mikrokontrolluri użati f'sistemi integrati ta' spiss ifittxu li jottimizzaw il-latency tal-interruzzjoni fuq il-fluss tal-istruzzjoni. Il-kwistjonijiet jinkludu kemm it-tnaqqis tal-latency, u li jagħmilha aktar prevedibbli (biex tappoġġja l-kontroll fil-ħin reali).


Meta apparat elettroniku jikkawża interruzzjoni, matul is-swiċċ tal-kuntest ir-riżultati intermedji (reġistri) għandhom jiġu ffrankati qabel ma s-software responsabbli għall-immaniġġjar tal-interruzzjoni jkun jista 'jaħdem. Għandhom ukoll jiġu rrestawrati wara li l-handler tal-interruzzjoni jkun lest. Jekk ikun hemm aktar reġistri tal-proċessuri, dan il-proċess ta 'ffrankar u restawr jieħu aktar ħin, u jżid il-latency. Modi kif jitnaqqas tali latency tal-kuntest / restawr jinkludu li jkun hemm relattivament ftit reġistri fl-unitajiet ta 'pproċessar ċentrali tagħhom (mhux mixtieq minħabba li jnaqqas l-aktar proċessar mhux interrott sostanzjalment), jew għall-inqas li l-hardware ma jiffrankax lilhom kollha (dan ifalli jekk is-softwer imbagħad jeħtieġ) tikkumpensa billi tiffranka l-kumplament "manwalment"). Teknika oħra tinvolvi l-infiq tal-gradi tas-silikon fuq "shadow registers": Reġistru duplikat wieħed jew aktar użati biss mis-software ta 'interruzzjoni, forsi jappoġġjaw munzell iddedikat.


Fatturi oħra li jaffettwaw il-latency tal-interruzzjoni jinkludu:


Ċikli meħtieġa biex jitlestew l-attivitajiet kurrenti tas-CPU. Biex jimminimizzaw dawk l-ispejjeż, il-mikrokontrolluri għandhom it-tendenza li jkollhom linji ta ’pajpijiet qosra (ħafna drabi tliet istruzzjonijiet jew inqas), bafers żgħar li jiktbu, u jiżguraw li l-istruzzjonijiet itwal ikunu kontinwi jew jerġgħu jinbdew. Il-prinċipji tad-disinn tar-RISC jiżguraw li l-biċċa l-kbira tal-istruzzjonijiet jieħdu l-istess numru ta 'ċikli, u jgħinu biex tiġi evitata l-ħtieġa għal ħafna minn tali loġika ta' kontinwazzjoni / terġa 'tibda.

It-tul ta 'kwalunkwe taqsima kritika li teħtieġ li tiġi interrotta. Id-dħul għal sezzjoni kritika jirrestrinġi l-aċċess fl-istess ħin tal-istruttura tad-dejta. Meta struttura tad-data trid tkun aċċessata minn handler ta 'interruzzjoni, it-taqsima kritika għandha timblokka dik l-interruzzjoni. Għaldaqstant, il-latency tal-interruzzjoni tiżdied sa kemm żmien li l-interruzzjoni tkun imblukkata. Meta jkun hemm restrizzjonijiet esterni iebsa fuq il-latency tas-sistema, l-iżviluppaturi ta 'spiss jeħtieġu għodod biex ikejlu l-latenzi ta' interruzzjoni u jillokalizzaw liema taqsimiet kritiċi jikkawżaw tnaqqis fil-mod.

Teknika komuni waħda biss tibblokka l-interruzzjonijiet kollha għat-tul tas-sezzjoni kritika. Dan huwa faċli biex jiġi implimentat, imma xi kultant taqsimiet kritiċi jdumu bla skomdi.

Teknika aktar kumplessa timblokka biss l-interruzzjonijiet li jistgħu jagħtu bidu għal aċċess għal dik l-istruttura tad-dejta. Dan huwa spiss ibbażat fuq prijoritajiet ta 'interruzzjoni, li għandhom tendenza li ma jikkorrispondux sew mal-istrutturi rilevanti tad-dejta tas-sistema. Għaldaqstant, din it-teknika tintuża l-aktar f'ambjenti ristretti ħafna.

Il-proċessuri jista 'jkollhom appoġġ għall-hardware għal xi sezzjonijiet kritiċi. Eżempji jinkludu l-appoġġ ta 'aċċess atomiku għal bits jew bytes fi ħdan kelma, jew primittivi oħra ta' aċċess atomiku bħall-primitives ta 'aċċess esklussiv LDREX / STREX introdotti fl-arkitettura ARMv6.

Tinterrompi nesting. Xi mikrokontrolluri jippermettu interruzzjonijiet ta 'prijorità ogħla jinterrompu dawk ta' prijorità aktar baxxa. Dan jippermetti li s-softwer jimmaniġġja l-latency billi jagħti kritiċi tal-ħin jinterrompi prijorità ogħla (u għalhekk latency iktar baxxa u aktar prevedibbli) minn dawk inqas kritiċi.

Rata ta 'attivazzjoni. Meta l-interruzzjonijiet iseħħu back-to-back, il-mikrokontrolluri jistgħu jevitaw kuntest addizzjonali ta 'ċiklu ta' salvataġġ / restawr permezz ta 'forma ta' ottimizzazzjoni tas-sejħa tad-denb.

Mikrokontrolluri tarf t'isfel għandhom it-tendenza li jappoġġaw inqas kontrolli ta ’latency ta’ interruzzjoni minn dawk ta ’tarf ogħla.