01_Hardwaregrundlagen Flashcards

1
Q

Klassifizierungen

A
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Aufbau und Funktion einer CPU

A
  1. Fetch: Von der Adresse im Speicher, auf die der Inhalt von BZ zeigt, den Befehl holen
  2. Decode: Den Befehl decodieren, d.h. aus dem Operationscode des Befehls ermitteln, was zu tun ist (Register laden, oder Multiplizieren oder Subtrahieren)
  3. OP: Aus dem Befehl die Adressen des/der Operanden entnehmen (Registernummer, evtl. Speicher- adresse), Operanden in OP1/2 laden
  4. Exec: ALU mit den nötigen Steuersignalen versehen und Befehl ausführen
  5. Store: Ergebnis auf der im Befehl enthaltenen Operandenadresse speichern (Registernummer oder Speicheradresse)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

CPU - Pipelining

A
  • jeder Befehl in einem Takt ausgeführt
  • getrennte Einheiten der CPU nacheinander beschäftigt -> Ausführung verschachteneln
  • Konflikt: in Folgebefehl Ergebnis des vorherigen benötigt / Durchführen von Sprüngen (alle Folgebefehle aus Pipeline verworfen)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Befehle - Aufbau

A
  • spiegeln Aufbau der CPU
  • Arbeitsregister: Akkumulator
  • Anzahl d. verwendeten Adressen = Anzahl der verfügbaren Register
  • je mehr Register, desto breiter wird Befehl
  • CPU mit 32 Registern: bei 3-Operandenadressierung 3 * 5 Bit im Befehlscode
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Befehle - Varianten der Operandenadressierung

A
  • unmittelbar (als Zahl)
  • direkt (Speicheradresse)
  • indexed (zur Laufzeit, in Register)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Assembler

A
  • Maschinenbefehle spiegeln physikalische Struktur - nur auf CPU-Familie ausführbar, für die sie erzeugt wurden
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Busse

A
  • alle Komponenten über selbe Busleitungen verbunden
  • i.d.R. kommunizieren je nur zwei Teilnehmer
  • Unterscheidung der Teilnehmer durch Adressen
    • alle müssen ständig Adressen abhören und schauen, ob sie angesprochen wurden
    • Bereiche RAM, ROM + I/O
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Peripheriegeräte/Controller

A
  • Aufgabe: CPU-Bus an angeschlossene Geräte anpassen + CPU von Routinearbeiten mit diesen Geräten entlasten
  • z.B. DMA -> CPU hat mit Datenübertragung nichts zu tun -> Zeit für andere Aufgaben
  • Prüfsummen zur korrekten Übertragung -> von Controller autonom durchgeführt
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

DMA - Direct Memory Access

A
  • Speichertransfer selbsttätig durchführen
  • notwendige Parameter: Adresse d. Sektors auf Platte + Startadresse im RAM + Anzahl der zu transferierenden Bytes
  1. DMA-Controller fordert den Bus an (HLD = HOLD) -> CPU schaltete Daten- und Adresseleitungen inaktiv
  2. CPU gibt Bus an SATA-Controller frei (HLDA = HOLD Acknowledge)
  3. SATA-Controller führt den Transfer durch
  4. SATA-Controller gibt den Bus wieder frei - nimmt Signal HLD zurück
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Interrupt

A
  • Gegensatz: Polling = ständiges Nachfragen – würde CPU extrem belasten
  • CPU wird bei Abarbeitung von Befehlen durch Hardwaresignal unterbrochen
  • signalisiert externe Ereignisse
  • Interrupt-Controller verwaltet Interrupt-fähige Geräte
  • in jedem Befehlszyklus von CPU wird nach Interrupt geschaut – bevor sie nächsten Befehl holt
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Interrupt

Signalfluss (Hardware)

A
  1. Gerät (Devx) stellt Interruptanforderung
  2. Interruptcontroller gibt Signal an CPU
  3. CPU quittiert Anforderung mit INTA (INTERRUPT Acknowledge) + fordert Interruptvektor an identifiziert Interruptgerät
  4. CPU unterbricht Programmbearbeitung
  5. CPU führt Interruptreaktionsroutine aus Abb.: Pfeile sind Hardwareleitungen
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Interrupt

Ablauf

A
  1. Ereignis tritt ein. Interrupt-Leitung wird aktiviert
  2. CPU nimmt Aktivierung zur Kenntnis, führt aktuellen Befehl zu Ende
  3. CPU legt Flags, Codesegment und Befehlszeiger auf den Stack
  4. CPU holt von einer definierten Adresse (Interrupt-Sprungtabelle, seit 80386: Interrupt- Gate) ein neues Codesegment, Instruction-Pointer und setzt die Befehlsausführung an dieser geholten Adresse fort.
  5. Die Interruptreaktionsroutine wird ausgeführt
  6. mit Befehl iret der Interruptreaktionsroutine wird zum unterbrochenen Programm zurückgekehrt -> CPU lädt IP,CS, Flags zurück vom Stack, das unterbrochene Programm wird nahtlos fortgeführt.

1-4 fest in Hardware verdrahtet

Anwendung: page fault exceptions, Anwendungen BS-Aufruf ermöglichen, Debuggen

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Interrupt

Interrupt-Sprungleiste

A
  • vektorisierter Interrupt
  • mit Interrupt Index mitgegeben - spezifiziert Startadresse für Reaktionsroutine
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Interrupt

Interrupt Description Table

A
  • IDTR-Register in heutigen Prozessoren -> Position und Länge der IDT abgelegt
  • in Tabelle Interrupt-Gates abgelegt -> enthalten Startadressen der Reaktionsroutine + Kennzeichen ob verfügbar (p) + Privilegstufe (DPL)
  • möglich aus Code-Umgebung mit DPL 3 in DPL 0 (BS) zu wechseln
  • Interrupt-Controller zwischen CPU + Peripherie, wenn Peripherie keinen Interrupt-Vektor liefern kann
    • liefert Vektor
    • koordiniert Interrupts
    • kann Interrupts an CPU durchlassen o. sperren (maskieren)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly