Co to jest przerwanie: rodzaje i zastosowania

Wypróbuj Nasz Instrument Do Eliminowania Problemów





Komputery PC używają żądań przerwań do obsługi różnych funkcji sprzętowych. Przerwania sprzętowe zostały po raz pierwszy wprowadzone przez UNIVAC 1103 w 1953 r. Pierwszy przypadek maskowania przerwań został wprowadzony przez IBM 650 w 1954 r. Konieczne jest przypisanie różnych IRQ do różnych urządzeń sprzętowych w celu wykonywania różnych funkcji. Podczas wykonywania programu urządzenia takie jak klawiatury, mysz wymagają usług procesora i generują przerwanie, aby zwrócić uwagę procesora i przetworzyć żądaną usługę. Są one znane jako przerywa . Jedna z magistral urządzenia we / wy jest przeznaczona do tego celu i jest znana jako procedura obsługi przerwania (ISR). Są one używane w różnych aplikacjach, takich jak zdarzenia wrażliwe na czas, transfer danych, podkreślanie nieprawidłowych zdarzeń, timery watchdog, pułapki itp.

Co to jest przerwanie?

Definicja: Nazywa się to wejściem sygnał który ma najwyższy priorytet dla zdarzeń sprzętowych lub programowych, które wymagają natychmiastowego przetworzenia zdarzenia. We wczesnych dniach komputerów edytor musiał czekać na sygnał, aby przetworzyć jakiekolwiek zdarzenia. Procesor powinien sprawdzić każdy sprzęt i oprogramowanie, aby zrozumieć, czy jest jakiś sygnał do przetworzenia. Ta metoda pochłaniałaby pewną liczbę cykli zegara i powoduje zajęcie procesora. Na wszelki wypadek, gdyby został wygenerowany jakikolwiek sygnał, procesor ponownie potrzebowałby trochę czasu na przetworzenie zdarzenia, co prowadzi do słabej wydajności systemu.




W celu przezwyciężenia tego skomplikowanego procesu wprowadzono nowy mechanizm. W tym mechanizmie sprzęt lub oprogramowanie wysyła sygnał do procesora, a nie procesor sprawdzający sygnał ze sprzętu lub oprogramowania. Sygnał ostrzega procesor o najwyższym priorytecie i zawiesza bieżące działania poprzez zapisanie jego aktualnego stanu i funkcji oraz natychmiastowo przetwarza przerwanie, znane jako ISR. Ponieważ nie trwa to długo, procesor uruchamia ponownie normalne działania zaraz po przetworzeniu.

Przerwać

Przerwać



Rodzaje przerwań

Są one podzielone na dwa główne typy.

Przerwania sprzętowe

Sygnał elektroniczny wysyłany z zewnętrznego urządzenia lub sprzętu w celu komunikacji z procesorem, wskazujący, że wymaga on natychmiastowej uwagi. Na przykład uderzenia z klawiatury lub akcja z myszy wywołują przerwania sprzętowe, które powodują, że procesor odczytuje je i przetwarza. Tak więc przychodzi asynchronicznie iw dowolnym momencie podczas wykonywania instrukcji.

Przerwania sprzętowe dzielą się na dwa typy


  • Maskowalne przerwania - Procesory muszą przerywać rejestr maski, który umożliwia włączanie i wyłączanie przerwań sprzętowych. Każdy sygnał ma bit umieszczony w rejestrze maski. Jeśli ten bit jest ustawiony, przerwanie jest włączane i wyłączane, gdy bit nie jest ustawiony lub odwrotnie. Sygnały, które przerywają procesory przez te maski, nazywane są przerwaniami maskowanymi.
  • Przerwania niemaskowalne (NMI) - NMI to działania o najwyższym priorytecie, które muszą być przetworzone natychmiast iw każdej sytuacji, na przykład sygnał przekroczenia limitu czasu generowany przez zegar nadzorujący.

Przerwania oprogramowania

Sam procesor żąda przerwania programowego po wykonaniu pewnych instrukcji lub w przypadku spełnienia określonych warunków. Może to być konkretna instrukcja, która wyzwala przerwanie, takie jak wywołanie podprogramu, i może zostać wyzwolona nieoczekiwanie z powodu błędów wykonania programu, zwanych wyjątkami lub pułapkami.

Metody wyzwalania

Ogólnie rzecz biorąc, sygnały te są zaprojektowane do wyzwalania przy użyciu poziomu sygnału logicznego lub zbocza sygnału. Te metody są dwojakiego rodzaju.

Przerwanie wyzwalane poziomem

W tym typie moduł wejściowy wywołuje przerwanie, jeśli zostanie zapewniony poziom usług. Jeśli źródło przerwania jest kontynuowane, gdy obsługa przerwań oprogramowania układowego je obsługuje, moduł ten regeneruje się i wyzwala procedurę obsługi, aby ponownie wywołać. Wejścia wyzwalane poziomem nie są dobre, jeśli są utrzymywane przez dłuższy czas.

Przerwanie wyzwalane zboczem

Moduł wejściowy przerwania wyzwalanego zboczem wywołuje przerwanie, gdy tylko zidentyfikuje zbocze asekuracyjne - zbocze opadające lub narastające. Krawędź zostaje zauważona, gdy zmienia się poziom źródła. Ten rodzaj wyzwalania wymaga natychmiastowego działania, niezależnie od aktywności źródła.

Wyzwalanie zboczem poziomu

wyzwalanie progiem poziomu

Implementacja systemu

Przerwania będą stosowane w sprzęcie jako inny element wraz z liniami sterującymi lub zintegrowany w pamięć podsystemy. Gdy implementacja jest wykonywana sprzętowo, potrzebuje programowalnego kontrolera przerwań (PCI) do połączenia między stykiem wejściowym procesora a urządzeniem przerywającym. PCI multipleksuje różne źródła przerwań do pojedynczej lub podwójnej linii procesora. W przypadku implementacji odnoszącej się do kontrolera pamięci, gniazdo adresowe pamięci systemu jest mapowane bezpośrednio z przerwaniami.

Wspólne żądania przerwania (IRQ)

Z przerwaniem wyzwalanym zboczem, pull-up lub pull-down rezystor służy do sterowania linią przerwania. Ta linia przesyła każdy impuls wytwarzany przez każde urządzenie. Jeśli impulsy przerwań generowane przez różne urządzenia zdarzają się w krótkim czasie, procesor musi wywołać końcowe zbocze impulsu, aby nie przegapić przerwania, po czym procesor zapewnia kontrolę każdego urządzenia pod kątem żądań serwisowych. Dobrze zachowujące się płyty główne z architekturą standardu przemysłowego (ISA) z rezystorami podciągającymi, które mają wspólne linie IRQ, muszą działać dobrze. Jednak wiele urządzeń współdzielących linię IRQ w starszych systemach ze źle zaprojektowanym interfejsem programistycznym utrudnia przetwarzanie przerwań. Z drugiej strony nowa architektura systemu, taka jak PCI, pomaga w znacznym rozwiązaniu tego problemu.

Hybrydowy

Hybrydowy typ implementacji systemu obejmuje zarówno sygnalizację wyzwalaną zboczem, jak i wyzwalaną poziomem. Sprzęt powinien szukać krawędzi, a także sprawdza, czy sygnał jest aktywny przez pewien czas. Typ hybrydowy jest powszechnie używany dla wejścia przerwania niemaskowalnego (NMI), co zapewnia, że ​​fałszywe przerwania nie wpływają na system.

Wiadomość - Sygnalizowane

Żądanie przerwania sygnalizowane komunikatem dla usługi przy użyciu sygnałów urządzenia przez przesłanie komunikatu przez łącze Komunikacja kanał, na przykład komputer autobus . Nie używają one fizycznej linii przerwań. PCI Express działa jako magistrala szeregowa i jest używany wyłącznie jako przerwania sygnalizowane komunikatami.

Dzwonek do drzwi

Przerywanie dzwonka jest powszechnie używane jako mechanizm przez system oprogramowania do sygnalizowania sprzętowi komputerowemu zakończenia pracy. Po wzajemnym uzgodnieniu między sprzętem a oprogramowaniem oprogramowanie umieszcza dane w dobrze znanej lokalizacji pamięci i dzwoni do drzwi, aby powiadomić sprzęt, że dane są gotowe i czekają na przetworzenie. Teraz urządzenie komputerowe rozumie, że dane są prawidłowe i odpowiednio je przetwarza.

Wieloprocesorowy IPI

W systemach wieloprocesorowych żądanie przerwania z procesora jest wysyłane do innego procesora przez przerwania międzyprocesorowe (IPI)

Typowe zastosowania / aplikacje

Są to zwykle potężne dane wejściowe

  • Obsługuj liczniki sprzętowe, obsługuj uderzenia klawiatury i działania myszy
  • Szybko reaguj na wydarzenia, w których liczy się czas lub w czasie rzeczywistym
  • Przesyłanie danych do iz urządzeń peryferyjnych
  • Reaguje na zadania o wysokim priorytecie, takie jak sygnały wyłączenia, pułapki i zegary nadzorujące
  • Wskazuje nieprawidłowe zdarzenia procesora
  • Przerywanie wyłączenia zasilania przewiduje utratę mocy, umożliwiając uporządkowane wyłączenie system
  • Okresowe przerwy w celu śledzenia czasu bezwzględnego

FAQs

1). Dlaczego używa się przerwań?

Służą one do zwrócenia uwagi procesora na wykonywanie usług wymaganych przez sprzęt lub oprogramowanie.

2). Co to jest NMI?

NMI to przerwanie niemaskowalne, którego procesor nie może zignorować ani wyłączyć

3). Jaka jest funkcja linii potwierdzenia przerwania?

Procesor wysyła sygnał do urządzeń wskazujący, że jest gotowy do przyjmowania przerwań.

4). Opisz przerwanie sprzętowe. Daj przykłady

Jest generowany przez zewnętrzne urządzenie lub sprzęt, taki jak klawisze klawiatury lub ruch myszy wywołuje przerwania sprzętowe

5). Opisz przerwanie programowe.

Jest zdefiniowany jako specjalna instrukcja, która wywołuje przerwanie, takie jak wywołanie podprogramu. Przerwania programowe mogą zostać wyzwolone nieoczekiwanie z powodu błędów wykonywania programu

6). Które przerwanie ma najwyższy priorytet?

  • Wyzwalane niemaskowalne zbocze i poziom
  • TRAP ma najwyższy priorytet

7). Wykorzystaj przerwanie

  • Szybko reaguj na wydarzenia, w których liczy się czas lub w czasie rzeczywistym
  • Przesyłanie danych do iz urządzeń peryferyjnych
  • Reaguje na zadania o wysokim priorytecie, takie jak sygnały wyłączenia, pułapki i zegary nadzorujące
  • Wskazuje nieprawidłowe zdarzenia procesora

8). Co to jest implementacja systemu hybrydowego?

Hybrydowy typ implementacji systemu obejmuje zarówno sygnalizację wyzwalaną zboczem, jak i wyzwalaną poziomem. Sprzęt powinien szukać krawędzi, a także sprawdza, czy sygnał jest aktywny przez pewien czas.

W tym artykule zrozumieliśmy znaczenie przerywa i jak są one wykorzystywane do wykonywania żądanych usług. Omówiliśmy również rodzaje, implementację systemu i jego zastosowania.