05.01.2014 Aufrufe

Informatik - Gymnasium-Walldorf

Informatik - Gymnasium-Walldorf

Informatik - Gymnasium-Walldorf

MEHR ANZEIGEN
WENIGER ANZEIGEN

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

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!