Vyšlo v týdeníku CHIPweek č. 31/95, 29. listopadu 1995
Vytištěno z adresy: http://www.earchiv.cz/a95/a531k130.php3

Asynchronní

Počítačová terminologie zná několik případů, kdy lidé zcela běžně a rutinně říkají A, ale mají na mysli B. Zřejmě nejmarkantnějším příkladem je označování takových pamětí, které umožňují jak čtení, tak i zápis - ačkoli správně jde o paměti RWM (Read-Write Memory), nikdo jim neřekne jinak než paměti RAM (Random Access Memory, neboli paměti s přímým přístupem). Již méně se ale ví o dalších příkladech, z nichž jeden lze nalézt i v oblasti datových přenosů. Jde o nesprávné používání přívlastku „asynchronní". Naznačme si, v čem je problém.

Již minule jsme si zdůraznili, jak je při přenosech důležitá správná synchronizace příjemce s odesilatelem - značně zjednodušeno to, aby příjemce „dělal věci ve správnou dobu", ne dříve a ne později. Platí to zejména pro správné přejímání (snímání, vzorkování) jednotlivých bitů, tak jak při sériovém přenosu postupně „vylézají" z pomyslné roury, kterou vytváří přenosový kanál.

Nejjednodušší je to zcela jistě v situaci, kdy sám odesilatel „přimýchá" do přenášeného signálu značky, které od sebe oddělují jednotlivé bity. Pak je jedno, jak dlouho „trvá" každý jednotlivý bit, protože podle příslušné značky se vždy bezpečně pozná, kdy končí stávající a začíná nový. Odesilatel a příjemce pak v tomto případě nemusí vůbec usilovat o nějakou explicitní vzájemnou synchronizaci, a přijímající strana se vždy řídí příslušnými značkami. Proto je na místě označovat tento případ přívlastkem „asynchronní", znamenající „bez synchronizace". Jeho velkou nevýhodou je ale potřeba tříhodnotové logiky, neboli možnost rozlišovat tři různé hodnoty: dva pro obě binární (dvojkové) logické hodnoty, tvořící přenášená data, a třetí hodnotu pro značku, oddělující od sebe jednotlivé datové bity.

Poněkud jiné je to v situaci, kdy se ponechá možnost libovolně velkých odstupů mezi jednotlivými znaky či byty, přenášenými z jedné strany na druhou, ale v rámci těchto znaků či bytů - tj.- mezi jejich jednotlivými bity - se zavedou přesně definované (a stejně velké) časové odstupy. Pak to vlastně znamená, že příjemce a odesilatel musí být „po částech synchronizováni", neboli musí si udržovat vzájemnou synchronizaci po dobu přenosu každého jednotlivého znaku či bytu. Mezi dvěma po sobě jdoucími znaky (byty) pak tuto sychronizaci mohou ztratit - za podmínky, že na začátku dalšího znaku vzájemnou synchronizaci opět obnoví.

Pomožme si zde malým přirovnáním. Představme si, že příjemce i odesilatel mají každý své vlastní hodinky, a s jejich pomocí odměřují jednotlivé bitové intervaly. Právě popisovaný „po částech synchronní" případ pak odpovídá situaci, kdy si příjemce přesně seřídí své hodinky na začátku každého jednoltivého znaku (bytu), a pak již po dobu přenosu tohoto znaku odměřuje jednotlivé bity podle samostatného chodu těchto svých hodinek. Počítá přitom s tím, že tyto jeho hodinky jsou natolik kvalitní, že alespoň po dobu přenosu daného znaku (bytu) se nerozejdou oproti hodinkám odesilatele (podle kterých jsou jednotlivé bity skutečně odesílány) více, než by bylo zdrávo (než by způsobilo nesprávné vyhodnocení přijímaných dat). K „rozjetí" hodinek příjemce pak může bez nebezpečí dojít v době po skončení přenosu daného znaku (bytu), a tato doba bez vzájemné synchronizace může trvat různě dlouho - do té doby, než odesilatel uzná za vhodné odeslat nový znak. K jeho samém začátku ale musí přidat tzv. start bit, podle kterého si příjemce seřídí své hodinky, a vše se opakuje.

Právě popsaný „po částech synchronní" přenos není ani bez synchronizace, ani s trvalou vzájemnou synchronizací. Je někde na pomezí, a charakteristická je pro něj spíše absence trvalé rytmu, ve kterém jsou odesilatelem odesílány jednotlivé znaky. Ty skutečně mohou mít mezi sebou libovolné odstupy. Proto se tento případ správně označuje přívlastkem „arytmický".

Nyní ale zpět k terminologii a k říkání A místo B: když někdo řekne či napíše „asynchronní", prakticky vždy tím má na mysli druhý z dnes popisovaných případů, který je správně „arytmický". Ale takový už je život.