Názor k článku Stavíme ochranu paralelního portu od Ondrej 'SanTiago' Zajicek - = Nemel jsem na mysli ani tak cekani...

  • Článek je starý, nové názory již nelze přidávat.
  • 25. 6. 2009 10:11

    Ondrej 'SanTiago' Zajicek (neregistrovaný)
    = Nemel jsem na mysli ani tak cekani na ACK, ale podle me dokumentace by strobe puls mel byt dlouhy alespon 1 us
     
    = co se tyce granularity – dnesni pocitace se nechovaji jako 386 nebo mikrokontrolery, neda se doba behu kodu spocitat souctem nominalnich taktu jednotlivych instrukci. Masivni vliv na vykon ma pametova cache. Pristup k bunce RAM, ktera neni v procesorove cache, stoji stovky taktu. Krom toho pri vyvolani interruptu nejspis znacny cas (na x86 procesorech v protected rezimu) zabere zmena opravneni procesoru. A to ani nemluvim o rezii operacniho systemu (genericky kod spusteny pri interruptu, ktery pak preda rizeni samotnemu driveru).
     
    = „out DX,AL ; ano toto je ta OUT instrukce a u 486-ky trvá 2 takty – tím se zapíší data do registru“ – to mozna na 386. Podle cetne dokumentace IN/OUT na adresy 0–0×3ff trva zhruba 1 us vcelku bez ohledu na rychlost procesoru (puvodne zrejme kvuli casovani ISA sbernice a na novejsich pocitacich se to zachovalo pro lepsi kompatibilitu) Takze na modernich procesorech to budou tisice taktu.
     
    Takze i kdyz zanedbam vsechny ostatni vlivy, tak muj vypocet bude 5 MB * (5 IN/OUT instrkuci na B) dava 25 MIO, coz pri 1 us na 1 IO dava 25 s procesoro­veho casu.