Integrierte Schaltungen Klassen von Chips: SSI (Small Scale Integrated) circuit: 1 bis 10 Gatter MSI (Medium Scale Integrated) circuit: 10 bis 100 Gatter LSI (Large Scale Integrated) circuit: 100 bis 100 000 Gatter VLSI (Very Large Scale Integrated) circuit: > 100 000 Gatter Von Transistoren nichts mehr zu sehen: Robin WS 2004/2005 60 Katinka Wolter
Einfacher SSI Chip 4 NAND Gatter brauchen je 2 Eingänge einen Ausgang + Power (VCC) + Erde (GND). Kerbe zur Orientierung. Funktionalität wird generiert durch verbinden der Ein /Ausgänge. Gatterverzögerung: 1 10 nsec. Vernachlässigen wir. SSI Chips kosten im Handel wenige Cent. In den 1970er Jahren wurden daraus Computer gebaut. Robin WS 2004/2005 61 Katinka Wolter
Moderne Chips Heutige Chips enthalten ca. 5 Mio. NAND Gatter. 15 000 002 Anschlüsse (Pins) 0.1 inch Standardabstand zwischen zwei Anschlüssen Länge des Chips: 18 km. Gatter auf Chips bilden logische und arithmetische Funktionen, weniger Anschlüsse nötig. Wir betrachten Speicher kombinatorische Schaltungen arithmetische Schaltungen Robin WS 2004/2005 62 Katinka Wolter
Latches und Flip Flops S R Q vorher Q vorher Q nachher Q nachher Anmerkung 0 0 0 1 0 1 stabil (a) 0 0 1 0 1 0 stabil (b) 0 0 0 0 \ \ inkonsistent 0 0 1 1 \ \ inkonsistent 1 0 0 1 1 0 set Q 0 1 0 1 0 1 kein Effekt 0 1 1 0 0 1 reset Q Robin WS 2004/2005 63 Katinka Wolter
Latches und Flip Flops (II) Initialzustand beispielsweise S = R = 0, dann sind Q = 0, Q = 1, Q=1 Q=0 und stabile Zustände. Ist dagegen Q = 0, und wird S = 1 gesetzt, so wird Q = 1. Falls aber Q = 1 und es wird S = 1 gesetzt, so ändert sich nichts. Zustand des latch wird berücksichtigt. Charakteristik des SR Latch SR Latch ist ein einfaches Speicherelement. Erinnert ob zuletzt S oder R gesetzt waren. output nicht eindeutig durch input bestimmt Robin WS 2004/2005 64 Katinka Wolter
Getakteter SR Latch Zustandswechsel nur zur Taktzeit Latches und Flip Flops (III) Wenn der Takt = 1, dann agiert der Schaltkreis wie zuvor. Takt = 0 deaktiviert S und R (AND = 0) S = R zurückgesetzt auf Null führt zu nicht deterministischem Verhalten. Q = 0 und Q = 1 möglich. S = R = 1 hat nur einen konsistenten Zustand: Q = Q = 0. Sobald S = R = 0, kehrt der latch in einen stabilen Zustand zurück. S zuerst bewirkt Q = 1, Q = 0, R zuerst bewirkt Q = 0, Q = 1 Robin WS 2004/2005 65 Katinka Wolter
Latches und Flip Flops (IV) Getakteter D Latch Uneindeutigkeit des SR latch (wenn S = R = 1) wird vermieden durch nur eine Eingabe, D und ihr Komplement. Wert von D wird in Q gespeichert, 1 Bit Speicher Element Schaltkreis benötigt 11 Transistoren In der Praxis werden geschicktere Schaltkreise mit 6 Transistoren verwendet. Robin WS 2004/2005 66 Katinka Wolter
D Flip Flop Latches und Flip Flops (V) latch mit Pulsgenerator. Verzögerung des NICHT Gatters bewirkt Speichern von D zu Beginn des Taktes. ebenfalls 1 Bit Speicher Element, das immer zu Beginn eines Taktzyklus speichert. Robin WS 2004/2005 67 Katinka Wolter
Latches und Flip Flops (VI) Anmerkung: Pulsgenerator Robin WS 2004/2005 68 Katinka Wolter
Register Symbole für latches und flip flops CK = clock (a) Latch (b) Latch mit inversem Takt (c) Flip flop, speichert auf der steigenden Flanke (d) Flip flop, speichert zur fallenden Flanke. Wichtig sind (a) und (c). Register bestehen üblicherweise aus mehreren Flip flops. FF FF Robin WS 2004/2005 69 Katinka Wolter
Register (II) Darstellungen auf unterschiedlichem Abstraktionsniveau: 8 Bit Register bestehend aus einzelnen Flip Flops. Kompaktdarstellung eines 8 Bit Registers. d 0 D FF Q CK q 0 d 1 D FF Q CK q 1 d 2 d 3 D FF Q CK D FF Q CK q 2 q 3 8 8 d 4 D FF Q CK q 4 d 5 D FF Q CK q 5 d 6 d 7 D FF Q CK q 6 q 7 D FF Q CK CK Robin WS 2004/2005 70 Katinka Wolter
Kombinatorische Schaltungen Kombinatorische Schaltungen ordnen eindeutig jeder Eingabe eine Ausgabe zu. Wir betrachten: Multiplexer. Hat 2 n Dateneingabeleitungen, n Steuerleitungen und eine Datenausgabeleitung. Die Belegung der Steuerleitungen bestimmt, welche Eingabeleitung ausgegeben wird. Dekodierer. Wählt eine der 2 n Ausgabeleitungen in Abhängigkeit von der n stelligen Eingabe. Comparator (vergleichende Schaltung). Vergleicht zwei Eingabeworte und gibt 0 bei verschieden, oder 1 bei gleichen Worten aus. Robin WS 2004/2005 71 Katinka Wolter
Multiplexer Von 8 Eingabesignalen wird nur eines ausgegeben in Abhängigkeit von A,BC. Ein De Multiplexer erhält eine Eingabe und gibt n Signale aus (in Abhängigkeit von A,B,C). Er wird für die ALU Steuerung verwendet. Robin WS 2004/2005 72 Katinka Wolter
Dekodierer Der Dekodierer setzt eine von 2 n Ausgangsleitungen, in Abhängigkeit von den Eingaben A,B,C. Kann z.b. zur Umsetzung von Adressen in die Ansteuerung verwendet werden. Entschlüsselt Befehle und übersetzt sie in eine Steuerung ( > Arithmetik) Robin WS 2004/2005 73 Katinka Wolter
Vergleichende Schaltung Vergleicht zwei Worte und gibt 1 aus, wenn sie gleich sind. Hier: Wortlänge 4 Bit. Robin WS 2004/2005 74 Katinka Wolter
Arithmetische Schaltungen Elementare Schaltkreise, die für alle arithmetischen Operationen gebraucht werden sind Shifter, bit weise Verschiebung. Halbaddierer, bit weise Addition Volladdierer, Addition von binären Zahlen. Robin WS 2004/2005 75 Katinka Wolter
1 Bit Shifter (Schieberegister) Verschiebt alle Bits um eine Stelle nach rechts oder links. Multiplikation mit 2, bzw. Division durch 2. Robin WS 2004/2005 76 Katinka Wolter
Halbaddierer Carry=A B s um=a xor B Addition wird abgebildet auf logische Verknüpfungen. Additiert zwei binäre Ziffern ohne Berücksichtigung des carry bit. Erzeugt Übertrag. Robin WS 2004/2005 77 Katinka Wolter
Volladdierer Additiert zwei binäre Ziffern mit Berücksichtigung des carry bit. Carry out braucht 3 Gatterlaufzeiten, Sum braucht 2 Gatterlaufzeiten. Robin WS 2004/2005 78 Katinka Wolter
n Bit Addition x 0 y 0 x 1 y 1 x y x y ADD ADD q c o q c o s 0 s 1 Das erste carry bit braucht 3 Gatterlaufzeiten Alle weiteren carry bits brauchen 2 zusätzliche Gatterlaufzeiten Die s i können simultan berechnet werden. Addition von zwei 4 Bit Zahlen braucht: x 2 y 2 x y ADD q c o s 2 (3 + 3*2) = 9 Gatterlaufzeiten. Gatterlaufzeit von 15 ns = 15 * 10 9 s x 3 y 3 x y ADD q c o s 3 c o Addition braucht 135 ns. Robin WS 2004/2005 79 Katinka Wolter
Addition und schnelle Addition x y n q c out 0 0 0 0 0 0 1 0 1 0 1 0 0 1 0 1 1 0 0 1 0 0 1 1 0 0 1 1 0 1 1 0 1 0 1 1 1 1 1 1 Tabelle der bitweisen Addition von x und y. Aufstellen der logischen Formel für diese Operation. q = x y n + x y n + x y n + x y n = x y n c out = x y n + x y n + x y n + x y n = x y (n + n ) + (x y) n = x y + (x y) n Robin WS 2004/2005 80 Katinka Wolter
Schnelle Addition Carry Look Ahead Betrachte Addition von zwei n Bit Zahlen. Logisch unabhängige Teile können schneller berechnet werden. Formuliere etwas um +1 = x i + x i + x i + x i + x i + x i = x i + + x i = x i + (x i + ) s i+1 = x i + x i + x i + x i = x i Sei G i = x i und P i = x i + G i und P i sind unabhängig von und können daher parallel berechnet werden. +1 = x i + (x i + ) = G i + P i = G i + P i (G i 1 + P i 1 1 ) = G i + P i G i 1 +P i P i 1 G i 2 +... +P i P i 1... P 1 G 0 + P i P i 1... P 1 P 0 c 0 Robin WS 2004/2005 81 Katinka Wolter
Carry Look Ahead Laufzeit Für die Addition von zwei n Bit Zahlen braucht man bei 15 ns Gatterlaufzeit: G i und P i +1 (AND und OR) s i (XOR) 15 ns 30 ns 15 ns 60 ns Dabei gehen wir davon aus, daß die UND und ODER Gatter beliebig viele Eingänge haben. Meist haben Gatter nicht mehr als 4 Eingänge. Daher: Kaskadierung mehrerer 4 bit carry look ahead Addierer. Laufzeit ist (fast) unabhängig von n. Robin WS 2004/2005 82 Katinka Wolter
Papier und Stift Methode: Multiplikation 11 13 = 143 11 33 143 11 13 = 143 33 11 143 1011 1101 1011 1 0000 0 1011 1 1011 1 10001111 = 128 + 8 + 4 + 2 + 1 = 143 1011 1101 1011 1 1101 1 0000 0 1011 1 10001111 Robin WS 2004/2005 83 Katinka Wolter
Vorzeichenbehaftete Multiplikation 11 13 = 143 Was ist 11 13 binär? 13 10 = 01101 2 verdopple für die Multiplikation die Bitstellen 00000 01101. Bilde das Zweierkomplement: 11111 10010 + 1 = 11111 10011 1111110011 00000 01011 1111110011 1 1111110011 1 0000000000 0 1111110011 1 0000000000 0 : 10101101110001 Dies ist eine negative Zahl im Zweierkomplement. Rücktransformation: 1101110001 (0010001110 + 1) 2 ( 1) 10 = (0010001111) 2 ( 1) 10 = 143 Robin WS 2004/2005 84 Katinka Wolter
Vorzeichenbehaftete Multiplikation (II) Multiplikation ist kommutativ, d.h. die Reihenfolge spielt keine Rolle, auch bei negativen Zahlen, auch beim Zweierkomplement. Wie multiplizieren sich zwei negative Zahlen? 11 13 = 143 1111110011 11111 10101 1111110011 1 0000000000 0 1111110011 1 0000000000 0 1111110011 1 1111110011 1 1111110011 1 1111110011 1 1111110011 1 1111110011 1 11111010000010001111 = 143 Robin WS 2004/2005 85 Katinka Wolter
Multiplikation mit Schieberegister Faktoren in f und g a =0 und c = 0 Wenn g 0 = 1 wird f nach a geladen. Das Doppelregister ag wird um eine Stelle nach rechts geschoben, das LSB des Ergebnis steht damit in g n 1. Wenn (das neue) g 0 = 1 wird f zu dem Wert in a addiert und das Ergebnis nach a geladen Das Doppelregister ag wird um eine Stelle nach rechts geschoben. etc. Robin WS 2004/2005 86 Katinka Wolter