11. Transmisja informacji wewnątrz systemu komputerowego

11.1. Przesyłanie z potwierdzeniem

Założenie: Przesyłamy słowa binarne (dane lub - jak czasem mówimy – informacje) równolegle między dwoma niezależnymi urządzeniami, które umownie będziemy w dalszym ciągu nazywać nadajnikiem (informacji) (ang. transceiver) i odbiornikiem (informacji) (ang. receiver).

Najprostszy sposób przesyłania danych (słów binarnych) polega na tym, że wystawiamy dane (czyli przesyłane słowo binarne) na szynę danych nie sprawdzając, ani czy zostały one odebrane, ani nie informując, że nowe słowo zostało wystawione na szynę danych. Nie mamy więc żadnych sygnałów wspomagających przesłanie, czyli żadnych sygnałów sterujących. Taka sytuacja jest możliwa, jeśli współpracujące ze sobą urządzenia (tzn. nadajnik i odbiornik) są ze sobą precyzyjnie zsynchronizowane.

Rys.1. Przesyłanie z potwierdzeniem

Przesyłanie z potwierdzeniem (ang. handshaking, handshake) jest to sposób równoległego przesłania słów binarnych (danych) z nadajnika do odbiornika, gdy nie zakładamy precyzyjnej ich synchronizacji ani dopasowania szybkości nadajnika i odbiornika.

Cel: Przesyłanie z potwierdzeniem stosuje się po to, by dać możliwość synchronizacji przepływu danych w sytuacji, gdy urządzenia współpracujące nie są zsynchronizowane lub mają różną szybkość.

Sposób transmisji pokazany jest na rys. 1. W chwili tnadajnik wystawia dane na szynę danych. W chwili t2 nadajnik informuje odbiornik, że dane są gotowe sygnałem \overline{\text{READY}} = 0. Odbiornik potwierdza fakt, że przyjmuje dane sygnałem \overline{\text{ACK}} = 0 w chwili t3. W chwili t4 odbiornik kończy czytanie danych i ustawia sygnał \overline{\text{ACK}} = 1, co stanowi sygnał dla nadajnika, że dane zostały odebrane. W chwili t5 odbiornik ustawia sygnał \overline{\text{READY}} = 1 i w chwili twycofuje dane z linii danych. Reasumując: nadajnik zawsze czeka na potwierdzenie, że dane zostały odebrane.