Różnica między odpytywaniem a przerwaniem

W pewnym momencie główny procesor przestaje działać i sprawdza, czy jakiś kontroler ma dla niego komunikat, jeśli tak, przetwarza komunikat i wznawia działanie. To się nazywa odpytywanie. Ponadto jasne 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 poinformuje główny procesor o żądaniu przerwania.

Co to jest ankieta??

W systemach, w których więcej zewnętrznych obwodów logicznych komunikuje się przez wiele połączeń U / I za pomocą jednego mikroprocesora, stosuje się odpytywanie U / I. Mikrokomputer okresowo wywołuje każdy zewnętrzny obwód logiczny i sprawdza, czy zażądał usługi. Jeśli zewnętrzny obwód logiczny nie wymaga serwisowania, mikrokomputer bada następny zewnętrzny obwód logiczny itp. Jeśli jeden 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óry może wysyłać dane po wywołaniu (jeśli takie mają). Jeśli klient ma dane, wysyła je po ankiecie, a jeśli nie ma danych, klient odpowiada negatywnie, a serwer dzwoni do następnego klienta. Niektóre urządzenia mogą wymagać serwisowania ze sterownika (np. Gdy pewne urządzenie zakończy pomiar lub gdy wystąpi błąd). Żądanie jest wysyłane do kontrolera poprzez ustawienie niskiego poziomu linii SRQ. Po otrzymaniu żądania usługi kontroler dzwoni do wszystkich urządzeń magistrali, aby znaleźć urządzenie, które wysłało to żądanie.

Co to jest Przerwanie?

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 tak zwane przetwarzanie przerwania BIOS lub DOS. Po przetworzeniu przerwania procesor kontynuuje wykonywanie przerwanego programu. Również sam program aplikacji może zawierać instrukcję, która wzywa do wykonania procedury przerwania systemu BIOS lub DOS. Operacje wejścia-wyjścia są najczęściej wykonywane w ten sposób. Na przykład, jeśli program chce wydrukować znak na ekranie, może to zrobić przez wywołanie odpowiedniej procedury 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ść zastąpienia kanałów wejścia-wyjścia, możliwość kontrolowania błędów itp.). Dlatego przerwanie sprzętowe to sygnał odbierany przez procesor z innego urządzenia w komputerze, a przerwanie programowe to proces wykonywania procedury BIOS lub DOS (podprogram), który jest automatycznie wywoływany w celu przetworzenia odebranego sygnału przerwania lub wywoływany w celu wykonania odpowiednie instrukcje.

Różnica między odpytywaniem a przerwaniem

Tło odpytywania i przerwania

W pierwszym przypadku procesor sprawdza w regularnych odstępach czasu, czy urządzenie wymaga działania. W przypadku przerwania istnieje mechanizm, dzięki któremu procesor pozwala urządzeniu zewnętrznemu (np. Klawiaturze, karcie dźwiękowej itp.) Przyciągnąć uwagę procesora.

Mechanizm odpytywania i przerwania

Przerwania to specjalnie zorganizowane mechanizmy komunikacji urządzeń peryferyjnych. Urządzenia powiadamiają CPU, jeśli konieczne jest działanie. Odpytywanie to protokół - CPU regularnie pyta urządzenia, czy wymagane jest działanie.

Obsługa odpytywania i przerwania

Podczas odpytywania usług mikrokontrolera urządzenie wymaga uwagi, a następnie przechodzi do następnego urządzenia do monitorowania. W przypadku przerwania, gdy odbierany jest sygnał przerwania, procesor zatrzymuje się przy bieżącej aktywności i obsługuje urządzenie. Przetworzone usługi lub przerwanie nosi nazwę procedury obsługi przerwań (ISR) lub procedury obsługi przerwań.

procesor

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

Wygląd odpytywania i przerwania

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 przerwania

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

Wady odpytywania i przerwania

Wadą odpytywania jest czas czuwania niektórych urządzeń, który jest krótszy niż czas odpowiedzi, a następnie należy zastosować inną metodę transmisji, a także to, że procesor zużywa niepotrzebny czas na sprawdzanie urządzeń, które nie szukały transferu danych. Wadami przerwań są wymóg bardziej złożonego sprzętu / oprogramowania i straty czasu do momentu, aż CPU ustali, które jednostki żądają przerwania.

Polling vs. Interrupt: Tabela porównawcza

Podsumowanie ankiet vs. Przerwać

  • W przypadku odpytywania odbywa się cykliczny odczyt urządzeń podłączonych do jednego procesora. Jeśli zewnętrzny obwód logiczny nie wymaga serwisowania, mikrokomputer sprawdza 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 zewnętrznej logiki, mikrokomputer przerywa działanie bieżącego programu i przełącza się na uruchomienie programu przerywającego. Przerwana struktura pozwala mikroprocesorowi reagować na zdarzenia asynchroniczne, tj. Żądania z zewnętrznej logiki, nie czekając w pętli na sprawdzenie stanu zewnętrznego obwodu logicznego.