Heim / Anweisungen / Wofür wird die Interrupt-Nummer irq verwendet? System-Interrupts belasten den Prozessor. Die Hauptfunktionen des Interrupt-Mechanismus

Wofür wird die Interrupt-Nummer irq verwendet? System-Interrupts belasten den Prozessor. Die Hauptfunktionen des Interrupt-Mechanismus

Ein häufiges Problem mit dem Windows-Betriebssystem jeder Edition ist das Laden von Computerressourcen durch "interne" Prozesse. Einer dieser Prozesse ist ein System-Interrupt, der Computerressourcen ernsthaft belasten kann, was im Task-Manager angezeigt wird. Die häufigste Situation ist, wenn ein System-Interrupt den Prozessor belastet, wodurch der Computer ernsthaft an Leistung verliert. In diesem Artikel werden wir untersuchen, warum dies geschieht und ob es möglich ist, Systemunterbrechungen in Windows zu deaktivieren.

Systemunterbrechungen: Was ist dieser Prozess

Standardmäßig wird der Systemunterbrechungsprozess im Windows-Betriebssystem ständig ausgeführt, aber während des normalen Betriebs sollte er Systemkomponenten nicht um mehr als 5% belasten. Wenn ein dieser Prozess die Ressourcen des Computers ernsthafter beeinträchtigt, weist dies auf das Vorhandensein eines Hardwareproblems hin, nämlich einer Fehlfunktion im Betrieb einer der Computerkomponenten.

Wenn "Systemunterbrechungen" den Prozessor laden, kann dies auf eine Fehlfunktion der Grafikkarte hinweisen. Hauptplatine, RAM oder ein anderes Element Systemblock. Der zentrale Prozessor versucht, die fehlende Leistung, die dadurch entstanden ist, nicht zu ergänzen korrekter Betrieb Komponente unter Verwendung ihrer eigenen Ressourcen, wie durch den "Traps"-Prozess belegt. Meistens ist das Problem des unsachgemäßen Betriebs von Computerkomponenten mit vollständiger oder teilweiser Inkompatibilität verbunden laufendes Programm(oder Spiele) mit Computerkomponententreibern.

So deaktivieren Sie Systemunterbrechungen

Wie oben erwähnt, sind Systemunterbrechungen nichts anderes als ein Indikator dafür, dass Windows zusätzlich auf CPU-Ressourcen zugreift. Das Deaktivieren von Systemunterbrechungen zur Verbesserung der Computerleistung funktioniert nicht, und Sie müssen nach einem Problem beim Betrieb von PC-Komponenten suchen. Verwenden Sie dazu bequem die Anwendung DPC Latency Checker, die kostenlos im Internet von der Website der Entwickler heruntergeladen werden kann. Mit dem Programm können Sie fehlerhafte Computerkomponenten identifizieren.

Um das System mit der Anwendung DPC Latency Checker zu diagnostizieren, führen Sie sie aus und warten Sie. Die Überprüfung des Computers dauert einige Zeit. Danach wird der Benutzer auf dem Diagramm sehen, ob es Probleme beim Betrieb der Systemkomponenten gibt. Die App zeigt auch auf mögliche Fehler und rät Ihnen, nach ihnen zu suchen und die Geräte auszuschalten.

Gehen Sie dazu zum "Geräte-Manager", indem Sie mit der rechten Maustaste auf "Start" klicken und das entsprechende Element auswählen, und beginnen Sie, die Geräte nacheinander auszuschalten. Überprüfen Sie nach jedem Herunterfahren im "Task Manager" und in der Anwendung DPC Latency Checker, ob die Probleme mit der Prozessorbelastung durch Systemunterbrechungen behoben wurden. Wenn das Problem weiterhin besteht, schalten Sie das Gerät wieder ein und fahren Sie mit dem nächsten fort.

Wichtig: Deaktivieren Sie beim Deaktivieren von Komponenten im "Geräte-Manager" nicht "Computer", "Prozessor" und "Systemgeräte", da dies sonst zu einem Notfall-Neustart des Computers führt.

Wenn ein Gerät gefunden wird, das beim Trennen die Belastung des Prozessors auf den Normalwert reduziert, aktualisieren Sie die Treiber für diese Komponente von der offiziellen Website der Entwickler.

Beachten Sie: Wenn versucht wurde, alle Systemkomponenten zu deaktivieren, der Systemunterbrechungsprozess das System jedoch weiterhin lädt, versuchen Sie, die Prozessortreiber zu aktualisieren.

In einer Situation, in der die obigen Tipps nicht helfen, das Problem der Prozessorbelastung mit Systemunterbrechungen zu lösen, können Sie auch die folgenden Möglichkeiten ausprobieren, um die Situation zu beheben:

Es ist erwähnenswert, dass Sie Systemunterbrechungen nicht über den "Task-Manager" deaktivieren sollten, da dies das System zum Absturz bringt, das Problem jedoch nicht löst.

Systemprozesse, von denen normale Computerbenutzer oft keine Ahnung haben, können sehr oft eine erhöhte Belastung der Rechenressourcen des Computers verursachen. Dazu gehören insbesondere die sogenannten System-Interrupts. Was das ist, wissen die meisten nicht und versuchen oft, diesen Dienst direkt im „Task-Manager“, wo die CPU- und RAM-Auslastung angezeigt wird, herunterzufahren. Ein wenig vorausschauend sei gesagt, dass es sich auf keinen Fall lohnt, solche Dinge zu tun. Aber wie kann man das System dann zum Leben erwecken? Es wird vorgeschlagen, ausführlicher darüber zu sprechen, zumal bei Betrachtung des Hauptproblems andere Probleme im Zusammenhang mit dem fehlerhaften Funktionieren der „eisernen“ Komponenten, der Windows-Betriebssysteme selbst und der in ihrer Umgebung installierten Software auftreten können Weg. Aber der Reihe nach.

Was ist das?

Bevor Sie Schritte zur Fehlerbehebung unternehmen, sollten Sie herausfinden, um welche Systemkomponente es sich handelt. Im Task-Manager ist der ständig laufende Prozess System Interrupts für dessen Funktionieren verantwortlich.

Aber was ist es? Ohne auf technische Details einzugehen und zu sagen, was es ist, können Systemunterbrechungen mit einer Art Lackmustest oder einem Indikator verglichen werden, der anzeigt, dass das System Fehlfunktionen in einigen Geräten aufweist. Darüber hinaus kann eine Erhöhung der Ressourcenbelastung auch auf die Inkompatibilität der Soft- und Hardware des Computers zurückzuführen sein. Im Normalzustand übersteigt die Belastung des Prozessors durch diesen Prozess normalerweise nicht fünf Prozent oder etwas mehr, was völlig ausreicht, um alle derzeit verwendeten "Hardware" -Geräte auf korrekte Funktion zu diagnostizieren, wenn die Belastung über die angegebene Grenze steigt , ist es dringend erforderlich, Geräteprobleme zu beheben und zu beheben.

Wie es funktioniert: die einfachste Erklärung

Aber werfen wir einen Blick darauf, welche Systemunterbrechungen in Windows 7 oder anderen Modifikationen vorhanden sind einfaches Beispiel. Es sei gleich darauf hingewiesen, dass bei Software der Betrieb dieser Komponente mit nicht ausführbaren Programmelementen verbunden ist, die beispielsweise in den Arbeitsspeicher geladen werden können (dynamische Bibliotheken, Gerätetreiber etc.).

Angenommen, Sie haben ein modernes Spiel auf Ihrem Computer installiert, aber die Grafikkarte erfüllt nur die Mindestanforderungen. System Anforderungen, oder die Konfiguration liegt unter diesem Schwellenwert. Wenn der Grafikchip die Verarbeitung von Softwarekomponenten nicht bewältigen kann, was zu einer erhöhten Belastung führt, sind Systemunterbrechungen in den Fall eingeschlossen. Auf deren Kosten wird die Befehlsverarbeitung an den zentralen Prozessor umgeleitet, der versucht, der Videokarte zu helfen, die erhöhte Anzahl von Anforderungen zu bewältigen. Dementsprechend kommt es von Seiten des beschriebenen Vorgangs im "Task-Manager" zu einer Erhöhung der Last. Und oft führt das Auftreten solcher Situationen nicht nur zum Einfrieren des gesamten Systems, sondern sogar zum Auftreten von Bluescreens. Das Gleiche gilt, wenn Geräte ausfallen. Leider kann all dies im Falle von Ausfällen der "eisernen" Komponenten des Systems gleichermaßen für alle von ihnen gelten (z. Festplatte, RAM-Störungen usw.).

System-Interrupts belasten den Prozessor: Was ist zuerst zu tun?

