Rechnerarithmetik. Vorlesung im Sommersemester Eberhard Zehendner. FSU Jena. Thema: Addierschaltungen

Ähnliche Dokumente
Rechnerarithmetik. Vorlesung im Sommersemester Eberhard Zehendner. FSU Jena. Thema: Multiplikation

3.1 Schaltungselemente 129. b) Tragen Sie in nachfolgende Abbildung die Realisierung eines 1 Bit 4-auf-1 Multiplexers aus Logikgattern ein.

Rechnerstrukturen, Teil 1. Vorlesung 4 SWS WS 14/15

Rechnerarithmetik. Vorlesung im Sommersemester Eberhard Zehendner. FSU Jena. Thema: Vorzeichenbehaftete ganze Zahlen

Inhalt. Zahlendarstellungen

GTI ÜBUNG 12. Komparator und Addierer FRIEDRICH-ALEXANDER UNIVERSITÄT ERLANGEN-NÜRNBERG JAN SPIECK 1

Rechnerarithmetik. Vorlesung im Sommersemester Eberhard Zehendner. FSU Jena. Thema: Ripple-Carry- und Carry-Skip-Addierer

Digitale Systeme und Schaltungen

Rechnerarithmetik. Vorlesung im Sommersemester Eberhard Zehendner. FSU Jena. Thema: Vorzeichenlose ganze Zahlen

3 Arithmetische Schaltungen

Rechnerstrukturen, Teil 1

Rechnerarithmetik. Vorlesung im Sommersemester Eberhard Zehendner. FSU Jena. Thema: Division

x x y x y Informatik II Schaltkreise Schaltkreise Schaltkreise Rainer Schrader 3. November 2008

Integrierte Schaltungen

2.1 Boole sche Funktionen

GTI ÜBUNG 12 KOMPARATOR UND ADDIERER

Grundlagen der Technischen Informatik. 9. Übung

Rechnerarithmetik. Vorlesung im Sommersemester Eberhard Zehendner. FSU Jena. Thema: Implementierung von Gleitkomma-Operationen

Aufgabe 1. Aufgabe 2. Abbildung 1: Schaltung für die Multiplikation mit 4

13. Vorlesung. Logix Klausuranmeldung nicht vergessen! Übungsblatt 3 Logikschaltungen. Multiplexer Demultiplexer Addierer.

Technische Informatik I

Lehrveranstaltung: Digitale Systeme. KS-Praktikums-Vorbereitung Dipl.-Inf. Markus Appel , , ,

3 Arithmetische Schaltungen

Integrierte Digitalschaltungen Vom Transistor zu Integrierten Systemen Vorlesung 10,

Rechnerstrukturen WS 2012/13

Übungen zur Vorlesung Technische Informatik I, SS 2001 Strey / Guenkova-Luy / Prager Übungsblatt 4 Zahlendarstellung/Rechenarithmetik/Rechenwerke

Rechnerarithmetik. Vorlesung im Sommersemester Eberhard Zehendner. FSU Jena. Thema: Addition/Subtraktion

Multiplizierer. Beispiel komplexer arithmetischer Schaltung. Langsamer als Addition, braucht mehr Platz. Sequentielle Multiplikation

Wandeln Sie die folgenden Zahlen in Binärzahlen und Hexadezimalzahlen. Teilen durch die Basis des Zahlensystems. Der jeweilige Rest ergibt die Ziffer.

Minimierung nach Quine Mc Cluskey

Rechnerarithmetik. Vorlesung im Sommersemester Eberhard Zehendner. FSU Jena. Thema: Fest- und Gleitkommasysteme

Signale und Logik (3)

Outline Schieberegister Multiplexer Zähler Addierer. Rechenschaltungen. Marc Reichenbach und Michael Schmidt

3 Verarbeitung und Speicherung elementarer Daten

Proseminar Statische CMOS- Schaltungen. Thema: CMOS-NOR-Gatter Gehalten von: Björn Fröhlich Prof. Dr. Zehendner SS05 - FSU Jena

Teil V. Programmierbare Logische Arrays (PLAs)

Minimierung nach Quine Mc Cluskey

Menschliches Addierwerk

Carry-Lookahead Addierer (CLA)

Logik (Teschl/Teschl 1.1 und 1.3)

Technische Grundlagen der Informatik

Integrierte Schaltungen

Kapitel 6 - Addierwerke

Das negative Zweierkomplementzahlensystem. Ines Junold 23. Februar 2010

