Teil II. Schaltfunktionen



Ähnliche Dokumente
, WS2012 Übungsgruppen: Mo.,

Einführung in die Informatik I

Musterlösung 2. Mikroprozessor & Eingebettete Systeme 1

Musterlösung 2. Mikroprozessor & Eingebettete Systeme 1

Übungen zu Informatik 1

Signalverarbeitung 1

1. Das dekadische Ziffernsystem (Dezimalsystem) Eine ganze Zahl z kann man als Summe von Potenzen zur Basis 10 darstellen:

Lösungen: zu 1. a.) b.) c.)

Informationssysteme Gleitkommazahlen nach dem IEEE-Standard 754. Berechnung von Gleitkommazahlen aus Dezimalzahlen. HSLU T&A Informatik HS10

Teil 1: Digitale Logik

Binäre Division. Binäre Division (Forts.)

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

Grundlagen der Informationverarbeitung

Technische Informatik - Eine Einführung

Binäre Gleitkommazahlen

Grundlagen der Informatik

N Bit binäre Zahlen (signed)

Grundlagen der Technischen Informatik Wintersemester 12/13 J. Kaiser, IVS-EOS

Das Rechnermodell - Funktion

Zahlensysteme. Digitale Rechner speichern Daten im Dualsystem 435 dez = binär

Binärdarstellung von Fliesskommazahlen

Ein polyadisches Zahlensystem mit der Basis B ist ein Zahlensystem, in dem eine Zahl x nach Potenzen von B zerlegt wird.

in vielen technischen und wissenschaftlichen Anwendungen erforderlich: hohe Präzision große Dynamik möglich durch Verwendung von Gleitkommazahlen

Das Maschinenmodell Datenrepräsentation

Lösung 1. Übungsblatt

Boolesche Algebra (1)

Zahlendarstellungen und Rechnerarithmetik*

Grundstrukturen: Speicherorganisation und Zahlenmengen

Grundlagen der Technischen Informatik. 4. Übung

Übung RA, Kapitel 1.2

Rechnerarithmetik Ganzzahlen und Gleitkommazahlen Ac 2013

Zahlensysteme Seite -1- Zahlensysteme

a) Da die Zahlen im IEEE-32Bit-Format dargestellt werden sollen, ist der Bias = 127.

3 Rechnen und Schaltnetze

Computergrundlagen Boolesche Logik, Zahlensysteme und Arithmetik

Vorlesung Programmieren. Agenda. Dezimalsystem. Zahlendarstellung. Zahlendarstellung. Oder: wie rechnen Computer?

2 Darstellung von Zahlen und Zeichen

Inhaltsverzeichnis. Inhalt. 1 Einleitung

Grundlagen der Informatik 2 Grundlagen der Digitaltechnik. 1. Zahlensysteme

Computerarithmetik ( )

2. Aufgabenblatt mit Lösungen

Kapitel 2 Grundlegende Konzepte. Xiaoyi Jiang Informatik I Grundlagen der Programmierung

1. 4-Bit Binärzahlen ohne Vorzeichen 2. 4-Bit Binärzahlen mit Vorzeichen 3. 4-Bit Binärzahlen im 2er Komplement 4. Rechnen im 2er Komplement

Inhalt: Binärsystem 7.Klasse - 1 -

BITte ein BIT. Vom Bit zum Binärsystem. A Bit Of Magic. 1. Welche Werte kann ein Bit annehmen? 2. Wie viele Zustände können Sie mit 2 Bit darstellen?

Zahlensysteme. von Christian Bartl

Einstieg in die Informatik mit Java

Repräsentation von Daten: Binär-, Oktal- u. Hexadezimalcodierung von ganzen und rationalen Zahlen

Kapitel 2. Zahlensysteme, Darstellung von Informationen

Grundlagen der Rechnerarchitektur. Binäre Logik und Arithmetik

Technische Informatik I

Gleitkommaarithmetik und Pivotsuche bei Gauß-Elimination. Lehrstuhl für Angewandte Mathematik Wintersemester 2009/

Rechnerstrukturen WS 2012/13

Leseprobe. Taschenbuch Mikroprozessortechnik. Herausgegeben von Thomas Beierlein, Olaf Hagenbruch ISBN:

0 Im folgenden sei die Wortlänge gleich 8 (d. h.: es wird mit Bytes gearbeitet).

Grundlagen der Informatik Übungen 1.Termin

BSZ für Elektrotechnik Dresden. Zahlenformate. Dr.-Ing. Uwe Heiner Leichsenring