Lassen Sie uns auf der Grundlage der obigen theoretischen Informationen zu praktischen Maßnahmen übergehen, die es uns ermöglichen, auftretende Probleme zu beseitigen und solche Situationen zu korrigieren. Was zuerst tun? Seltsamerweise klingt es, aber manchmal reicht es aus, den häufigsten Neustart durchzuführen, mit dem Sie alle Softwarekomponenten von Drittanbietern deaktivieren können. Aber schließlich kann sich die Situation wiederholen, wenn Sie eine Anwendung neu starten. In diesem Fall sollten Sie hierzu umgehend den Status der Treiber mit dem „Geräte-Manager“ überprüfen. Gut möglich, dass der Konflikt zwischen Soft- und Hardware nur von ihnen provoziert wurde.

Installieren Sie nach Möglichkeit Steuerungssoftware für problematische Geräte, die im „Dispatcher“ mit einem gelben Dreieck gekennzeichnet werden können Ausrufezeichen, und aktualisieren Sie Treiber für alle andere Hardware mit automatisierten Dienstprogrammen wie Driver Booster.

Verfolgen von Lasten mit einem speziellen Dienstprogramm

Wenn die Aktionen zum Installieren und Aktualisieren von Treibern nicht zum gewünschten Ergebnis führen, müssen Sie andere Methoden anwenden. Leider gibt es solche Tools nicht im Toolkit von Windows-Systemen.

Wenn also bemerkt wird, dass Systemunterbrechungen Ressourcen laden, empfehlen die meisten Experten die Verwendung eines kleinen Programms namens DPC Latency Checker, das in portabler Form präsentiert wird und keine Installation auf einem PC erfordert. Darin besteht der erste Schritt darin, das Scannen zu aktivieren, danach werden in den Scan-Ergebnissen Empfehlungen zur Fehlerbehebung gegeben. Meistens sind sie jedoch nur mit dem Abschluss einiger Prozesse verbunden, die sowohl Programmen als auch den derzeit verwendeten Geräten entsprechen, oder es wird eine Empfehlung ausgegeben, auf den "Geräte-Manager" zu verweisen. Aber wir müssen es verwenden und das Diagnosedienstprogramm als eine Art Mittel zur Änderung der Lastverfolgung aktiv lassen. Verwechseln Sie die in diesem Programm angezeigten Lasten nicht mit denen, die im Task-Manager angezeigt werden.

Deaktivieren von Komponenten im "Geräte-Manager"

Was diesen Abschnitt der Geräteverwaltung anbelangt, besteht der Kern der Fehlerbehebung darin, die im System installierten Geräte nacheinander auszuschalten, gefolgt von der Überprüfung der Lasten mit dem oben genannten Dienstprogramm.

Bitte beachten Sie, dass es streng verboten ist, die in den Abschnitten „Computer“, „Prozessoren“ und „Systemgeräte“ vorgestellten Geräte auszuschalten, da solche Aktionen zu einem unbefugten Herunterfahren und Neustarten des Computers führen können. Was nützt es, und das gesamte Betriebssystem fällt aus.

Für die verbleibenden Komponenten sollte, nachdem zuvor die Anzeige versteckter Geräte im Ansichtsmenü aktiviert wurde, jede Komponente über das RMB-Menü deaktiviert und dann die Diagnose im Lastverfolgungsprogramm erneut aktiviert werden. Wenn in den Testergebnissen nach der Deaktivierung eines Geräts die Last auf den Normalwert abfällt und klar ist, dass diese bestimmte Komponente fehlerhaft ist. Hilft eine Neuinstallation des Treibers nicht, muss das Gerät ausgetauscht werden.

Was soll ich tun, wenn das Ladeproblem weiterhin besteht?

Aber was ist es? System-Interrupts führen immer noch zu einer erhöhten Belastung des Prozessors. Was könnte noch zu dieser Situation beigetragen haben? Aus irgendeinem Grund (und das ist wahr) ist die Hauptursache für dieses Verhalten des Systems in den meisten Fällen ein Problem mit veralteten oder eingebauten Soundgeräten auf der Hauptplatine, für die verbesserte Soundeffekte erforderlich sind.

Als Option - in den Soundeinstellungen Windows-Tools, deaktivieren Sie dieses Element, wodurch automatisch alle installierten Effekte deaktiviert werden. Beachten Sie, dass sie sich speziell auf die Software beziehen und nicht auf Hardwaretyp, daher funktioniert das Ausschalten des Hauptgeräts möglicherweise nicht.

Probleme mit primären Input/Output-Systemen

Schließlich schließen viele Experten das Auftreten von Problemen beim Betrieb der primären BIOS / UEFI-Systeme nicht aus, die mit Veralterung verbunden sein können Original-Firmware. In diesem Fall werden neue und modernere Geräte möglicherweise nicht richtig erkannt. Wie bereits klar ist, wird der Ausweg darin bestehen, das Firmware-Update herunterzuladen und zu installieren. Wenn Sie solche Prozesse für UEFI jedoch direkt in einem laufenden Betriebssystem ausführen können, sollten Sie mit Experimenten im BIOS äußerst vorsichtig sein. Eine falsche Firmware oder eine fehlerhafte Installation kann auch dazu führen, dass das gesamte Computersystem nicht mehr funktioniert.

Kurze Zusammenfassung

Das war es in Kürze, und das ist alles, was zu den Interrupt-Systemaufrufen gehört. Auf der Grundlage des Vorstehenden wird empfohlen, die auftretenden Probleme durch Verwendung des angegebenen Diagnoseprogramms mit sequenziellem Herunterfahren des Geräts zu beseitigen. Gegebenenfalls müssen defekte Komponenten ausgetauscht werden. Als zusätzliches Tool, mit dem Probleme mit RAM-Sticks identifiziert werden können, ist es ratsam, das Dienstprogramm Memtest86+ zu verwenden, jedoch ohne notwendigen Kenntnisse es wird keinen Sinn machen.

Gut, wenn der Rechner nach dem Zusammenbau oder einem geplanten Upgrade das erste Mal hochfährt und stabil und störungsfrei arbeitet. Viel schlimmer ist es, wenn unerwartete Probleme auftreten - spontane Neustarts und Einfrieren, Programmabstürze, Funktionsunfähigkeit oder "Unsichtbarkeit" von Geräten usw. Der erste Grund, der in diesem Fall normalerweise in den Sinn kommt, ist ein Interrupt-Konflikt. Aber kennen wir die Natur dieses Phänomens gut, sind wir ausreichend darauf vorbereitet, es zu bekämpfen?

Was ist IRQ
Interrupts sind der grundlegende Mechanismus für das System, um auf auftretende Ereignisse zu reagieren. Hardware-Interrupts, die allgemein als IRQ (Interrupt ReQuest) bezeichnet werden physikalische Signale, mit dem der Gerätecontroller den Prozessor über die Notwendigkeit informiert, eine Anfrage zu verarbeiten. Herkömmlicherweise sieht das Interrupt-Behandlungsschema wie folgt aus:
1) der Prozessor empfängt ein Unterbrechungssignal und seine Nummer;
2) Unter Verwendung einer speziellen Tabelle wird die Adresse des Programms gefunden, das für die Behandlung des Interrupts mit der angegebenen Nummer verantwortlich ist - der Interrupt-Handler;
3) der Prozessor unterbricht die aktuelle Arbeit und wechselt zur Ausführung des Handlers (im Allgemeinen ist dies eine Art Treiber);
4) der Treiber erhält Zugriff auf das Gerät und prüft die Ursache des Interrupts;
5) Die angeforderten Aktionen werden gestartet - Initialisierung, Gerätekonfiguration, Datenaustausch usw.
6) der Treiber verlässt und der Prozessor kehrt zu der unterbrochenen Aufgabe zurück.
Damit der Interrupt-Mechanismus korrekt funktioniert, müssen natürlich zwei Bedingungen erfüllt sein: Erstens muss das Anforderungssignal den Prozessor erreichen und zweitens muss der Handler-Treiber korrekt auf dieses Signal reagieren. Im Konfliktfall ist die zweite Bedingung nicht erfüllt: Das Interrupt-Signal kommt, aber die Reaktion darauf erweist sich als falsch, wodurch wir (bestenfalls) ein funktionsunfähiges Gerät haben.