1. Aufgabe (4 + 6 Punkte) = + (n + 1) i=0. IV n (n + 1) n (n + 1) + 2 (n + 1) = n (n + 1) 2 (n + 1) (n + 1) (n + 2) = Behauptung. n = 0 = 6.

Digitaltechnik Grundlagen 5. Elementare Schaltnetze

Rechnernetze und Organisation

Electronic Design Automation (EDA) Technology Mapping

Grundlagen der Informatik II

II. Grundlagen der Programmierung

Lösung 4.1 Stuck-at-Fehler

Kapitel 6 Programmierbare Logik. Literatur: Kapitel 6 aus Oberschelp/Vossen, Rechneraufbau und Rechnerstrukturen, 9. Auflage

Eingebettete Systeme

Wirtschaftsingenieurwesen Elektronik/Schaltungstechnik Prof. M. Hoffmann FB ETIT Übung 7 Schaltnetze 2

N Bit binäre Zahlen (signed)

Darstellung von negativen binären Zahlen

Schaltungstechnik 1 (Wdh.)

Björn Fröhlich Matrikelnummer Dipl. Informatik 3. Fachsemester CMOS-NOR-Gatter

Protokoll zum Praktikum des Moduls Technische Informatik an der JLU Gießen

Minimierung nach Quine Mc Cluskey Ermitteln der Primtermtabelle

Computersysteme. 2. Grundlagen Digitaler Schaltungen 2.10 Minimierung Boole scher Funktionen 2.11 CMOS Komplexgatter

Übung Integrierte Schaltungen 6. Übung: Pseudo-NMOS, CMOS, Verzögerungszeit, Schaltschwelle,Verlustleistung

Rechnergrundlagen SS Vorlesung

2 Initialisierung clk_mkand= clk_produkt= multiplexer= init/>>1= 6 Schieben clk_mkand= clk_produkt= multiplexer= init/>>1=

Eine Möglichkeit: Latch als Speicherzelle

Modul Computersysteme Prüfungsklausur SS Prof. Dr. J. Keller LG Parallelität und VLSI Prof. Dr.-Ing. W. Schiffmann LG Rechnerarchitektur

Erste praktische Übung zur Vorlesung Grundlagen der Technischen Informatik

Rechnerarithmetik. Vorlesung im Sommersemester Eberhard Zehendner. FSU Jena. Thema: Auswertung von Standardfunktionen

3 Boole'sche Algebra und Aussagenlogik

Zur Multiplikation von Gleitkommazahlen müssen die Mantissen inkl. führender 1, als Festkommazahlen multipliziert werden.

Programmierbare Logik Arithmetic Logic Unit

Rechnerstrukturen, Teil 1. Vorlesung 4 SWS WS 14/15

Perzeptronen. Lehrstuhl für Künstliche Intelligenz Institut für Informatik Friedrich-Alexander-Universität Erlangen-Nürnberg

Kapitel 5. Standardschaltnetze. Prof. Dr. Dirk W. Hoffmann. Hochschule Karlsruhe w University of Applied Sciences w Fakultät für Informatik

Energiebestimmung für den Ripple Carry Addierer mit korrelierten Eingabedaten

Versuch: D1 Gatter und Flipflops

5. Vorlesung: Normalformen

Aufgabe 1 Bipolare Transistoren

Rechnerarithmetik. Vorlesung im Sommersemester Eberhard Zehendner. FSU Jena. Thema: Intervallarithmetik

5. Computer Arithmetik. a i b i C in i-1 C out i s i. a b hc out hs. Addition mit Volladddierer (1 Bit) Halbadddierer (1 Bit) b c in.

6. Zahlendarstellungen und Rechnerarithmetik

3 Arithmetische Schaltungen

Informatik I Information & Daten Repräsentation von Daten

Rechnerstrukturen WS 2012/13

Rechnerstrukturen, Teil 1. Vorlesung 4 SWS WS 15/16

Grundlagen der Technischen Informatik. 6. Übung. Christian Knell Keine Garantie für Korrekt-/Vollständigkeit

ALU ALU. ALU-Aufbau. Eine ALU (arithmetisch-logische Einheit) besteht in der Regel aus. Addierer. Logischer Einheit. Shifter

3.8 Sequentieller Multiplizierer 159

2.3 Logikoptimierung. Überblick digitale Synthese. Logikoptimierung

3.6 Bemerkungen zur Umformung boolescher Formeln (NAND): doppelte Negation

Aufgabe 4 Nennen Sie wenigstens 3 Programmierverfahren für programmierbare Logik.

Informationsverarbeitung auf Bitebene

