4.0 Befehlsverarbeitung

4.1 Load-Store Architektur

[Wikipedia: Load/Store-Architektur]

Fragen

  1. Wann spricht man von einer Load-Store-Architektur?
  2. Warum sind viele RISC-Architekturen danach konstruiert?
  3. Welche Vor- und Nachteile hat diese Architektur?

4.2 Steuerung / Leitwerk

[Wikipedia: Steuerwerk]

Fragen

  1. Welche Aufgabe hat das Leitwerk?
  2. Wofür steht die Abkürzung IR?

4.3 Befehlspipeline

[Wikipedia: Pipeline (Prozessor)] [YouTube: Steve jobs talking about the Megahertz Myth]

Aufgabe 1

HolenDekodierenAusführen
1. Takt
2. Takt
3. Takt
4. Takt
Pipeline

Füllen Sie die Tabelle aus. Im Codespeicher steht:

mov R0,#10
mov R1,#20
add R2,R1,R0
mov R3,R2

Aufgabe 2

Berechnen Sie die Ausführungszeit des Programms bei einer Taktfrequenz f=32MHz. Alle Instruktionen werden in einem Takt ausgeführt.
Hinweis: Wenn verzweigt wird werden 3 zusätzliche Takte benötigt um die Pipeline neu zu füllen.
Warum sollten Verzweigungen in schnellen Programmen möglichst vermieden werden?
Welche Aufgabe hat der Programcounter?

Vorbedingungen: R0=100, R1=1
w1:
  subs R0,R1  //R0:=R0-R1, Nullanzeiger wird aktualisiert
  bne w1      //wenn 0 verzweige zu Sprungmarke w1

4.4 RISC_CISC

[Wikipedia: Reduced Instruction Set Computer]

Hinweis: Anzahl der Takte für ARM RISC stimmen nicht!

ldr  R1,=Adresse (>=2 Takte)
ldr  R2,[R1,0]   (2 Takte)
add  R0,R0,R2    (1 Takt)

ldr  R1,=Adresse (>=2 Takte)
ldr  R2,[R1,0]   (2 Takte)
subs R2,#1       (1 Takt)
str  R2,[R1,0]   (2 Takte)
bne  Sprungmarke (>=1 Takte)

Fragen

  1. Unser STM32 (AVR: ATmega328P) hat einen RISC Befehlssatz.
    1. Wo für steht die Abkürzung RISC?
    2. Nennen Sie die Alternative und die Abkürzung dazu.
    3. Welche Vor- und Nachteile hat RISC gegenüber der Alternative?
    4. Warum wurde RISC eingeführt?