RA Praktikum 1

by

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

  1. 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)
  2. Ü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!

    1.         .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)
    2.         .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
    3.         .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