3-BIT VOLLADDIERER MIT EINZELNEM EINGABE-DATENBUS

Informatik I Modul 5: Rechnerarithmetik (2)

Electronic Design Automation (EDA) Logikoptimierung

Transkript:

Rechnerarithmetik Vorlesung im Sommersemester 2008 Eberhard Zehendner FSU Jena Thema: Addierschaltungen Eberhard Zehendner (FSU Jena) Rechnerarithmetik Addierschaltungen 1 / 19

Addierer für UInt 2 (l) Berechnung von C = A + B meist in UInt 2 (l + 1): (C l 1,..., C 0 ) = (A + B) mod 2 l Höchstwertiges Resultatbit erlaubt Überlauferkennung: C l = 1 A + B 2 l Überlauf. Bei regulärem Aufbau (nicht hardware-minimal) fällt C l ohnehin an. Optionen für die Überlaufbehandlung: C l wird nicht berechnet (irregulärer Hardwareaufbau): zirkuläre Arithmetik. C l wird berechnet, aber ignoriert (regulärer Hardwareaufbau): zirkuläre Arithmetik. Wert von C l wird in ein Flag abgespeichert: Kann für Überlaufarithmetik, Sättigungsarithmetik oder Überlauferkennung in zirkulärer Arithmetik benutzt werden. Zustandsänderung in C l löst Unterbrechung aus: Kann für Überlaufarithmetik, Sättigungsarithmetik oder Überlauferkennung in zirkulärer Arithmetik benutzt werden. Berechnung der Summe in all diesen Fällen zunächst gleich! In Sättigungsarithmetik bewirkt C l = 1 zusätzlich das Setzen von C auf den Wert 1... 1. Eberhard Zehendner (FSU Jena) Rechnerarithmetik Addierschaltungen 2 / 19

Beispieladditionen in UInt 2 (4) A (1011) 2 = (11) 10 (1011) 2 = (11) 10 B (0011) 2 = (3) 10 (0111) 2 = (7) 10 exakte Arithmetik A + B (01110) 2 = (14) 10 (10010) 2 = (18) 10 Überlaufarithmetik (1110) 2 = (14) 10 undefiniert zirkuläre Arithmetik A 16 B (1110) 2 = (14) 10 (0010) 2 = (2) 10 Sättigungsarithmetik (1110) 2 = (14) 10 (1111) 2 = (15) 10 Eberhard Zehendner (FSU Jena) Rechnerarithmetik Addierschaltungen 3 / 19

Sättigung der Addition in UInt 2 (l) Multiplexer (Schaltung) Oder-Verknüpfung (Schaltung) Bedingter Sprung (Maschinensprache) Folge arithmetisch/logischer Operationen (Maschinensprache) Bedingte Anweisung (höhere Programmiersprache) Eberhard Zehendner (FSU Jena) Rechnerarithmetik Addierschaltungen 4 / 19

Grundbausteine: Halbaddierer (HA) und Volladdierer (VA) A + B = 2 C + S A B C S 0 0 0 0 0 1 0 1 1 0 0 1 1 1 1 0 A i + B i + C i = 2 C i+1 + S i A i B i C i C i+1 S i 0 0 0 0 0 0 0 1 0 1 0 1 0 0 1 0 1 1 1 0 1 0 0 0 1 1 0 1 1 0 1 1 0 1 0 1 1 1 1 1 Eberhard Zehendner (FSU Jena) Rechnerarithmetik Addierschaltungen 5 / 19

Halbaddierer: Eigenschaften A + B = 2 C + S A B C S 0 0 0 0 0 1 0 1 1 0 0 1 1 1 1 0 addiert zwei Eingänge derselben Bitposition (single bit binary adder) liefert 2-Bit-Summe, UInt 2 (1) UInt 2 (1) UInt 2 (2) Ergebnis interpretierbar als Carry-Save-Darstellung der Summe Ausgang S alleine entspricht A 2 B in zirkulärer Arithmetik Wertetabelle durch algebraische Gleichung eindeutig bestimmt verschiedene (aber äquivalente) logische Gleichungen aus der Wertetabelle ableitbar Eberhard Zehendner (FSU Jena) Rechnerarithmetik Addierschaltungen 6 / 19

Halbaddierer: Implementierungsvarianten Eberhard Zehendner (FSU Jena) Rechnerarithmetik Addierschaltungen 7 / 19

