assembly kod
HWSW Famulus
hwsw at famulus.hu
Sun Oct 19 16:38:05 CEST 2003
> >Köszi a segítséget. Arra gondoltam, hogy egyes programok és
> események
> >kiváltják a "hullamerevséget", aztán egyszer ismét elindul a kurzor, az
> egér stb.
> >Tehát valami lefogta. Ezt szeretném tenni én is, de csak akkor amikor
> szükséges.
> >
>
>
> Szia, János!
> A "hullamerevseget" a task kezelo, tehat maga az operacios rendszer
> benazasa okozza, program ilyen szinten nem kap prioritast.
> Egyebkent a mikroszekundumos rendszerhivasok is csak papiron
> leteznek, egy rosszkor beuto rendszer molyolás ms-okat is okozhat.
> Mi kene assemblyben? Vagy 8-10 eve, a dos-os vilagban meg sokat
> uztem a PC assembly-t.
> Udv, RI
En tavaly-tavalyelott sokat kuzdottem a win alatti real-time jellegu
ugyekkel.....
Arra jutottam, hogy szokvany programozasi modszerekkel a windowsbol
SZINKRON!! modon detektalhato periodusido 17 ms
vagy hosszabb ez is csak akkor, ha nincs kozben lemezmuvelet!
Lehet ugyan us nagysag rendu idoket merni, de
csak akkor amikor eppen az en progim van utemezve
es addig amig eppen en futok.....
Ha kiutemezodok akkor jon a kb. 17 ms nagysagrendu lyuk az idoben
Novelve a prioritast az idolyuk csokkentheto 10 ms koruli idore,
de ekkor mar inkabb lefagyottnak tunik a rendszer a kezelonek :-)
Ahhoz, hogy par ms-os es a megrovidebb esemenyek kihagyas nelkul elfoghatok
legyenek
vagy kernel szintu eszkoz driver kell, vagy asszinkron megoldas.....
W9X eseten még adott a DOS-bol ismert INT8 atprogramozasi lehetoseg.
Vagyis fellehet porgetni az ora megszakitast 18,2 Hz-rol gyorsabbra,
es erre az INT8-ra akasztani a sajat rutint......
(A timer 1,193,180 Hz-en ketyeg es 16 bites, ebbol jon a gyari 18,2 Hz)
Vajon egy mai 2,4 Ghz-es CPU mit enged meg ilyen porgetos esetben?!
Na, saccolgatok kicsit.... hatha kijon valami okossag.
Tegyuk fel, hogy elvesszuk az ido felet meg marad 1,2 Ghz az azert talan
eleg lesz w9x-nek :-)
Egy ilyen P4-es proci ALU-ja 0,5 orajel alatt hajt vegre egy integer
utasitast,
mindent osszevetve legyen a sajat kodra nezve 1 utasitas 1 oraciklus.....
Jarjon a timer kereken 1 Mhz-en, ha jarhat egyaltalan,
ekkor 1,2 Ghz/1 Mhz azaz 1200 utasitas jut egy megszakitasra
Ebbol az overhead levonasaval mondjuk max. 8-900 utasitasnyi
lehet a sajat hasznos kod, aminek elegnek kell lennie az adott celra.
Az 1 Mhz-es mintavetel akar az 500 kHz-es jel mintavetelezesere is eleg
elvben.
Mondjuk ebbe meg beuthetnek a magassabb prioritasu interruptok,
de PC-en ilyen nem nagyon van.....csak error eseten.
Vajon mekkora lehet a latencia egy 2,4 GHz-es P4+W98 eseten a timer
interruptra?
Vajon mekkora lehet a valoban elerheto interrupt freki W98 alatt egy
Celeron2400-on
a valo vilagban?
KJ
http://www.beyondlogic.org/interrupts/winnt_isr_dpc.htm
http://courses.ece.uiuc.edu/ece291/lecture/lecture09.ppt
KJ
More information about the Elektro
mailing list