Odpytywanie i przerywanie

Anonim

W pewnych momentach główny procesor przestaje działać i sprawdza, czy jakiś sterownik ma dla niego komunikat, jeśli tak, przetwarza komunikat i wznawia działanie. Nazywa się to pollingiem. Ponadto oczywiste jest, że główny procesor wykonuje swoją pracę, a urządzenia wykonują swoją pracę. Jeśli urządzenie zakończy pracę lub wystąpi błąd, urządzenie informuje główny procesor o żądaniu przerwania.

Co to jest odpytywanie?

W systemach, w których więcej zewnętrznych obwodów logicznych komunikuje się za pośrednictwem wielu połączeń U / I z pojedynczym mikroprocesorem, stosuje się odpytywanie U / I. Mikrokomputer okresowo wywołuje każdy zewnętrzny układ logiczny i sprawdza, czy zażądał usługi. Jeśli zewnętrzny obwód logiczny nie wymaga serwisowania, mikrokomputer analizuje następny zewnętrzny obwód logiczny, itp. Jeżeli któryś z nich wymaga serwisowania, mikrokomputer przełącza się na uruchomienie programu obsługującego odpowiedni zewnętrzny obwód logiczny. Funkcja transferu U / I jest zawarta w programie. Innymi słowy, odpytywanie jest procesem wywoływania klienta (komputery lub terminale), które może wysyłać dane po wywołaniu (jeśli mają jakieś). Jeśli klient ma dane, wysyła je po sondowaniu, a jeśli nie ma danych, klient reaguje negatywnie, a serwer wywołuje następnego klienta. Niektóre urządzenia mogą wymagać serwisowania ze sterownika (np. Gdy jakieś urządzenie zakończy pomiar lub wystąpi błąd). Żądanie jest wysyłane do kontrolera, ustawiając linię SRQ na niską. Gdy kontroler otrzyma żądanie usługi, wywołuje wszystkie urządzenia w magistrali, aby znaleźć urządzenie, które wysłało to żądanie.

Co to jest przerywanie?

Podczas wykonywania programu mikroprocesor może odbierać sygnał przerwania przez specjalne linie IRQ. Przerwanie jest najczęściej wykonywane przez wywołanie odpowiedniego podprogramu systemowego do przetwarzania przerwań - są to tzw. Rutynowe procedury przerwania BIOS-u lub DOS-owego. Po przerwaniu przetwarzania procesor kontynuuje wykonywanie przerwanego programu. Ponadto sam program aplikacji może zawierać instrukcję, która wymaga wykonania procedury przerwania systemu BIOS lub DOS. Operacje wejścia-wyjścia są najczęściej realizowane w ten sposób. Na przykład, jeśli program chce wydrukować znak na ekranie, może to zrobić, wywołując odpowiednią procedurę przerwania. BIOS zawiera zestaw elementarnych procedur wejścia-wyjścia, które działają stosunkowo szybko, a odpowiadające im procedury DOS są wolniejsze, ale ich możliwości są większe (możliwość nadpisania kanałów wejścia-wyjścia, możliwość kontrolowania błędów itp.). Dlatego przerwanie sprzętowe jest sygnałem odebranym przez procesor z innego urządzenia w komputerze, a przerwanie oprogramowania jest procesem wykonawczym procedury BIOS lub DOS (podprogramu), która jest automatycznie wywoływana do przetwarzania odebranego sygnału przerwania lub jest wywoływana do wykonania odpowiednie instrukcje.

Różnica między sondowaniem a przerywaniem

Tło sondowania i przerywania

W pierwszym przypadku procesor sprawdza w regularnych odstępach czasu, czy urządzenie potrzebuje działania. W przypadku przerwania istnieje mechanizm, za pomocą którego procesor umożliwia urządzeniu zewnętrznemu (na przykład klawiaturze, karcie dźwiękowej itp.) Przyciągnięcie uwagi procesora.

Mechanizm sondowania i przerywania

Przerwania to specjalnie zorganizowane mechanizmy komunikacji urządzeń peryferyjnych. Urządzenia powiadamiają procesor, jeśli potrzebne jest działanie. Odpytywanie jest protokołem - CPU prosi urządzenia regularnie, jeśli wymagane jest działanie.

Obsługa odpytywania i przerywania

Podczas odpytywania mikrokontroler obsługuje urządzenie wymagające uwagi, a następnie przechodzi do następnego urządzenia do monitorowania. W przypadku przerwania, gdy odbierany jest sygnał przerwania, procesor zatrzymuje się z bieżącą aktywnością i obsługuje urządzenie. Przetworzone usługi lub przerywane nazywają się procedurą obsługi przerwania (ISR) lub procedurą obsługi przerwań.

procesor

W procesie odpytywania procesor jest zawieszony i sprawdza, czy jakieś urządzenie potrzebuje usługi. To niepotrzebnie marnuje czas. Z drugiej strony proces przerwania jest zakłócany tylko w razie potrzeby.

Wygląd sondowania i przerywania

Urządzenia mogą być odpytywane tylko w regularnych odstępach czasu, gdy są sprawdzane. Przerwanie może nastąpić w dowolnym momencie.

Zalety odpytywania i przerywania

Niektóre zalety pollingu to stosunkowo prosty program, niezawodność transmisji, która odbywa się z maksymalną prędkością, tj. Gdy tylko urządzenie I / O jest gotowe i nie ma potrzeby dodatkowych chipów dostępu. Przerwanie jest korzystne, ponieważ może obsługiwać wiele urządzeń, jest bardziej elastyczne i wydajne.

Wady sondowania i przerywania

Wady pollingu to czas gotowości niektórych urządzeń krótszy niż czas reakcji, a następnie inna metoda transmisji, a także to, że procesor zużywa niepotrzebny czas na sprawdzenie urządzeń, które nie szukały transmisji danych. Wady przerwań są wymaganiem dla bardziej złożonego sprzętu / oprogramowania i tracą czas, aż procesor ustali, które jednostki zażądają przerwania.

Polling vs. Interrupt: Tabela porównawcza

Podsumowanie wyników głosowania. Przerwać

  • W przypadku odpytywania wykonywany jest cykliczny odczyt urządzeń podłączonych do jednego procesora.Jeśli zewnętrzny obwód logiczny nie wymaga serwisowania, mikrokomputer analizuje następny zewnętrzny obwód logiczny. Jeśli jeden z nich wymaga serwisowania, mikrokomputer przełącza się na uruchomienie programu obsługującego odpowiedni zewnętrzny obwód logiczny.
  • Po przerwaniu, na żądanie logiki zewnętrznej, mikrokomputer przerywa działanie bieżącego programu i przełącza się na uruchomienie programu przerwania. Przerwana struktura umożliwia mikroprocesorowi reagowanie na zdarzenia asynchroniczne, to znaczy żądania z zewnętrznej logiki, aby nie czekać w pętli na zbadanie stanu zewnętrznego obwodu logicznego.