268
268
o
gowo-cyfrowe 1 cyfrowo-analogowe, czytniki i perforatory taśmy papierowej lub kart, drukarki wierszowe, wskaźniki video, pamięci kasetowe i dyskowe.
Układy interfejsu są niezbędne, aby zapewnić dopasowanie formatu informacji przekazywanych pomiędzy procesorem, pamięcią i urządzeniami wej -ścia/wyjścia oraz zapewnić ich poprawną współpracę w czasie.
Przesyłanie informacji pomiędzy procesorem a pamięcią jest zawsze sterowane przez program, zaś pomiędzy a urządzeniami we/wy jest stero
wane przez program (przesyłanie programowe) lub przez urządzenia zewnętrzne (przesyłanie przez bezpośredni dostęp do pamięci - DMA). Przesyłanie programowe, które jest podstawowym sposobem przesyłania, jest sterowane przez program, którego jeden rozkaz we/wy powoduje wczytanie lub wysłanie na zewnątrz jednego bajtu. Przesyłanie typu DMA odbywa się poza udziałem programu i zwykle stosow ie jest do szybkiego przesyłania do lub z pamięci dużych zespołów dany ..
Rozróżnia się przesyranie programowe bez i z potwierdzeniem oraz poprzez przerwanie. Przesyłanie bez potwierdzenia może być dokonywane w przypadku, gdy np. szybkość urządzeń we/wy jest większa od częstości pojawiania się kolejnych rozkazów wejścia lub wyjścia. Najczęściej jednak realizowane jest przesyłanie z potwierdzeniem (handshaking) lub poprzez przerwanie.
Przesyłanie z potwierdzeniem polega na tym, że przed przesłaniem procesor sprawdza gotowość urządzania we/wy. W przypadku gdy ma nastąpić przesłanie, a urządzenie nie jest jeszcze gotowe (np. zajęte przez poprzednie przesłanie), procesor przechodzi w stan OCZEKIWANIA. Stan ten kończy się w momencie, gdy urządzenie we/wy zgłosi swoją gotowość.
Innym sposobem sprawdzania gotowości wskazanego urządzenia we/wy jest sprawdzenie programowe polegające na umieszczeniu w programie dwóch rozkazów we/wy. Pierwszy z nich.wczytuje status urządzenia we/wy i o ile status ten wskazuje na gotowość urządzenia, procesor przechodzi do drugiego rozkazu we/wy, który dokonuje właściwej operacji we/wy, zaś w przeciwnym przypadku ponownie jest wczytywany status. Poniżej podano przykładowy program w języku symbolicznym dla p.P 8080 dokonujący takiego sprawdzenia.
M0V B,A :
TEST : IN 2
ANI 8 H JZ TEST M0V A,B
OUT 1
Przypuśćmy, że na bit p wejścia nr 2 podane Jest wyjście przerzutnika wskazującego gotowość urządzenia wyjściowego nr 1. Procesor wczytuje liczbę 8-bitową z urządzenia nr 2. Wyodrębnia przez maskowanie bit 3 oraz porównuje go z zerem. Gdy bit ten jest rói\ny 0, procesor przechodzi do ponownego wczytania statusu urządzenia; gdy bit ten jest równy 1, przechodzi do właściwej operacji, to jest przesłania bajtu na urządzenie wyjściowe nr 1 . Układ realizujący taką współpracę przedstawiony jest na rys. 6.14.
Rys. 6.14. Układ do przesyłania programowego z potwierdzeniem z programowym badaniem gotowości urządzenia wyjściowego
Przesyłanie poprzez przerwanie polega na tym, że gotowość urz^izenia we/wy wymusza przerwanie, a w programie obsługi przerwania występuje rozkaz IN lub OUT. Takie przesyłanie stosowane jest wtedy, gdy aktualna realizacja programu nie jest zależna od napływających powoli danych wejściowych, które będą wykorzystywane później, lub przy stopniowym wysyłaniu nagromadzonych danych wyjściowych w miarę zwalniania się powolnego urządzenia wyjściowego, przy jednoczesnej kontynuacji obliczeń. Stosowane jest takie wtedy, gdy nadajemy wezwaniom od urządzeń wejściowych wyższy priorytet niż aktualnie wykonywanym programom. Najczęściej ma to miejsce np.prąr zgłoszeniach z dalekopisu, dokonywanych przez operatora lub ważnych zgłoszeniach z innych urządzeń wejściowych.
Przesyłanie przez bezpośredni dostęp do pamięci (DMA) jest stosowane, gdy zachodzi potrzeba szybkiego przesłania dużych zespołów danych pomiędzy pamięcią a urządzeniami zewnętrznymi. W |iP 8080 polega ono na pobudzeniu wejścia HOŁD, co w konsekwencji powoduje zatrzymanie pracy pP i przejście buforów wyjściowych szyny danych i szyny adresów w stan v:ysokiej im-pedancji (stan ZAWIESZENIE). Umożliwia to zewnętrzny, poza udziałem procesora, dostęp do pamięci HAA. i szybkie wpisanie lub odczyt ymuj-nej informacji.
Realizacja opisanych wyżej metod transmisji ponięuzy pP a pamięcią i urządzeniami we/wy wymaga odpowiednich układów pośredniczących. Funkcje pełnione przez te układy wyjaśnimy na przykładzie systemu MCS 80 przedstawionego schematycznie na rys. 6.15. System ten zawiera gotowe scalone układy pośredniczące, które krótko opiszemy niżej.