Wejścia i wyjścia

W systemie opartym na procesorze , mikroprocesorze , mikrokontrolerze lub sterowniku PLC wymiana informacji między procesorem a związanymi z nim urządzeniami peryferyjnymi nazywana jest wejście-wyjście . W ten sposób system może reagować na zmiany w swoim otoczeniu, a nawet nim sterować. Czasami są one oznaczane akronimem I / O , wywodzącym się z angielskiego I nput / O utput lub nawet I / O dla Inputs / Outputs.

W systemie operacyjnym  :

Uproszczony przykład:

Struktura systemu mikroprocesorowego

System mikroprocesorowy musi zawierać następujące elementy:

Poszczególne elementy systemu połączone są 3 szynami  :

Ewolucja technologii oznacza, że ​​systemy, które wcześniej wymagały kilku pudełek, można doskonale zintegrować w jednym pudełku, które łączy różne funkcje; patrz na przykład ADuC rodzinę procesorów z Analog Devices .

Przykład systemu mikroprocesorowego

Pralka jest przykładem systemu sterowania mikroprocesorowego napędzane. Głównymi elementami maszyny są:

Procesor otrzyma informacje z urządzeń wejściowych:

Na podstawie tych informacji wyśle ​​polecenia do urządzeń wyjściowych:

Porty wejściowe / wyjściowe

Urządzenia peryferyjne są podłączone do reszty systemu poprzez obwody zwane portami wejściowymi i wyjściowymi (niektóre porty mogą łączyć te dwie funkcje).

Zasadniczo port wejściowy składa się z buforów trójstanowych . Zachowują się one jak przełączniki elektroniczne, które w żądanym momencie ujawniają poziomy logiczne urządzenia peryferyjnego wejściowego (wybranego przez magistralę adresową) na magistrali danych; poziomy te będą przechowywane w rejestrze procesora (rejestr jest gniazdem pamięci RAM).

Port wyjściowy składa się zasadniczo z przerzutników typu D. Zachowują się one jak małe wspomnienia. Ich wejście jest podłączone do magistrali danych. Procesor zapisuje poziom logiczny 0 lub 1 w każdym z przerzutników. Wyjścia przerzutników sterują urządzeniami peryferyjnymi, generalnie poprzez stopień mocy.

Urządzenia wejściowe

Wpis to przepływ danych pochodzących z:

Te sygnały wejściowe generowania przerwań sprzętowych , które są zrealizowane w pierwszej kolejności przez obsługi przerwań w jądrze z systemu operacyjnego .

W systemach mikroprocesorowych, takich jak wspomniana powyżej pralka, znajdują się przyciski i przełączniki.

Wiele mikrokontrolerów zawiera liczniki; sygnały kształtowane i podawane na wejścia zliczające stanowią również sygnały wejściowe do systemu.

W systemach komputerowych wybór jest znacznie większy: klawiatura, mysz , świetlówka, digitizer, przetworniki analogowo-cyfrowe itp.

Podkreśl, że aby mogły zostać przetworzone przez procesor, wszelkie sygnały muszą zostać przetworzone na sygnały logiczne kompatybilne z procesorem. W niektórych przypadkach konieczne będzie zatem umieszczenie konwerterów poziomów lub stopni izolacyjnych (często sprzęgaczy optycznych ).

Urządzenia zewnętrzne

Wyjścia są powiązane z pułapkami lub wywołaniami systemowymi .

Wynik może być (ta lista nie jest wyczerpująca):

W systemach opartych na mikroprocesorach diody elektroluminescencyjne ( LED ) lub żarówki są używane jako światła lub wskaźniki, cyfrowe lub alfanumeryczne wyświetlacze LED lub ciekłokrystaliczne do wyświetlania komunikatów systemowych, przekaźniki (do sterowania sygnałami), obciążenia wymagające wysokich prądów i / lub napięcia), transoptory itp.

