220 likes | 344 Views
Inhalte: Der von Neumann-Rechner Hauptspeicher Mikroprogrammierung Maschinenprogrammierung Assemblerprogrammierung. 5.Übung:. Aufgabe: 5.1 Entwerfen Sie das Mikroprogrammsteuerwerk a) für einen 8-Bit Block Multiplizierer auf der Basis eines 4-Bit Parallel Multiplizierers,
E N D
Inhalte: • Der von Neumann-Rechner • Hauptspeicher • Mikroprogrammierung • Maschinenprogrammierung • Assemblerprogrammierung 5.Übung: Übung Informatik1 für ET und MT
Aufgabe: • 5.1Entwerfen Sie das Mikroprogrammsteuerwerk • a) für einen 8-Bit Block Multiplizierer auf der Basis eines 4-Bit Parallel Multiplizierers, • b) für einen 4-Bit Seriellen Multiplizierer. • Nutzen Sie das Übungsblatt 3. Übung Informatik1 für ET und MT
Steuerung durch einen Mikroprogrammspeicher Übung Informatik1 für ET und MT
Steuerung des Divisionsschaltwerkes Übung Informatik1 für ET und MT
8-Bit Block Multiplizierer auf der Basis eines 4-Bit Parallel Multiplizierers • Löschen P Register • P‘ = AL*BL+P speichern • A und P um 4 Bit verschieben • P‘ = AH*BL+P speichern • A und B um 4 Bit verschieben • P‘ = AL*BH+P speichern • A und P um 4 Bit verschieben • P‘ = AH*BH+P speichern Übung Informatik1 für ET und MT
Adresse Z‘ Y (R,A,B,P,S) Zustandsdiagramm 0 001 0 0 0 0 1 R 1 010 0 1 0 1 0 Z6 Z4 Z1 Z2 Z3 Z5 Z0 Z7 S 2 011 0 0 0 0 1 AP 3 100 0 1 1 0 0 S 4 101 0 0 0 0 1 5 110 0 1 0 1 0 AB 6 111 0 0 0 0 1 S 7 000 1 0 0 0 0 AP S Mikroprogrammsteuerwerk für 8-4-Bit Block Multiplizierer R . . . . Löschen P(Reset) A, B . . . . Operanden verschieben P . . . . Verschieben P S . . . . Speichern Übung Informatik1 für ET und MT
Adresse Z‘ Y (R,A,B,P,S) Zustandsdiagramm 0 001 0 0 0 0 1 R 1 010 0 1 0 1 0 Z6 Z4 Z1 Z2 Z3 Z5 Z0 Z7 S 2 011 0 0 0 0 1 AP 3 100 0 1 1 0 0 S 4 101 0 0 0 0 1 5 110 0 1 0 1 0 AB 6 111 0 0 0 0 1 S 7 000 1 0 0 0 0 AP S Mikroprogrammsteuerwerk für 8-4-Bit Block Multiplizierer R . . . . Löschen P(Reset) A, B . . . . Operanden verschieben P . . . . Verschieben P S . . . . Speichern Übung Informatik1 für ET und MT
Adresse Z‘ Y (R,A,B,P,S) Zustandsdiagramm 0 001 0 0 0 0 1 R 1 010 0 1 0 1 0 Z6 Z4 Z1 Z2 Z3 Z5 Z0 Z7 S 2 011 0 0 0 0 1 AP 3 100 0 1 1 0 0 S 4 101 0 0 0 0 1 5 110 0 1 0 1 0 AB 6 111 0 0 0 0 1 S 7 000 1 0 0 0 0 AP S Mikroprogrammsteuerwerk für 8-4-Bit Block Multiplizierer R . . . . Löschen P(Reset) A, B . . . . Operanden verschieben P . . . . Verschieben P S . . . . Speichern Übung Informatik1 für ET und MT
Serielle 4-Bit Multiplikation P Übung Informatik1 für ET und MT
Zustandsdiagramm Z1 Z6 Z5 Z7 Z3 Z4 Z0 Z2 R Adresse Z‘ Y (R, P, S ) S 0 001 0 0 1 P 1 010 0 1 0 S 2 011 0 0 1 P 3 100 0 1 0 4 101 0 0 1 S P 5 110 0 1 0 6 111 0 0 1 S 7 000 1 0 0 Mikroprogrammsteuerwerk für 4-Bit Seriellen Multiplizierer R . . . . Löschen P(Reset) P . . . . Verschieben P S . . . . Speichern Übung Informatik1 für ET und MT
Zustandsdiagramm Z1 Z6 Z5 Z7 Z3 Z4 Z0 Z2 R Adresse Z‘ Y (R, P, S ) S 0 001 0 0 1 P 1 010 0 1 0 S 2 011 0 0 1 P 3 100 0 1 0 4 101 0 0 1 S P 5 110 0 1 0 6 111 0 0 1 S 7 000 1 0 0 Mikroprogrammsteuerwerk für 4-Bit Seriellen Multiplizierer R . . . . Löschen P(Reset) P . . . . Verschieben P S . . . . Speichern Übung Informatik1 für ET und MT
Zustandsdiagramm Z1 Z6 Z5 Z7 Z3 Z4 Z0 Z2 R Adresse Z‘ Y (R, P, S ) S 0 001 0 0 1 P 1 010 0 1 0 S 2 011 0 0 1 P 3 100 0 1 0 4 101 0 0 1 S P 5 110 0 1 0 6 111 0 0 1 S 7 000 1 0 0 Mikroprogrammsteuerwerk für 4-Bit Seriellen Multiplizierer R . . . . Löschen P(Reset) P . . . . Verschieben P S . . . . Speichern Übung Informatik1 für ET und MT
5.2 Für die Lösung der Aufgabe y = | a + b + c | • ist mit den unten angegebenen Maschinenbefehlen ein Maschinen- programm zu schreiben. Die Operanden a, b, c (Format: 1 Byte) stehen in dieser Reihenfolge ab der Adresse 00E016 im Speicher, das Ergebnis ist dahinter abzulegen. Das Programm soll mit der dezimalen Startadresse 200 beginnend im Speicher stehen. • Eigenschaften des Computers: • Das Rechenwerk verfügt nur über 1 Register AC • Die Adressierung der Operanden erfolgt direkt (unmittelbare Adressangabe im Befehl) • Operationsteil im Befehl: 8 Bit • Befehlsformat: 1 oder 3 Byte • Speicherwortbreite: 8 Bit • Adressbus 16 Bit Übung Informatik1 für ET und MT
Zu 5.2 Befehlssatz: ADR . . . . Hauptspeicheradresse load a ; <AC>:= <a> add b ; <AC>:= <AC> + <b> add c ; <AC>:= <AC> + <c> jpn m1 ; if (<AC> < 0) goto m1 jmp m2 ; goto m2 m1: neg ; <AC>:= 0 - <AC> m2: stor r ; <r>:= <AC> Übung Informatik1 für ET und MT
Aufgabe: r:= | a + b + c | Adressen der Operanden: a= E016, b= E116, c= E216, r= E316 Übung Informatik1 für ET und MT
5.3 Mit einem Computer soll der Wert y = 3 * ( c + d ) - eerrechnet werden. Für diese Berechnung stehen im Registersatz die Register r0 bis r31 zur Verfügung. Dabei stehen die Operanden in nachstehenden Registern: c: im Register r10, d: im Register r11, e: im Register r12. Das Ergebnis y soll im Register r13 abgelegt werden. Nach der Berechnung von y soll das Ergebnis getestet werden, ob es kleiner als 0 ist. In diesem Fall soll eine Verzweigung zu der Marke NEGATIV erfolgen. Schreiben Sie ein möglichst kurzes Maschinenprogramm unter ausschließlicher Benutzung der nachstehenden vier Befehle: Hinweis: Bei dem eingesetzten Rechner steht in r0 immer eine 0! Übung Informatik1 für ET und MT
Auszug aus der Befehlsliste: Es sei rd: Zielregister, rs: Quellregister Übung Informatik1 für ET und MT
Zweiadressmaschine: Pro Befehl werden beide Operanden über Adressen angesprochen. Keine implizite Adressierung des 2. Operanden, aber implizite Adressierung des Ergebnisses (Beispielsweise auf Quellregister des 1. Operanden) Längeres Befehlsformat (Speicherplatz!) Weniger Befehle pro Programm Größere Flexibilität bei Programmierung. Programmierung: ADD A1, A2 MOV A3, A1 oder ? MOV A3, A1 ADD A3,A2 Einadressmaschine: Pro Befehl wird nur ein Operand über seine Adresse angesprochen. Der 1. Operand und das Ergebnis müssen implizit adressiert sein. (Beispielsweise durch feste Vereinbarung eines besonderen Registers (Akkumulator), in dem immer der 1. Operand stehen muss. Das Ergebnis wird immer in diesem besonderen Register abgelegt.) Im Programm müssen zusätzliche Transportbefehle für den 1. Operanden und das Ergebnis enthalten sein. Programmierung: LDAC A1 # <A1> nach AC ADD A2 # <A1> + <A2> SPAC A3 # AC nach <A3> Übung Informatik1 für ET und MT
Hauptspeicher Adressen Speicherplätze CPU Datenprozessor AC 0000 A1 = 0001 0002 0003 A3 = 0004 0005 A2 = 0006 0007 0008 0009 <A1> ALU <A1>+ <A2> <A2> LDAC A1 ADD A2 SPAC A3 Einadressmaschine Übung Informatik1 für ET und MT
Hauptspeicher Adressen Speicherplätze CPU Datenprozessor Registerbank 0000 A1 = 0001 0002 0003 A3 = 0004 0005 A2 = 0006 0007 0008 0009 <A1>+ <A2> <A1> ALU <A2> Zweiadressmaschine MOV A3, A1 ADD A3, A2 Übung Informatik1 für ET und MT
Zu 5.3 Zu erstellen: Maschinenprogramm für Y = 3 * (c + d) – e Die Operanden in den Registern: c in r10, d in r11, e in r12, das Ergebnis soll in r13 abgelegt werden. Programm: ADD r10, r10, r11 ADD r13, r10, r10 ; * 2 ADD r13, r13, r10 ; * 3 SUB r13, r13, r12 SLT r14, r13, r0 ; r13 < 0 dann r14 = 1 BNEZ r14, Negativ Positiv: ….. Negativ: ….. Übung Informatik1 für ET und MT
Zu 5.3 Zu erstellen: Maschinenprogramm für Y = 3 * (c + d) – e Die Operanden in den Registern: c in r10, d in r11, e in r12, das Ergebnis soll in r13 abgelegt werden. Programm: ADD r10, r10, r11 ADD r13, r10, r10 ; * 2 ADD r13, r13, r10 ; * 3 SUB r13, r13, r12 SLTI r14, r13, 0x0 ; r13 < 0 dann r14 = 1 BNEZ r14, Negativ Positiv: ….. Negativ: ….. Übung Informatik1 für ET und MT