Brückenkurs Mathematik, THM Friedberg,

Einführung in Informatik 1

Einführung in die Informatik I

Grundlagen der Digitaltechnik

Formelsammlung. Wahrscheinlichkeit und Information

Rechnerstrukturen. Michael Engel und Peter Marwedel SS TU Dortmund, Fakultät für Informatik

II. Grundlagen der Programmierung

2 Rechnen auf einem Computer

Dezimalkomma (decimal point) rechts von Stelle mit Wertigkeit 100 nachfolgende Stellen haben Wertigkeit 10-1, 10-2, etc.

Zahlensysteme Das 10er-System

Binär- und Hexadezimal-Zahl Arithmetik.

Vertiefungsstoff zum Thema Darstellung von Zahlen

Rechnerstrukturen WS 2012/13

Prof. Dr. Oliver Haase Karl Martin Kern Achim Bitzer. Programmiertechnik Zahlensysteme und Datendarstellung

Kapitel 1: Schaltfunktionen und ihre Darstellung

Klausur "Informationstechnische Grundlagen" WS 2012/2013

Zahlensysteme. Zahl Stellenwert Zahl Zahl =

A.1 Schaltfunktionen und Schaltnetze

Technische Grundlagen der Informatik Kapitel 8. Prof. Dr. Sorin A. Huss Fachbereich Informatik TU Darmstadt

6.2 Kodierung von Zahlen

Mathematische Grundlagen der Kryptographie. 1. Ganze Zahlen 2. Kongruenzen und Restklassenringe. Stefan Brandstädter Jennifer Karstens

Mikro-Controller-Pass 1

Eine Logikschaltung zur Addition zweier Zahlen

Zahlen in Binärdarstellung

Informatik A ( Frank Hoffmann)

Primzahlen und RSA-Verschlüsselung

Grundlagen der Technischen Informatik. 4. Übung

Information in einem Computer ist ein

Grundlagen der Informatik Übungen 1. Termin Zahlensysteme

3 Zahlensysteme in der Digitaltechnik

Division Für diesen Abschnitt setzen wir voraus, dass der Koeffizientenring ein Körper ist. Betrachte das Schema

Kapitel 2: Schaltfunktionen und ihre Darstellung

7 Rechnen mit Polynomen

Grundlagen der Technischen Informatik. 4. Übung

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

Numerisches Programmieren, Übungen

Wintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf Seite 1 von 18

Verwendet man zur Darstellung nur binäre Elemente ( bis lat.: zweimal) so spricht man von binärer Digitaltechnik.

Einführung in die Informatik I

Informationsdarstellung im Rechner

Zahlensysteme: Oktal- und Hexadezimalsystem

Fehler in numerischen Rechnungen

2.0 Zahlendarstellung, Konvertierungsalgorithmen und arithmetische Algorithmen

Transkript:

Teil II Schaltfunktionen 1

Teil II.1 Zahlendarstellung 2

b-adische Systeme Sei b IN mit b > 1 und E b = {0, 1,..., b 1} (Alphabet). Dann ist jede Fixpunktzahl z (mit n Vorkomma und k Nachkommastellen) mit 0 z b k b n+k 1 (und n IN, k IN 0 ) eindeutig als Wort der Länge n + k über E b darstellbar durch z = n 1 i= k z i b i = (z n 1 z n 2... z 0.z 1 z 2... z k ) b, z i E b. Dezimalsystem: E 10 = {0, 1,..., 9} Dual oder Binärsystem: E 2 = {0, 1} Oktalsystem: E 8 = {0, 1,..., 7} Hexadezimalsystem: E 16 = {0, 1,..., 9, A, B, C, D, E, F } 3

Umrechnung Dezimal Basis b Gegeben: d 10... eine Dezimalzahl (ohne Nachkommastellen) Gesucht: (z n 1 z n 2... z 0 ) b = d 10 Algorithmus: i := 0 // Stelle while d!= 0 do // solange d ungleich 0 z[i] := d mod b // Rest von d div b d := d div b // ganzzahlige Division i := i+1 // erhöhe Stelle endwhile 4

Nachkommastellen: Dezimal Basis b Gegeben: d 10 = (0.x 1... x k ) 10 : k Nachkommastellen Gesucht: (0.z 1... z j ) b = d 10 Algorithmus: i := 1 // Stelle while d!= 0 do // solange d ungleich 0 z[i] := truncate(d * b) // Vorkommastelle (0 <= z[i] <= b-1) d := d * b - z[i] // Nachkommastellen i := i+1 // erhöhe Stelle endwhile 5