Konflikt
Wir können sagen, dass ein Konflikt eine Situation ist, in der mehrere Objekte gleichzeitig versuchen, auf eine Ressource zuzugreifen, die nur für eines von ihnen bestimmt ist. Ein Interrupt-Konflikt tritt auf, wenn mehrere Geräte dieselbe Interrupt-Leitung verwenden, um ein Anforderungssignal zu senden, und es keinen Mechanismus gibt, um konkurrierende Anforderungen zu verarbeiten. Wenn der Treiber beim Empfangen der Steuerung mit einem anderen Gerät arbeitet, das die Anforderung gesendet hat, tritt entweder ein Fehler auf oder eines der Geräte funktioniert einfach nicht.
Es stellt sich die Frage: Können mehrere Geräte die gleiche Interruptleitung nutzen, oder ist das prinzipiell unmöglich? Denn wenn der Fahrer feststellen kann, von wem die Anfrage genau stammt, antwortet er nur auf Signale „seines“ Geräts und ignoriert alle anderen. Aber das muss vorher irgendwie vereinbart werden, sonst sind Konflikte unvermeidlich.
Der lokale PCI-Bus wurde mit entworfen teilen unterbricht. Jedes PCI-Gerät muss auf derselben Interrupt-Leitung wie andere PCI-Geräte korrekt funktionieren. Dies geschieht wie folgt: Das Vorhandensein eines Signals auf der Unterbrechungsleitung wird nicht durch die Front bestimmt, d.h. Änderung des Spannungspegels, sondern durch das Vorhandensein einer bestimmten Spannung. Mehrere Geräte können die Spannung in der Leitung gleichzeitig ändern und sozusagen in einer Warteschlange für den Service stehen.
Daher ist die gemeinsame Nutzung desselben IRQ durch mehrere PCI-Geräte per Definition kein Konflikt. Allerdings treten manchmal Probleme auf. Erstens arbeiten nicht alle PCI-Geräte korrekt auf derselben Interrupt-Leitung wie andere. Zweitens haben Treiber manchmal Fehler, die sie daran hindern, die Signalquelle korrekt zu identifizieren und andere Treiber zu stören. Drittens arbeiten nicht alle Geräte am PCI-Bus; Beispielsweise können ISA-Geräte, zu denen beispielsweise COM/LPT-Port-Controller gehören, Interrupts nicht mit anderen teilen. Um eine klare Vorstellung davon zu haben, wie Konflikte vermieden oder beseitigt werden können, müssen Sie den Mechanismus der IRQ-Verwaltung verstehen.

Organisation von Hardwareunterbrechungen in einem Personalcomputer
Wie Sie wissen, persönliche Computer begann mit dem IBM-PC. Seine Architektur sah acht Leitungen von Hardware-Interrupts (IRQ) vor, die von einem speziellen Controller gesteuert wurden. Jedem von ihnen wurde eine Nummer zugeordnet, die die Interrupt-Priorität und die Adresse seines Handlers (der sogenannte Interrupt-Vektor) festlegte. Die neue Architektur, IBM PC AT, sah acht weitere Interrupt-Leitungen vor, für die ein zweiter Controller verwendet wurde, der mit einer der Interrupt-Leitungen des ersten Controllers verbunden war. Leider war diese Architektur die letzte, nachdem IBM die Möglichkeit verloren hatte, die Entwicklung der von ihr geschaffenen Plattform zu verwalten, sodass alle modernen Computer immer noch nur sechzehn Interrupts haben, von denen einer vom zweiten Controller verwendet wird.
Der IBM PC AT-Computer hatte nur einen Bus, über den Geräte mit dem Prozessor und dem Speicher kommunizieren konnten - ISA. Die meisten Interrupt-Leitungen wurden Standard-ISA-Geräten zugewiesen, der Rest war für die Zukunft reserviert. Als diese Zukunft kam, stellte sich heraus, dass der neue universelle PCI-Bus nur vier freie Interrupts hatte. Daher wurde ein kniffliger Mechanismus für die gemeinsame Nutzung von Interrupts (IRQ Sharing) und die dynamische Neudefinition von Zahlen (IRQ Steering oder Mapping) erfunden.
Das Wesentliche des Unterbrechungssteuermechanismus für PCI-Geräte ist wie folgt. Im Allgemeinen gibt es vier physikalische PCI-Interrupt-Leitungen, genannt PIRQ0, PIRQ1, PIRQ2 und PIRQ3. Sie sind mit dem Interrupt-Controller verbunden. Jedes PCI-Gerät hat seinerseits vier Anschlüsse, die als INT A, INT B, INT C und INT D bezeichnet werden. Sie können die Leitungen in beliebiger Reihenfolge an die Anschlüsse anschließen. Für den ersten PCI-Steckplatz können Sie beispielsweise die folgende Verkabelung vornehmen: PIRQ0 - INT A, PIRQ1 - INT B, PIRQ2 - INT C, PIRQ3 - INT D. Und für den zweiten - auf andere Weise: PIRQ0 - INT B , PIRQ1 - INT C, PIRQ2 - INT D, PIRQ3 - INT A. Normalerweise benötigt das Gerät nur eine an INT A angeschlossene Unterbrechungsleitung. Wenn es im ersten Steckplatz installiert ist, verwendet das Gerät die PIRQ0-Leitung und im zweiten Steckplatz die Die PIRQ1-Leitung befindet sich auf demselben Pin. Somit verwenden Geräte in unterschiedlichen Steckplätzen unterschiedliche physikalische Unterbrechungsleitungen. Hardwarekonflikte zwischen ihnen werden ausgeschlossen.
Der AGP-Bus, der eigentlich eine spezialisierte Modifikation von PCI ist, verwendet auch eine der PIRQ-Leitungen – normalerweise PIRQ0.
Vier Leitungen reichen für moderne Systeme nicht aus, daher verwenden neue Chipsätze oft acht PIRQ-Leitungen, die auf die gleiche Weise in unterschiedlichen Kombinationen mit PCI-Steckplätzen und in der Platine verbauten Geräten verbunden sind.
Die PIRQ-Leitungen sind mit dem Interrupt-Controller verbunden. Ihnen werden wie anderen Leitungen logische IRQ-Nummern zugewiesen. Wenn sich mehrere Geräte auf derselben physikalischen Leitung befinden (und dies erlaubt ist), dann haben sie alle dieselbe IRQ-Nummer. Wenn sich die Geräte auf unterschiedlichen physikalischen Leitungen befinden, können sie dennoch dieselben IRQ-Nummern empfangen. Normale Treiber erlauben ihnen ein freies Arbeiten ohne Leistungsverlust, da der PCI-Bus ohnehin nur von einem Gerät erfasst werden kann. Die Hauptsache ist, zu erkennen, von welchem ​​Gerät das Signal kam.
Nummern für PIRQ-Leitungen werden dank des berüchtigten Plug&Play-Mechanismus automatisch vergeben. Es gibt aber auch ISA-Geräte, die Plug&Play unterstützen. Auch sie haben die Möglichkeit, automatisch eine IRQ-Nummer zu erhalten. Aber ihre Interrupt-Leitung gehört ihnen exklusiv, und wenn eine der PIRQ-Leitungen die gleiche Nummer bekommt, entsteht ein unlösbarer Konflikt.
Wir haben also herausgefunden, dass PCI-Geräte frei von IRQ-Konfliktproblemen sein sollten. Wenn sie natürlich richtig funktionieren, und das ist nicht immer der Fall. Zusätzlich müssen Treiber den Mechanismus zum Teilen von Interrupts unterstützen. ISA-Geräte teilen sich keine Interrupt-Leitungen und sind daher Konfliktverursacher. Damit reduziert sich das Problem der Konfliktlösung auf die richtige Nummernverteilung (Problemquelle sind ISA-Geräte und „krumme“ Treiber) oder auf die Vermehrung entlang unterschiedlicher physikalischer Linien („krumme“ PCI-Controller).
Schauen wir uns an, wie Zahlen im System verteilt sind und wie wir diesen Prozess beeinflussen können.

