Magkano porsyento ng CPU ng panahon ay nasayang dahil sa makisabad?.

B

Bella

Guest
Processor Ang maaaring magsagawa 10 lakh tagubilin / segundo.Isang matakpan ay may itaas ng 20 mga tagubilin.Ipagpalagay na-abala ng isang rate ng 8 KHz.Magkano ang porsyento ng mga CPU oras ay nasayang dahil sa makisabad?.

 
Hi,

Sa tingin ko na ang sagot ay depende sa pangunahing organisasyon na programa.

Kung ikaw ay isa lamang sa proseso ng hal pangunahing idle loop at isa ISR (matakpan serbisyo na gawain) hindi mo basura kahit ano.Sa bawat matakpan mo execute ISR data processing at pagpunta sa idle at maghintay para sa mga bagong-abala.

Makisabad rate ay kailangang mas mababa kaysa sa pinakamasama kaso oras ISR pagpugot ng ulo!

Kung ikaw ay may higit sa isang proseso ng matakpan lattency depende sa programa ng organisasyon at sa istraktura ng ISR at dependacy ng data sa pagitan ng ISR at iba pang mga proseso.

Kung gumamit ka ng iba't-ibang magparehistro sa bangko at mga variable ng memory para sa ISR at iba pang proseso na hindi mo kailangang maglagay ng maraming mga variable sa stack at ikaw ay may mas maikling ISR lattency.

Pinakamahusay na paraan upang i-save ang CPU ng panahon ay gumawa ng ISR sunggaban appropriated data at maikling panahon paggamit ng iba't ibang magrehistro bangko, global varables at optimize ang code, ilagay ito sa appropriated FIFO buffer at proseso sa hiwalay na proseso sa pangunahing loop na programa.

Final na solusyon ay nakasalalay sa iyong magparehistro at memorya ng requirments, magagamit na Bluetooth stack na laki, ang CPU speed at real-time requirments.

Minsan mo ng makabuluhang pinabuting ovreall palabas sa ilang mga additonal hardware.

Para sa mataas na bilis ng matakpan rates (8KHz) kailangan mo ng bilis ng CPU at masyadong maikli at sulitin ang pinakamataas na priority ISR.Aking recomendation ay upang mabawasan kung maaari ito ay makaabala rate na may karagdagang mga hardware o gumamit ng hiwalay na magsusupil sa proseso ng mga interrupts.

 
OK kung ako undestand ito nang tama:

CPU = 10 mips.
Latency int = 20 kurso (tagubilin)
Int rate = 8000.

nasayang CPU kurso (%) = (20 * 8000 / 10.000.000) * 100% = 1.6%

Kaya mo natatanggal na 1.6% dahil sa matakpan rate ng 8Khz ..Ito ay pa rin ang isang mababang rate ng matakpan dahil ako ay may naka-disenyo na may sistema matakpan rate ng 64000/sec.sa isang normal na PIC

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

.

pagbati,

Paul.

 

Welcome to EDABoard.com

Sponsor

Back
Top