Volladdierer: Eigenschaften A i + B i + C i = 2 C i+1 + S i A i B i C i C i+1 S i 0 0 0 0 0 0 0 1 0 1 0 1 0 0 1 0 1 1 1 0 1 0 0 0 1 1 0 1 1 0 1 1 0 1 0 1 1 1 1 1 addiert drei Eingänge derselben Bitposition (3-operand single bit binary adder) liefert 2-Bit-Summe, UInt 2 (1) UInt 2 (1) UInt 2 (1) UInt 2 (2) Ergebnis interpretierbar als Carry-Save-Darstellung der Summe Wertetabelle durch algebraische Gleichung eindeutig bestimmt verschiedene (aber äquivalente) logische Gleichungen aus der Wertetabelle ableitbar Eberhard Zehendner (FSU Jena) Rechnerarithmetik Addierschaltungen 8 / 19

Zeitliche Modellierung eines Volladdierers C i+1 (t) = A i (t 2) B i (t 2) + (A i (t 4) B i (t 4)) C i (t 2) S i (t) = A i (t 4) B i (t 4) C i (t 2) Dabei wird t in Einheiten von t g (eine Gattergrundschaltzeit) gemessen und t and = t or = t g sowie t xor = 2 t g angenommen. Wir setzen t VA = t and + t or zur Beschreibung der Verzögerung auf dem Übertragspfad. Zuordnung der Operanden zu den Eingängen A i, B i, C i nach boolescher Logik beliebig. Minimierung des kritischen Pfads durch Anlegen des zuletzt stabilen Signals an C i. Eberhard Zehendner (FSU Jena) Rechnerarithmetik Addierschaltungen 9 / 19

Hilfsgrößen der Übertragserzeugung Für die Codierung 0 = false, 1 = true erweisen sich folgende Definitionen als nützlich: G i = A i B i generieren (definitiv Ausgangsübertrag) P i = A i B i propagieren (Eingangsübertrag wird durchgeleitet) T i = A i + B i transferieren ( = G i + P i ) L i = A i B i löschen (definitiv kein Ausgangsübertrag) Genau eines der Prädikate G i, P i oder L i besitzt den Wert true. Genau eines der Prädikate T i oder L i besitzt den Wert true. Wichtig: G i, P i, T i, L i direkt und simultan aus A i und B i, also ohne Kenntnis von C i, berechenbar. Eberhard Zehendner (FSU Jena) Rechnerarithmetik Addierschaltungen 10 / 19

Implementierungsoptionen für Volladdierer S i = A i B i C i + A i B i C i + A i B i C i + A i B i C i = A i B i C i (3-Bit-XOR) = A i (B i C i ) = (A i B i ) C i = P i C i Formel P i C i akzentuiert die Assimilation der Partialsumme mit dem Eingangsübertrag. C i+1 = A i B i + A i C i + B i C i (3-Bit-Majoritätsfunktion) = A i B i + (A i + B i ) C i = G i + T i C i = A i B i + (A i B i ) C i = G i + P i C i C 0 wird bei der Addition formal identisch Null gesetzt. Formeln S i = P i C i und C i+1 = G i + P i C i zusammen ermöglichen gemeinsame Verwendung des Signals P i. Eberhard Zehendner (FSU Jena) Rechnerarithmetik Addierschaltungen 11 / 19

Übertragserzeugung aus den Hilfsgrößen C i+1 = G i + P i C i Ripple-Carry-Addierer C i+1 = G i + T i C i Carry-Skip-Addierer Ĉ km = C km + km 1 T i Ĉ km m i=km m C i+1 = L i (G i + P i C i ) Manchester-Addierer C i+1 = G i + P i C i Carry-Completion-Addierer C i+1 = L i + P i C i Eberhard Zehendner (FSU Jena) Rechnerarithmetik Addierschaltungen 12 / 19

Standardentwurf von CMOS-Schaltungen Zu berechnen sei eine boolesche Funktion y = f (x 1,..., x n). Gesuchte CMOS-Schaltung besitzt NMOS-Netzwerk (N-Netz) und PMOS-Netzwerk (P-Netz). Das N-Netz kann den Ausgang y mit Masse verbinden. Die Transistoren des N-Netzes leiten, wenn am Eingang die Versorgungsspannung anliegt. Das N-Netz implementiert daher eine Funktion y = g(x 1,..., x n). Damit hat g(x 1,..., x n) = f (x 1,..., x n) zu gelten. Das P-Netz kann den Ausgang y mit der Versorgungsspannung verbinden. Die Transistoren leiten, wenn am Eingang Masse anliegt. Das P-Netz implementiert daher eine Funktion y = h(x 1,..., x n). Damit hat h(x 1,..., x n) = f (x 1,..., x n) zu gelten. Ein N-Netz für g = g 1 g 2 wird als Reihenschaltung der Subnetze für g 1 und g 2 realisiert, für g = g 1 g 2 als Parallelschaltung. Ebenso für ein P-Netz mit boolescher Form h. Ein nur aus einer Variablen x i bestehendes N-Netz wird durch einen NMOS-Transistor mit Eingang x i realisiert, ein nur aus einer negierten Variablen x i bestehendes P-Netz durch einen PMOS-Transistor mit Eingang x i. Es folgt, dass die booleschen Formen g und h zueinander dual sind. Beispiel: f (A, B, C) = (A B) C g(a, B, C) = (A B) C, h(a, B, C) = (A B) C Eberhard Zehendner (FSU Jena) Rechnerarithmetik Addierschaltungen 13 / 19