Karte unterbrechen
Wie gesagt, die meisten IRQ-Nummern sind bereits von Standardgeräten belegt bzw. ihren Interrupt-Leitungen zugeordnet. Gehen wir der Reihe nach vor:
0 - Systemtimer (Nummer ist immer besetzt);
1 - Tastatur (die Nummer ist immer besetzt);
2 - zweiter Interrupt-Controller (immer besetzt);
3 - COM-Port 2 (kann deaktiviert und die Nummer freigegeben werden);
4 - Port COM1 (kann deaktiviert und die Nummer - freigegeben werden);
5 - Port LPT2 (normalerweise ist die Nummer kostenlos);
6 - Diskettencontroller (möglicherweise deaktiviert und die Nummer - freigegeben);
7 - Port LPT1 (wenn nicht im EPP- oder ECP-Modus, dann ist die Nummer frei);
8 - Echtzeituhr (immer beschäftigt);
9 - kostenlos;
10 - kostenlos;
11 - frei;
12 - PS / 2-Maus (kann kostenlos sein, wenn es keine solche Maus gibt);
13 - Koprozessor (immer beschäftigt);
14 und 15 - Festplattencontroller (kann deaktiviert werden, und die Nummer wird freigegeben).
In einem typischen System sind die Nummern 5, 7, 9-11 kostenlos, also fünf von fünfzehn. Darüber hinaus können Sie COM2- und LPT1-Ports sicher deaktivieren, indem Sie die Anzahl der freien Nummern auf sieben erhöhen. Kostenlos - bedeutet nicht, dass sie nicht beschäftigt sind, es ist nur ein freies Mischen zwischen ihnen möglich.
In jedem System gibt es drei Standard-PCI-Geräte – ACPI, USB-Controller und eine Videokarte, die jeweils eine Nummer belegen. Ein komplexes Gerät (z. B. eine Soundkarte) kann mehrere Leitungen erfordern - INT A, INT B usw. für ihre Komponenten, die nicht miteinander in Konflikt geraten (immerhin unterschiedliche physikalische Leitungen), sondern mit anderen Geräten - leicht.
Es gibt mehrere Möglichkeiten herauszufinden, wie Interrupt-Nummern derzeit zugewiesen sind. Gleich zu Beginn des Computerstarts wird eine Textkonfigurationstabelle angezeigt. Unmittelbar danach kommt eine Liste von PCI-Geräten mit Angabe der ihnen zugewiesenen IRQ-Nummer (siehe Screenshot). Der andere Weg funktioniert unter Windows 9x. In der Systemsteuerung gibt es ein Symbol "System", im aufgerufenen Applet - die Registerkarte "Geräte". Wir wählen die Eigenschaften des Geräts „Computer“ aus, und dort werden alle Geräte mit ihrem IRQ aufgelistet (siehe Screenshot).
In Windows 2000 haben wir keinen Zugriff auf die Interrupt-Verwaltung. Um die Liste der IRQs anzuzeigen, müssen wir also das Standard-Informationsdienstprogramm verwenden (Systemsteuerung/Verwaltung/Computerverwaltung/Systeminformationen/Hardwareressourcen).

IRQ-Nummern über das BIOS zuweisen
In dem System werden IRQ-Nummern zwischen physikalischen Leitungen zweimal zugewiesen. Das erste Mal, wenn das System-BIOS dies tut, ist, wenn das System hochfährt. Jedem Plug&Play-Gerät (alle PCI, moderne ISA, integrierte Geräte) bzw. seiner Interrupt-Leitung wird eine von zehn möglichen Nummern zugewiesen. Wenn es nicht genug Nummern gibt, bekommen mehrere Zeilen eine gemeinsame. Wenn dies PIRQ-Leitungen sind, dann ist es in Ordnung - wenn Sie normale Treiber und Unterstützung vom Betriebssystem haben (siehe unten), wird alles funktionieren. Und wenn mehrere ISA-Geräte oder PCI- und ISA-Geräte die gleiche Nummer bekommen, dann ist ein Konflikt einfach vorprogrammiert und man muss in den Verteilungsprozess eingreifen.
Zunächst müssen Sie alle nicht verwendeten ISA-Geräte deaktivieren (in Systemen ohne ISA-Steckplätze sind sie auch vorhanden) - Ports COM1, COM2 und das Laufwerk. Sie können auch die EPP- und ECP-Modi des LPT-Ports deaktivieren, dann wird der IRQ7-Interrupt verfügbar.
Im BIOS-Setup benötigen wir den Abschnitt "PCI / PNP Configuration". Es gibt zwei grundlegende Weise IRQ-Nummernzuweisungen beeinflussen: eine bestimmte Nummer sperren und direkt eine PIRQ-Leitungsnummer zuweisen.
Die erste Methode ist für alle BIOS verfügbar: Suchen Sie die Liste der Elemente „IRQ x used by:“ (in neueren BIOS ist sie im Untermenü „IRQ Resources“ versteckt). Diejenigen Interrupts, die ausschließlich ISA-Geräten zugewiesen werden sollen, sollten auf "Legacy ISA" eingestellt werden. Beim Verteilen von Nummern an PCI-Geräte werden diese Interrupts daher übersprungen. Sie sollten dies tun, wenn ein ISA-Gerät hartnäckig auf denselben Interrupt mit dem PCI-Gerät gerät, weshalb beide nicht funktionieren. Dann finden wir die Nummer dieses IRQ und deaktivieren ihn im BIOS-Setup. Das PCI-Gerät bewegt sich auf die neue IRQ-Nummer, aber das ISA-Gerät bleibt. Der Konflikt wird gelöst.
Die zweite, bequemere Möglichkeit, IRQ-Nummern zu verwalten, ist die direkte Zuweisung. Im selben BIOS-Setup-Untermenü können Einträge wie „Slot X use IRQ“ (andere Namen: „PIRQx use IRQ“, „PCI Slot x priority“, „INT Pin x IRQ“) vorhanden sein.
Mit ihrer Hilfe kann jeder der vier PIRQ-Linien eine bestimmte Nummer zugeordnet werden. Übrigens können Sie im neuen AwardBIOS 6.00 sehen, welche Geräte (auch eingebaute) eine bestimmte Leitung verwenden. Sehen Sie sich einfach die rechte Seite des BIOS-Setup-Bildschirms an: Das Foto zeigt, wie ich mit der Maus über „Slot 1/5 use IRQ no.“ schwebe, und „Display Contr.“ erschien rechts. Das heißt, die erste PIRQ-Leitung wird von der Videokarte verwendet. Wenn ich jetzt anstelle von "Auto" eine bestimmte Zahl einstelle, wird die Grafikkarte auf diesen Interrupt gelegt.

Windows IRQ-Zuweisung
Beim zweiten Mal werden die Interrupt-Nummern vom Betriebssystem zugewiesen. Wie meine Experimente gezeigt haben, beginnt Windows "98 nur in extremen Fällen, die vom BIOS ausgeführten Aktionen zu stören". Wenn Sie ein normales BIOS haben, werden die hier beschriebenen Techniken nicht benötigt.
Beachten Sie, dass Windows den Motherboard-Chipsatz erkennen und den IRQ-Miniport laden muss, damit die IRQ-Freigabe und die dynamischen Zuweisungsmechanismen ordnungsgemäß funktionieren. Je neuere Windows-Version, desto mehr Chipsätze werden vom eigenen Miniport (PCIIMP.PCI) unterstützt. Es ist jedoch immer besser, auf Nummer sicher zu gehen und die neuesten Chipsatztreiber zu installieren.
In Windows 98 wird das IRQ-Verteilungssystem mit dem Standard-Gerätemanager verwaltet. In der Liste der Systemgeräte müssen Sie den PCI-Bus finden. In seinen Eigenschaften gibt es eine spezielle Registerkarte (siehe Screenshot). Wenn alles richtig eingerichtet ist, wird dort der Miniport genannt ("erfolgreich geladen") und das PCI-Busmanagement (Steering) aktiviert. Damit hat Windows 98 die Möglichkeit, die Verteilung von Interrupt-Nummern zwischen physikalischen Leitungen zu steuern. Da das BIOS hier aber meistens gute Arbeit leistet, ist dieser Mechanismus nicht beteiligt.
Aber manchmal ist es einfach notwendig. Wie ich bereits sagte, sollten PCI-Geräte nicht in Konflikt geraten, wenn sie denselben logischen Interrupt verwenden. Eine andere Sache sind ISA-Geräte, die auch COM- und LPT-Ports enthalten. Wenn es sich bei dem Gerät nicht um ein Plug&Play-Gerät handelt, bemerkt das BIOS es möglicherweise nicht und gibt den Interrupt, den es belegt, an das PCI-Gerät weiter. Dann müssen Sie den Interrupt reservieren. Das geht im Windows Geräte-Manager "98: Gerät "Computer" auswählen, dessen Eigenschaften aufrufen, auf den zweiten Reiter wechseln. Dann ist alles klar.
Zusätzlich zur Redundanz können Sie die Interrupt-Nummer für das Gerät direkt einstellen. Dazu müssen Sie die Registerkarte "Ressourcen" in ihren Eigenschaften finden und deaktivieren automatische Abstimmung und versuchen Sie, die zugewiesene Interrupt-Nummer zu ändern.
Leider funktioniert dies nicht immer.
Windows 2000 ist ein spezielles System. Wenn Sie haben moderner Rechner, dann unterstützt es wahrscheinlich die ACPI-Konfigurationsschnittstelle. Windows 2000 ignoriert in diesem Fall im Allgemeinen die Aktionen des BIOS und „hängt“ alle PCI-Geräte an einem logischen Interrupt. Im Allgemeinen wird dies gut funktionieren (wenn kein ISA vorhanden ist), aber manchmal gibt es Probleme. Um Interrupt-Nummern ändern zu können, müssen Sie entweder den HAL-Kernel ändern oder Windows 2000 mit im BIOS deaktiviertem ACPI neu installieren. Der Kernel wird wie folgt ausgetauscht: Im Geräte-Manager „Computer“ / „Computer mit ACPI“ auswählen, den Treiber auf „ Standard-Computer", neu starten. Wenn dies nicht hilft, müssen Sie Windows 2000 erneut installieren.
Ich hoffe, die obigen Informationen helfen Ihnen im Kampf gegen Hardwarefehler. Und denken Sie daran: Die meisten Probleme, die auftreten, sind auf die geringen Computerkenntnisse des Computerbesitzers zurückzuführen. Daher sollte man sich immer um Selbstbildung bemühen, dann gibt es weniger Probleme, und die trotzdem auftretenden werden nicht unlösbar erscheinen.

