Hvor mye i prosent av CPU-tiden er bortkastet på grunn avbryte?.

B

Bella

Guest
Prosessoren kan utføre 10 lakh instruksjoner / sekund.Avbrudd har en overhead på 20 instruksjoner.Anta et avbrudd på 8 kHz.Hvor stor prosentandel av CPU tid er bortkastet på grunn av avbruddet?.

 
Hei,

Jeg tror at svaret avhenger av hovedprogrammet organisasjonen.

Hvis du bare har én prosess f.eks viktigste ledig loop og en ISR (interrupt service routine) du ikke kaste bort noe.På hver avbryte deg kjøre ISR behandle data og går til tomgang og vente på nye avbrudd.

Avbrudd rate må være mindre enn verste fall ISR utføringstiden!

Hvis du har mer enn én prosess avbryter lattency avhenger av programmet organisering og struktur ISR og dependacy av data mellom ISR og andre prosesser.

Hvis du bruker forskjellige registrere bank og minne variabler for ISR og andre prosesser du ikke trenger å putte så mange variabler på stakken og du har kortere ISR lattency.

Beste måten å spare CPU-tid er å gjøre ISR kort som mulig ved hjelp av ulike registrere bank, global varables og optimalisert kode, grip bevilget data og sette den i bevilget FIFO buffer og prosess i egen prosess i hovedprogrammet loop.

Endelig løsning avhenger av register og minne requirments, tilgjengelig stakkstørrelsen, CPU-hastighet og sanntids requirments.

Noen ganger kan du betydelig forbedret ovreall forestillinger med noen additonal maskinvare.

For høy hastighet avbrudd priser (8kHz) du trenger hastighet CPU og meget kort og optimert høyeste prioritet ISR.Min recomendation er å redusere hvis det er mulig avbrudd renten med ytterligere maskinvare eller bruke separate kontroller for å behandle slike avbrudd.

 
OK hvis jeg undestand den på riktig måte:

CPU = 10 MIPS.
INT latency = 20 sykluser (instruksjoner)
INT rate = 8000.

bortkastet CPU-sykluser (%) = (20 * 8000 / 10.000.000) * 100% = 1,6%

Så du mister 1,6% på grunn av avbruddet hastighet på 8kHz ..Dette er fortsatt en lav avbryte rate siden jeg har laget systemer med avbryte utbredelsen av 64000/sec.på en normal PIC

<img src="http://www.edaboard.com/images/smiles/icon_smile.gif" alt="Smil" border="0" />

.

hilsen,

Paul.

 

Welcome to EDABoard.com

Sponsor

Back
Top