Beispiel 25.3 10 25 div 2 = 12 Rest : 1 12 div 2 = 6 Rest : 0 6 div 2 = 3 Rest : 0 3 div 2 = 1 Rest : 1 1 div 2 = 0 Rest : 1 0.3 2 = 0.6 z 1 = 0 0.6 2 = 1.2 z 2 = 1 0.2 2 = 0.4 z 3 = 0 0.4 2 = 0.8 z 4 = 0 0.8 2 = 1.6 z 5 = 1 0.6 2 = 1.2 z 6 = 1 = z 2... 25.3 10 = 11001.010011001... 2 = 11001.01001 2 6

Umrechnung Basis b Dezimal Gegeben: (z n 1 z n 2... z 0 ) b Gesucht: d 10 = (z n 1 z n 2... z 0 ) b Algorithmus: i := n-1 // Stelle d := 0 // Initialisierung while i >= 0 do // solange i grösser oder gleich 0 d := b*d + z[i] // berechne nächste Stelle i := i-1 // vermindere Index endwhile Basiert auf der Äquivalenz (Hornerschema): n 1 i=0 z ib i = z 0 + b( n 1 i=1 z ib i 1 ) = = z 0 + b(z 1 + b(... b(z n 2 + bz n 1 )...)) 7

Beispiel 0 2 + 1 = 1 2 + 1 = 3 2 + 0 = 6 2 + 0 = 12 2 + 1 = 25 8

Darstellung negativer Zahlen z = (z n 1... z 0.z 1... z k ) 2 eine n+k Dualzahl in Fixpunktdarstellung Einerkomplement: K 1 (z) = (z n 1 z n 2... z 0.z 1... z k ) 2 mit z i = 0 z i = 1, und z i = z i. Zweierkomplement: K 2 (z) = (K 1 (z) + 1 ulp)modulo2 n = 2 n z b-komplement für n + k Fixpunktzahlen: K b (z) = ( z z 1 z n 2... z 0. z 1... z k ) b + 1 ulp 9

Beispiel Bei einer Wortlänge von n = 8 Bits lauten die Darstellungen von +92 und -92 im Einer bzw. Zweierkomplement: Komplement +92-92 Einer dual 01011100 dual 10100011 hexadezimal 5C hexadezimal A3 Zweier dual 01011100 dual 10100100 hexadezimal 5C hexadezimal A4 10

Subtraktion mit Zweier-Komplement x y = x + K 2 (y) Für n = 8, berechne 45 92 45 = 2 5 + 2 3 + 2 2 + 2 0 : (00101101) 2 + K 2 (92): (10100100) 2 (11010001) 2 = K 2 (z) Aus K 2 (z) = (11010001) 2 folgt: z = K 1 (K 2 (z) 1 ulp) = K 1 ((11010001) 2 1) = (00101111) 2 = 2 5 + 2 3 + 2 2 + 2 1 + 2 0 = 47 11

Gleitkommazahlen nach IEEE 754/854 Vorzeichen Bit Exponent: l Bit Mantisse: m Bit S e l 1 e l 2......... e 1 e 0 f m 1 f m 2............ f 1 f 0 Exponentencharakteristik : E = (e l 1 e l 2...... e 1 e 0 ) 2 Mantisse : M = (f m 1 f m 2...... f 1 f 0 ) DargestellteZahl : ( 1) S (1.M) 2 2 (E E Bias) 1 E 2 E Bias normalisiert ( 1) S (0.M) 2 2 1 E Bias E = 0, M 0 denormalisiert ( 1) S 0 E = 0, M = 0 Null mit Vorz. ( 1) S E = 2 E Bias + 1, M = 0 mit Vorz. NaN E = 2 E Bias + 1, M 0 Not a Number 12