Prozessor überlastet? Schuld sind Systemunterbrechungen.

Der Grund dafür, dass der Prozessor fast die gesamte Sitzung überlastet ist, können die sogenannten System-Interrupts sein, was wiederum bedeutet, dass das Problem im Bereich der auf dem Computer installierten Geräte liegt oder die Treiber für diese Geräte. Aber ich warne Sie sofort: Selbst der Umfang dieses gesamten Artikels reicht nicht aus, um alle Gründe (und noch mehr die Optionen für ihre Lösungen) zu isolieren, warum Systemunterbrechungen Windows einfach töten. Denn die Herangehensweise an das Auffinden von Problemen wird durch die Verwendung eines viel komplexeren Werkzeugs als das hier beschriebene erschwert.

Was sind System-Interrupts und wie versucht man, mit Prozessorüberlastung umzugehen?

Systemunterbrechungen erscheinen im Task-Manager als Systemprozess, aber in Wirklichkeit sind sie es nicht. Dieses „ “ ist nur repräsentativ und zeigt die Prozessorlast beim Arbeiten mit Interrupts auf niedrigem Niveau. Es ist ein integraler Bestandteil von Windows, Sie können den Prozess nicht beenden. Trotz des ominösen Namens sind Systemunterbrechungen ein obligatorischer und normaler Teil des Interaktionsprozesses zwischen der CPU und dem Rest der Ausrüstung.

Die Ursache für Unterbrechungen (genauer gesagt, von Zeit zu Zeit zu langsam) können Geräte in Ihrem Computer sein, installierte Programme, und manchmal der Prozessor selbst. Schließlich sind Systemunterbrechungen eine Form der Interaktion zwischen dem Programm / der Hardware und dem Prozessor selbst. Immer wenn ein neuer Prozess auf dem System erscheinen muss, lässt der Prozessor alles fallen und führt die Aufgabe aus. Es spielt keine Rolle, ob der Benutzer mit der Maus geklickt hat oder der Prozess planmäßig ausgeführt wird, die Aufgabe wird sofort zur Ausführungswarteschlange hinzugefügt. Nach seiner Ausführung kehrt der Prozessor in den vorherigen Zustand zurück.

Wie Sie verstehen, können Systemunterbrechungen dem System und dem Benutzer durchaus signalisieren, dass im Moment einige Berechnungen mit einem Fehler ablaufen, was sich in einem erheblichen Verbrauch von Prozessorressourcen durch diesen „Prozess“ ausdrückt. In einem gesunden System "verbrauchen" Systemunterbrechungen NICHT MEHR ALS 2 % der gesamten Prozessorarbeit. Obwohl ich auch Prozessoren mit einer Interruptrate von 3 bis 10% gesehen habe - es hängt alles von der Konfiguration ab. Wenn Sie jedoch feststellen, dass der Prozessor von Sitzung zu Sitzung mindestens 5 - 10 % seiner Rechenleistung für Unterbrechungen aufwendet, ist dies ein Signal dafür, dass der Computer Probleme hat.

Systemunterbrechungen. Wie gehe ich mit hohen Messwerten um?

Jeder der folgenden Schritte erfordert einen Systemneustart. Nicht weil es üblich ist, sondern weil Probleme mit Interrupts oft durch ein einfaches re gelöst werden Windows-Start.

  • FAHRER UND MEHR FAHRER

Das allererste Tool, das dabei hilft festzustellen, ob kaputte Treiber daran schuld sind, dass Systemunterbrechungen den Prozessor belasten, ist ein deutsches Dienstprogramm. DPC-Latenzprüfer. Laden Sie es von diesem Link herunter:

Eine Installation ist nicht erforderlich. Das Wesen des Dienstprogramms ist einfach. Wir beginnen und beginnen mit der Arbeit in Windows, bis Systemunterbrechungen beginnen, uns zu stören. Hier ist das Fenster einer normal laufenden Assembly:

Und hier beginnen sie sich zu zeigen:

Das Dienstprogramm im Kommentarfeld in englischer Sprache rät Ihnen, zum Geräte-Manager zu gehen und mit dem schrittweisen Herunterfahren von Netzwerkgeräten fortzufahren. Soundkarten, USB-Controller, Geräte Bluetooth. Ich rate Ihnen, zuzuhören. Schauen Sie nach jedem Herunterfahren in den Task-Manager und das Utility-Fenster und sehen Sie, wie das System auf ein vorübergehendes Herunterfahren von Geräten reagiert. Deaktivieren Sie weiterhin alle Externe Geräte: Modems, externe Laufwerke, Flash-Laufwerke. Und wenn sich irgendwann etwas zum Besseren ändert, entscheiden Sie sich, den Treiber für das Gerät zu aktualisieren. Damit es aber keine Probleme beim Starten von Windows gibt, sollte man diese Geräte besser nicht ausschalten (diese Treiber sind lebensnotwendig, aber es sind auch Treiber, und es ist durchaus möglich, dass man das Brennholz auf dem Mainboard mit dem ganzen Paket neu installieren muss wie bei Windows-Installation sauber):

Das Programm funktioniert auf die gleiche Weise. LatenzMo

http://www.resplendence.com/downloads

Es erfordert eine Installation, ist aber auch kostenlos. Seine Aufgabe besteht darin, nach Treiberdateien mit einem hohen Rechenaufwand für einen verzögerten Prozeduraufruf zu suchen (ein Prozess, der von einer Interrupt-Routine als Reaktion auf den Interrupt selbst aufgerufen, aber nicht unbedingt sofort ausgeführt wird). Hinter diesem kniffligen Namen verbirgt sich die Suche nach Treibern, in deren Dateien Informationen gespeichert sind, dass der Treiber zu viel vom Prozessor verlangt, um sein speziell ihm zugewiesenes Gerät zu warten. Hier geht es zur Verlagsseite:

http://www.resplendence.com/latencymon

auf dem ich allerdings mit blinden Augen den Download-Link nicht gefunden habe, und deshalb biete ich Ihnen die Möglichkeit, das Programm von meiner Website herunterzuladen

KOSTENLOSES PROGRAMM HERUNTERLADEN

Als sie anfing, informierte sie mich sofort darüber mögliche Probleme Mit DVD-Laufwerk– Fahrer atapi.sys dafür verantwortlich ist (und das Laufwerk funktioniert übrigens seit fast 3 Monaten nicht mehr ...). Warnt, dass Sie möglicherweise das BIOS flashen müssen:

Gehen Sie zur Registerkarte Treiber und sortieren Sie sie nach den am stärksten gefährdeten Indikationen, indem Sie auf die Spalte klicken DPC-Zählung:

Schauen Sie sich die ersten in der Reihe genauer an: sie und kann sein Ursache deiner Probleme.

  • ALLES PASSIERTE ETWAS PLÖTZLICH, NACH DEM NEUSTART

Es gab einen Moment, in dem naja, auf keinen fall konnte die Ursache für die Bremsen nicht eingrenzen. Der Fall half: Der Benutzer „schnappte“ sich einen Virus, der DirectX vollständig zerstörte, und handelte äußerst selektiv, indem er genau das System tötete Windows-Dateien, DirectX-Gaming verlassen. Ich musste das System mit einem Update reparieren, und - siehe da! - Zusammen mit dem Müll sind auch die Systemunterbrechungen verschwunden. Ich verschwendete nicht wenig Zeit, aber das Ergebnis war unerwartet. Die Übeltäter waren keine Viren oder Treiber, sondern Service Packs. Hier sind ihre Namen:

  • KB3199986
  • KB4013418
  • KB3211320

Ich bestehe darauf, dass es NACH DER INSTALLATION GENAU DIESER UPDATES war, dass ein bestimmter Benutzer anfing, unter Überlastung mit Systemunterbrechungen zu leiden. So etwas ... Sie haben Stoff zum Nachdenken.

  • DEFEKTE AUSRÜSTUNG AUSGESCHLOSSEN

