Befehlssatz Flashcards
Komponenten eines Befehls?
Operation
Datentyp
Operanden
Adressierung
Merkmale eines Befehlssatzes
Befehlsvorrat
Befehlsformat
Orthogonalität
Symmetrie
Regularität
Befehlssatz: Befehlsvorrat
Alle verfügbaren Maschinenbefehle
Befehlssatz: Befehlsformat
Struktur der Maschinenbefehle durch binärwerte dargestellt
Befehlssatz: Ortogonalität
Möglichst kleine Anzahl grundlegender Befehle. Kombinierbar zu komplexeren
Opcode / Datentyp / Adresse/datum
sollten unabhängig sein, jede Kombination möglich
Befehlssatz: Symmetrie
Jeder Befehl kann mit jedem Datentyp / Adressierungsart ausgeführt werden
Befehlssatz: Regularität
ist nach konsistent anwendbaren regeln strukturiert
Definition: CISC
Complex Instruction Set Computer
Befehlsvorrat: 400…500
Beispiele: x86, DEC VAX
Defintion: RISC
Reduced Instruction Set Computer
Befehlsvorrat: 40…50
Beispiele: SPARC, MIPS, ARM, PowerPC
90/10 Regel beim Befehlssatz
bei CISC werden 90 Prozent aller operation mit 10 Prozent des befehlsstatzes durchgeführt
Vorteile CiSC
- Erhöhung der coddichte durch effiziente befehle
- variable längen für opcode und Befehlsform
- flexible adressierung
Vorteile RISC
speicherzugriff nur über LOAD Stor
Operandenspeicherung: Stack +-
+ einfaches model
+ gute codedichte
- kein direkterzugriff auf stack
- stack wird engpas
Operandenspeicherung: ACCU +-
+ kurze befehle
+ minimale hardware
- ACCU ist einziger temporärer Speicher
Operandenspeicherung: GRP +-
+ Allgemeines Model
+ Zwischenspeicherung der Operanden
- schlechte codedichte
- komplexe befehlswörter
- explizite adressierung
Vorteile von Universtalregisterarchitekturen
- schneller zugriff auf Operanden
- einfach adressierung der register
- nutzbar als zusätzliche Ebene in Speicherhirachie
- vielfältige Möglichkeiten für zwischenspeicherung
- effektiver für compiler
Adressierung: statische Adressierung
physikalische Adressen werden zu programizerzeit festgelegt.
Addresseierung: dynamische Adressierung
Addressen werden dynamisch zur Laufzeit vergeben, von Adresswerk für program umgerechnet
Adressierung Notation: A
Haupspeicheradresse
Adressierung Notation: RA
Registeradresse
Adressierung Notation: # Operand
Direktoperand
Adressierung Notation: (A), @(A), ((A))
Haupspeicherinhalt von A
Adressierung Notation: $ HEX
Hexadeizmalwert
Adressierung Notation: M[A]
Hauptspeicherinhalt von A
Adressierung Notation: RA (nicht assembler)
Registerinhalt von RA
Adressierungsarten:
implizit
immediate
direkt
indirekt
relative
indiziert
segmentiert
virtuell
Adressierung: implizit
Adresse / Operand ist durch opcode festgelegt
Adressierung: immediate
Operand wird direkt im Befehlt mitgeführt
Adressierung: direkt
Adresse steht im Befehl
Adressierung: indirekt
Befehl Enthält Adresse an der Adresse steht
Adressierung: relativ
Befehl enthält Adresse und offset
Adressierung: indiziert
Befehl enthält basisadresse die durch addition eines Index (Indexregister) modifiziert wird
Adressierung: segmentiert
adresse wird an Inhalt eines segmentregisters angehängt
Adressierung: virtuel
Umsetzung von virtueller Adresse in Physikalische
Klassen von möglichen Befehlen nach Operationstyp
Datenübertragung: Speicher (register, speicher, io)
Datenmanipulation: arithmetisch, logisch, schiebe
Verzweigung: JMP, JMC …
Systemsteuerung: Betriebssytemrufe, Speicherverwaltung, Interrupts, Traps