Eine Logikschaltung zur Addition zweier Zahlen - sternberger-home

Werbung
Eine Logikschaltung zur Addition zweier Zahlen
Grundlegender Ansatz für die Umsetzung arithmetischer Operationen als elektronische Schaltung
ist die Darstellung von Zahlen im Binärsystem.
Eine Logikschaltung zur Addition zweier Zahlen beruht auf dem klassischen Additionsalgorithmus.
Dieser ist dir sicherlich als „schriftliches Addieren“ seit der Grundschule bekannt.
Dieser Algorithmus wird mit Hilfe von Schaltunsbausteinen, den sogenannten Halb- und
Volladdieren in einem Addierwerk realisiert.
Binärsystem
Grundlage für das Binärsystem bilden die sogenannten 2er-Potenzen.
0
1
2
3
4
5
6
2 , 2 , 2 , 2 , 2 , 2 , 2 , ...
bzw. 1 , 2 , 4 , 8 , 16 ,32 , 64 , ...
Das Binärsystem beruht auf der Tatsache, dass jede natürliche Zahl als Summe von 2er-Potenzen
dargestellt werden kann. Dabei kommt in der Summe jede 2er-Potenz entweder einmal oder nullmal
vor. Aus dieser Summe lässt sich die Binärdarstellung der Zahl direkt ablesen. Dies soll am
Beispiel der beiden Zahlen 26 und 19 demonstriert werden.
26=16+8+2=1⋅16+1⋅8+0⋅4+1⋅2+0⋅1=110102
19=16+1=1⋅16+0⋅8+0⋅4+1⋅2+1⋅1=10011 2
Schriftliche Addition
Anhand der Beispielaufgabe 26 + 19 soll der Additionsalgorithmus in Erinnerung gerufen werden.
1. Zahlen gemäß ihrer Stellen
übereinander schreiben.
2. 1-er addieren. 1-er der
Summe notieren und den
Übertrag in der 10-er-Spalte
notieren
3. 10-er addieren und dabei den
Übertrag berücksichtigen.
26
26
26
+ 19
+ 19
+ 19
1 1 5
45
Nun soll die gleiche Aufgabe in Binärdarstellung gerechnet werden. Der Algorithmus funktioniert
exakt genauso, wie bei der Addition von Dezimalzahlen.
1.
Notieren
2.
1-er addieren
3.
2-er addieren
und den
Übertrag
notieren
4.
4-er addieren
und dabei den
Übertrag
beachten.
5.
8-er addieren
6.
16-er addieren
und den
Übertrag
notieren.
7.
32-er addieren
und dabei den
Übertrag
beachten.
11010
11010
11010
11010
11010
11010
11010
+ 10011
+ 10011
+ 10011
+ 10011
+ 10011
+ 10011
+ 10011
1 1 1 1 1 1 1 1 01 101 1101 01101 101101 Entwickelt man nun das Ergebnis in seine entsprechende Dezimaldarstellung, so erhält man das
gleiche Ergebnis, wie bei der Rechnung zuvor.
1011012=1⋅32+ 0⋅16+1⋅8+1⋅4+0⋅2+1⋅1=32+8+ 4+1=45
Aufgaben
1) Addiere schriftlich.
a) 101012 +10102
b) 11111112 +12
Halbaddierer
Der erste Baustein des angestrebten Addierwerks ist der sogenannte Halbaddierer. Der Halbaddierer
ist eine Logikschaltung, die zwei einstellige Binärzahlen a und b addiert. Diese Schaltung muss also
für lediglich 4 verschiedene Aufgaben das richtige Ergebnis berechnen.
0 2+ 02
12 +0 2
0 2+ 12
1 2+1 2
= 02
= 12
= 12
= 102
Aus diesen 4 Aufgaben lässt sich direkt eine entsprechende Funktionstabelle erstellen. Da es mehr
als zwei verschiedene Ergebnisse gibt, können diese nicht alleine mit einem Ausgang dargestellt
werden. Daher werden zwei Ausgänge ü und s. Die beiden Abkürzungen s und ü stehen für Summe
und Übertrag.
a
b
ü
s
0
0
0
0
1
0
0
1
0
1
0
1
1
1
1
0
Es ergeben sich für s und ü die folgenden booleschen Terme und die entsprechenden Schaltnetze.
ü=a ∧b
s=a XOR b=(a∧¬b)∨(¬a∧b)=(a∨b)∧¬(a∧b)
Kombiniert man beide Schaltungen zu einem Schaltnetz, so erhält man den sogenannten
Halbaddierer. Diese Schaltung wird mit dem Schaltsymbol HA zusammengefasst.
Neues Schaltsymbol für
einen Halbaddierer
Aufgaben
2) Gib eine weiter Möglichkeit für die Realisierung eines Halbaddierers an.
3) Realisiere den Halbaddiere ausschließlich mit Hilfe von NAND-Gattern.
Volladdierer
Bei der Ausführung des Additionsalgorithmus kann es vorkommen, dass drei 1-en addiert werden
müssen (1+1+1). Dies geschieht immer dann, wenn zu zwei 1-en noch ein Übertrag hinzu kommt.
11
+11
1 110
Spätestens hier muss die Idee des Halbaddierers erweitert werden. Dies führt zum sogenannten
Volladdierer. Dieser addiert bis zu drei einstellige Binärzahlen a, b und c und gibt die Summe s und
den Übertrag ü aus. Es ergibt sich die folgende Funktionstabelle und die daraus abgelesenen
disjunktiven Normalformen für ü und s.
a
b
c
ü
s
0
0
0
0
0
1
0
0
0
1
0
1
0
0
1
0
0
1
0
1
1
1
0
1
0
1
0
1
1
0
0
1
1
1
0
1
1
1
1
1
ü=( a∧b)∨(a∧c)∨(b∧c)
s=( a∧¬b∧¬c )∨(¬a∧b∧¬c)∨(¬a∧¬b∧c)∨(a ∧b∧c)
Anstatt den Volladdierer auf Grundlage der booleschen Terme zu realisieren, kann man auch zwei
Halbaddierer und ein ODER-Gatter verwenden. Diese Darstellung ist wesentlich leichter
nachzuvollziehen. Die komplette Schaltung wird als neues Schaltsymbol VA zusammengefasst.
Neues Schaltsymbol
für einen Volladdierer
Aufgaben
4) Realisiere mit Hilfe von von 4 Halbaddierern und einem ODER-Gatter eine Schaltung, die 4
einstellige Binärzahlen addieren kann. Benutze s0 , s1 und s 2 für die 3 Ausgänge, die für
die Darstellung des Ergebnisses als Binärzahl nötig sind.
Addierwerk
Mit Hilfe von in Serie geschalteten Volladdierern lassen sich sogenannte Addierwerke aufbauen.
Nach diesem Prinzip lassen sich Schaltungen realisieren mit deren Hilfe beliebig lange Binärzahlen
addiert werden können. Dieses Prinzip wird hier für zwei vierstellige Binärzahlen a=a 3 a 2 a 1 a 0
und b=b3 b2 b1 b0 vorgestellt. Die fertige Schaltung bezeichnet man auch als 4-Bit-Addierwerk. Die
Ausgänge s3 , s 2 , s 1 und s0 stellen die berechnete Summe in Binärdarstellung dar. Ein weiterer
Ausgang ü wird benötigt, falls das Ergebnis nicht mit Hilfe von 4 Stellen darzustellen ist.
Die Schaltung bildet den klassischen Algorithmus für die Addition zweier Zahlen nach. Von rechts
beginnend werden zuerst die 1-er-Stellen der beiden Zahlen a und b addiert. Entsteht hierbei ein
Übertrag, so wird dieser an den nächsten Volladdierer links weitergegeben. Dieser Volladdierer
bildet die Summe der 2-er-Stellen und berücksichtigt dabei den eventuell bei der 1-er-Stelle
entstandenen Übertrag. Dieses Prinzip setzt sich nach links über die weiteren Volladdierer fort.
Da bei der 1-er-Stelle noch kein Übertrag berücksichtigt werden muss, genügt für eine Umsetzung
an dieser Stelle ein Halbaddierer.
Aufgaben
5) Realisiere ein Addierwerk für zwei 8-stellige Binärzahlen.
Herunterladen