k360-Anwendung_ALU_von_ReTI

Page 1

page-01.png

Kapitel 3 – Kombinatorische Logik

  1. Kombinatorische Schaltkreise
  2. Boolesche Algebren
  3. Boolesche Ausdrücke, Normalformen, zweistufige Synthese
  4. Berechnung eines Minimalpolynoms
  5. Arithmetische Schaltungen
  6. Anwendung: ALU von ReTI

Albert-Ludwigs-Universität Freiburg
Prof. Dr. Armin Biere
Institut für Informatik

Page 2

page-02.png

Anwendung: ALU von ReTI

  • Die ALU (Arithmetic Logic Unit, arithmetisch-logische Einheit) dient der Berechnung von arithmetischen und logischen Operationen.
  • Sie wird von den Compute-Befehlen verwendet und übernimmt weitere Aufgaben, z.B. Berechnung von Speicheradressen.
  • Erinnerung: Der Befehlssatz von ReTI hat die folgenden Compute-Befehle (s. nächste Folie).

Page 3

page-03.png

Compute-Befehle: Kodierung

MI Befehl Wirkung
0 0 1 0 SUBI i ;
0 0 1 1 ADDI i ;
0 1 0 0 OPLUSI i ;
0 1 0 1 ORI i ;
0 1 1 0 ANDI i ;
1 0 1 0 SUB i ;
1 0 1 1 ADD i ;
1 1 0 0 OPLUS i ;
1 1 0 1 OR i ;
1 1 1 0 AND i ;

Page 4

page-04.png

Addition und Sign Extension

Probleme bei Additionen:

  1. Addition verschieden langer Zahlen (z. B. ).
  2. Addition Binärdarstellungen und Zweierkomplementzahlen bei Adressrechnungen für LOADINj, STOREINj, JUMP... z.B. . usw.

Zu 1: Lösung durch Sign Extension

Sei . heißt sign extension von .

Es gilt: . (Beweis als Übung)

Dann wird zurückgeführt auf .

Zu 2: Siehe nächste Folie.

Page 5

page-05.png

Addition von Binär- und Zweierkomplementzahlen

Lemma: Sei , , und sei mit , .

Dann gilt:

Beweis: Erweitere auf 33-stellige Zweierkomplementzahlen und benutze einfach den Satz aus dem letzten Abschnitt.

Der Satz aus dem letzten Abschnitt besagt: Falls und , dann .

ist klar wegen .

Aus und folgt und damit .

Page 6

page-06.png

Spezifikation der ALU für ReTI

Eine n-Bit-ALU mit:

  • Zwei n-Bit-Operanden , , Eingangscarry . ReTI: .
  • Einem m-Bit select-Eingang, der ausgewählt, welche Funktion ausgeführt wird. Hier: 8 Funktionen (siehe nächste Folie), daher Bits.
  • Einem n-Bit-Ausgang. .

Insgesamt 68 Ein- und 32 Ausgänge.

Page 7

page-07.png

Select-Eingang bei ReTI-ALU

ALU-Funktion
0 0 0
0 0 1
0 1 0
0 1 1
1 0 0
1 0 1
1 1 0
1 1 1

Page 8

page-08.png

Mögliche Realisierungen der ALU (1/2)

Option 1: Realisiere Funktionen getrennt durch für , dann Auswahl durch einen verallgemeinerten Multiplexer.

Page 9

page-09.png

Realisierung durch einen verallgemeinerten Multiplexer

Page 10

page-10.png

Mögliche Realisierungen der ALU (2/2)

Option 1: Realisiere Funktionen getrennt durch für , dann Auswahl durch einen verallgemeinerten Multiplexer.

Option 2: Gemeinsame Behandlung ähnlicher Funktionen. Komplizierter zu realisieren, aber effizienter.

Page 11

page-11.png

Schaltungsrealisierung der ALU (1/2)

Page 12

page-12.png

Schaltungsrealisierung der ALU (2/2)

Option 2:

  • AND und EXOR Gatter berechnen die logischen Operationen gemeinsam.
  • Ein Multiplexer (gesteuert durch ) wählt zwischen den logischen Ergebnissen.
  • Der Addierer/Subtrahierer wird über aktiviert.

Option 1:

  • Separate Schaltkreise für jede Funktion.
  • Verallgemeinerter Multiplexer wählt das Ergebnis aus.

Page 13

page-13.png

Vergleich Option 1 mit Option 2

Wie verhalten sich Kosten und Tiefe der beiden Realisierungsoptionen zueinander?

a. () und ()

b. () und ()

c. () und ()

d. keine der obigen

Page 14

page-14.png

Zusammenfassung Kombinatorische Logik

  • Kombinatorische Schaltkreise setzen Boolesche Funktionen um.
  • PLAs sind zweistufig, mehrstufige Schaltungen bestehen aus Gattern und diese aus Transistoren.
  • Minimierung von PLAs mit Verfahren von Quine-McCluskey und Lösen des Überdeckungsproblems.
  • Statt Minimierung allgemeiner mehrstufiger Schaltkreise wurde eine Klasse (Addierer für Binär- und Zweierkomplementzahlen) betrachtet und ihre Integration in der ALU von ReTI diskutiert.