Mikroarchitektur Flashcards
Mikroarchitektur
Liste die Level 5 bis 0 auf
- Level 5: Problem oriented language level
- Level 4: Assembly language level
- Level 3: Operating system machine level
- Level 2: Instruction set architecture level
- Level 1: Microarchitecture level
- Level 0: Digital logic level
Speicherverwaltung
Zu der Speicherverwaltung gehört der Programmtext: Java Byte Code und statische Daten wie Strings Tabellen. Zudem gehören auch dynamische Daten (Heap) dazu. Wie werden Objekte auf dem Heap erzeugt?
Zum Beispiel der Befehl “new MyObject” erzeugt ein Objekt auf dem Heap
Speicherverwaltung
Was enthält der Stack?
Er enthält die lokalen Parameter einer Funktion
Beispiel zu Level 3
Der Assembler erzeugt Byte Code (Level 3).
Sei ILOAD -> 0x15 0x02 das Beispiel.
Was ist der Opcode, der ILOAD als Befehl angibt und was gibt an wo auf dem Stack sich die Variable j befindet?
0x15 ist der Opcode, der ILOAD als Befehl angibt und 0x02 gibt an wo auf dem Stack sich die Variable j befindet
Der Assembler erzeugt Byte Code (Level 3).
Sei ILOAD -> 0x15 0x02 das Beispiel.
0x15 ist der Opcode, der ILOAD als Befehl angibt und 0x02 gibt an wo auf dem Stack sich die Variable j befindet.
Was bedeutet jetzt IADD -> 0x60?
0x60 ist der Opcode und es werden die obersten zwei Worte auf dem Stack addiert
Word-Alignment bei Speicheradressen
Was kann der PC im Speicher adressieren?
Er kann beliebige Bytes adressieren
Word-Alignment bei Speicheradressen
Das MAR gibt nur Vielfache von 4 Byte an und kann nur Wortgrenzen lesen. Was resultiert daraus?
Es werden immer 4 Byte auf einmal gelesen, also Bytes 0-3, 4-7, 8-11, 12-15
N-Bit und Z-Bit
Wofür steht N = Negative?
Es gibt an ob das letzte Ergebnis der ALU negativ war, d.h. MSB war 1
N-Bit und Z-Bit
Wofür steht Z = Zero?
Es gibt an ob das letzte der Ergebnis der ALU 0 war, d.h. alle Bits waren null
N-Bit und Z-Bit
Z-Bit und Subtraktion ergibt einen Vergleich. Rechne a-b wenn Z-Bit 1 und wenn Z-Bit 0.
- Wenn Z-Bit 1 -> a = b
- Wenn Z-Bit 0 -> a! = b
N-Bit und Z-Bit
N-Bit und Subtraktion ergibt einen Vergleich. Rechne a-b wenn N-Bit 1 und wenn N-Bit 0.
- N-Bit 1 -> a < b
- N-Bit 0 -> a >= b
N-Bit und Z-Bit
N-Bit und Z-Bit und Subtraktion ergibt einen Vergleich. Rechne a - b wenn N-Bit 1 oder Z-Bit 1.
N-Bit 1 oder Z-Bit 1 -> a <= b
Shifter
Was passiert bei einem Logical (Left or Right) Shift?
Die Bits werden verschoben
Shifter
Was passiert mit den freigewordenen Bits?
Freigewordene Bits werden mit 0 gefüllt
Shifter
Was für Multiplikationen kann der Logical Shift rechnen?
Er kann extrem schnelle Multiplikationen mit 2er-Potenzen rechnen