Bereich und Genauigkeit Mantisse m... Genauigkeit Exponent l E Bias... Größe des Zahlenbereichs. Genauigkeit Exponent Mantisse E Bias Bereich Stellen single: 32 Bit l = 8 m = 23 127 1.5 10 45... 3.4 10 38 7 8 double: 64 Bit l = 11 m = 52 1023 5.0 10 324... 1.7 10 308 15 16 Beispiel: 1.0 single double Exponent { }} { 1.0 2 0 = 1.0 2 127 127 ˆ= 0 01111111 = $3F 800000 1.0 2 0 = 1.0 2 1023 1023 ˆ= 0 Exponent { }} { 01111111111 = $3F F 0000000000000 Mantisse { }} { 00000000000000000000000 Mantisse { }} { 00000...00000 } {{ } 52 Nullen 13

Umwandlung Dezimal Binär Gegeben: z Schritt 1: Mantisse M = z 2 y sodass 1 <= M < 2 Schritt 2: Exponent E = y + E Bias Beispiel: 6.5 = 2 2 1.625 = 2 2 (1 + 12 + 02 2 + 12 ) 3 = 2 129 127 (1 + 12 + 02 2 + 12 ) 3 = 2 129 127 (1.101) 2 ˆ= 0 10000001 10100000000000000000000 = $40D00000. 14

Teil II.2 Boolesche Algebra 15

Boolesche Algebra Für B = {0, 1}, x, y B seien folgende Verknüpfungen definiert: x y := Max(x, y), x y := Min(x, y), x := 1 x, (B,,, ) ist eine Boolesche Algebra 16

Gesetze der Booleschen Algebra a) Kommutativgesetze: x y = y x, x y = y x b) Assoziativgesetze: (x y) z = x (y z), (x y) z = x (y z) c) Verschmelzungsgesetz: (x y) x = x, (x y) x = x d) Distributivgesetze: x (y z) = (x y) (x z), x (y z) = (x y) (x z) e) Komplementgesetz: x (y y) = x, x (y y) = x f) x 0 = x, x 0 = 0, x 1 = x, x 1 = 1 g) de Morgansche Regeln: x y = x y, x y = x y h) x = x x = x x = x 17

Potenzmenge Für B = P(A) die Menge aller Teilmengen von A ist (B,,, ) ebenfalls eine Boolesche Algebra 18

Teil II.3 Schaltfunktionen 19

Schaltfunktionen Schaltfunktion: F : B n B m Totale Schaltfunktion: für alle 2 n Inputs gibt es einen eindeutigen Output, der alle m Bits belegt. Boolesche Schaltfunktion: f : B n B Komponenten Darstellung: F (x 1,..., x n ) = (f 1 (x 1,..., x n ), f 2 (x 1,..., x n ),..., f m (x 1,..., x n )). Anzahl verschiedener Boolescher Funktion: 2 2n 20

Beispiele Addition zweier 2 Bit Zahlen: A : B 4 B 3 A(x 1, x 2, x 3, x 4 ) = (a 1 (x 1, x 2, x 3, x 4 ), a 2 (x 1, x 2, x 3, x 4 ), a 3 (x 1, x 2, x 3, x 4 )) mit a 1 (x 1, x 2, x 3, x 4 ) = x 2 x 4 a 2 (x 1, x 2, x 3, x 4 ) = x 1 x 3 (x 2 x 4 ) a 3 (x 1, x 2, x 3, x 4 ) = (x 1 x 3 ) (x 1 x 2 x 4 ) (x 3 x 2 x 4 ) Sortieren von 30 16 Bit Zahlen: S : B 30 16 B 30 16 21

Boolesche Funktionen für n = 2 (1) x x x y x y x x y y x + y (2) 0 Min > x < y Max (3) x y x y f 0 f 1 f 2 f 3 f 4 f 5 f 6 f 7 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 1 1 1 1 0 0 0 1 1 0 0 1 1 1 1 0 1 0 1 0 1 0 1 (1) x + y x y y x + y x x + y x y x + x (2) 1 - Max = 1 y 1 x 1 - Min 1 (3) y x x y f 8 f 9 f 10 f 11 f 12 f 13 f 14 f 15 0 0 1 1 1 1 1 1 1 1 0 1 0 0 0 0 1 1 1 1 1 0 0 0 1 1 0 0 1 1 1 1 0 1 0 1 0 1 0 1 22

Disjunktive Normalform i = (i 1 i 2... i n ) 2 ist ein einschlägiger Index zu f : B n B genau dann wenn f(i 1, i 2,..., i n ) 2 = 1 für einen einschlägigen Index i einer Booleschen Funktion f, heißt die Funktion m i (x 1, x 2,..., x n ) := x i 1 1 x i 2 2... x i n der i-te Minterm von f, wobei x i j j := { xj falls i j = 1 x j falls i j = 0 Darstellungssatz: Für jede Boolesche Funktion f gilt (DNF): f = i I m i. 23

Beispiel Gegeben sei die folgende Boolesche Funktion f : B 3 B durch die Wertetabelle i x 1 x 2 x 3 f(x 1, x 2, x 3 ) 0 0 0 0 0 1 0 0 1 0 2 0 1 0 0 3 0 1 1 1 4 1 0 0 0 5 1 0 1 1 6 1 1 0 0 7 1 1 1 1 Einschlägigen Indizes sind 3, 5, 7. Die zugehörigen Minterme sind: m 3 (x 1, x 2, x 3 ) = x 1 x 2 x 3 m 5 (x 1, x 2, x 3 ) = x 1 x 2 x 3 m 7 (x 1, x 2, x 3 ) = x 1 x 2 x 3. f(x 1, x 2, x 3 ) = x 1 x 2 x 3 + x 1 x 2 x 3 + x 1 x 2 x 3 24

Funktionale Vollständigkeit Ein System B = {f 1,..., f n } Boolescher Funktionen heißt (funktional) vollständig, wenn jede Boolesche Funktion allein durch Einsetzungen bzw. Kompositionen von Funktionen aus B dargestellt werden kann. a) {+,, } ist funktional vollständig. b) {+, } ist funktional vollständig. c) {, } ist funktional vollständig. d) {NAND} ist funktional vollständig. e) {NOR} ist funktional vollständig. 25