Volladdierer in CMOS-Standardaufbau (aus N. Reifschneider: CAE-gestützte IC-Entwurfsmethoden, 1998, p. 125) Kaskadierter Aufbau. Nur 24 Transistoren. Ergebnisse S i und C i+1 fallen invertiert an. Wenn nicht negierte Signale gewünscht werden, sind zwei Inverter (vier Transistoren) mehr nötig. Kritischer Pfad für Carry-zu-Carry geht durch zwei Gatter. Kritischer Pfad für Carry-zu-Sum geht durch drei Gatter. C i+1 = A i B i + (A i + B i ) C i S i = A i B i C i + (A i + B i + C i ) C i+1 Eberhard Zehendner (FSU Jena) Rechnerarithmetik Addierschaltungen 14 / 19

Selbstdualität von XOR und Majoritätsfunktion Die Volladdiererfunktionen S i (3-Bit-XOR) und C i+1 (3-Bit-Majoritätsfunktion) sind selbstdual: S i (A i, B i, C i ) = S i (A i, B i, C i ) C i+1 (A i, B i, C i ) = C i+1 (A i, B i, C i ) Eine Überprüfung ist leicht an Hand der Wertetabelle des Volladdierers möglich. Selbstdualität ist eine seltene Eigenschaft, die zu Optimierungen genutzt werden kann. Aus f (x) = f (x) folgt zum Beispiel g(x) = h(x) für den CMOS-Standardentwurf. Die Selbstdualität impliziert die Inversionseigenschaft des Volladdierers: Eberhard Zehendner (FSU Jena) Rechnerarithmetik Addierschaltungen 15 / 19

Volladdierer als Mirror Adder Vollständig symmetrischer CMOS-Addierer (mirror adder). Wie zuvor 28 Transistoren. N-Netz nicht dual zu P-Netz. Selbstdualität des Volladdierers ausgenutzt. Zweck: Weniger Transistoren in Reihe, Widerstand reduziert; uniformes Layout. Kritischer Pfad für Carry-zu-Carry geht immer noch durch zwei Gatter. Kritischer Pfad für Carry-zu-Sum geht immer noch durch drei Gatter. Eberhard Zehendner (FSU Jena) Rechnerarithmetik Addierschaltungen 16 / 19

Transistor-Dimensionierung im Mirror Adder Beschleunigung durch geeignete Dimensionierung der Transistoren. Nur Transistoren im markierten Bereich liegen auf kritischem Pfad. Alle anderen Transistoren sollten klein sein, um getriebene Last zu reduzieren. Dimensionierungsbeispiel in N. Weste, K. Eshraghian: Principles of CMOS VLSI design. Gilt als langsam, auch bei sorgfältiger Optimierung. Eberhard Zehendner (FSU Jena) Rechnerarithmetik Addierschaltungen 17 / 19

Nicht kompositionale Implementierung des Volladdierers Für seriellen Addierer, Carry-Save-Addierer, etc. ist es sinnvoll, annähernd gleiche Latenzen für Summe und Carry zu haben. 26 Transistoren (plus 6 Transistoren der Inverter für A, B, C). Kritischer Pfad für Carry-zu-Carry und Carry-zu-Sum geht durch zwei Gatter. Eberhard Zehendner (FSU Jena) Rechnerarithmetik Addierschaltungen 18 / 19

Volladdierer mit Transmissionsgattern Anzahl der Transistoren kann durch Transmissionsgatter verringert werden. 26 Transistoren. Mit Inverter für XNOR nur 24 Transistoren, aber langsamer. Variante mit 18 Pass-Transistoren bekannt! Eberhard Zehendner (FSU Jena) Rechnerarithmetik Addierschaltungen 19 / 19