These are notes taken during the RA practical course 2006. Sources are prepared in such a way that tutors can easily check if they were just copied from here. So do yourself a favor and don't copy it.
Kontrollfragen¶
Nennen Sie Vor- und Nachteile von CISC- und RISC-Architekturen
CISC:
Vorteile:
komplexer Befehlssatz mit semantisch reichhaltigen Befehlen
viele Adressierungsmodi
Nachteile:
kleiner Satz von Registern mit semantischer Bindung
mehrere Zyklen pro Befehl
RISC:
Vorteile:
wenige Befehle
geringe Befehlskomplexität/wenige Befehlsformate
großes "Registerfile"
alle Befehle gleich lang
Einzyklus-Maschinenbefehle
Nachteile:
eingeschränkte Adressierungsmodi
Arithmetische Operationen erfolgen nur auf Registern (Load-Store-Architektur)
Überlegen Sie sich, wie Sie ein allgemeines Register mit einer Konstante initialisieren können! Überlegen Sie sich ferner, wie sie den hexidezimalen Wert 0x12345678 in ein allgemeines Register bekommen könnten!
.text lhi r1, 0x1234 ; lade obere 16 Bit in oberen Teil des Registers ori r1, r1, 0x5678 ; verknüpft unteren Teil mit unteren 16 Bit (auch addui benutzbar)
.text addi r1, r0, 0x1234 ; Lade obere 16 Bit nach r1 slli r1, r1, 16 ; Schiebe geladene 16 Bit ganz nach links ori r1, r1, 0x5678 ; verknüpfe r1 mit unteren 16 Bit
.data temp: .word 0 .text addi r1, r0, 0x1234 ; Schreibe obere 16 Bit in r1 addi r2, r0, 0x5678 ; Schreibe untere 16 Bit in r2 sh temp, r1 ; Schreibe 16-Bit in r1 nach Temp sh 2+temp, r2 ; Schreibe weitere 16 Bit 16 Bit weiter lw r1, temp ; Lade 32 Bit von temp nach r1