k352-Arithmetische_Schaltungen_CSA_etc

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
    • 5.1 Carry-Ripple-Addierer
    • 5.2 CSA, 2er-Komplement, Subtraktion
  6. Anwendung: ALU von ReTI

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

Page 2

page-02.png

n-Bit-Inkrementer

Definition: Ein n-Bit-Inkrementer berechnet die Funktion

Ein Inkrementer ist ein Addierer mit für alle .
Ersetze in die FA durch HA.

Kosten und Tiefe:

Page 3

page-03.png

n-Bit-Multiplexer

Definition: Ein n-Bit-Multiplexer berechnet die Funktion

Es gilt:

Page 4

page-04.png

Aufbau von

Page 5

page-05.png

Schaltbild und Kosten

Kosten und Tiefe:

Page 6

page-06.png

Rückkehr zum Addierer

Gibt es billigere Addierer als ?

Notation: Sei . Dann sind und wie folgt definiert:

(Wir legen hier die Bibliothek zugrunde.)

Untere Schranken:

  • Binäre Bäume mit Blättern haben innere Knoten.
  • Binäre Bäume mit Blättern haben mindestens Tiefe .

Im Folgenden sei .

Page 7

page-07.png

Conditional-Sum-Addierer (CSA)

Idee: Nutze Parallelverarbeitung, um Tiefe zu reduzieren!

ää

ää

ää

.

: Siehe nächste Folie.

Im Folgenden sei .

Page 8

page-08.png

Aufbau von

  • Obere Hälfte () und untere Hälfte () werden jeweils durch addiert.
  • Ein wählt basierend auf dem Übertrag der unteren Hälfte das richtige Ergebnis der oberen Hälfte aus.
  • : Eingangsübertrag der unteren Hälfte.
  • : Summen der oberen bzw. unteren Hälfte.

Page 9

page-09.png

Komplexität von : Tiefe

Satz: hat Tiefe .

Beweis: Setze voraus.

: .

:

Page 10

page-10.png

Komplexität von : Kosten

Satz:

Beweis (Induktion): Setze voraus.

: .

IV:

IS, :

Page 11

page-11.png

Komplexität von : Kosten

Satz:

Man kann den hier vorgestellten CSA in einfacher Weise modifizieren, so dass

  • Tiefe ,
  • Kosten .

Es gibt auch Addierer mit linearen Kosten und logarithmischer Tiefe: Carry-Lookahead-Addierer (CLA).

Page 12

page-12.png

Addition von Zweierkomplementzahlen

Auszurechnen ist:

Im Fall von -Bit-Zweierkomplementzahlen können Ergebnisse im Bereich dargestellt werden; andernfalls kommt es zu einem Überlauf.

Der Satz auf der nächsten Folie sagt aus:

  • Kommt es bei der Addition nicht zu einem Überlauf, so kann man den „gewöhnlichen" Binäraddierer zur Addition von Zweierkomplementzahlen benutzen.
  • Ob es zu einem Überlauf kommt, lässt sich anhand von Werten , und im Binäraddierer entscheiden.

Page 13

page-13.png

Zweierkomplement-Addition

Satz: Seien , und , so dass .

Dann gilt:

Beweis durch Fallunterscheidung (, beide positiv, beide negativ, positiv / negativ) und weitere Fallunterscheidung, ob Übertrag auf (Vorzeichen-)Stelle kommt.

Man kann einen alternativen Überlauftest zeigen:

Page 14

page-14.png

Äquivalenz der Überlauftests

Page 15

page-15.png

Addierer für -Bit-Zweierkomplement-Zahlen

  • Eingänge: und sowie Eingangscarry
  • Ausgänge: sowie Überlaufsignal

Page 16

page-16.png

Zweierkomplement-Addition im Beispiel

Beispiel: ,

  0 0 0 1   (= 1)
+ 0 0 1 1   (= 3)
----------
  0 1 0 0   (= 4)

  0 1 0 1   (= 5)
+ 1 0 0 1   (= -7)
----------
  1 1 0 0   (= -4)

  0 0 1 1   (= 3)
+ 0 1 0 1   (= 5)
----------
  1 0 0 1   (Überlauf!)

  1 1 0 0   (= -4)
+ 1 0 1 1   (= -5)
----------
  1 1 0 1   (Überlauf!)

Page 17

page-17.png

Subtraktion

Wegen kann zurückgeführt werden auf .

Beispiel:

  0 1 1 0
+ 1 0 0 0
+       1
---------
  1 1 1 1

Den Schaltkreis für Subtraktion gewinnt man aus einem Addierer. Kombinierter Addierer/Subtrahierer.

Page 18

page-18.png

Subtrahierer