3.0 🚧 Rechenwerk
Methode Reziprokes Video
[Wikipedia: Reziprokes Lehren]
Teilen Sie Ihre Klasse in Gruppen zu je 4 SuS ein. Alle SuS schauen sich das Video an.
SoS 1 fasst das gesehene schriftlich zusammen. Die Zusammenfassung wird anschließend den Gruppenmitgliedern vorgetragen.
SoS 2 formuliert Fragen zum Video. Die Gruppenmitglieder beantworten die Fragen .
SoS 3 achtet auf ungeklärte schwierige Fragen. Dies können Fragen sein, die im Verlauf des Videos auftauchen, oder Fragen von Schülerin 2.
SoS 4 stellt Vermutungen über den folgenden Abschnitt an. Diese Vermutungen werden in der Gruppe diskutiert und dokumentiert.
Die Gruppe präsentiert ihre Ergebnisse.
3.1 ALU
[Wikipedia: Arithmetisch-logische Einheit]
Fragen und Aufgaben
- Wofür steht die Abkürzung ALU?
- Nennen Sie 2 Beispiele für Arithmetische Operationen.
- Nennen Sie 2 Beispiele für Logische Operationen.
- Was bewirkt der “S”-Zusatz bei Operationen?
- Wie ist ein ALU-Befehl aufgebaut und wo wird er bei der Bearbeitung gespeichert?
- Welche “Nebenergebnisse” kann die ALU erzeugen, wo werden sie bei Bedarf gespeichert?
- Nennen Sie 3 ALU-Nebenergebnisse und ihre Ermittlung.
- Zeichnen Sie ein Blockschaltbild für den Befehl adds R2,R1,R0 mit den notwendigen Baugruppen und deren Verbindungen.
- Zeichnen Sie ein Blockschaltbild für den Befehl subs R2,R1,#150 mit den notwendigen Baugruppen und deren Verbindungen.
Lösungen
- Arithmetic Logic Unit
- add, sub, mul, div, Einer-Komplement, Zweier-Komplement
- and, or, xor
- Die Flags z.B. N,Z,C im PSR werden gesetzt
- Operation, Zielregister und Operanden (Register oder Konstanten). Im Instruction Register (IR)
- Die Flags z.B. N,Z,C werden im Prozess Status Register (PSR) gespeichert
- N ist das Negative-Flag und bedeutet bei vorzeichenbehafteter Betrachtung ein negatives Ergebnis. Es ist Bit 31 (MSB) des Ergebnisses.
Z ist das Zero-Flag, wenn das Ergebnis null ist, wird es gesetzt. Es ist !Oder über alle Bits, also 1 gdw. alle Bits 0 sind.
C ist das Carry-Flag, wird z.B. bei einer Addition gesetzt wenn das Ergebnis größer als die größte Ausgabe-Zahl der ALU ist. Z.B. bei 8Bit ALU 128+128 gibt 256 also C-Flag gesetzt und als Ergebnis 0.
3.2 Barrelshifter
[Wikipedia: Barrel-Shifter]
Fragen und Aufgaben
- Was macht ein Barrelshifter?
- R1 habe den Wert 10. Welchen Wert hat R1 nach dem Befehl lsl R1,R1,#1 ?
- R1 habe den Wert 10. Welchen Wert hat R1 nach dem Befehl lsr R1,R1,#1 ?
- Neben LSR gibt es auch ASR, worin besteht der Unterschied und wofür ist ASR nütze?
Lösungen
- Er verschiebt die Bits der Eingabe um einen Wert, kann mit Multiplexer realisiert werden.
- #1 nach links schieben ist mit 2 multiplizieren: 10*2= 20
- #1 nach rechts schieben ist durch 2 teilen: 10/2= 5
- LSR (Logical Shift Right) schiebt von links 0en nach. ASR (Arithmetical Shift Right) schiebt von links das MSB (Most Significant Bit), also das Vorzeichen nach. Negative Zahlen bleiben dadurch negativ.