Jak urychlit vzorkovaci smycku

Petr Simek petrsi
Středa Březen 17 11:43:35 CET 2004


Zdravim,

zkousim pouzit teplotni cidlo SMT 160-30-92 (prevodnik teplota/strida)
pripojene k PC. Stav vystupu vzorkuju jednim IN dratem na paralelnim
portu nasledujici smyckou -

opak:                             ; /* zacatek vzorku */
       asm     in      al,dx      ; /* prectu stav IN je v AL  (8t) */
       asm     stosb              ; /* ulozim vzorek (10t) */
       asm     loop    opak       ; /* CX != 0 -> opakuju vzorek (9t) */

celkem to dela 27 taktu procesoru jeden pruchod (dle knihy). Situace je
takova ze s P100 udelam asi 277 vzorku na periodu, coz je vcelku
postacujici, ale kdyz to pustim na PC kde to ma finalne bezet - 386DX/40
tak udelam asi 157 vzorku na periodu, coz dava kroky skoro po stupni 
a to mi moc nevyhovuje. 

Nemate nejaky napad jak to jeste zrychlit ? (tak o 50% by stacilo :-)

Zajimavy je nepomer nabranych vzorku proti frekvenci procesoru, kde
Pentium bezi 2,5x rychleji ale nabere jen 1,75x vic vzorku. Asi to 
souvisi s rychlosti sbernice nebo s cim - ze to na porty muze sahat
nejakou omezenou rychlosti....


*------------------------------------------------------------------------*
|                          Petr Simek   APS JU                           |
|                             petrsi@jcu.cz                              |
*------------------------------------------------------------------------*






Další informace o konferenci Hw-list