Es kann auch dazu führen, dass Systemunterbrechungen den Prozessor vollständig belasten. Beginnen Sie mit der Überprüfung, ob die vorherige Suche nach defekten Treibern keinen Erfolg gebracht hat. Und Windows selbst und die integrierten Selbstdiagnoseprogramme helfen Ihnen beim Auffinden von Problemen mit der Hardware. Ich habe bereits im Artikel darüber geschrieben. Lassen Sie Ihre Augen laufen, die Informationen werden nützlich sein, zögern Sie nicht. Seien Sie sich bewusst - diejenigen, die vom Kabelanschluss abgewichen sind, können auch die Schuldigen für Missgeschicke sein. Ich persönlich hatte Probleme sowohl mit Prozessorüberhitzung als auch mit „Vergesslichkeit“ beim BIOS-Upgrade für ein brandneues Windows 10 (mehr dazu weiter unten) – überall waren spürbare Systemunterbrechungen die Folge.

HINWEIS. Wenn Ihr Laptop von Systemunterbrechungen überwältigt wird, müssen Sie sicherstellen, dass Sie kein Problem mit dem nachlassenden Akku haben. Lesen Sie den Artikel selbst.

  • ÜBERPRÜFEN SIE DAS WINDOWS-TONSCHEMA

Eigentlich geht es darum, die Soundeffekte in Windows auf die Standardeinstellungen zurückzusetzen. Klicken Sie mit der rechten Maustaste auf das Soundsymbol und klicken Sie auf Abspielgeräte:

Doppelklicken Sie auf der Registerkarte Wiedergabe auf das Element Standardgeräte (I have Sprecher), gehen Sie zur Registerkarte Zusatzfunktionen und aktivieren Sie das Kontrollkästchen neben Deaktivieren Sie alle Effekte. Bewerben - OK. Neustart und prüfen:

  • IST DAS BIOS FEHLGESCHLAGEN?

Nicht ausgeschlossen. Das BIOS ist das erste Programm, das nach dem Drücken des Netzschalters auf dem Computer gestartet wird. Es ist also an der Zeit, nach Updates für Ihr BIOS zu suchen. Und damit sich die Suche nach der gewünschten Version nicht verzögert, prüfen Sie gleich die Version Ihres BIOS. In der Kommandokonsole cmd Geben Sie zwei Befehle nacheinander ein:

Systeminfo | findstr /I /c:bios wmic bios Get Hersteller, smbiosbiosversion

ich in der ersten Mannschaft ist ein großer Latein ich.

Ursache der Festplatte?

"Ganz und sogar sehr." Am einfachsten ist es, die Festplatte mit integrierten Tools wie chkdsk. Wenn nach dem „Run“ die Systeminterrupts abgeklungen sind, ist die Ursache gefunden. Allerdings für den Fall, dass das Problem immer wieder auftritt, für all das chkdsk erkennt ausnahmslos Fehler, Sie haben Probleme (mit einer Festplatte, Netzteil o Hauptplatine) - bereite dich auf das Schlimmste vor.

P.S. Nun, nach den Bewertungen zu urteilen, zieht das Problem die Leute an. Ich verspreche, das Thema in zukünftigen Artikeln zu entwickeln.

Ich wünsche Ihnen Erfolg.

Gelesen: 1 275

Es kommt selten vor, dass ein Computer, insbesondere ein Heimcomputer, sein ganzes Leben lang lebt, ohne jemals ein Upgrade oder das Hinzufügen neuer Geräte zu durchlaufen. In den meisten Fällen ist eine solche Operation natürlich unter Beachtung der elementarsten Regeln schmerzlos, ohne besondere Probleme zu verursachen. Aber etwa jeder zehnte (oder sogar zwanzigste - egal) Computer wird in einen nicht funktionierenden Zustand versetzt: Er beginnt oft einzufrieren, verweigert die Ausführung von Funktionen oder fällt sogar einfach in den von uns allen so geliebten Zustand blauer Bildschirm des Todes. In der Regel liegt die wahrscheinlichste Ursache für solche Probleme in Hardwarekonflikten (neu und alt), die keine Hardwareressourcen gemeinsam genutzt haben. Nun, wenn Ihre Qualifikation es Ihnen ermöglicht, die aufgetretenen Probleme zu lösen, oder wenn jemand in der Nähe ist, der Ihnen helfen kann, aber wenn es nichts dergleichen gibt? Allerdings sind es nicht die Götter, die Töpfe sind ja bekanntlich abgebrannt, lasst uns sitzen, nachdenken - schauen, und durchbrechen, denn alles ist nicht so schwierig, obwohl das Problem der Kompatibilität der unterschiedlichsten Geräte seit seiner Einführung in Mitte der 80er Jahre hat sich noch nicht viel verringert. Der vorgeschlagene Artikel wird dem Benutzer helfen, mit einer der Arten von Hardwareressourcen umzugehen, die für Geräte erforderlich sind, und meistens die Hauptursache aller Arten von Konflikten - mit Hardware-Interrupts (IRQ).

Hardwareressourcen des Systems

Für den Betrieb von Komponenten können drei Haupttypen unterschiedlicher Hardwareressourcen erforderlich sein. Fast jedes Gerät verwendet einen oder mehrere I/O-Ports. BEI dieser Fall Dies ist kein serieller oder paralleler Port, sondern nur eine spezielle Adresse, so etwas wie eine Adresse im RAM. Diese Ports funktionieren spezielle Mannschaften der zentrale Prozessor, mit dessen Hilfe beliebige Informationen entweder auf den Port geschrieben oder von ihm gelesen werden. Häufig erfolgt der Informationsaustausch zwischen dem Prozessor und dem Gerät nur über Ports, und einige Geräte nehmen ein Dutzend oder sogar mehr Portadressen an, von denen jede dazu dient, eine bestimmte Funktion auszuführen.

DMA-Kanäle (Direct Memory Access) werden viel seltener verwendet. Diese Art der Interaktion ist für Geräte gedacht, mit denen große Datenblöcke ausgetauscht werden RAM, zum Beispiel, Laufwerke oder Drucker. Die gesamte Vermittlung umgeht den zentralen Prozessor, der nur die Vermittlungsoperation einleitet und sofort mit der Durchführung anderer Arbeiten fortfährt. Dieser Ansatz kann die Leistung des gesamten Systems erheblich steigern.

Und die dritte Art von Ressourcen sind Hardware-Interrupts, die der grundlegende Mechanismus für die Reaktion des Systems auf externe Ereignisse sind. Hardware-Interrupts, allgemein als IRQs (Interrupt ReQuests) bezeichnet, sind physikalische Signale, die der Gerätecontroller verwendet, um den Prozessor zu informieren, eine Anforderung zu verarbeiten. Herkömmlicherweise kann das Interrupt-Behandlungsschema wie folgt aussehen:

  • der Prozessor empfängt das Unterbrechungssignal und seine Nummer;
  • unter Verwendung einer speziellen Tabelle wird die Adresse des Programms gefunden, das für die Behandlung des Interrupts mit der angegebenen Nummer verantwortlich ist - der Interrupt-Handler;
  • der Prozessor setzt die Ausführung der aktuellen Task aus, sichert Zwischenergebnisse und schaltet zur Ausführung des Interrupt-Handlers um;
  • der Prozessor greift auf das Gerät zu und prüft die Ursache des Interrupts;
  • die angeforderten Aktionen werden gestartet - Initialisierung, Gerätekonfiguration, Datenaustausch usw.;
  • wenn alle notwendigen Operationen abgeschlossen sind, kehrt der Prozessor zu der unterbrochenen Aufgabe zurück.

Im Gegensatz zu Software-Interrupts, die von einem ausführenden Anwendungsprogramm ausgelöst werden, können Hardware-Interrupts zu den unerwartetsten Zeiten auftreten, und darüber hinaus können mehrere Interrupts gleichzeitig auftreten. Damit das System nicht "zu viel darüber nachdenkt", welcher Interrupt überhaupt bedient werden soll, gibt es ein spezielles Prioritätsschema. Jedem Interrupt wird seine eigene eindeutige Priorität zugewiesen. Wenn mehrere Interrupts gleichzeitig eintreffen, bevorzugt das System die höchste Priorität und verschiebt die Bearbeitung anderer, weniger wichtiger Interrupts für eine Weile.

Verteilung unterbrechen

