ZBW


A. B.
Diese Lernkarten bieten einen universitären Einblick in die Mikroprozessortechnik, insbesondere in die Behandlung von Interrupts und Traps. Sie behandeln die Struktur und Funktion von Interrupt-Service-Routinen, die Initialisierung von Prozessoren und Peripheriegeräten, sowie die Unterschiede zwischen Traps und Interrupts. Die Karteikarten sind ideal für Studierende der Informatik, die ein tieferes Verständnis der Prozessorsteuerung und der Interaktion mit Peripheriegeräten erlangen möchten.
Cartes-fiches
9
Utilisateurs
0
Langue
Allemand
Catégorie
Informatique
Niveau
Université
Créé / Mis à jour
20.02.2019 / 21.02.2019

Cartes-fiches

Was ist ein Trap?

Ein Trap ist ein synchroner Interrupt, weil sie direkt ins Programm geschrieben werden und ihr Vorkommen also genau so bekannt ist.

Was unterscheidet ein Trap von einem von einem indirekten Jump-Subroutine Befehl?

und was ist gleich?

Im gegensatz zur Jump-Soubroutine wird auch noch das Statusregister im Stack abgelegt und das Supervisorbit gesetzt.Ein weitere Vorteil  ist der gleichbleibende Programmeinsprungpunkt ,auch über verschiedene Programmversiionen. Zum zurückehren wird der RTE Befehl verwendet (Return from Exception) nicht RTS.

Gleich ist jeder Trap Befehl hat eine genau defienierte Speicherstelle ( vier Byte) in der eine Adresse zu stehen hat wo das Soubroutinen Programm beginnt. Rücksprungadresse wird auf dem Stack abgelegt sodass aus dem Trap-Programm wieder an die Stelle im Programm zurückkehren kann.

Für was wird der Trap benutzt?

Es ist ein Werkzeug um aus dem Usermodus in den Supervisormodus zu gelangen.

Unterschied Trap und Interrupt?

Im gegesatzt zum Trap tritt der Interrupt völlig asynchron zum Programmfluss auf man weiss nie wan er kommt.

Der klassische Anwendungsfall von Traps?

Das Betriebsystem ist eigentlich anderes als eine Sammlung von ausgetesteten Funktionen zur Steuerung eines Coomputers die gesammelt geordnet und durchnummeriert wurden.

Wie läuft der Trap beim 68k ab?

-Der uP stösst auf den Befehl Trap #n

-Das Statusregister wird in ein uP-internes Temporäres-Register versorgt

-Es wird in den Supervisor Modus geschalten d.h. Stackpointer ist nun der SSP

-Der PC wir auf dem Stack gesichert

-Das SR aus dem Temporär-Register kommt ebenfalls auf den Stack

-Der  PC wird mit dem Vektor aus der Vektortabelle geladen.

-Nun zeigt der PC hoffentlich auf die Trap-Routine (BS) und das Programm kann weiter gehen.

Wie kann man Peripherien kontrollieren ohne Interrupts?

Immer periodisch nachschauen ob ein ereignis aufgetreten ist.Das Problem dabei ist das man so schnell nachschauen muss das keine Zeichen verloren gehen.

Was machd man bei einer Interrupt-Initialiesierung mit

Prozessor 

Peripherie

Prozessor auf Interruptereigniss vorbereiten typ. Adresse der Interrupt-Service-Routine an hersteller-vorgegebenen Ort hinterlegen. 68k in Vektortabelle 

Peripherie Register so initialisieren, das bei beabsichtigtem Ereignis ein Interrupt flag gesetzt wird

Zu allerletzt der Initialiesierung, das Interrupt Enable Register.setzen damit das Interrupt Flag bis zum Prozessor durchschaltet.

Wie sieht eine Interrupt-Service-Routine ISR aus?

Der uP erkennt den Interrupt, speichert Rücksprungadresse und Statusregister auf dem Stack und setzt den Programmcounter auf die Interrupt Service Routine.

Die ISR prüft als erstes das Interruptflag der Peripherie, ist dieses Flag nicht aktiv muss wihl ein anderes Ereigniss den Interrupt ausgelöst haben 

Ist das aktive Interruptflag gefunden worden. Muss es zurückgesetzt werden! Somit ist der Peripheriebaustein wieder scharf das nächste Ereigniss zu melden

Sie können endlich den Programmcode abarbeiten, der die eigentliche Aufgabe ausführt

Zurückkehren zu dem Hauptprogramm

Étudier