Architektur Flashcards
CPU Register
Was ist der Program Counter (PC)?
Die Adresse des gerade ausgeführten Befehls.
Program Counter
Was ist das Instruction Register (IR)?
Der gerade in Ausführung befindlicher Befehl
CPU Register
Was ist der Stack Pointer (SP)?
Die Adresse des Stacks
CPU Register
Was sind Flags?
Es ist der Überlauf als auch das Ergebnis des letzten Vergleichs.
CPU Register
Was sind die wichtigen Merkmale bei General Purpose Registers (R1, R2,…)?
Manche CPUs unterscheiden zwischen Datenregister und Adressregister um spezialisierte Operationen effizienter zu gestalten
CPU Register
Was sind Spezialitäten?
Es handelt sich um Segmentregister als auch Basisregister und Limitregister die für den virtuellen Speicher da sind
Fetch-decode-execute
Gebe die Befehlsausführung des Fetch-decode-execute wieder
- Lesen der nächsten Anweisung in das IR
- Erhöhen des PC
- Art und Adressierung der Anweisung ermitteln
- Wenn ein Wort aus dem Speicher benötigt wird, dann rechne die Adresse aus
- Laden Werte (vom Speicher) in ein Register
- Ausführen der Instruktion
- Eventuell Zurückschreiben von Werten in den Speicher
- Weiter mit Schritt 1
RISC versus CISC
Wie viele Instruktionen muss eine CPU beherrschen?
- Laden & Speichern
- Einfache Rechenoperationen
- Sprungbefehle
RISC versus CISC
Warum haben komplexe Befehle manchmal Vorteile?
Je mehr die CPU “sieht”, desto besser kann sie planen
CISC (Complex Instruction Set Computing)
Können hohe Kosten entstehen durch die komplexen Befehle der CISC?
Nein, da der Interpreter klein ist und weniger Sizilium verwendet wird
CISC
Kann die Parallelisierung ein Vorteil sein?
Ja, da die CPU die Befehle im optimalen Fall schneller parallelisieren kann.
CISC
Ist die Änderung der Mikroprogramme ein Vorteil?
Ja, da die CPU neue Befehle lernt
CISC
Ist die Interpretation neuer komplexer Befehle ein Nachteil?
Ja, da es Zeit braucht und langsamer ist
CISC
Ist die Parallelisierung ein Nachteil?
Ja, da sie kompliziert ist und es teurer wird
RISC
Was macht den RISC aus?
Einfache aber schnelle Befehle sowie, dass die meisten Befehle in einem Takt ausführbar sind.
RISC
Ist die einfache Logik ein Vorteil?
Ja, da weniger Schaltungen gebraucht werden und es billiger ist
RISC
Was sind Nachteile der RISC?
- Programme werden größer
- Compiler müssen Befehle geschickt anordnen
CISC/RISC-Mischform
Welche CPUs benutzen die CISC/RISC-Mischform?
Moderne Intel-CPUs
CISC/RISC-Mischform
Was eignet sich am besten für grundlegende einfache Befehle?
RISC
CISC/RISC-Mischform
Was eignet sich am besten für komplexe Befehle?
CISC
CISC/RISC-Mischform
Ist das Chip Design ein Nachteil?
Ja, da das Design kompliziert ist
CISC/RISC-Mischform
Warum sind das RISC-Design und die wenigen Schaltungen Vorteile für die CPU?
Da die CPU dadurch schneller wird.
Pipelines
Was ist der Durchsatz?
Die abgearbeiteten Befehle pro Zeit
Pipelines
Warum steigt der Durchsatz?
Weil er mit der Länge der Pipeline steigt
Pipelines
Warum ist der Stau ein Problem?
Weil dann die Pipeline blockiert wird und keine Befehle durchkommen
Pipelines
Warum ist Leerlaufen ein Problem?
Weil bei einem falschen geratenen Sprungbefehl die Pipeline geleert werden muss
Parallele Pipelines
Warum ist die Anzahl paralleler Pipelines begrenzt?
Weil viele Befehlsfolgen nicht parallelisierbar sind und der Test auf Paralleliserbarkeit komplizierter wird
Superskalare Prozessoren
Liste die superskalaren Prozessoren auf
- S1 Instruction fetch unit
- S2 Instruction decode unit
- S3 Operand fetch unit
- S4 ALU, ALU, LOAD, STORE, Floating point
- S5 Write back unit
Superskalare Prozessoren
Wieso werden langsame Units mit den schnellen Units parallelisiert?
Da weniger Sizilium gebraucht wird mit komplett parallelen Pipelines
Vektorrechner
Wann sollten Vektorrechner benutzt werden?
Bei naturwissenschaftlichen Simulationen
Word Alignment
Warum sind 8 Bit bzw. 1 Byte bei modernen Rechnern üblich?
Da moderne Rechner schreiben bzw. lesen mindestens 8 Bit aufeinmal
Word Alignment
Was kann beim Lesen von 16/32 Bit Zugriffe passieren?
Es kann zu Fehler kommen und die CPU erzeugt einen Interrupt
Word Alignment
Wie kann man die Fehler bei 16/32 Bit Zugriffen verhindern?
Durch ein Alignment der Datenstrukturen
Speicherhierarchie
Liste die Speicherhierarchie auf
- Registers
- Cache
- Main memory
- Magnetic disk
- Tape | Optical disk
Text-Kodierung
Wie werden die Buchstaben A und B kodiert?
- A = 0x41h
- B = 0x42h
Text-Kodierung
Was sind gängige Zeichensätze und Kodierungen?
- US-ASCII (American National Standard Code for Information Interchange)
- EBCDIC (Extended Binary Coded Decimal Interchange Code)
- Unicode
Unicode
Welche verschiedenen Kodierungen sind beim Unicode möglich?
- UTF-8, Variable Länge für jedes Zeichen
- UTF-16, Variable Länge aber mindestens 2 Byte
- UTF-32, Alle Zeichen haben 4 Byte
Unicode
Unicode weißt jedem Zeichen eine Zahl zu. Wie viele mögliche UCS Zeichen gibt es?
2^31
UTF-8
Welche Zeichen kann UTF-8 darstellen?
Es kann alle 2^31 Unicode Zeichen darstellen
UTF-8
Welche Verbindung hat es zu ASCII?
Es ist rückwärtskompatibel zu ASCII
IO-Ports und Interrupts
Wie wird auf Geräte zugegriffen?
Durch das Betriebssystem und Benutzerprogramme
IO-Ports
Wie werden IO-Ports angesprochen?
Sie werden über eine Adresse angesprochen
IO-Ports
Wie viele Register hat ein Port? Liste alle auf
Es hat 5 Register
- Status Register
- Control Register
- Command Register
- Data-In Register
- Data-Out Register
IO-Ports
Was kann das Status Register?
Es zeigt den aktuellen Zustand des Ports und stellt Daten zum Lesen bereit
Memory-Mapped versus IN/OUT-Instruktionen
Welche Probleme können bei getrennten Adressräumen entstehen?
Der Zugriff auf IN/OUT-Instruktionen sind nur dem BS erlaubt und die CPU muss den Zugriff reglementieren
Memory-Mapped versus IN/OUT-Instruktionen
Welche Vorteile entstehen bei einem gemeinsamen Adressraum?
Durch Seitentabellen hat man Zugriffschutz und das Auslesen & Verarbeiten ist effizienter
Memory-Mapped versus IN/OUT-Instruktionen
Welche Probleme können bei gemeinsamen Adressräumen entstehen?
Die Busarchitektur wird verkompliziert und Caching muss abgestellt werden
Memory-Mapped IO und der Speicherbus
Was macht die IO bei einem System mit nur einem Speicherbus?
Die IO beantwortet Anfragen im IO Speicherbereich
Memory-Mapped IO und der Speicherbus
Was ist das Problem der IO bei einem System mit sehr schnellem Speicherbus?
Die IO Komponente wird nicht mitbekommen, wann eine Adresse im IO Speicherbereich gelesen wird
Direct Memory Access
Wieso brauchen IO-Ports und Memory-Mapped IOs viel CPU-Zeit?
Weil die CPU Wörter einzeln auslesen muss und in den Hauptspeicher legt
Direct Memory Access
Was hat der DMA Controller für eine Funktion für die CPU, wenn die CPU bestimmt welches Gerät, wie viele Bytes an einem Ort speichern soll?
Der DMA-Controller entlastet die CPU indem es den Rest übernimmt und ein Interrupt auslöst
IO-Port Polling
Was muss passieren damit die CPU ein Kommando an den Controller schicken kann?
- Busy-Bit im Statusregister muss gelöscht sein
- Setzen des Command und des Data-Out Registers
- Setzen des Command-Ready Bit im Control Register
- Controller erkennt Command-Ready Bit und setzt das Busy-Bit im Statusregister
- Controller liest Command und Data-Out Register und führt die Operation durch
- Controller löscht das Command-Ready und das Busy Bit
- Die CPU bemerkt, dass der Controller fertig ist (Busy Bit ist gelöscht) und liest das Data-In Register aus
IO-Port Polling
Wie kann man das Problem lösen, dass die CPU warten muss während ein Polling durchgeführt wird?
Der Controller erzeugt einen Interrupt wenn er fertig ist und das Polling entfällt
Interrupt Controller
Jeder PC hat einen Programmable Interrupt Controller (PIC). Was kann die PIC erzeugen?
Es kann 8 verschiedene Interrupts erzeugen
Interrupt Controller
Was macht die PIC wenn mehrere Interrupt Controller einen Interrupt auslösen möchten?
Es verwaltet eine Warteschlange mit Geräten die einen Interrupt auslösen möchte
Lese Folien 54-59 von Architektur
Interrupt Controller
Was ist eine Kaskadierung?
Ein Interrupt kann einen anderen unterbrechen
Interrupt Controller
Welche Register hat PIC?
- Interrupt Request Register (IRR)
- Interrupt Service Register (ISR)
- Interrupt Mask Register (IMR)
Interrupt Controller
Was macht das Interrupt Request Register (IRR)?
Es hat ein Bit pro IO-Controller und zeigt an ob er einen Interrupt auslösen möchte
Interrupt Controller
Was macht das Interrupt Service Register (ISR)?
Es hat ein Bit pro IO-Controller und zeigt an wessen Interrupt ausgeführt wird bzw. unterbrochen wird
Interrupt Controller
Was macht das Interrupt Mask Register (IMR)?
Es schaltet einzelne Interrupts aus