Überlegen Sie, wie Interrupts normalerweise in einem Standardcomputer verteilt werden. Einige der Nummern sind streng an bestimmte Geräte gebunden, andere können freigegeben und für Ihre Bedürfnisse verwendet werden. Beginnen wir der Reihe nach:

  • IRQ0- den Systemtimer unterbrechen. Wird 18,2 Mal pro Sekunde generiert. Wird in dieser Funktion seit der Erstellung des ersten IBM-PCs verwendet (diese Nummer steht nicht für andere Zwecke zur Verfügung);
  • IRQ1- Tastaturunterbrechung. Wird jedes Mal vom Tastatur-Controller generiert, wenn eine Taste gedrückt wird (die Nummer ist nicht für andere Zwecke verfügbar);
  • IRQ2 in Computern der XT-Klasse, die nur 8 Interrupt-Leitungen verwendeten, war für weitere Systemerweiterungen reserviert und wurde, beginnend mit Computern der AT-Klasse, zum Anschluss eines zweiten Controllers verwendet. Heute wird IRQ 2 vom System aus Gründen der Kompatibilität mit dem alten verwendet Software, die Nummer ist nicht für andere Zwecke verfügbar;
  • IRQ3- Unterbrechung des asynchronen Ports COM 2. Derselbe Interrupt wird auch von Geräten verwendet, die über den Port COM 4 arbeiten.Wenn gewünscht, können sie deaktiviert werden, aber es wird sowieso niemand sonst in der Lage sein, IRQ 3 zuzuweisen;
  • IRQ4 Analog zum vorherigen wird dieser Interrupt von Geräten verwendet, die die Ports COM 1 / COM 3 belegen.
  • IRQ5 ursprünglich für die Verwendung durch den zweiten parallelen Port LPT2 gedacht, aber dann, als der zweite parallele Port aufgegeben wurde, wurde IRQ 5 frei. Später wurde es von den meisten ISA-Soundkarten aktiv verwendet. Moderne PCI-Soundkarten verwenden diesen Interrupt ausschließlich aus Gründen der Kompatibilität mit älteren Spielen, von denen die überwiegende Mehrheit SB Pro unterstützt. IRQ 5 kann für andere Zwecke verwendet und an einen PCI-Steckplatz gebunden werden;
  • IRQ6, beginnend mit den ersten PCs, wird vom Floppy-Controller verwendet (die Nummer steht nicht für andere Zwecke zur Verfügung);
  • IRQ7- standardmäßig Unterbrechung der ersten parallelen Schnittstelle LPT 1. Wenn die Schnittstelle deaktiviert ist (wenn der Drucker nicht verfügbar oder für USB ausgelegt ist), kann sie verwendet werden verschiedene Geräte. IRQ 7 kann an einen PCI-Steckplatz gebunden werden;
  • IRQ8- Unterbrechung der Echtzeituhr, zuerst eingeführt in IBM AT. Eine andere Verwendung ist nicht möglich;
  • IRQ 9 und IRQ 10 sind kostenlos;
  • IRQ11 normalerweise für den USB-Bus reserviert, kann aber für andere Zwecke verwendet werden (dazu USB-Unterstützung im BIOS deaktivieren);
  • IRQ12 wird für eine PS/2-Maus verwendet, kann aber auch für andere Zwecke verwendet werden (wenn eine PS/2-Maus nicht verfügbar oder deaktiviert ist);
  • IRQ13 wurde ursprünglich vom arithmetischen Coprozessor verwendet und ist jetzt für die Kompatibilität mit älterer Software reserviert (die Nummer steht nicht für andere Zwecke zur Verfügung);
  • IRQ14 und IRQ15 angewendet von den primären bzw. sekundären IDE-Controllern.

Es gibt mehrere Möglichkeiten herauszufinden, wie die Unterbrechungsnummern in Ihrem speziellen Fall derzeit verteilt sind. Wenn Sie Ihren Computer starten, noch bevor Windows geladen wird, wird eine Konfigurationstexttabelle angezeigt. Unmittelbar danach befindet sich eine Liste von PCI-Geräten mit Angabe der ihnen zugewiesenen IRQ-Nummer.

Oder, wenn Sie noch Windows 9x verwenden, gibt es ein Systemsymbol in der Systemsteuerung, klicken Sie darauf – und wählen Sie die Registerkarte „Geräte“. In den Eigenschaften des Geräts „Computer“ finden Sie eine Liste aller Geräte mit ihren IRQs. In Windows 2000/XP haben wir keinen direkten Zugriff auf das Interrupt-Management. Um die Liste der IRQs anzuzeigen, müssen wir also das Standard-Informationsdienstprogramm verwenden (Systemsteuerung/Verwaltung/Computerverwaltung/Systeminformationen/Hardwareressourcen). Und schließlich hat niemand die Verwendung von Dienstprogrammen eingestellt, die die Hardware- und Softwarefähigkeiten eines Computers testen.


Unter ihnen ist zweifelsohne SANDRA am beliebtesten, das dem Benutzer umfassende Informationen, einschließlich Unterbrechungen, liefern kann.

Gerätekonflikte

Ohne zu sehr ins Detail zu gehen, können wir sagen, dass ein Konflikt eine Situation ist, in der mehrere Objekte gleichzeitig versuchen, auf dieselbe Systemressource zuzugreifen. Ein Interrupt-Konflikt tritt auf, wenn mehrere Geräte dieselbe Interrupt-Leitung verwenden, um ein Anforderungssignal zu senden, und es keinen Mechanismus zum Einstufen dieser Anforderungen gibt, was entweder zu einem Ausfall führt oder eines der Geräte einfach nicht mehr funktioniert. Um eine klare Vorstellung davon zu haben, wie Konflikte vermieden oder beseitigt werden können, müssen Sie den Mechanismus der IRQ-Verwaltung verstehen.

Wie Sie wissen, begannen Personal Computer mit dem IBM PC XT. Seine Architektur sah nur acht Zeilen von Hardware-Interrupts vor, die von einem speziellen Controller gesteuert wurden. Jedem von ihnen wurde eine eigene eindeutige Nummer zugewiesen, die die Interrupt-Priorität und die Adresse seines Handlers (den sogenannten Interrupt-Vektor) festlegte. Die nächste Version der Architektur, IBM PC AT, ergänzte die bestehenden Leitungen um acht weitere, die von einem zweiten Controller gesteuert wurden, der mit einer der Interrupt-Leitungen des ersten Controllers verbunden war. Leider wurde diese Architektur an dieser Stelle in ihrer Entwicklung gestoppt, so dass alle modernen Computer trotz der deutlich gestiegenen Zahl der in ihnen verwendeten Zusatzgeräte immer noch nur sechzehn Interrupt-Leitungen haben, von denen eine für die Emulation eines zweiten Controllers reserviert ist.

Ursprünglich hatte der IBM PC AT-Computer nur einen Bus, über den Geräte mit dem Prozessor und dem Speicher kommunizieren konnten - ISA. Die meisten Interrupt-Leitungen wurden Standard-ISA-Geräten zugewiesen, und als der neue universelle PCI-Bus erschien, stellte sich heraus, dass auf seinem Anteil nur noch vier freie Interrupts übrig waren, die als INT A, INT B, INT C, INT D bezeichnet wurden, also nur vier PCI-Geräte können unabhängige Interrupts im System empfangen. Gleichzeitig muss aber bedacht werden, dass der IDE-Controller eine Sonderstellung einnimmt, der nicht zu diesen vier Geräten gehört, nur weil er zwar vom Datenübertragungsverfahren ein PCI-Gerät ist, aber seinen eigenen IRQ unterbricht 14 und IRQ sind ihm fest zugeordnet 15, wie bei älteren ISA-Geräten. Für den AGP-Bus, der eine Art PCI-Bus ist, wird INT A „geopfert“, und der USB-Bus als eine der Systemkomponenten wird über INT D mit PCI verbunden, was die Anzahl „ehrlicher“ PCI-Geräte reduziert auf nur zwei. Wir sollten das Energieverwaltungs-Subsystem Power Management / System Management nicht vergessen, das auch eine eigene Unterbrechung erfordert. Wenn also mehrere PCI-Geräte Interrupts verwenden, ist es im wirklichen Leben unmöglich, sie mit eindeutigen Hardware-IRQs zu versehen, und in solchen Fällen wird ein Hardware-Software-Verfahren verwendet, das auf Plug & Play-Technologie basiert, was theoretisch Konflikte vermeidet. Obwohl im wirklichen Leben alles passieren kann und die verbleibenden ISA-Geräte immer noch keine Interrupt-Leitungen teilen können, sind sie daher die Hauptprovokateure von Konflikten. Damit reduziert sich das Problem der Konfliktlösung auf die korrekte Verteilung von Interrupt-Nummern bei Problemen mit ISA-Geräten oder "fehlerhaften" Treibern.

