85 Prozessor a) Aus welchen logischen Grundeinheiten besteht ein Prozessor? • Rechenwerk/ALU • Registerblock • Steuerwerk/Leitwerk • Befehlsregister • Befehlszähler • Flags • Bus-Treiber-Logik • Cache • Einheit zur Adress-Übersetzung/Virtueller Speicher b) Welche Schritte führt ein Prozessor aus, wenn er den nächsten Befehl aus dem Speicher lädt? • Den Wert des Befehlszählers als Adresse auf den Adress-Bus legen • Vom Datenbus das adressierte Datum einlesen • Den eingelesenen Wert im Befehls-Register ablegen. c) Wo können die Operanden eines Befehls generell abgelegt sein? • Direkt im Befehlswort (Direktoperand/immediate operand) • In den Registern • Im Speicher 86 1 Aufgaben ‘‘Wie funktioniert ein Computer’’ Bussystem a) In welche drei Busse lässt sich ein Bussystem oft aufgliedern? • Adressbus • Datenbus • Steuerungsbus b) Was ist die Funktion dieser drei Busse? • Adressbus: Dient zur adressierung einer Speicheradresse oder eines Geräts • Datenbus: Auf dem Datenbus werden die Daten übertragen; sowohl im Fall Lesen als auch im Fall Schreiben • Steuerungsbus: Teilt mit, ob gelesen oder geschrieben werden soll bzw. wann gültige Daten auf dem Bus liegen c) Welche dieser Busse sind unidirektional, welche bidirektional? • Unidirektional: Adress- und Steuerbus; wird vom Prozessor gesteuert (ausser DMA) • Bidirektional: Datenbus (lesen und schreiben) 87 Rechner-Architekturen a) Was ist der Haupt-Unterschied zwischen einer Harvard- und einer von NeumannArchitektur? • Von Neumann: Daten und Befehle liegen im selben Speicher • Harvard-Architektur: Daten und Befehle liegen in unterschiedlichen Speichern. b) Wie kann man die Aussage verstehen, dass heutige Rechnersysteme oft sowohl eine Harvard- als auch eine von Neumann-Architektur haben? Bei heutigen Rechner-Systemen werden häufig für Befehle und Daten verschiedene L1-Caches verwendet. Ab dem L2-Cache wird dann oft nicht mehr zwischen Befehlen und Daten unterschieden, d.h. es gibt dann nur noch einen L2-Cache in dem dann sowohl Befehle als auch Daten abgespeichert sind. 88 1 Aufgaben ‘‘Wie funktioniert ein Computer’’ 2.1 Bits, Byte, Datenworte und Logikpegel 89 2 Darstellung von Zahlen und Zeichen Computer- bzw. Prozessorsysteme führen Transformationen durch, die Eingaben X auf Ausgaben Y abbilden, d.h. Y = f (X ). Programm Eingabe X Ausgabe Y Prozessor Die Art und Weise, wie diese Transformationen durchgeführt werden, ist durch die Programme festgelegt, die von einem Prozessor ausgeführt werden. Beispiele: • Dokument drucken: • X: Dokument bzw. Datensatz in einer Applikation • Y: Befehle/Daten, die an den Drucker geschickt werden müssen, damit dieser das (durch X repräsentierte) Dokument druckt • Programm: Applikation, aus der heraus das Dokument gedruckt wird (z.B. Textverarbeitungsprogramm) sowie der Druckertreiber • Rastern von Grafiken: X = Repräsentation eines Objekts (z.B. Linie); Y = Farbintensitätswerte von Pixeln Linie von (x1, y1) nach (x2, y2), Dicke: d, Farbe: RGB = (0, 0, 0), Hintergrund: weiß X Y 255 255 255 190 190 190 0 0 0 • Berechnungen: Y aus X berechnen; z.B. X = zwei Vektoren, Y = Skalarprodukt 10 1 2 3 · 20 = 1·10 + 2·20 + 3·30 = 140 30 X Y X und Y sind Daten, die als Zahlen oder als Zeichen interpretiert werden können. Sie werden in Computersystemen durch sog. Bits repräsentiert. 90 2 Darstellung von Zahlen und Zeichen 2.1 Bits, Byte, Datenworte und Logikpegel . Daten werden in Computersystemen durch Bits dargestellt bzw. als Bits verarbeitet. Der Begriff Bit steht für binary digit und meint Binärziffer, d.h. Ziffern, die nur Werte 0 und 1 annehmen können. Bei der Verarbeitung von Daten durch elektrische Schaltungen entspricht ‘‘0’’ oft dem sog. Low-Pegel, z.B. -0,3 ... +1,3 Volt, und ‘‘1’’ dem sog. High-Pegel, z.B. +2,3 ... +5,3 Volt. 5V High Low 0V Darüber hinaus findet man auch andere Zuordnungen/Spannungsbereiche. Bei der seriellen Schnittstelle RS-232 beispielsweise entsprechen Spannungen zwischen +3 V ... +15 V dem Low-Pegel, während Spannungen zwischen -15 V ... -3 V High-Pegel darstellen. Mit einem einzelnen Bit können nur zwei Zustände, High und Low, dargestellt werden. Um mehr als zwei Zustände gleichzeitig abzubilden, werden mehrere Bits zu einem Datenwort zusammengefasst. Mit einem Datenwort der Breite n Bits lassen sich 2n verschiedene Low-/High-Kombinationen darstellen. Nachfolgende Abbildung zeigt ein Datenwort der Breite n = 32 Bit sowie die entsprechende Darstellung in Hexadezimal-Schreibweise. 32 Bit breites Datenwort: 0010 1100 1010 0011 0000 1000 1011 1111 Prefix Hexadezimale Darstellung: 0x 2 6 A 3 0 8 B F Die hexadezimale Darstellung wird häufig verwendet, da hier immer vier Bits (sog. Nibble) zu einer einzelnen Ziffer zusammengefasst werden: 0: 0000 1: 0001 2: 0010 3: 0011 4: 0010 5: 0101 6: 0110 7: 0111 8: 1000 9: 1001 A: 1010 B: 1011 C: 1010 D: 1101 E: 1110 F: 1111 2.1 Bits, Byte, Datenworte und Logikpegel 91 So lassen sich auch längere binäre Datenworte ohne großen Platzbedarf darstellen. Gleichzeitig kann durch die feste 4-zu-1-Abbildung der Wert der einzelnen Bits direkt extrahiert werden. Zur Kennzeichnung einer hexadezimalen Codierung wird das Prefix ‘‘0x’’ verwendet, d.h. hexadezimal codierten Zahlen wird ‘‘0x’’ vorangestellt. Seltener findet man oktale Codierungen. Hier wird das Prefix ‘‘0’’ verwendet. Bei oktaler Codierung werden immer 3 Bits zu einer Ziffer zusammengefasst. 24 Bit breites Datenwort: 001 110 000 111 101 110 011 100 Prefix Oktale Darstellung: 0: 000 1: 001 0 1 6 0 7 5 6 3 4 2: 010 3: 011 4: 010 5: 101 6: 110 7: 111 In Computersystemen werden häufig Worte der Breite 8, 16, 32 oder 64 Bit verwendet. Datenworte mit der Wortbreite 8 Bit werden Byte genannt. Ein Byte wird dabei oft als elementare Datenwortgröße angesehen. Alle anderen Datenworte sind dann ein ganzzahliges Vielfaches eines Bytes. Nachfolgende Abschnitte zeigen, wie in Computersystemen mit solchen binären Datenworten Zahlen und Zeichen dargestellt werden. Die darauf folgenden Kapitel zeigen, wie diese Datenworte/Zahlen/Zeichen von Prozessoren verarbeitet werden. 92 2 Darstellung von Zahlen und Zeichen 2.2 Zeichen Zeichen sind Symbole (z.B. ‘a’, ‘b’, ‘c’, ...), mit deren Hilfe Dinge beschrieben werden können. Zur Darstellung von Texten werden Zeichen zu Zeichenketten (Worte) kombiniert und Zeichenketten in Anordnungen (Sätze) gruppiert. Die ‘‘Beschreibung’’ findet dadurch statt, dass unser Gehirn beim Lesen lernen die Bedeutung der verschiedenen Zeichenketten (Symbol-Kombinationen) sowie die Bedeutung verschiedener Anordnungen gelernt hat. In Computersystemen werden Zeichen durch Bits repräsentiert. Nachfolgende Tabelle zeigt die Codierung von Zeichen gemäß ASCII-Standard. 71¥ u Zeichen 0x0… 0x1… 0x2… 0x3… 0x4… 0x5… 0x6… 0x7… …0 NUL DLE SP 0 @ P ` p …1 SOH DC1 ! 1 A Q a q …2 STX DC2 " 2 B R b r …3 ETX DC3 # 3 C S c s …4 EOT DC4 $ 4 D T d t …5 ENQ NAK % 5 E U e u …6 ACK SYN & 6 F V f v …7 BEL ETB ' 7 G W g w …8 BS CAN ( 8 H X h x …9 HT EM ) 9 I Y i y …A NL SUB * : J Z j z …B VT ESC + ; K [ k { …C NP FS , < L \ l | …D CR GS - = M ] m } …E SO RS . > N ^ n ~ …F SI US / ? O _ o DEL 2.2 Zeichen 93 ‘‘ASCII’’ (oft auch US-ASCII) steht für American Standards Code for Information Interchange und ist ein weit verbreiteter Standard zur Codierung von 128 ausgewählten Zeichen durch 7 Bit breite Datenworte. Druckbare Zeichen, d.h. Zeichen, die auch am Bildschirm/Drucker ausgegeben werden können, befinden sich ab Bitkombination 0x20, d.h. Zeichen 33 - 128. Die unteren 32 Zeichen, d.h. Bitkombinationen 0x00, 0x01, ... , 0x1F definieren sog. Steuerzeichen. Steuerzeichen wurden früher dafür verwendet um Fernschreiber anzusteuern. 0x00 (NUL): Null 0x10 (DLE): Data link escape 0x01 (SOH): Start of header 0x11 (DC1): Device control 1 0x02 (STX): Start of text 0x12 (DC 2): Device control 2 0x03 (ETX): End of text 0x13 (DC 3): Device control 3 0x04 (EOT): End of transmission 0x14 (DC 4): Device control 4 0x05 (ENQ): Enquiry 0x15 (NAK): Negative acknowledge 0x06 (ACK): Acknowledge 0x16 (SYN): Synchronous idle 0x07 (BEL): Bell 0x17 (ETB): End of transmission block 0x08 (BS): Backspace 0x18 (CAN): Cancel 0x09 (HT): Horizontal tab 0x19 (EM): End of medium 0x0A (LF): Line feed; new line 0x1A (SUB): Substitute - 0x0B (VT): Vertical tab 0x1B (ESC): Escape 0x0C (FF): Form feed; new page 0x1C (FS): File separator 0x0D (CR): Carriage return 2. B. Protokolle pos Sytune Point 0x1D (GS): Group separator of 0x0E (SO): Shift out 0x1E (RS): Record separator 0x0F (SI): Shift in 0x1F (US): Unit separator - Sales Die meisten Steuerzeichen werden heute nur noch selten verwendet. Häufig verwendet wird beispielsweise 0x00 wird, um das Ende von Zeichenketten anzuzeigen, 0x0A um einen Zeilenumbruch zu markieren, 0x09 für Tabulatoren. 94 2 Darstellung von Zahlen und Zeichen Der ASCII-Code definiert ausschließlich die Codierung der in Amerika häufig verwendeten Zeichen. Codierungen für international verwendete Zeichen wie bspw. deutsche Umlaute ‘‘ä’’, ‘‘ö’’ und ‘‘ü’’ sowie ‘‘ß’’ etc. werden nicht definiert. Dazu muss der ASCII. Zeichensatz erweitert werden. Beispiele hierzu sind der Standard ISO 8859-1 (Latin-1) oder Zeichentabellen, wie sie unter MS-DOS eingesetzt wurden (z.B. Codepage 850 für Westeuropa). Heute wird häufig der Unicode-Zeichensatz verwendet. Dieser hat zum Ziel, jedem auf der Welt verwendeten Schriftzeichen eine eindeutige Zahl zuzuweisen. Zur Codierung dieser Zahlen werden häufig UTF-8 und UTF-16 eingesetzt. Diese Verfahren codieren den Unicode-Zeichensatz in variable Wortbreiten. So können zur Codierung häufig vorkommender Zeichen geringere Wortbreiten verwendet werden als zur Codierung seltener vorkommender Zeichen. Diese Form der Komprimierung sorgt dafür, das Text aus Sprachen, die auf dem lateinischen Alphabet basieren, effizient abgespeichert bzw. über das Internet übertrag werden können. Nachfolgende Abbildung zeigt die Codierung gemäß UTF-8. Anzahl Einser = Codierung Unicode-Zeichen 0xxxxxxx 0x00 - 0x7F (entspricht ASCII) 110xxx 10xxxxxx 0x080 - 0x7FF 1110xxx 10xxxxxx 10xxxxxx 0x0800 - 0xFFFF 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx 0x010000 - 0x10FFFF In Anzahl Byte Im Gegensatz dazu wird in UTF-32 jedes Unicode-Zeichen mit 32 Bit codiert. Vorteil: Einfach zu codieren; Nachteil: Hoher Speicherbedarf für Texte. 2.3 Zahlen 95 2.3 Zahlen Zahlen dienen zur Darstellung von Größen/Beträgen. Sie werden durch Ziffern dargestellt. Zahl: engl . digit von 1 0 2 4 Ziffer Ziffer Ziffer Ziffer Finger , der late digitms Ziffern sind Zeichen, die jedem Element einer Symbol-Menge (z.B. {‘0’, ‘1’, ‘2’, ‘3’, ‘4’, ‘5’, ‘6’, ‘7’, ‘8’, ‘9’} ) ein Vielfaches eines Grundbetrags als Wert zuordnen. Beispiel: ‘0’ ist ‘‘nichts’’ bzw. keinmal der Grundbetrag, ‘1’ ist der Grundbetrag, ‘2’ ist zweimal so viel wie der Grundbetrag; ‘3’ ist dreimal so viel wie der Grundbetrag, etc. 0 := 5 := 1 := 6 := 2 := 7 := 3 := 8 := 4 := 9 := Die Menge der in einem Zahlensystem vorgesehenen Symbole wird Basis b genannt. Beispiel: Im Zahlensystem zur Basis b = 2 gibt es nur zwei Symbole: ‘0’ und ‘1’. Mit einer Ziffer können nur b verschiedene Dinge/Werte dargestellt werden. Um mehr als b verschiedene Werte abzubilden werden mehrere Ziffern aneinandergereiht. Dabei erhöht sich mit jeder weiteren Ziffer die Anzahl unterschiedlicher Symbol-Kombinationen um den Faktor b. Durch Aneinanderreihung von n Ziffern zu einer n Stellen langen Zahl lassen sich b · ... · b} = b n verschiedene Symbolkombinationen und damit b n verschie| · b {z n mal dene Werte/Beträge darstellen. Nachfolgende Abbildung zeigt die Symbole zur Darstellung von Beträgen mit zwei Ziffern aus der Symbolmenge ‘0’, ‘1’, ‘2’, ‘3’, ‘4’, ‘5’, ‘6’, ‘7’, ‘8’, ‘9’. 96 .ua neues 2 Darstellung von Zahlen und Zeichen mengmhhs Symbol 00 01 02 03 04 05 06 07 08 10 11 12 13 14 15 20 21 22 23 24 25 30 31 32 33 34 35 40 41 42 43 44 45 50 51 52 53 54 55 60 61 62 63 64 65 70 71 72 73 74 75 = 80 81 82 83 84 90 91 92 93 94 09 16 17 18 19 26 27 28 29 36 37 38 39 46 47 48 49 56 57 58 59 66 67 68 69 76 77 78 79 85 86 87 88 89 95 96 97 98 99 , wenn höchst wetrgezifter erreicht zhewswgtwa • Ausgehend vom kleinsten Wert wird der nächst höhere Wert stets dadurch repräsentiert, dass bei der rechtesten Ziffer das dem nächst höheren ZiffernWert entsprechende Symbol ausgewählt wird. 0 :O 2 Abhängigkeit vom Wert . . . 01,0 . • Ist bei einer Ziffer bereits das werthöchste Symbol ausgewählt, wird bei dieser Ziffer das wertniedrigste Symbol ausgewählt. Gleichzeitig wird die links angrenzende Ziffer durch das dem nächst höheren Ziffern-Wert entsprechende Symbol ersetzt. 0 :O . ... . . :O . Durch dieses Vorgehen haben die einzelnen Ziffern-Positionen unterschiedliche Wertigkeiten. Numeriert man die Ziffern-Positionen i von rechts nach links durch, beginnend mit i = 0, dann hat jede Ziffernposition den Wert b i . Beispiel mit b = 10: Zahl: StellenWertigkeit: 103 =1000 1 0 2 4 102 =100 101 =10 dann vorausgehende . nightly , start bei Null und • Der kleinste Wert wird dadurch repräsentiert, dass alle Ziffern das Symbol des :O 000 niedrigsten Werts darstellen. ' - 100 =1 Der Wert der Zahl ergibt sich zu 1 · 1000 + 0 · 100 + 2 · 10 + 4 · 1 = 1024. 2.3 Zahlen 97 Im Gegensatz zu Ziffern-Positionen links von i = 0 stellen Ziffern-Positionen rechts von i = 0, d.h. i < 0, nicht ein Vielfaches des Grundelements dar, sondern einen Bruchteil des Grundelements. Nachfolgende Abbildung zeigt am Beispiel b = 10, wie die Stellenwertigkeit von links nach rechts auf b i , d.h. b 1 , b 2 , b 3 , ... reduziert wird. Aufteilen des Grundelements in b = 10 gleich große Teile Grundelement b0 = 1 b-1 = 0,1 b-2 = 0,01 b-3 = 0,001 i Sind Stellen i < 0 vorhanden, so wird der Übergang (i = 0) ! (i < 0) durch das Komma-Symbol gekennzeichnet. Zahl: StellenWertigkeit: 103 102 = 1000 = 100 1 0 2 4 , 2 5 101 = 10 100 =1 Komma 10-1 = 0,1 10-2 = 0,01 Da es unendlich viele Zahlen gibt, verfügen Zahlen (theoretisch) über unendlich viele Stellen vor bzw. nach dem Komma. Für in der Praxis auftretende Zahlen werden in der Regel jedoch nur wenige Stellen vor und wenige Stellen nach dem Komma benötigt. Die restlichen (unendliche vielen) führenden bzw. nachlaufenden Nullen werden nicht dargestellt. 98 2 Darstellung von Zahlen und Zeichen 2.4 Codierung von Festkommazahlen Festkommazahlen sind Zahlen, bei denen das Komma an einer zuvor vereinbarten, d.h. festen Position steht. Nachfolgende Abbildung zeigt eine solche Festkommazahl: n-1 Y Y … Y Annahme unendlich vieler führender Stellen, die nicht dargestellt/abgespeichert werden 0 X X X X X X X X n Stellen zur Aufnahme von n Ziffern; X = 0…b-1; führende Nullen werden bei Darstellungen oft weggelassen , 0 0 … 0 Komma Annahme unendlich vieler nachnach der folgender Nullen, die nicht darEiner-Stelle gestellt/abgespeichert werden X steht für die Ziffern 0, 1, ... , b-1, wobei b die Basis des verwendeten Zahlensystems darstellt (z.B. b = 2 für Binärzahlen, b = 10 für Dezimalzahlen, ...). n ist die Wortbreite, d.h. es stehen n Bits zum Abspeichern der Zahl zur Verfügung. Y steht für die unendlich vielen Stellen, die nicht mit abgespeichert werden. .am#hitehtnrabha-ngig Festkommazahlen funktionieren nach dem zuvor beschriebenen Prinzip ‘‘Vielfaches eines Grundelements’’. Aus diesem Grund sind die Abstände zwischen zwei benachbarten Zahlen stets gleich groß (Äquidistanz). stand gleichgroß ÷÷ - TF 0 Vorzeichenlose Festkommazahlen auch Vorzeichenlose Festkommazahlen haben kein Vorzeichen, d.h. sie sind stets positiv. Der Wert v (v = value) einer vorzeichenlosen Festkommazahl ergibt sich zu: :p Wortbnitl v = (an 1 · bn 1 Koeffizienten frames + · · · + a1 · b 1 + a0 · b 0 ) · b r -7-7 Position des r = radix • n ist die Stellenzahl, d.h. die maximale Menge an Ziffern, die zur Darstellung bzw. Abspeicherung der Zahl vorgesehen ist. In Prozessoren wird häufig eine Stellenzahl von n = 8, 16, 32 oder 64 (Binär-) Stellen verwendet. In der Mathematik gibt es keine begrenzte Stellenzahl; dort gilt n ! 1. • b ist die Basis des Zahlensystems, z.B. 10 für das Dezimalsystem (Ziffern 0 ... 9) oder 2 für Binärzahlen (Ziffern 0 und 1). Ziffern an der Stelle i haben die Wertigkeit b i . In Prozessoren wird aufgrund der Darstellung von Werten durch kommen 2.4 Codierung von Festkommazahlen 99 Logik-Pegel ‘‘Low’’ und ‘‘High’’ als Basis b = 2 verwendet. • Die Koffizienten ai sind die Ziffern an den Stellen i. Die Werte der Ziffern liegen im Bereich 0...(b 1) und geben an, wie oft die Wertigkeit der jeweiligen Stelle zum Wert der Zahl beiträgt. • Der Wert von r (r = radix) legt die Position des Kommas fest: • r = 0: Dieser Fall ist der Normalfall: Durch Multiplikation mit b r = b 0 = 1 bleibt v = an 1 · b n 1 + · · · + a1 · b 1 + a0 · b 0 . Das Komma steht hinter der Einer-Stelle und wird weggelassen. Es werden ganze Zahlen mit den Werten 0, 1, ... , b n 1 dargestellt. • r > 0: Durch Multiplikation mit b r können größere Zahlen dargestellt werden, jedoch auf Kosten geringerer Genauigkeit. Die Ziffern der Zahl werden um r Stellen nach links geschoben, die frei werdenden Positionen werden mit Nullen aufgefüllt. Das Komma wird weggelassen. Darstellungsbeispiel einer Festkommazahl für n = 8 und r = 3: xxxxxxxx000. Die Zeichen ‘‘x’’ stehen dabei jeweils für eine der Ziffern an 1 ... a0 . • r < 0: Da r < 0, entspricht die Multiplikation mit b r einer Division durch b |r | , d.h. das (nach der Einer-Stelle implizit stehende) Komma wird um r Stellen nach links geschoben. Die Genauigkeit erhöht sich auf Kosten der größtmöglich darstellbaren Zahl. Darstellungsbeispiel für n = 8 und r = 3: xxxxx,xxx. = zuvor : Zitter wird nach links Im folgenden werden nur noch Dezimalzahlen (b = 10) und Binärzahlen (b = 2) betrachtet. geschoben Wie Skalarpodnkt : 1 1000 100 10 1 . 2 : = 1.1000+2.100+3.10+1.4=1234 100 2 Darstellung von Zahlen und Zeichen Nachfolgender Zahlenring zeigt die Zuordnung von Binär- zu Dezimalzahlen für diese Codierung: io : 1111 1110 13 1100 1011 0 14 12 1 0010 2 0011 3 11 4 10 6 8 1001 0100 5 9 1010 fIi " " Dgarsklhmgsngel 0000 0001 15 1101 v Richtung steigender Werte 0101 7 0110 1000 0111 Die Darstellung zeigt, dass die Richtung steigender Werte bei beiden Codierungen (Binär und Dezimal) identisch ist. Als Folge können bei dieser Darstellung für die gewählte Binärcodierung dieselben Rechenregeln angewendet werden, wie bei Dezimalzahlen. Beispiel: • 210 + 110 = 310 • 00102 + 00012 = 00112 } Unit Regel ( wie von S . 96 wird nächst größerer Wet dargestellt X 2.4 Codierung von Festkommazahlen 101 Aufgaben Die folgenden Aufgaben betrachten Binärzahlen, d.h. b = 2. a) Welches ist die kleinste darstellbare vorzeichenlose Festkommazahl? 0 b) Wieviele unterschiedliche vorzeichenlose Festkommazahlen können mit n Bit dargestellt werden? 2n c) Geben Sie für r = 0 den Wert der größten vorzeichenlosen Festkommazahl in Abhängigkeit von n an. 2n 1 ( Eins als weniger 2 " ) d) Geben Sie für n = 8 und r = 2 den Wert der größten vorzeichenlosen Festkommazahl an. # (2n 1) · 2r = 2n+r 2r = 28+2 (Binär: 1111 1111 00) e) \ 4 = 1020 hiBihurdankUwug_ Betrachten Sie den Zahlenring. Wie kann man einen Überlauf von vorzeichenlosen Zahlen feststellen? Das Carry-Out-Bit, d.h. das Bit an der Stelle MSB + 1 ist gesetzt. f) Sind alle Abstände vorzeichenloser Binärzahlen zum nächst kleineren und nächst größeren Nachbarn äquidistant? Skizzieren Sie für r = 2 und n = 3 die entsprechenden Werte auf dem Zahlenstrahl. Ja, die Abstände sind äquidistant. 0 0,25 0,5 0,75 1,0 1,25 1,5 1,75 102 2 Darstellung von Zahlen und Zeichen Im Folgenden gilt n = 8 und r = 0. g) Wandeln Sie folgende Dezimalzahlen in vorzeichenlose Binärzahlen um. Dezimal h) Binär vorzeichenlos 0 0000 0000 75 0100 1011 127 0111 1111 128 1000 0000 255 1111 1111 256 - Wandeln Sie folgende hexadezimale Zahlen in vorzeichenlose Binärzahlen um. Hexadezimal Binär vorzeichenlos 5 4 1 6 3 5 2 0x52416352 0101 0010 0100 0001 0110 0011 0101 0010 0x7A8F23DE 0111 1010 1000 1111 0010 0011 1101 1110 7 i) 2 A 8 Berechnen Sie 24 + 17 = 3 im Binärsystem. 24 = 16 + 8 ) 0001 10002 17 = 16 + 1 ) 0001 00012 + 0001 1000 0001 0001 0010 1001 F 2 3 D E 2.4 Codierung von Festkommazahlen Im Folgenden gilt n = 6 und r = j) alles 3 Vielfaches ein Wandeln Sie folgende Dezimalzahlen in vorzeichenlose Binärzahlen um. Dezimal k) 103 Binär vorzeichenlos 0 000 000 0,125 000 001 1,75 001 110 3,375 011 011 5 101 000 Berechnen Sie 2,25 + 4,375 im Binärsystem. 2,2510 = 010 0102 4,37510 = 100 0112 + 010 010 100 011 110 101 (= 6,62510 ) } selber wie Recheusduma zuvor bei r = 0 von fg 104 2 Darstellung von Zahlen und Zeichen Aufgaben Tutorium Im Folgenden gilt n = 8, r = 0. T a) Wandeln Sie folgende Dezimalzahlen in vorzeichenlose Binärzahlen um. Dezimal T Binär vorzeichenlos 0 0000 0000 5 0000 0101 67 0100 0011 126 0111 1110 253 1111 1101 b) Berechnen Sie 17 + 23 im Binärsystem. 17 = 16 + 1 ) 0001 0001 23 = 16 + 7 ) 0001 0111 + 0001 0001 0001 0111 0010 1000 2.4 Codierung von Festkommazahlen T c) Geben Sie für n = 6 und r = 3 den Wert der größten vorzeichenlosen Festkommazahl an. (2n 1) · 2r = 2n+r Binär: 1 1111 1000 2r = 26+3 Im Folgenden gilt n = 8 und r = T 8 = 504 3 d) Wandeln Sie die angegebenen Dezimalzahlen in vorzeichenlose Binärzahlen um. Dezimal T 105 e) Binär vorzeichenlos 0 00000 000 0,375 00000 011 7,25 00111 010 10 01010 000 12,5 01100 100 17,625 10001 101 Berechnen Sie 1,75 + 3,125 im Binärsystem. 1,7510 = 001 1102 3,12510 = 011 0012 + 001 110 011 001 100 111 106 2 Darstellung von Zahlen und Zeichen Vorzeichenbehaftete Festkommazahlen Es gibt verschiedene Möglichkeiten, binäre vorzeichenbehaftete Festkommazahlen darzustellen: • Vorzeichen und Betrag • Einer-Komplement • Zweier-Komplement Vorzeichen und Betrag Bei dieser Darstellung werden Vorzeichen und Betrag der Zahl separat abgespeichert: • Das Vorzeichen wird repräsentiert durch das höherwertigste Bit: Hat das Bit den Wert 0, ist die Zahl positiv, hat das Bit den Wert 1, ist die Zahl negativ. • Der Betrag der Zahl wird durch die restlichen Bits dargestellt. Ob eine Zahl positiv oder negativ ist, kann direkt am MSB abgelesen werden. Zur Negation einer Zahl muss nur das höherwertigste Bit geändert werden. Ein Problem bei dieser Darstellung ist die doppelte Null: • 00 ... 0002 ) +0 • 10 ... 0002 ) 0 Nachfolgende Abbildung zeigt für n = 4 die Zuodnung von Binär- zu Dezimalzahlen. • Für positive Zahlen ist die Richtung steigender Werte für Binär- und Dezimalzahlen die selbe. vgl . nächste Seite • Für negative Zahlen ist die Richtung jedoch unterschiedlich; Beispiel: Aussenbahn • 10102 + 00012 = 10112 : Bewegung im Uhrzeigersinn • 210 + 110 = mnenbahn 110 : Bewegung gegen den Uhrzeigersinn • Ergebnis falsch: 110 6= 10112 vgl . nächste Seite : 2.4 Codierung von Festkommazahlen 107 :D = 1111 0000 1110 -7 1101 0001 0 -6 1 -5 1100 -4 negativ 16 s gemäß säum ÷: Aufgaben a) | 1011 -3 4. -1 -0 7 3 4 -2+1 0011 0100 5 6 1001 1000 2 positiv -2 1010 0010 0101 0110 0111 2+1 Welche Auswirkungen hat es, dass für negative Zahlen die Richtung steigender Werte nicht übereinstimmt? Da beide Bewegungsrichtungen nicht übereinstimmen, können Zahlen in der Codierung ‘‘Vorzeichen und Betrag’’ nicht in der gleichen Weise addiert werden, wie im Dezimalsystem. bzlw . subhakiet b) Ist der Wertebereich symmetrisch? Begründung! Ja, da sowohl für positive als auch für negative Zahlen der Betrag mit denselben Bits codiert wird, muss der Wertebereich symmetrisch sein. 108 c) 2 Darstellung von Zahlen und Zeichen - 4 Bit = K¥1 = 23-1 = Geben Sie den Wertebereich für r = 0 in Abhängigkeit von n an. (2n 1 1), ... , 0, +0, ... , 2n 1 1 d) Codieren Sie für n = 8 und r = 0 die folgenden Zahlen binär in die Darstellung ‘‘Vorzeichen und Betrag’’. Dezimal e) Binär -10 1000 1010 0 0000 0000 20 0001 0000 Codieren Sie für n = 6 und r = ‘‘Vorzeichen und Betrag’’. Dezimal 2 die folgenden Zahlen in die binäre Darstellung Binär -2,25 1010 01 0 0000 00 5,5 0101 10 7 2.4 Codierung von Festkommazahlen 109 Aufgaben Tutorium T a) Codieren Sie für n = 8 und r = 0 die folgenden Zahlen binär in die Darstellung ‘‘Vorzeichen und Betrag’’. Dezimal T Binär -17 1001 0001 -5 1000 0101 17 0001 0001 b) Codieren Sie für n = 6 und r = 2 die angegebenen Zahlen in die binären Darstellung ‘‘Vorzeichen und Betrag’’. Dezimal Binär -3,75 1011 11 -0,5 1000 10 7,25 0111 01 110 2 Darstellung von Zahlen und Zeichen Einer-Komplement :% Bei dieser Darstellung werden zur Negierung einer Zahl alle Bits invertiert. Um eine eindeutige Unterscheidung zwischen positiven und negativen Zahlen zu gewährleisten, ist der Betrag der Zahlen auf 2n 1 1 beschränkt. Dadurch kann das Vorzeichen der Zahl wieder direkt am MSB abgelesen werden (0 ) positiv; 1 ) negativ). Der Vorteil dieser Darstellung im Vergleich der Darstellung ‘‘Vorzeichen und Betrag’’ liegt darin, dass die Codierung der negativen Zahlen in derselben Richtung erfolgt wie die Codierung der positiven Zahlen, so dass positive und negative Zahlen auf die gleiche Art und Weise addiert (bzw. subtrahiert) werden können. Yhnhny :) , 1111 0000 1110 0001 -0 1101 0 -1 1 -2 1100 -3 . 0010 2 3 negativ positiv -4 1011 4 -5 1010 0011 0100 5 -6 -7 7 1001 " 1--3 6 0101 0110 1000 0111 msn.sn μ :) ÷ 0.0+1.1 2.4 Codierung von Festkommazahlen 0 111 vorzeichen los 0 :D 'E± Eu . . . 2 " -1 Aufgaben .it?iti?::::I :#: a) hihwyativ ) ' Geben Sie den Wertebereich der Einer-Komplement-Darstellung für r = 0 in Abhängigkeit von n an. (2n 1 1), ... , 0, +0, ... , 2n 1 1 ~ b) Geben Sie den Wertebereich der Einer-Komplement-Darstellung allgemein in Abhängigkeit von r und n an. (2n+r c) 1 b r ), ... , 0, +0, ... , 2n+r 1 br Geben Sie den Wertebereich der Einer-Komplement-Darstellung für r = n = 8 an. 2 und 31,75, ... , 31,75 d) Ist der Wertebereich asymmetrisch? .it#I1).E Nein. Der Wertebereich ist symmetrisch. e) Codieren Sie für n = 8 und r = 0 die folgenden Zahlen binär im Einer-Komplement. Dezimal - -10 1111 0101 0 0000 0000 20 0001 0100 ( zu-13.5 -27 für ' - Binär . . . +4mm . zr ) - 0 112 f) 2 Darstellung von Zahlen und Zeichen Codieren Sie für n = 6 und r = 2 die folgenden Zahlen im Einer-Komplement. Dezimal -2,25 Binär 0010,01 1101 10 iüsuertier ÷ 0 0000 00 5,5 0101 10 g) Zeigen Sie an einem Beispiel, wie sich bei dieser Codierung zur Addition von Binärzahlen derselbe Algorithmus verwendet lässt wie zur Addition von Dezimalzahlen – sowohl bei positiven als auch bei negativen Werten. • Positiver Bereich: 210 + 310 = 510 , 00102 + 00112 = 01012 • Negativer Bereich: h) 610 + 210 = ÜÖ wer . Wann gibt es bei Verwendung der Einer-Komplement-Codierung Probleme bei der Addition? Die doppelte Null macht Probleme: i) 410 , 10012 + 00102 = 10112 210 + 310 = 110 6, 11012 + 00112 = 00002 4 ° Wie könnte man das Problem lösen? Andere Codierung wählen, so dass die doppelte Null verschwindet: • 11112 , 110 • 11102 , 210 • ... • 10002 , 810 ) Nach dem invertieren noch 00 ... 012 addieren. Das ist dann das sog. ZweierKomplement. 2.4 Codierung von Festkommazahlen 113 Aufgaben T a) Codieren Sie für n = 8 und r = 0 die folgenden Zahlen binär im Einer-Komplement. Dezimal T Binär -17 1110 1110 -5 1111 1010 17 0001 0001 b) Codieren Sie für n = 6 und r = Komplement. Dezimal 2 die folgenden Zahlen binär im Einer- Binär -3,75 1100 00 -0,5 1111 01 7,25 0111 01 114 2 Darstellung von Zahlen und Zeichen Zweier-Komplement Beim Zweier-Komplement wird zunächst das Einer-Komplement gebildet und dann noch binär der Wert 1 addiert. Auf diese Weise wird die doppelte Null vermieden. Der Wertebereich wird asymmetrisch, was jedoch kein Problem darstellt. Berechnungen können in dieser Codierung mit demselben Algorithmus durchgeführt werden wie im Dezimalsystem. Aus diesem Grund werden vorzeichenbehaftete Festkomma-Zahlen in der Regel im Zweier-Komplement codiert. auch ogling passt 1111 1110 -2 -3 1100 1011 -4 -6 1010 : 0 1 1 2 3 negativ 0011 -7 positiv 4 0100 5 -8 7 1001 6 0101 0110 1000 Aussenring wie vorher beim 1W hompnmeut - 0010 ⇐ ^ -5 0000 0001 -1 1101 2+3=1 0111 winning Hälfte Stelle linke und Uhrzeigersinn verschoben im 2.4 Codierung von Festkommazahlen 115 Aufgaben a) Codieren Sie für n = 8 und r = 0 die folgenden Zahlen binär im ZweierKomplement. Dezimal Binär -10 1111 0110 0 0000 0000 20 0001 0100 b) Codieren Sie für n = 6 und r = 2 die folgenden Zahlen im Zweier-Komplement. Dezimal c) Binär -2,25 1101 11 0 0000 00 5,5 0101 10 0010,01 : 101,10 -41101,11 Wie lässt sich im Zweier-Komplement ein Überlauf feststellen? Es tritt ein Überlauf auf, wenn man • zwei positive Zahlen addiert und eine negative Zahl als Ergebnis erhält, oder wenn man • zwei negative Zahlen addiert und eine positive Zahl als Ergebnis bekommt. 0 116 2 Darstellung von Zahlen und Zeichen d) Berechnen Sie 37 - 53 im Zweier-Komplement. 37 53 = 37 + ( 53) 37 = 32 + 4 + 1 ) 0010 0101 53 = 32 + 16 + 4 + 1 ) 0011 0101 531er = 1100 1010 532er = 1100 1011 + 0010 0101 1100 1011 1111 0000 Wert: Einer Komplement: 0000 1111 Zweier Komplement: 0001 0000 ) 16 für na 8 , rz 0 2.4 Codierung von Festkommazahlen 117 Aufgaben Tutorium T a) Codieren Sie für n = 8 und r = 0 die folgenden Zahlen binär im ZweierKomplement. Dezimal T Binär -17 1110 1111 -5 1111 1011 17 0001 0001 b) Codieren Sie für n = 6 und r = Komplement. 2 die folgenden Zahlen binär im Zweier- Dezimal T c) -3,75 1100 01 -0,5 1111 10 7,25 0111 01 Berechnen Sie 17 - 23 im Zweier-Komplement. 17 = 1 + 1 ) 0001 0001 23 = 16 + 7 ) 0001 0111 231er = 1110 1000 232er = 1110 1001 + Binär 0001 0001 1110 1001 1111 1010 Wert: Einer Komplement: 0000 0101 Zweier Komplement: 0000 0110 ) 6 118 2 Darstellung von Zahlen und Zeichen 2.5 Codierung von Gleitkommazahlen nach IEEE 754 Durch die fest definierte Kommastelle sind bei Festkommazahlen die Abstände zwischen den einzelnen Zahlenwerten äquidistant. Aus diesem Grund (und aufgrund der endlichen Anzahl an Stellen n) können mit Festkommazahlen nicht gleichzeitig sehr große Zahlen und sehr kleine Zahlen dargestellt werden. Bei Gleitkommazahlen ist diese Einschränkung aufgehoben. Die Abstände zwischen den einzelnen Zahlenwerten sind um den Wert 0 herum sehr klein. Für große Zahlen werden die Abstände sehr groß, wie in nachstehender Grafik skizziert. 0 Erreicht wird diese Eigenschaft dadurch, dass die Position des Kommas nicht im Voraus festgelegt ist, sondern in der Zahl durch Angabe eines Exponenten e definiert wird. Der Exponent legt fest, um wieviel die Kommastelle nach links oder rechts verschoben werden muss. zahl Ehitkomma Das Komma gleitet Gleitkommazahlen werden wie folgt codiert: s e f Bei 32 Bit breiten Gleitkommazahlen (einfache Genauigkeit) gilt die Aufteilung • s = 1 Bit • e = 8 Bit • f = 23 Bit, bei 64 Bit breiten Gleitkommazahlen (doppelte Genauigkeit) gilt die Aufteilung • s = 1 Bit • e = 11 Bit • f = 52 Bit. Als Wert ergibt sich für • für normalisierte Gleitkommazahlen (Normal-Fall) v = ( 1)s · 1,f · 2e K, • für de-normalisierte Gleitkommazahlen (Spezial-Fall) v = ( 1)s · 0,f · 21 K. : 2.5 Codierung von Gleitkommazahlen nach IEEE 754 Die Konstante K hat 119 • bei einfacher Genauigkeit (32 Bit) den Wert K = 127, • bei doppelter Genauigkeit (64 Bit) den Wert K = 1023. Eine Gleitkommazahl gilt als normalisiert, wenn beim Exponenten e weder alle Bits gesetzt noch alle Bits gelöscht sind, d.h. • 0 < e < 255 bei 32 Bit • 0 < e < 2047 bei 64 Bit. Eine denormalisierte Gleitkommazahl liegt vor, wenn e = 0 und gleichzeitig f > 0. Spezialfälle: • 0: • e=0 • f =0 • ±1: • s: +1 ) 0; 1)1 • e: alle Bits gesetzt ) 255 bei 32 Bit, 2047 bei 64 Bit • f: alle Bits 0 • NaN (Not a Number) • e: alle Bits gesetzt ) 255 bei 32 Bit, 2047 bei 64 Bit • f: > 0 Aufgaben FTI Format von Gleitkommazahlen a) Welchen Wert hat eine Zahl, die in 64 Bit Gleitkomma-Notation mit 0xC028000000000000 codiert wird? :# 1 10000000010 1001 0000 ...000 s = 1 e-K = 1026 - 1023 = 3 f = 10010... Wert: -1,100100.. ·23 = -1100,1 = -12,5 or 120 =÷ 2 Darstellung von Zahlen und Zeichen 0100 . < b) Welchen Wert hat eine Zahl, die in 64 Bit Gleitkomma-Notation mit 0x0004000000000000 codiert wird? e = 0 und De-normalisiert, da e = 0 v = 0,25 ·2 1022 c) S k = 1-1023=-1022 cin - Welchen Wert hat eine Zahl, die in 32 Bit Gleitkomma-Notation mit 0x7F80000 codiert wird? +1 Bei normalisierten Gleitkommazahlen wird eine ‘‘1,’’ direkt vor den Bruchteil f hinzugefügt. Bei denormalisierten Gleitkommazahlen ist es eine ‘‘0,’’. Codierung: e = 0; f > 0; Wert: v = ( 1)s · 21 K · 0.f Welchen Nutzen haben denormalisierte Gleitkommazahlen? Mit denormalisierten Gleitkommazahlen können – um den Wert 0 herum – betragsmäßig viel kleinere Zahlen dargestellt werden als bei normalisierten Gleitkommazahlen. f) Geben Sie ein Beispiel an, wie es zu einem Ergebnis kommen kann, das ‘‘keine Zahl’’ ist. Wurzel einer negativen Zahl. (Auch möglich: Division 0/0) :-O 011111111/1000 ehat alle Bits gesetzt d) Was ist eine denormalisierte Gleitkommazahl, wie wird sie codiert und wie berechnet sich ihr Wert? e) fist 2.5 Codierung von Gleitkommazahlen nach IEEE 754 121 Rechnen mit Gleitkommazahlen a) Codieren Sie 3,625 und 13,5 als 32 Bit breite Gleitkommazahlen und tragen Sie das Bitmuster in die angegebene Tabelle ein. 3.625: 11.101 = 1.1101 · 21 s=0 e K =1 e = K + 1 = 127 + 1 = 128 f = 11010...0 13.5: 1101.1 = 1.1011 · 23 s=0 e K =3 e = K + 3 = 127 + 3 = 130 f = 10110...0 3,625: 0 1 0 0 0 0 0 0 0 1 1 0 1 0 0 0 0 … 0 13,5: 0 1 0 0 0 0 0 1 0 1 0 1 1 0 0 0 0 … 0 122 2 Darstellung von Zahlen und Zeichen b) Berechnen Sie 3,625 + 13,5 im Binärsystem bei Verwendung einer 32 Bit Gleitkommacodierung. Exponent 3.625: 10000000 Exponent 13.5: 10000010 Exponent von 3.625 dem von 13.5 anpassen (Exponenten müssen gleich sein, bevor die Mantissen addiert werden können). 13.5: Exponent Bruchteil/Mantisse 1000 0010 1011000...0 3.625: Exponent Bruchteil/Mantisse 1000 0000 1000 0001 1000 0010 1101000...0 11101000...0 (führende 1,) 011101000...0 Mantissen addieren: + 1.101100000...0 0.011101000...0 10.001001000...0 Normalisieren: Mantisse normalisieren: 10.001001000...0 ! 1.0001001000...0 Exponent normalisieren: 1000 0010 ! 1000 0011 Bitmuster des Ergebnisses: 0 1 0 0 0 0 0 1 1 0 0 0 1 0 0 1 0 … 0 2.5 Codierung von Gleitkommazahlen nach IEEE 754 c) Bestimmen Sie aus dem Ergebnis-Bitmuster das Ergebnis der Addition 3,625 + 13,5 ( 1)0 · 1,0001001 · 2131 T 123 127 = 10001,001 · 20 = 17,12510 d) Codieren Sie 1,75 und 5,125 als 64 Bit breite Gleitkommazahlen und tragen Sie das Bitmuster in die angegebene Tabelle ein. 1,75: 1.11 = 1.11 · 20 s=0 e K =0 e = K = 1023 f = 110...0 5,125: 101.001 = 1.01001 · 22 s=0 e K =2 e = K + 2 = 1023 + 2 = 1025 f = 010010...0 1,75 0 0 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 … 0 5,125 0 1 0 0 0 0 0 0 0 0 0 1 0 1 0 0 1 0 0 0 … 0 124 T e) 2 Darstellung von Zahlen und Zeichen Berechnen Sie 1,75 + 5,125 im Binärsystem bei Verwendung einer 64 Bit Gleitkommacodierung. Exponent 1,75: 01111111111 Exponent 5,125: 10000000001 Exponent von 5,125 dem von 1,75 anpassen (Exponenten müssen gleich sein, bevor die Mantissen addiert werden können). 1,75: Exponent Bruchteil/Mantisse 01111111111 1,110...0 5,125: Exponent Bruchteil/Mantisse 10000000001 10000000000 01111111111 1,010010....0 10,10010....0 101,0010....0 Mantissen addieren: + 001,110 101,001 110,111 Renormalisieren: Mantisse: 110,111 ! 1,10111 Exponent: 01111111111 ! 10000000001 Bitmuster des Ergebnisses: 0 1 0 0 0 0 0 0 0 0 0 1 1 0 1 1 1 0 0 0 … 0 2.5 Codierung von Gleitkommazahlen nach IEEE 754 T f) 125 Bestimmen Sie aus dem Ergebnis-Bitmuster das Ergebnis der Addition 1,75 + 5,125 ( 1)0 · 1,10111 · 21025 1023 = 110,111 = 6,87510 126 2 Darstellung von Zahlen und Zeichen 3.1 Schaltungselemente 127 3 Arithmetische Schaltungen 3.1 Schaltungselemente Logikgatter Treiber; gibt am Ausgang denselben Logikpegel aus, der auch am Eingang anliegt Inverter; gibt am Ausgang den Logikpegel des Eingangs invertiert aus UND-Verknüpfung; gibt am Ausgang 1 aus, wenn beide Eingänge auf 1 liegen, anderenfalls 0; die Anzahl der Eingänge kann auch > 2 sein NICHT-UND-Verknüpfung; gibt am Ausgang 0 aus, wenn beide Eingänge auf 1 liegen, anderenfalls 1; die Anzahl der Eingänge kann auch > 2 sein ODER-Verknüpfung; gibt am Ausgang 1 aus, wenn mindestens ein Eingang auf 1 liegt, anderenfalls 0; die Anzahl der Eingänge kann auch > 2 sein NICHT-ODER-Verknüpfung; gibt am Ausgang 1 aus, wenn kein Eingang auf 1 liegt, anderenfalls 0; die Anzahl der Eingänge kann auch > 2 sein Exklusiv-ODER-Verknüpfung/Antivalenz; gibt am Ausgang 1 aus, wenn beide Eingänge unterschiedliche Pegel aufweisen, anderenfalls 0 Exklusiv-NICHT-ODER-Verknüpfung/Äquivalenz; gibt am Ausgang 1 aus, wenn beide Eingänge identische Pegel aufweisen, anderenfalls 0 Multiplexer Multiplexer wählen einen von mehreren Eingängen aus und leiten den dort anliegenden Logikpegel an den Ausgang weiter. Nachfolgende Abbildung zeigt einen 1 Bit 2-auf-1Multiplexer, einen 1 Bit 4-auf-1-Multiplexer, einen n Bit 4-auf-1-Multiplexer sowie die zugehörigen Wertetabellen. Der Steuereingang s legt fest, welcher der Eingänge a, b, ... an den Ausgang durchgereicht wird. Annahme : Durchlauf züt pauschal 1 Galler laut zeit t 0 128 3 Arithmetische Schaltungen s s a) a 0 b 1 y s y 0 1 a b a 0 b 1 c 2 d 3 s a y b c d n yn 2 0 1 n 2 n 3 n y s y 00 01 10 11 a b c d Tragen Sie in nachfolgende Abbildung ein, wie sich ein 4 Bit 4-auf-1 Multiplexer aus vier 1 Bit 4-auf-1 Multiplexer aufbauen lässt. 2 0 1 2 3 0 1 2 3 0 1 2 3 0 1 2 3