Informatik - Gymnasium-Walldorf
Informatik - Gymnasium-Walldorf
Informatik - Gymnasium-Walldorf
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
<strong>Gymnasium</strong> <strong>Walldorf</strong> 2007/08<br />
<strong>Informatik</strong><br />
Kursstufe<br />
Hack
Der xComputer<br />
Zählregister der<br />
innerzyklischen<br />
Schritte<br />
Befehlssregister<br />
Zählregister der<br />
Programmzyklen<br />
Adressregister<br />
X,Y-Hilfsregister<br />
Flag-Register<br />
Akkumulator<br />
<strong>Informatik</strong> Kursstufe, Arbeitsweise eines Mikroprozessors
von Neumann-Zyklus<br />
Takt<br />
Rechenwerk<br />
ALU<br />
Arithm.Logical U.<br />
Register<br />
Steuerwerk<br />
CU<br />
Control Unit<br />
Adresswerk<br />
AU<br />
Address Unit<br />
Busschnittstelle<br />
BIU<br />
Bus Interface Unit<br />
Datenleitungen Adressleitungen Steuerleitungen<br />
1. Fetch: Befehl wird aus dem Hauptspeicher geholt<br />
2. Decode: Das Steuerwerk legt die auszuführenden Schritte fest<br />
3. Fetch Operands: Die CU veranlasst in Zusammenarbeit mit der AU ggf. das Holen<br />
weiterer Daten<br />
4. Execute: ALU und Steuerwerk führen den Befehl aus<br />
<strong>Informatik</strong> Kursstufe, Arbeitsweise eines Mikroprozessors
Register im xComputer<br />
ADDR-Register:<br />
16Bit-Register für die angesprochene Adresse im Hauptspeicher.<br />
PC-Register:<br />
10Bit-Register, enthält die Adresse des auszuführenden Befehls.<br />
IR-Register:<br />
(Instruction Register, 16Bit) Enthält den auszuführenden Befehl.<br />
Count-Register:<br />
4Bit-Register zählt die Schritte im von Neumann-Zyklus.<br />
AC-Register:<br />
Der Akkumulator (16Bit). Über ihn laufen fast alle Vorgänge.<br />
Flag-Register:<br />
Zeigt z.B. einen Überlauf an, wenn zu große Zahlen addiert werden oder das<br />
Bit das bei einer SHIFT-Operation herausgeschoben wurde.<br />
X- und Y-Register:<br />
16Bit-Register, werden z.B. für Addition und Subtraktion gebraucht.<br />
<strong>Informatik</strong> Kursstufe, Arbeitsweise eines Mikroprozessors
Befehlszyklus im xComputer<br />
Es liege der Befehl LOD 9 vor, der bewirkt, dass der Inhalt der Hauptspeicheradresse 9 in<br />
den Akkumulator geladen wird. Die Abarbeitung erfolgt durch die Aktivierung von<br />
Steuerungleitungen (Control Wires). (rot: von Neumann-Zyklus)<br />
FETCH:<br />
1. Load-ADDR-from-PC wird aktiviert. Die Adresse im Programmzähler (PC) wird in das<br />
Adressregister kopiert.<br />
2. Load-IR-from-Memory: Der Befehl aus dieser Adresse wird gelesen und ins<br />
Befehlsregister geschrieben.<br />
DECODE: Nun legt die Steuerungseinheit fest was zu tun ist (dies findet beim xComputer im<br />
Hintergrund statt)<br />
INCREMENT PROGRAM COUNTER:<br />
3. Increment-PC: Der Programmzähler wird um 1 erhöht.<br />
EXECUTE:<br />
4. Load-ADDR-from-IR: Die Adresse aus dem Befehlsregister wird in das Adressregister<br />
geschrieben.<br />
5. Load-AC-from-Memory: Der Inhalt der aktuellen Adresse wird in den Akkumulator kopiert.<br />
<strong>Informatik</strong> Kursstufe, Arbeitsweise eines Mikroprozessors
Assembler<br />
0<br />
1<br />
2<br />
3<br />
4<br />
5<br />
6<br />
7<br />
8<br />
start:<br />
stop:<br />
lod zahl<br />
add summe<br />
sto summe<br />
lod zahl<br />
dec<br />
sto zahl<br />
jmz stop<br />
jmp start<br />
hlt<br />
; AC aus „zahl:“ laden<br />
; „summe“ dazuaddieren<br />
; AC in „summe:“ speichern<br />
; AC aus „zahl:“ laden<br />
; AC um 1 veringern<br />
; AC in „zahl:“ speichern<br />
; wenn AC=0 zu „stop:“<br />
; weiter nach „start:“<br />
; Taktgeber anhalten<br />
9<br />
10<br />
zahl:<br />
summe:<br />
100<br />
0<br />
; Speicher für „zahl“ und<br />
; „summe“<br />
Labels Speicherinhalt Kommentar<br />
Speicheradressen (im Editor nicht sichtbar)<br />
<strong>Informatik</strong> Kursstufe, Arbeitsweise eines Mikroprozessors
Aufgaben<br />
Schreibe ein Assemblerprogramm für den xComputer, das...<br />
1. die Differenz 709 - 533 berechnet<br />
2. von zwei Zahlen die größere aussucht<br />
3. aus 10 Zahlen die kleinste findet<br />
4. den Rest berechnet, wenn eine Zahl A durch B geteilt wird.<br />
5. von zwei einstelligen Zahlen das Produkt berechnet<br />
... und im AC-Register anzeigt.<br />
Die Befehle shl und shr bedeuten „shift left“ bzw. „shift right“. Sie bewirken eine bitweise<br />
Verschiebung des AC-Inhalts nach links, was einer Multiplikation mit 2 entspricht, bzw. nach<br />
rechts, was einer Division durch zwei entspricht. Das herausgeschobene Bit erscheint in<br />
beiden Fällen im Flag-Register.<br />
6. Schreibe ein Programm, das eine beliebig Zahl mit einer zweistelligen Zahl multipliziert (so<br />
wie man es schriftlich von Hand rechnet!).<br />
7. Erweitere das Programm aus Aufgabe 6 für beliebige Zahlen, beachte dabei auch einen<br />
evtl. auftretenden Überlauf bei shl und add, der im Flag-Register durch eine 1 angezeigt<br />
wird.<br />
<strong>Informatik</strong> Kursstufe, Arbeitsweise eines Mikroprozessors