In dem System werden IRQ-Nummern zwischen physikalischen Leitungen zweimal zugewiesen. Das erste Mal, wenn das System-BIOS dies tut, ist, wenn das System hochfährt. Jedem Plug & Play-Gerät (und dazu gehören alle PCI-, modernen ISA- und alle auf dem Motherboard integrierten Geräte) wird eine Nummer aus den verfügbaren zugewiesen. Wenn es nicht genug Nummern gibt, bekommen mehrere Zeilen eine gemeinsame. Für PCI-Geräte ist dies kein Problem - wenn Sie normale Treiber und Unterstützung vom Betriebssystem haben, sollte alles gut funktionieren. Wenn aber mehrere ISA-Geräte die gleiche Nummer bekommen, oder eine nicht minder „explosive“ Mischung aus PCI- und ISA-Geräten, dann ist ein Konflikt einfach vorprogrammiert, und dann muss man in den Prozess der automatischen Interrupt-Verteilung eingreifen. In diesem Fall müssen Sie alle unbenutzten ISA-Geräte deaktivieren (bei Systemen ohne ISA-Slots sind sie trotzdem vorhanden: Dies sind die Ports COM1, COM2 und das Laufwerk). Sie können auch die EPP- und ECP-Modi des LPT-Ports deaktivieren, während Sie den IRQ7-Interrupt freigeben. Alle Operationen zum Ändern von Interrupts im BIOS-Setup werden im Abschnitt "PCI / PNP Configuration" durchgeführt. Es gibt zwei Möglichkeiten, die IRQ-Nummernvergabe zu beeinflussen: eine bestimmte Nummer sperren und direkt eine Leitungsnummer zuweisen. Die erste Methode ist für alle BIOS verfügbar, die Menüpunkte "IRQ x used by:" werden angepasst (in neuen BIOS ist sie im Untermenü "IRQ Resources" versteckt). Diejenigen Interrupts, die ausschließlich ISA-Geräten zugewiesen werden sollen, sollten auf "Legacy ISA" eingestellt werden. Bei der Nummernverteilung für PCI-Geräte werden diese Interrupts also übersprungen. Sie sollten dies tun, wenn ein ISA-Gerät hartnäckig auf denselben Interrupt mit dem PCI-Gerät gerät, was dazu führt, dass beide nicht mehr funktionieren. In diesem Fall müssen Sie die Nummer dieses IRQ finden und blockieren. Das PCI-Gerät bewegt sich auf die neue IRQ-Nummer, während das ISA-Gerät gleich bleibt. Die zweite Möglichkeit, IRQ-Nummern zu verwalten, ist die direkte Zuweisung, obwohl sie etwas komplizierter als die erste ist, ist sie viel effizienter. Leider erlauben nicht alle modernen Motherboards diesen Vorgang. Im selben BIOS-Setup-Untermenü können Einträge wie „Slot X use IRQ“ (andere Namen: „PIRQx use IRQ“, „PCI Slot x priority“, „INT Pin x IRQ“) vorhanden sein. Mit dieser Option können Sie Interrupts individuell für jedes Gerät am PCI- und AGP-Bus einstellen. Dabei sind folgende Regeln zu beachten:

  • Jeder PCI-Steckplatz kann bis zu vier Interrupts aktivieren – INT A, INT B, INT C und INT D;
  • Der AGP-Slot kann zwei Interrupts aktivieren – INT A und INT B;
  • Es ist normal, dass jeder Steckplatz als INT A zugewiesen wird. Der Rest der Interrupts ist reserviert, wenn das PCI/AGP-Gerät mehr als einen Interrupt benötigt oder wenn der angeforderte Interrupt belegt ist;
  • AGP-Steckplatz und PCI-Steckplatz 1 weisen die gleichen Interrupts zu;
  • Die PCI-Steckplätze 4 und 5 verteilen auch die gleichen Interrupts;
  • USB verwendet PIRQ_4.

Unten ist eine Tabelle, die die Beziehung zwischen PIRQ (Programmable Interrupt Request) und INT (Interrupt) zeigt:

Signal AGP-Steckplatz
PCI-Steckplatz 1
PCI-Steckplatz 2 PCI-Steckplatz 3 PCI-Steckplatz 4
PCI-Steckplatz 5
PIRQ_0 INT A INT D INT C INT B
PIRQ_1 INT B INT A INT D INT C
PIRQ_2 INT C INT B INT A INT D
PIRQ_3 INT D INT C INT B INT A

Normalerweise sollten Sie die Option in der Position AUTO belassen. Sollte es jedoch notwendig werden, für ein Gerät am AGP- oder PCI-Bus einen individuellen IRQ zu setzen, muss zunächst festgestellt werden, in welchem ​​Steckplatz das Gerät eingebaut ist. Dann können Sie anhand der Tabelle den Haupt-PIRQ einstellen. Zum Beispiel, wenn Netzwerkkarte auf Steckplatz 3 eingestellt ist, dann ist der Haupt-PIRQ PIRQ_2, da alle Steckplätze möglichst INT A zugeordnet sind Danach wird der gewünschte IRQ ausgewählt und ihm der entsprechende PIRQ-Wert zugewiesen. Denken Sie daran, dass das BIOS versucht, INT A für jeden Steckplatz einen PIRQ zuzuweisen. Für AGP- und PCI 1-Steckplätze ist der Haupt-PIRQ also PIRQ_0, während für PCI-Steckplatz 2 der Haupt-PIRQ PIRQ_1 ist, und so weiter. Beim zweiten Mal werden die Interrupt-Nummern vom Betriebssystem verteilt, obwohl Windows 9x nur in extremen Fällen beginnt, die vom BIOS ausgeführten Aktionen zu stören. In Windows 98 wird das IRQ-Verteilungssystem mit dem Standard-Gerätemanager verwaltet. In der Liste der Systemgeräte müssen Sie den PCI-Bus finden.


In seinen Eigenschaften gibt es eine spezielle Registerkarte. Wenn alles korrekt eingerichtet ist, wird dort der Miniport genannt ("booted successfully") und das PCI-Bus-Steering (Steering) aktiviert. Damit hat Windows "98 die Möglichkeit, die Verteilung von Interrupt-Nummern zwischen physikalischen Leitungen zu steuern. Da das BIOS hier aber meistens gute Arbeit leistet, ist dieser Mechanismus nicht beteiligt. Aber manchmal ist er einfach notwendig. Bei Verwendung veralteter ISA-Geräte die Plug-Technologie & Play nicht unterstützen, kann es sein, dass das BIOS dies nicht bemerkt und den von ihm belegten Interrupt an das PCI-Gerät weitergibt - wieder ein Konflikt. Um ihn zu lösen, müssen Sie den erforderlichen Interrupt im Windows-Geräte-Manager "98" reservieren.

Zusätzlich zur Redundanz können Sie die Interrupt-Nummer für das Gerät direkt einstellen. Dazu müssen Sie die Registerkarte "Ressourcen" in ihren Eigenschaften finden, die automatische Optimierung deaktivieren und versuchen, die zugewiesene Interrupt-Nummer zu ändern. Seien Sie vorsichtig, eine solche Operation funktioniert nicht immer und kann manchmal zu völlig unvorhersehbaren Ergebnissen führen.

Aber über Windows 2000 (sowie XP) - ein separates Gespräch. Wenn Sie einen ziemlich modernen Computer haben, unterstützt dieser wahrscheinlich die ACPI-Konfigurationsschnittstelle. Windows 2000 ignoriert in diesem Fall im Allgemeinen die Aktionen des BIOS und „hängt“ alle PCI-Geräte an einem logischen Interrupt. Im Allgemeinen wird dies gut funktionieren (wenn keine ISA-Geräte vorhanden sind), aber manchmal können Probleme auftreten. Um Interrupt-Nummern ändern zu können, müssen Sie entweder den HAL-Kernel ändern oder Windows 2000 mit im BIOS deaktiviertem ACPI neu installieren. Der Kernel wird wie folgt ersetzt: Wählen Sie im Geräte-Manager "Computer / Computer mit ACPI", danach müssen Sie den Treiber auf "Standardcomputer" ändern und neu starten. Wenn dies nicht hilft, müssen Sie Windows 2000 erneut installieren.

Abschließende Tipps

Durch die Installation einer neuen Betriebssystem mit allen Gerätetreibern und nachdem Sie sich vergewissert haben, dass es ohne Probleme funktioniert, lohnt es sich, alles aufzuschreiben Computereinstellungen, insbesondere wenn Änderungen an den Standardeinstellungen vorgenommen wurden. Es ist am zuverlässigsten, solche Informationen auf einem normalen Blatt Papier zu notieren. Solche Informationen können sehr nützlich sein, wenn Sie Änderungen am konfigurierten System vornehmen, und helfen, Probleme zu lösen, die auftreten können, wenn alle Einstellungen bei der Installation neuer Geräte "verschieben" werden (dies passiert manchmal auch). Und vor allem denken Sie daran: Die meisten Probleme, die auftreten, sind auf die geringen Computerkenntnisse des Computerbesitzers zurückzuführen. Daher sollte man sich immer um Selbstbildung bemühen, dann gibt es weniger Probleme, und die trotzdem auftretenden werden nicht unlösbar erscheinen.