Re: karty i/o

Autor: Pawel Komos (progel_at_szc.ternet.pl)
Data: Thu 09 Jan 1997 - 10:28:18 MET


Krzysztof Halasa <khc_at_intrepid.pm.waw.pl> napisał(a) w artykule
<m3wwto7eb3.fsf_at_intrepid.pm.waw.pl>...
> Jarek Lis <lis_at_ict.pwr.wroc.pl> writes:
>
> > In pl.comp.pecet Krzysztof Halasa <khc_at_intrepid.pm.waw.pl> wrote:
[--CIACH--]

> Ale tak swoja droga, to cos zmyslasz. Jesli kazdy bajt to dla Ciebie
> 1.5us, to w takim razie Adaptec przy 5MB/s zuzywalby 5*10^6*1.5*10^-6
s/s,
> czyli ok. 7.5 s/s (chodzi o rzad wielkosci, wiem ze to bus master).
> To troche nierealne, nieprawdaz? A Adapteca daje sie uzywac z wieksza
> szybkoscia niz 5 MB/s...

Adaptec (i niemal wszystkie inne urzadzenia w komputerze oprocz seriala i
rownoleglego) to urzadzenia blokowe. Buforuja one sobie caly BLOK np. 512
bajtow danych i jednym rzutem wrzucaja je na komputer. Na przekazanie bajtu
potrzebne sa wtedy pojedyncze rozkazy procesora (przy DMA czas jest
zblizony, ale bez angazowania procesora).

>
> Chociaz jesliby dac te 5MB/s dla Adapteca, czyli 2.5M dostepow na
sekunde,
> i powiedziec, ze zajmuje to 100% czasu, to wtedy 2.5M^-1=400ns na dostep.
> A wiec dla 10 modemow * 3KB/s =30 KB/s, po 2 operacje na bajt, czyli
> 30K*800ns=24ms/s, a wiec 2.4% czasu szyny ISA, po dodaniu narzutu na CPU
> (iP75) - 5% czasu. To jest mozliwe :)
> Nie wiem, czy 16550A nie mozna odczytywac ok. 1 operacja/bajt - ma bufor
> 16 bajtow, moze mozna odczytac, ile w nim znakow. To by jeszcze
polepszylo
> wyniki.
Bufor ma 15 bajtow + rejestr przesuwny odbiornika.
Odczytywac 1op/bajt mozna ale najpierw trzeba wiedziec, czy juz mozna
czytac. Nie mozna odczytac ile bajtow jest w buforze, mozna tylko dostac
przerwanie na konkretnej ilosci znakow. Nie moze to byc 15, bo wtedy trzeba
zareagowac w nieprzekraczalnym czasie jednego znaku (przy 57600 to ok
170us). Problemem jest wlasnie to, ze danych do wczytania jest malo i
przychodza zbyt wolno! Jak do wczytania jest srednio bajt na pare tysiecy
rozkazow ale za to przez dluzszy czas jest tak ciagle, to nie wiadomo co
procesor ma robic. Jak bedzie czekal na te bajty to marnuje czas, a jak
bedzie robil inne procesy to ma szanse nie obrobic sie z przerwaniami,
przelaczeniami kontekstu itp. Juz od dawna jestem zdania, ze sposob
komunikacji z modemem trzeba zmienic. Serial i Hayes byl dobry na 2400,
przy dzisiejszych predkosciach, negocjacjach itd. modem powinnien byc
urzadzeniem blokowym z dodatkowym kanalem sterujacym. W tej chwili nie da
sie np. sprawdzic z jaka predkoscia modem w danej chwili transmituje. Do
dyspozycji jest tylko wartosc wynegocjowana na poczatku - a co z
renegocjacja w trakcie polaczenia?
Tylko kto bedzie odwazny i wymusi nowy standard?

---------------------------------
Pawel Komos
progel_at_szc.ternet.pl

> --
> Krzysztof Halasa
> Network Administrator of The Palace of Youth in Warsaw
>



To archiwum zostało wygenerowane przez hypermail 2.1.7 : Tue 18 May 2004 - 15:51:20 MET DST