Vorlesung Rechnerarchitektur - Fachbereich Informatik

Vorlesung Rechnerarchitektur - Fachbereich Informatik Vorlesung Rechnerarchitektur - Fachbereich Informatik

01.03.2014 Aufrufe

M U 0 K ontroll Log ic Inputs Outputs Instruction Opcode Reset Step ACCz ACC15 Step Asel Bsel ACCoe ACCie PCoe Pcie Irie ALUfs MEMrq R/nW Reset xxxx 1 x x x 0 x x 0 0 0 1 0 0 0 1 Fetch xxxx 0 0 x x 1 0 x 0 0 1 1 1 A+1 1 1 LDA S 0000 0 1 x x 0 1 1 0 1 0 0 0 B 1 1 STO S 0001 0 1 x x 0 1 x 1 0 0 0 0 x 1 0 ADD S 0010 0 1 x x 0 1 1 1 1 0 0 0 A+B 1 1 SUB S 0011 0 1 x x 0 1 1 1 1 0 0 0 A-B 1 1 JMP S 0100 0 1 x x 0 x 0 0 0 0 1 0 B 0 1 JGE S 0101 0 1 x 1 0 x x 0 0 0 0 0 x 0 1 0 1 x 0 0 x 0 0 0 0 1 0 B 0 1 JNE S 0110 0 1 1 x 0 x x 0 0 0 0 0 x 0 1 0 1 0 x 0 x 0 0 0 0 1 0 B 0 1 STOP 0111 0 1 x x 1 x x 0 0 0 0 0 x 0 1 Vorlesung Rechnerarchitektur © Gerhard Raffius, WS 2009/10, h_da - Fachbereich Informatik 16

E in M U 0 P rog ra m m Loop LDA Total ; Accumulate total Add_instr ADD Table ; Begin at head of table STO Total ; LDA Add_instr ; Change address ... ADD One ; by modifying instruction! STO Add_instr ; LDA Count ; Count iterations SUB One ; Count down to zero STO Count ; JGE Loop ; If >= 0 repeat STP ; Halt execution ; Data definitions Total DEFW 0 ; Total - initially zero One DEFW 1 ; The number one Count DEFW 4 ; Loop counter (loop 5x) Table DEFW 39 ; The numbers to total ... DEFW 25 ; DEFW 4 ; DEFW 98 ; DEFW 17 ; Dieses Programm enthält sich selbst modifizierenden Code. Tun sie das besser nicht, wenn sie nicht sehr genau wissen was sie tun!!! Vorlesung Rechnerarchitektur © Gerhard Raffius, WS 2009/10, h_da - Fachbereich Informatik 17

M U 0 K ontroll Log ic<br />

Inputs<br />

Outputs<br />

Instruction Opcode Reset Step ACCz ACC15 Step Asel Bsel ACCoe ACCie PCoe Pcie Irie ALUfs MEMrq R/nW<br />

Reset xxxx 1 x x x 0 x x 0 0 0 1 0 0 0 1<br />

Fetch xxxx 0 0 x x 1 0 x 0 0 1 1 1 A+1 1 1<br />

LDA S 0000 0 1 x x 0 1 1 0 1 0 0 0 B 1 1<br />

STO S 0001 0 1 x x 0 1 x 1 0 0 0 0 x 1 0<br />

ADD S 0010 0 1 x x 0 1 1 1 1 0 0 0 A+B 1 1<br />

SUB S 0011 0 1 x x 0 1 1 1 1 0 0 0 A-B 1 1<br />

JMP S 0100 0 1 x x 0 x 0 0 0 0 1 0 B 0 1<br />

JGE S 0101<br />

0 1 x 1 0 x x 0 0 0 0 0 x 0 1<br />

0 1 x 0 0 x 0 0 0 0 1 0 B 0 1<br />

JNE S 0110<br />

0 1 1 x 0 x x 0 0 0 0 0 x 0 1<br />

0 1 0 x 0 x 0 0 0 0 1 0 B 0 1<br />

STOP 0111 0 1 x x 1 x x 0 0 0 0 0 x 0 1<br />

<strong>Vorlesung</strong> <strong>Rechnerarchitektur</strong><br />

© Gerhard Raffius, WS 2009/10, h_da - <strong>Fachbereich</strong> <strong>Informatik</strong><br />

16

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!