W systemach komputerowych wybór jest szeroki: ekran do wyświetlacza, drukarka do produkcji dokumentów na papierze, przetworniki cyfrowo-analogowe itp.

Urządzenia wejścia / wyjścia

Wiele urządzeń to zarówno urządzenia wejściowe, jak i wyjściowe. Modem , na przykład, umożliwia wysyłanie lub odbieranie informacji ze świata zewnętrznego: poczty elektronicznej, przeglądanie Internetu, ale także wysyłanie i odbieranie faksów, telefonii komputerowej ( VoIP , Voice over IP ).

Te karty sieciowe używane do podłączenia kilku komputerów do osiągnięcia lokalnej sieci komputerowej, która pozwala na wymianę plików i zasobów takiej drukarki sieciowej, skanera ...

Istnieje również pełny zakres urządzeń pamięci masowej USB: dysk twardy , karty pamięci , napęd dyskietek , napęd DVD , pamięć USB .

Podobnie monitory komputerowe wyposażone w ekrany dotykowe .

Zarządzanie wejściem / wyjściem

Istnieją głównie trzy sposoby zarządzania wejściami / wyjściami.

Zaprogramowane wejścia / wyjścia

Podczas wykonywania swojego programu głównego mikroprocesor będzie okresowo odczytywał stan urządzeń wejściowych iw razie potrzeby modyfikował stan portów wyjściowych. To najprostsza technika. Przykład: system regulacji ogrzewania w budynku.

Przerwy

Technika ta jest używana, gdy procesor musi szybko zareagować na zmianę stanu portu wejściowego. Urządzenie peryferyjne informuje procesor przez linię przerwania przewidzianą w tym celu. Procesor przerywa bieżące zadanie, wskakuje do podprogramu przeznaczonego do zarządzania określonym żądaniem skierowanym do niego; na końcu podprogramu procesor wznawia wykonywanie programu głównego od miejsca, w którym został przerwany, i daje spójny wynik.

Bezpośredni dostęp do pamięci

Technika ta, często nazywana inicjałami DMA ( Direct Memory Access ), jest wykorzystywana, gdy konieczne jest przeprowadzenie szybkiego transferu dużej ilości danych między np. Odtwarzaczem CD a dyskiem twardym. Zamiast przesyłać bajty najpierw do rejestru w procesorze, a następnie tylko na dysk twardy, bajty są przesyłane bezpośrednio z jednego urządzenia do drugiego bez przechodzenia przez rejestry procesora. Transmisja danych jest organizowana przez specjalny obwód zwany kontrolerem DMA, który podczas przesyłania zastępuje procesor i zarządza magistralą adresową i sterującą.

Występ

Wydajność komputera jest miarą czasu potrzebnego do wykonania danego przetwarzania. Trzy elementy wpływają na to działanie:

Czas wymagany do dowolnego przetwarzania danych jest zawsze określany przez jeden z tych trzech elementów, ale czas wejścia / wyjścia jest na ogół przeważający. Rzeczywiście, czas poświęcony na operacje we / wy jest liczony w milisekundach, podczas gdy czas poświęcony na instrukcje wykonywane przez procesor liczony jest w nanosekundach.

Rozmiar pamięci jest szczególnie ważny o tyle, o ile umożliwia zmniejszenie liczby operacji wejścia / wyjścia, albo dlatego, że większa część programów użytkowych może znajdować się w pamięci, co zmniejsza zjawisko stronicowania, albo dlatego, że część tej pamięci może być używany jako bufor ( pamięć podręczna ) do przechowywania przepływów danych dla operacji we / wy.


W programowaniu podobnie jak na poziomie systemu (np. Na komputerach mainframe ) na wydajność wejść / wyjść wpływają (między innymi) dwa elementy sprzętowe, czyli ich prędkość:

Jeśli zasoby procesora lub we / wy są niewystarczające podczas wykonywania jednego lub więcej jednoczesnych procesów, mówimy o nasyceniu.

Zobacz też