Die Antwort ist, dass es darauf ankommt, ob Sie bereits einen Tastatur-Interrupt bearbeitet haben.
Die meisten Interrupt-Service-Routinen (ISR) haben am Ende einen Code, der die Hardware darüber informiert, dass sie "gewartet" wurde. Im Fall des Tastatur-Controllers werden Befehle geschrieben, die die empfangenen Bytes bestätigen. Zum Zeitpunkt der Bestätigung unterbricht die Tastatursteuerungshardware die Verwendung von Elektrizität, um einen Unterbrechungszustand zu signalisieren.
Wenn Sie einen Nicht-Tastatur-Interrupt behandeln, sagen wir den Feueralarm-Interrupt, dann wird die Tastatur-Hardware, die den Interrupt elektrisch aktiviert, ausgelöst, wenn die Taste gedrückt wird. Das elektrische Signal wird ignoriert, bis die CPU die Interrupts wieder aktiviert hat. Am Ende der Wartung des Feueralarm-Interrupts bestätigt der Feueralarm-ISR alle Daten und aktiviert die Interrupts auf der CPU erneut. Sofort tritt die CPU in einen Interrupt ein, weil der Tastaturcontroller immer noch einen Interrupt-Zustand signalisiert.
Wenn Sie ein Tastatur-Interrupt sind Handling und die Benutzer schnell Typen einen Sekunden Tastendruckes während der Ausführung Ihrer Tastatur ISR, dann gibt es eine Chance, die Daten aus dem zweiten Tastendruck fehlt, oder es später zu empfangen, wenn überhaupt. Insbesondere, wenn der ISR den Tastaturcontroller durch eine Bestätigung zurücksetzt, aber der ISR tatsächlich nicht alle verfügbaren Bytes aus dem Tastaturcontroller empfangen hat, ist dies ein Problem.
Oft wird ein ISR zuerst den Interrupt behandeln, der seine Aktivierung ausgelöst hat, und dann nach Bestätigung des Interrupts das Gerät abfragen, um festzustellen, ob es seit dem ersten Interrupt mehr Daten empfangen hat. Wenn dies der Fall ist, generieren Sie einen Software-Interrupt, um den ISR erneut einzugeben und das Gerät zu warten.
das bedeutet, dass, wenn ich in der Lage wäre, zwei Tastaturbuchstaben schneller als die Zeit, die die CPU braucht, um den Interrupt zu behandeln, verloren gehen würde? Entschuldigung, dieses Thema wieder lebendig zu machen – Juan
@Juan Das würde auf der Tastatur abhängen. Moderne Tastaturen haben einen kleinen Puffer, der Tastaturereignisse speichert, während Ihr Computer sie verarbeitet. Die meisten Tastaturen weisen Zeichen-Keypresses eine Position (X + Y) zu, um Bandbreite und Geld zu sparen, wobei einige Tastenkombinationen unter extremen Bedingungen, bei denen die CPU nicht mithalten kann, verhindert werden, einige Keyboards aber auch bestimmte Tasten senden individuell. Die meisten Keyboards senden zum Beispiel Modifier-Key-Events separat und manche Gaming-Keyboards machen das gleiche für die 'WASD'- und die Pfeiltasten. – YoYoYonnY