Prozessor-Konzepte: Interrupts, TLB, Cache & Mikrocode erklärt
Eingeordnet in Informatik
Geschrieben am in Deutsch mit einer Größe von 2,33 KB
Ungenau Interrupts bei Prozessoren
Wenn solche Unterbrechungen auftreten, ist es nicht leicht zu bestimmen, welche Anweisungen bereits ausgeführt wurden und welche noch nicht, wenn die Unterbrechung auftritt. Sie neigen dazu, eine große Anzahl von internen Zustandsinformationen auf den Stack des Betriebssystems zu schreiben, was die Fähigkeit beeinträchtigt, den Systemzustand zu erklären.
Genaue Interrupts bei Prozessoren
Ein Interrupt, der die Maschine in einem genau definierten Zustand hinterlässt:
- Der Programmzähler ist bekannt und der Zustand der Befehlsausführung ist klar.
- Alle vorherigen Anweisungen bis zum Programmzähler (PC) sind vollständig ausgeführt, und keine nachfolgende Anweisung hat bereits begonnen (falls doch, sollten alle Änderungen in Registern oder im Speicher rückgängig gemacht werden).
Mikromanagement-Anmeldung
Die Mikromanagement-Anmeldung bezieht sich auf die implizite Mikrosequenzierung jeder Maschinenanweisung durch die Firmware. Oder anders ausgedrückt: Es ist ein Verfahren zur Umwandlung des Operationscodes eines Befehls in die Steuer-Speicheradresse, an der sein Mikroprogramm beginnt.
Mikroinstruktionsregister
Enthält den Mikrobefehl, der zu diesem Zeitpunkt ausgeführt wird. Es befindet sich in mikroprogrammierten Steuereinheiten.
Verzögerter Sprung (Delayed Branch)
Bei einem verzögerten Sprung werden eine oder mehrere Anweisungen nach dem Sprung immer ausgeführt. Dies ist nützlich, um Füllanweisungen (NOPs) zu ersetzen. Wenn der Sprung nicht genommen wird, ist der Füllbefehl dennoch nützlich. Wenn der Sprung jedoch genommen wird, ist sichergestellt, dass der Füllbefehl, obwohl er nicht direkt hilfreich ist, keine schädlichen Ergebnisse verursacht.
TLB (Translation Lookaside Buffer)
Der TLB wird vom MMU-Cache verwaltet, der Teile der Seitentabelle enthält (Beziehungen zwischen virtuellen und physischen Adressen). Er hat eine feste Anzahl von Einträgen und wird für eine schnelle Adressübersetzung verwendet. Wenn kein Eintrag gefunden wird, muss die Seitentabelle überprüft werden.
Write-Allocate (Schreibzuweisung)
Bei einem Schreibzugriff, der zu einem Cache-Miss führt, wird der entsprechende Block in den Cache geladen, bevor darüber geschrieben wird.