Technische Informatik II fr Bachelor Vorlesung 4 Implementierung
Technische Informatik II (für Bachelor) Vorlesung 4: Implementierung kombinatorischer Schaltungen 03. 05. 2008 , v 7 Themen: 1. 2. 3. Schaltnetzrealisierung Praktischer Schaltungsentwurf, PLA, PAL FI, FO, Hazards Quellen: Zum Teil aus den Unterlagen „Digitale Systeme“, Prof. Schimmler, Prof. Loogen IDA, Technische Universität Braunschweig Technische Informatik II (INF 1211) Seite 1
Praktische Grundfunktionen Realisierung verwendet DNF oder KNF (SOP, POS), also hauptsächlich AND- und OR- Funktionen. In der Praxis NAND und NOR (Technologie und Ressourcenabhängig). IDA, Technische Universität Braunschweig Technische Informatik II (INF 1211) Seite 2
Praktische Grundfunktionen Konjunktion (AND) y = x 0 x 1 x 2 y = x 0 + x 1 + x 2 IDA, Technische Universität Braunschweig Technische Informatik II (INF 1211) Seite 3
Praktische Grundfunktionen Disjunktion (ODER) y = x 0 + x 1 + x 2 y = x 0 x 1 x 2 IDA, Technische Universität Braunschweig Technische Informatik II (INF 1211) Seite 4
Realisierung einer Funktion in DNF mit NAND Gattern (Beispiel) NAND Grundfunktion ab + ab Funktion in DNF IDA, Technische Universität Braunschweig Technische Informatik II (INF 1211) Seite 5
Realisierung einer Funktion in KNF mit NOR Gattern (Beispiel) NOR Grundfunktion (a+b) · (a+b) Funktion in KNF IDA, Technische Universität Braunschweig Technische Informatik II (INF 1211) Seite 6
Funktion eines Dekodierers (Decoder) Decoder-Verhalten IDA, Technische Universität Braunschweig Technische Informatik II (INF 1211) Seite 7
Realisierung eines Dekodierers (Decoder) X 0 x 1 x 2 Realisierung IDA, Technische Universität Braunschweig Technische Informatik II (INF 1211) Seite 8
Funktion eines Multiplexers e 0 y … e. N-1 x 0 … Xn-1 N = 2 n MUX-Verhalten Einer aus vielen Eingängen wird nach Ausgang y durchgeschaltet IDA, Technische Universität Braunschweig Technische Informatik II (INF 1211) Seite 9
Funktion eines De-Multiplexers y 0 e … y. N-1 x 0 … Xn-1 N = 2 n DEMUX-Verhalten Eingang wird auf einer aus vielen Ausgänge durchgeschaltet IDA, Technische Universität Braunschweig Technische Informatik II (INF 1211) Seite 10
Funktion eines Vergleichers Bit-Vergleicher Realisierung IDA, Technische Universität Braunschweig Technische Informatik II (INF 1211) Seite 11
Arithmetische Grundfunktionen Computer-Arithmetik In diesem Abschnitt sollen einige grundlegende Techniken vorgestellt werden, mit denen in Computern arithmetische Operationen ausgeführt werden. Das dabei erworbene Wissen werden wir später in den Abschnitten über Schaltwerke, ALU-Aufbau und Rechnerarchitektur vertiefen. Addition Wir kennen bereits einen Volladdierer. Es ist ein Schaltnetz mit drei Eingängen a, b, cin und zwei Ausgängen s und cout. Der Volladdierer ist in der Lage, drei Bits zu addieren und das Ergebnis als 2 -Bit-Zahl auszugeben. Das Ergebnis der Addition liegt zwischen 0 und 3 und ist daher in zwei Bits zu codieren. Wir sehen hier das Schaltbild eines Volladdierers und im folgenden seine Wertetabelle: a b cin VA cout s IDA, Technische Universität Braunschweig Technische Informatik II (INF 1211) Seite 12
Voll-Addierer (VA) a b cin s cout 0 0 1 1 0 1 0 1 0 1 1 0 0 0 1 1 1 Häufig realisiert man einen Volladdierer nicht in DMF sondern in einer mehrstufigen Form, wobei man sogenannte Halbaddierer benutzt. Halbaddierer sind Schaltnetze, die zwei Bits addieren können (und demzufolge ein Ergebnis im Bereich 0 bis 2 produzieren). Durch Zusammenschalten von zwei Halbaddierern und einem Oder-Gatter erhält man die Funktionalität eines Volladdierers. Wir sehen im folgenden das Schaltsymbol eines Halbaddierers, seine Wertetabelle und den Aufbau eines Volladdierers aus Halbaddierern. IDA, Technische Universität Braunschweig Technische Informatik II (INF 1211) Seite 13
Halb-Addierer Zwei Zahlen A und B, je 1 Bit werden addiert, um die Summe S und den Übertrag C zu berechnen: A HA B S C Eingang Ausgang A B S C 0 0 0 1 1 0 1 0 1 S =A B + A B C = AB A B S A B C IDA, Technische Universität Braunschweig Technische Informatik II (INF 1211) S A B C Seite 14
Volladdierer aus zwei Halbaddierern a b cin a b HA HA HA cout s S A B C cout s Volladdierer aus zwei Halbaddierern und einem Oder-Gatter IDA, Technische Universität Braunschweig Technische Informatik II (INF 1211) Seite 15
Nun wollen wir aber in der Regel längere Operanden addieren, zum Beispiel die Binärzahlen A= a n 1 an-2. . . a 1 a 0 und B= bn-1 bn-2. . . b 1 b 0. Natürlich könnte man ein dafür erforderliches Addierwerk in DNF oder DMF aufbauen. Dies bringt aber eine Reihe von Problemen mit sich: • Für jedes n ergibt sich eine völlig andere Realisierung. • Das Fan-in und das Fan-out an den Gattern wächst polynomial mit n. Insbesondere wegen dieser zweiten Eigenschaft ist der zweistufige Aufbau z. B. in DMF nicht sinnvoll. Stattdessen verwendet man im einfachsten Fall eine Kette von Volladdierern, die im Grunde genau das machen, was wir von der Addition in der „Schulmethode“ kennen. Man beginnt mit den LSBs (least significant bits), addiert diese, erzeugt einen Übertrag, mit dessen Kenntnis man das nächste Bit bearbeiten kann, usw. Ein entsprechendes Schaltnetz sieht dann so aus: an-1 bn-1 cinn-1 an-2 bn-2 cinn-2 VA coutn-1 sn-1 VA coutn-2 sn-2 =1 a 2 b 2 cin 2 VA cout 2 a 1 b 1 cin 1 VA s 2 cout 1 a 0 b 0 cin 0 = 0 VA s 1 cout 0 s 0 Overflow 2 -Komplement (Überlauf) IDA, Technische Universität Braunschweig Technische Informatik II (INF 1211) Seite 16
Programmierbare Grundstrukturen Produkt Terme OR-Verknüpfung DNF-Implementierung in 2 stufiger AND/OR/NOT Logik IDA, Technische Universität Braunschweig Technische Informatik II (INF 1211) Seite 17
ROM-Programmierung ROM: Read Only Memory (Festwert-Speicher) Abstrakte ROM-Programmierung IDA, Technische Universität Braunschweig Technische Informatik II (INF 1211) Seite 18
PLA-Programmierung PLA: Programmable Logic Array Abstrakte PLA-Programmierung IDA, Technische Universität Braunschweig Technische Informatik II (INF 1211) Seite 19
PLA-Programmierung PLA: Programmable Logic Array Abstrakte PLA-Programmierung IDA, Technische Universität Braunschweig Technische Informatik II (INF 1211) Seite 20
Praktische Betrachtungen zum Schaltungsentwurf Fan In FI : Eingangslastfaktor Fan Out FO : Ausgangslastfaktor Ausgangs-Belastbarkeit FO > 8 Da 8 x. FI als Last vorhanden IDA, Technische Universität Braunschweig Technische Informatik II (INF 1211) Seite 21
Praktische Betrachtungen zum Schaltungsentwurf Verzögerungszeiten t. HL, t. LH Spannung Zeit Ausgang (ideal Verhalten) (Real-Verhalten) IDA, Technische Universität Braunschweig Technische Informatik II (INF 1211) Seite 22
Praktische Betrachtungen zum Schaltungsentwurf Verzögerungszeiten t. HL, t. LH Berechnungsbeispiel FI=4 Spannung L cm Zeit tu (Real-Verhalten) Verzögerungszeit t. HL= ( 4 x tu + k · L +. . ) ns IDA, Technische Universität Braunschweig Technische Informatik II (INF 1211) Verzögerungsbeitrag Pro Last K Verzögerungsbeitrag Pro cm Seite 23
Praktische Betrachtungen zum Schaltungsentwurf statischer und dynamischer Hazard Spannung statischer 1 Hazard Zeit Spannung statischer 0 Hazard Zeit (statischer Hazard) Spannung dynamischer 0 -1 Hazard Zeit Spannung dynamischer 1 -0 Hazard Zeit (dynamischer Hazard) IDA, Technische Universität Braunschweig Technische Informatik II (INF 1211) Seite 24
Praktische Betrachtungen zum Schaltungsentwurf Funktions-Hazard-frei da - Unit-Distance Sprung (nur ein Bit wechselt!) 0 1 4 5 13 Spannung statischer 0 Hazard Zeit statischer 1 Hazard Zeit Die Reihenfolge der Belegungswechsel ist entscheiden, ob ein Hazards auftritt oder nicht! IDA, Technische Universität Braunschweig Technische Informatik II (INF 1211) Seite 25
Praktische Betrachtungen zum Schaltungsentwurf Struktur-Hazards Wechsel von x 15 zu x 7 Hazards Beseitigung: X 3 durch den Inverter verzögert, dadurch beide UND-Gatter kurz auf 0 => y 0 kommt kurz auf 0 Vermeiden eines struktur Hazards durch redundante Terme IDA, Technische Universität Braunschweig Technische Informatik II (INF 1211) Seite 26
- Slides: 26