Konjunktive Normalform i-ter Maxterm: M i (x 1,..., x n ) := m i (x 1,..., x n ) = x i 1 1 +... + x i n Konjunktive Normalform: Für jede Boolesche Funktion f (KNF): gilt f = i/ I M i KNF (f) = DNF (f) Beispiel: f(x 1, x 2, x 3 ) = x 1 x 2 x 3 + x 1 x 2 x 3 + x 1 x 2 x 3 = M 0 M 1 M 2 M 4 M 6 = (x 1 + x 2 + x 3 ) (x 1 + x 2 + x 3 ) (x 1 + x 2 + x 3 ) (x 1 + x 2 + x 3 ) (x 1 + x 2 + x 3 ). 26

Teil II.4 Schaltnetze 27

Bausteine 28

Beispiel f(x 1, x 2, x 3 ) = x 1 x 2 x 3 + x 1 x 2 x 3 + x 1 x 2 x 3 x 1 x 2 x 3 1 1 & & & & & & 1 1 f( x1, x2, x3) 29

Kriterien für Schaltungen Geschwindigkeit: Minimiere Stufen Größe: Minimiere Anzahl der Gatter Fan-In, Fan-Out: Minimiere Anzahl der Inputs und Outputs 30

Graphen Punktmenge P IN. Kantenmenge K P P. nicht-reflexiv Graph G = (P, K) ungerichtet: K symmetrisch. gerichtet: K nicht symmetrisch Pfad: (p 1, p 2,..., p n ) Zyklus: (p 1, p 2,..., p n, p 1 ) DAG: Gerichteter, azyklischer Graph (Directed Acyclic Graph) 31

Beispiel 32

Teil II.5 Ringsummennormalform 33

Ringsummennormalform RNF: Sei f : B n B und I = {α 1,..., α k } die Menge der einschlägigen Indizes zu f. Dann gilt: f = m α1 m α2... m αk = k i=1 m αi 34

Äquivalenzen Für alle x, y, z B gilt: a) x 1 = x, x 0 = x b) x x = 0, x x = 1 c) x y = y x (Kommutativität) d) x (y z) = (x y) z (Assoziativität) e) x (y z) = x y x z (Distributivität bzgl. ) f) 0 0... 0 = 0 g) 1 1... 1 } {{ } n mal = { 1 falls n ungerade 0 falls n gerade 35

Komplementfreie RNF Reed Muller Form: Jede Boolesche Funktion f : B n B ist eindeutig darstellbar als Polynom (Multinom) in den Variablen x 1, x 2,..., x n mit den Koeffizienten a 0, a 1,..., a 1...n B. Die Darstellung ist wie folgt: f = a 0 a 1 x 1 a 2 x 2... a n x n a 12 x 1 x 2... a n 1,n x n 1 x n. a 1...n x 1 x 2... x n. 36

Herleitung der komplementfreien RNF 1. Bestimme DNF über einschlägige Indizes 2. Ersetze + durch 3. Ersetze x durch x 1 4. Multipliziere aus unter Verwendung der Äquivalenzen für. Beispiel: f(x 1, x 2, x 3 ) = x 1 x 2 x 3 + x 1 x 2 x 3 + x 1 x 2 x 3 = x 1 x 2 x 3 x 1 x 2 x 3 x 1 x 2 x 3 = (x 1 1)x 2 x 3 x 1 (x 2 1)x 3 x 1 x 2 x 3 = x 1 x 2 x 3 x 2 x 3 x 1 x 2 x 3 x 1 x 3 x 1 x 2 x 3 = x 2 x 3 x 1 x 3 x 1 x 2 x 3. 37