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.
Uproszczony przykład:
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 .
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:
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.
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 ).
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.
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 .
Istnieją głównie trzy sposoby zarządzania wejściami / wyjściami.
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.
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.
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ą.
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.