Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

1 Teil II 2.2 Standard-Schaltnetze als Grundlage für Rechner Addier- und Multiplizierwerke – Halb-Addierer, Voll-Addierer –Multiplizierer Schaltnetze zur.

Ähnliche Präsentationen


Präsentation zum Thema: "1 Teil II 2.2 Standard-Schaltnetze als Grundlage für Rechner Addier- und Multiplizierwerke – Halb-Addierer, Voll-Addierer –Multiplizierer Schaltnetze zur."—  Präsentation transkript:

1 1 Teil II 2.2 Standard-Schaltnetze als Grundlage für Rechner Addier- und Multiplizierwerke – Halb-Addierer, Voll-Addierer –Multiplizierer Schaltnetze zur Auswahl von Adress- und Datenleitungen –Multiplexer –Demultiplexer Schaltnetze zum Vergleich von Datenwörtern –Komparator Codierer und Decodierer Programmierbare Schaltnetze (PLA) arithmetisch-logische Einheit (ALU) –parametrisierbare Schaltnetze –arithmetische Einheiten und ALUs

2 2 Schaltnetze Definition: Schaltnetze Ein Schaltnetz F ist die technische Realisierung einer n-stelligen m-wertigen booleschen Funktion f: {0, 1} n → {0, 1} m wobei f aus m 1-wertigen booleschen Schaltfunktionen f i : {0, 1} n → {0, 1} aufgebaut ist. Ein Schaltnetz bildet somit ein n-Tupel von Eingabevariablen e = (e e n ) ab auf ein m-Tupel (a a m ) von Ausgabevariablen. Schreibweise: f(e) = f(e e n ) → (f 1 (e), f 2 (e),..., f m (e)) = (a a m ) = f(e) Definition: Schaltnetze Ein Schaltnetz F ist die technische Realisierung einer n-stelligen m-wertigen booleschen Funktion f: {0, 1} n → {0, 1} m wobei f aus m 1-wertigen booleschen Schaltfunktionen f i : {0, 1} n → {0, 1} aufgebaut ist. Ein Schaltnetz bildet somit ein n-Tupel von Eingabevariablen e = (e e n ) ab auf ein m-Tupel (a a m ) von Ausgabevariablen. Schreibweise: f(e) = f(e e n ) → (f 1 (e), f 2 (e),..., f m (e)) = (a a m ) = f(e) Schaubild: Anmerkung: Schaltnetze haben „kombinatorisches“ Schaltverhalten. Das heißt, die Ausgabewerte hängen nur von den Werten der Eingänge ab. e 1 e 2... e n f 1 ( e 1... e n ) f 2 ( e 1... e n ) f m ( e 1... e n ) f(e) e... Schaltnetz F (charkteristische DMF F )

3 3 Entwurf vs. Analyse von Schaltnetzen Entwurf Beschreibung des Anendungsproblems Für F Funktionsgleichung oder Wertetabelle aufstellen Minterme und DNF f i aufstellen DMF F = DMF f1... DMF fm bestimmen 2-stufiges Schaltnetz ableiten und zeichnen (evtl. Gatter gemeinsam nutzen) Wertetabelle für F Blockschaltbilder durch Detailaufbau ersetzen In der „Gatter-Ansicht“ von den Ausgängen her beschreibenden Term für die Schaltfunktion rekonstruieren. DMF F bestimmen Analyse charakteristische DMF F Falls F m-wertig, F aufteilen in f 1,.., f m

4 4 Halb-Addierer Definition: Ein Halb-Addierer ist ein Schaltnetz, das als Eingabe zwei binäre Ziffern e 1 und e 2 erhält, diese addiert und das Ergebnis mit zwei Ausgängen darstellt: s (arithmetische Summe) c (Carry, Übertrag) Charakteristische DMF HA : s = e 1 e' 2 + e' 1 e 2 = e 1  e 2 = DMF S c = e 1 e 2 = DMF C Definition: Ein Halb-Addierer ist ein Schaltnetz, das als Eingabe zwei binäre Ziffern e 1 und e 2 erhält, diese addiert und das Ergebnis mit zwei Ausgängen darstellt: s (arithmetische Summe) c (Carry, Übertrag) Charakteristische DMF HA : s = e 1 e' 2 + e' 1 e 2 = e 1  e 2 = DMF S c = e 1 e 2 = DMF C Realisierung mit: UND-Gatter plus XOR-Gatter e 1 e 2 cs Werte-Tabelle =1 & c s e 1 e 2 Blockschaltbild: HA c s e 1 e 2

5 5 Voll-Addierer Aufgabe: Gegeben: zwei n-stellige Binärzahlen: x=(x n x 0 ) und y=(y n y 0 ) Gesucht: Schaltnetz zur Berechnung der Summe: x + y (Beachte: das Zeichen „+“ steht hier für die Addition!) Ansatz: modularer Aufbau aus Addierern für die einzelnen Ziffern x i und y i Problem: an den Stellen i > 0 muss eventuell ein Übertrag aus der Addition der vorangegangenen Stelle (i-1) berücksichtigt werden. x + y = (e x,n  1... e x,1 e x,0 ) + (e y,n  1... e y,1 e y,0 ) = ( s n s n  1... s 1 s 0 ) evtl. Gesamt-Übertrag... u.U. Übertrag pro Ziffer => Halb-Addierer können nicht verwendet werden, da sie nur 2 Eingänge haben. Wegen evtl. Übertrag braucht man einen weiteren Eingang!

6 6 Aufstellung einer Wertetabelle für Addierer an Stelle i x + y = (e x,n  1... e x,1 e x,0 ) + (e y,n  1... e y,1 e y,0 ) = ( s n s n  1... s 1 s 0 ) evtl. Gesamt-Übertrag... u.U. Übertrag pro Ziffer e x,i e y,i c i-1 c i s i Werte-Tabelle für F VA Funktionsgleichungen für s i und c i s i = ( e x,i  e y,i )  c i-1 (ungerade Eingänge) c i = e' x,i e y,i c i-1 +e x,i e' y,i c i-1 + e x,i e y,i c' i-1 + e x,i e y,i c i-1 = ( e x,i  e y,i ) c i-1 + e x,i e y,i

7 7 Abbilden der Addier-Funktion auf ein Schaltnetz Realisierung von F VA Funktionsgleichungen für s i und c i s i = ( e x,i  e y,i )  c i-1 Idee: Ein XOR-Gatter lässt sich c i = ( e x,i  e y,i ) c i-1 + e x,i e y,i gemeinsam nutzen. & 11 =1 & cici sisi e x,i e y,i c i  1 FA cici ci1ci1 sisi e x,i e y,i Blockschaltbild: Voll-Addierer (FA = Full Adder)

8 8 Alternative: Aufbau des Voll-Addierers aus zwei Halb-Addierern Realisierung von F VA durch Kopplung zweier Halb-Addierer Ansatz: Komposition der Funktion der F VA aus der Funktion F HA e x,i e y,i c i  1 si cisi ci 1. Halb-Addierer 2. Halb-Addierer

9 9 Parallel-Addierer (für n-stellige Binärzahlen) Ausgangssituation: Ansatz: Ein Addierer für zwei n-stellige Binärzahlen lässt sich realisieren, indem man n Voll-Addierer parallel anordnet zu einem Addierer, bei dem der Übertrag von rechts nach links durchläuft. Verdrahtung gemäß folgendem Schema: x + y = (e x,n  1... e x,1 e x,0 ) + (e y,n  1... e y,1 e y,0 ) = ( s n s n  1... s 1 s 0 ) evtl. Gesamt-Übertrag... FA cncn c1c1 c2c2 c3c3 cn1cn1 e x,1 e y,1 e x,3 e y,3 e x,2 e y,2 e x,n e y,n snsn s1s1 s2s2 s3s3... c 0 = 0

10 10 n-Bit Parallel-Addierer Blockschaltbild (n=4) a + b = (e a,3 e a,2 e a,1 e a,0 ) + (e b,3 e b,2 e b,1 e b,0 ) = s Bit-PA 0123 c a b s Addierer mit durchlaufendem Übertrag werden auch als Ripple-Carry Addierer bezeichnet (Ripple = „Durchplätschern“). Weil der Übertrag durch alle Glieder durchgereicht wird, ergeben sich lange Schaltzeiten (proportional zur Stelligkeit n). => Nur der Aufbau ist parallel, nicht die Arbeitsweise! Frage: Kann man auch echt parallel addieren? Antwort: Ja, siehe Vertiefungsfoliensatz

11 11 Modularer Aufbau komplexer Schaltungen Komplexe Schaltungen werden aus Moduln aufgebaut. Auf höheren Ebenen abstrahiert man vom Aufbau elementarer Module. Details werden in einer "Black-Box" versteckt. D- FF 2 D- FF 1 D- FF 0 11 11 11 & & & & & & & D2D2 D1D1 D0D0 e a 1... a 4 b 1... b 4 y1y2y3y1y2y3 Schaltnetz F D- FF 2 D- FF 1 D- FF 0 11 11 11 & & & & & & & D2D2 D1D1 D0D0 e D- FF 2 D- FF 1 D- FF 0 11 11 11 & & & & & & & D2D2 D1D1 D0D0 e Ebene 3 (als Black-Box) Schritt 2 (gemischt) Ebene 1 (alle Details)

12 12 Paralleler (4-Bit) Mulitplizierer Multiplikation: B 3 B 2 B 1 B 0  A 3 A 2 A 1 A 0 = P 7 P 6 P 5 P 4 P 3 P 2 P 1 P 0 4-Bit Multiplizierer & && & & =

13 13 Paralleler (4-Bit) Mulitplizierer B 3 B 2 B 1 B 0 A0A1A2A3A0A1A2A3 P 7 P 6 P 5 P 4 P 3 P 2 P 1 P 0 Beispiel: B 3 B 2 B 1 B 0  A 3 A 2 A 1 A 0 = P 7 P 6... P 1 P  = & && & =     0

14 14 Auswahl-Schaltnetze 1:4-Demultiplexer Anmerkungen: Der am Eingang anliegende Wert X wird unverändert durchgeschaltet. a0a0 a1a1 a3a3 e s1s1 s0s0 a2a X X 11 = a 3 e0e0 e1e1 e3e3 a s1s1 s0s0 e2e2 0 0 X 0 X 10 = e 2 4:1-Multiplexer

15 15 Multiplexer Motivation: Für Steuerungsaufgaben benötigt man Schaltnetze, mit denen man aus einem Leitungsbündel (aus n Leitungen) gezielt eine auswählen kann. Die Auswahl einer bestimmten Leitung soll dabei über Eingabe ihrer binär codierten Nummer erfolgen. Definition: Ein m:1-Multiplexer ist ein Schaltnetz, das aus m = 2 n Eingängen e 0... e m-1 den Eingang e i auswählt und unverändert zum Ausgang a durchreicht, dessen Index i mit der Binärzahl übereinstimmt, die an den Steuereingängen s 0... s n-1 anliegt. Definition: Ein m:1-Multiplexer ist ein Schaltnetz, das aus m = 2 n Eingängen e 0... e m-1 den Eingang e i auswählt und unverändert zum Ausgang a durchreicht, dessen Index i mit der Binärzahl übereinstimmt, die an den Steuereingängen s 0... s n-1 anliegt. 4:1- Mux e0e1e2e3e0e1e2e3 a s1s1 s0s0 Blockschaltbild: 4:1- Multiplexer

16 16 Schaltnetz für 4:1-Multiplexer Werte-Tabelle: Die Belegung der Eingabeleitungen e 0 e 1 e 2 e 3 ist für die Logik des Schaltnetzes ohne Bedeutung. Es genügt die (weit weniger aufwendige) Modellierung der Funktion f(s 0, s 1 ) = a gemäß: & 11 & & & 1 e0e0 e3e3 e2e2 e1e1 s1s1 s0s0 a 1 s 1 s 0 a 0 0 e e e e 3

17 17 Demultiplexer Blockschaltbild: 1:4- Definition: Ein 1:m-Demultiplexer ist ein Schaltnetz, das ein am Eingang e anliegendes Signal unverändert zu dem Ausgang i durchleitet, dessen Index i mit der Binärzahl übereinstimmt, die an den Steuereingängen s 0... s n-1 anliegt. Definition: Ein 1:m-Demultiplexer ist ein Schaltnetz, das ein am Eingang e anliegendes Signal unverändert zu dem Ausgang i durchleitet, dessen Index i mit der Binärzahl übereinstimmt, die an den Steuereingängen s 0... s n-1 anliegt. a0a1a2a3a0a1a2a3 e 1:4- Demux s1s1 s0s0 Anmerkungen: Demultiplexer ist Gegenstück zum Multiplexer. Mit n Steuerleitungen kann man 2 n Datenleitungen steuern => Für m Datenleitungen benötigt man log 2 (m) Steuerleitungen.

18 18 Vergleich von Binärwörtern: Komparator Motivation: Eine weitere grundlegende Schaltung wird zum Vergleich von n-stelligen Binärwörtern a, b  {0, 1} n benötigt. Je nach Bedarf entwirft man Schaltnetze für den Test auf: a = b, a b bzw. Kombinationen davon. Definition: Ein n-Bit-Komparator vergleicht zwei binärcodierte Zahlen a und b und stellt das Ergebnis an seinen Ausgängen bereit. Definition: Ein n-Bit-Komparator vergleicht zwei binärcodierte Zahlen a und b und stellt das Ergebnis an seinen Ausgängen bereit. Werte-Tabelle: Beispiel: 1-Bit-Komparator (a, b  {0, 1} 1 Test auf =, ) b a y 1 y 2 y 3 a=b a b

19 19 Schaltnetz für 1-Bit-Komparator Schaltnetz: & 11 & & & y3y3 y2y2 y1y1 a b y1y1 a y2y2 y3y3 b = 1-Bit-Komp < > Blockschaltbild: DMF: Als Übungsaufgabe!

20 20 Schaltnetz für 4-Bit-Komparator Schaltnetz: a = 1-Bit-Komp < b > a = 1-Bit-Komp < b > a = 1-Bit-Komp < b > a = 1-Bit-Komp < b > a 3 a 2 a 1 a 0 b 3 b 2 b 1 b 0 a 3 ? b 3 a 2 ? b 2 a 1 ? b 1 a 0 ? b 0 & 11 & & & & & & a i = b i y1y2y3y1y2y3 11 ab

21 21 Codierer Motivation: Man kann n-stellige Binärwörter von einem Schaltnetz zu einem anderen mit n parallelen Leitungen übertragen. Bei langen Binärwörtern ist dies jedoch unpraktisch, da man zu dicke Kable brauchen würde. Beispiel: Fernsteuerung (über Kabel) von n Lampen. A Wie kann man Leitungen einsparen? Frage:Welche Schaltfunktionen müssen die Bauteile A und B erfüllen, um zur Übertragung mit weniger als n Leitungen auszukommen? B Schalter für Auswahl 1:n n Lampen....

22 22 Codierer Lösungsansatz: Man codiert das zu übertragende n-stellige Binärwort a als m-stelliges Binärwort b wobei m < n ist. Voraussetzung ist dabei, dass sich das Eingabewort e als m-stelliges Binärwort darstellen lässt und dass, jeweils immer nur einer der Eingänge den Wert 1 hat. Dies ist der Fall, wenn man n = 2 m Eingänge und m Ausgänge hat und weiß, dass jeweils immer nur einer der Eingänge den Wert 1 hat. Codierer Eingangs- Variable e=(e e n ) Ausgangs- Variable a=(a a m ) Code c : E -> A Das heißt, Zeichen des Codes E  {0, 1} n werden abgebildet auf Wörter aus A = {0, 1} m.....

23 23 Codierer Definition: Ein Codierer ist ein Schaltnetz, das ein n-stelliges binäres Eingabezeichen auf ein m-stelliges binäres Codewort abbildet. Definition: Ein Codierer ist ein Schaltnetz, das ein n-stelliges binäres Eingabezeichen auf ein m-stelliges binäres Codewort abbildet. Werte-Tabelle für 8:3-Codierer: Beispiel: 8:3-Codierer (8 Eingänge, 3 Ausgänge) Anwendung: Gegeben sind 8 Eingansleitungen, von denen jeweils nur eine aktiv (=1) ist. Codierer soll als 3-stellige Binärzahl angeben, welcher Eingang aktiv ist. e 7 e 6 e 5 e 4 e 3 e 2 e 1 e 0 a 2 a 1 a 0 dezimal

24 24 Codierer Werte-Tabelle für 8:3-Codierer Unterhalb der Diagonalen stehen nur x-Einträge (für „don't care“ ). Man kann x nach freier Wahl mit 0 oder 1 belegen, da diese Stelle nichts an der Abbildung ändert. Problem: Für die 8 Eingänge gibt es insgesamt 2 8 verschiedene Belegungen. In der Werte-Tabelle werden aber nur 8 berücksichtigt. Was ist, wenn ein anderer Eingabewert anliegt ? Ausweg: Führe Prioritisierung ein, d.h. berücksichtige nur das höchste gesetzte BIT (MSB-Priorität, Most Significant BIT) e 7 e 6 e 5 e 4 e 3 e 2 e 1 e 0 a 2 a 1 a x x x x x x x x x x x x x x x xx x x x x x xx x x x x 1 1 1

25 25 Schaltnetz-Entwurf für 8:3-Codierer Ansatz: Die Erstellung der DNF's wird für a 2 a 1 und a 0 sehr umfangreich. Da MSB-Priorität eingeführt wurde, ergibt sich eine wesentliche Vereinfachung => DMF durch Termumformung bestimmen. e 7 e 6 e 5 e 4 e 3 e 2 e 1 e 0 a 2 a 1 a 0 für a 2 für a 1 für a x0 0 1 e' 7...e' 2 e x x e' 7...e' 3 e x x x e' 7...e' 4 e 3 e' 7...e' 4 e x x x x e' 7 e' 6 e' 5 e x x x x x e' 7 e' 6 e 5 e' 7 e' 6 e xx x x x x e' 7 e 6 e' 7 e 6 1 x xx x x x x e 7 e 7 e 7 a 2 = e 7 + e' 7 e 6 + e' 7 e' 6 e 5 + e' 7 e' 6 e' 5 e 4 a 1 = e 7 + e' 7 e 6 + e' 7...e' 4 e 3 + e' 7...e' 3 e 2 a 0 = e 7 + e' 7 e' 6 e 5 + e' 7...e' 4 e 3 + e' 7...e' 2 e 1

26 26 Schaltnetz-Entwurf für 8-3-Codierer Nach Vereinfachung: a 2 = e 7 + e' 7 e 6 + e' 7 e' 6 e 5 + e' 7 e' 6 e' 5 e 4 => e 7 + e 6 + e 5 + e 4 (wegen Abarbeitung von links nach rechts) a 1 = e 7 + e' 7 e 6 + e' 7...e' 4 e 3 + e' 7...e' 3 e 2 => e 7 + e 6 + e 3 + e 2 (wegen Abarbeitung von links nach rechts) a 0 = e 7 + e' 7 e' 6 e 5 + e' 7...e' 4 e 3 + e' 7...e' 2 e 1 => e 7 + e 5 + e 3 + e 1 (wegen Abarbeitung von links nach rechts) : 3 coder. e a V Blockschaltbild: 8:3-Codierer Ausgang V zeigt an, ob eine gültige Eingangskombination anlag

27 27 Decodierer Definition: Ein Decodierer (für Zählcodierung) bildet eine m-stellige Binärzahl e so auf 2 m Ausgänge ab, dass genau der Ausgang 1 wird, dessen Index durch die Binärzahl e gegeben ist. Ein m:n-Decodierer ist somit das Gegenstück zum n:m-Codierer. Definition: Ein Decodierer (für Zählcodierung) bildet eine m-stellige Binärzahl e so auf 2 m Ausgänge ab, dass genau der Ausgang 1 wird, dessen Index durch die Binärzahl e gegeben ist. Ein m:n-Decodierer ist somit das Gegenstück zum n:m-Codierer. Werte-Tabelle für 3:8-Decodierer: Beispiel: 3:8-Deodierer (3Eingänge, 2 3 = 8 Ausgänge) Index e 2 e 1 e 0 a 7 a 6 a 5 a 4 a 3 a 2 a 1 a

28 28 Schaltnetz-Entwurf für 8-3-Codierer 8 : 3 coder... e V Blockschaltbild: 3:8-Decodierer Kontrolleingang E steuert, zu welchem Zeitpunkt die Decodierung erfolgen soll. e a E. 3 : 8 decoder a E Kopplung von Codierer und Decodierer zur Informationsübertragung...

29 29 Programmierbare Schaltnetze Motivation: Der physische Aufbau eines Schaltnetzes aus Elementargattern und Moduln ist aufwändig. Abhilfe bieten sog. PLA-Bausteine (Programmable Logic Array). Prinzip: Liegt eine n-stellige m-wertige boolesche Funktion in einer disjunktiven Form (z.B. in DNF oder DMF) vor, so lässt diese sich stets mit einem 2-stufigen Schaltnetzwerk realisieren, wobei: – die erste Stufe aus UND-Gattern besteht und – die zweite Stufe aus ODER-Gattern Man wählt eine matrix-artige Anordnung (Logikfeld), das in einen UND-Bereich sowie in einen ODER-Bereich unterteilt wird. – Im UND-Bereich stehen alle Eingänge unverändert sowie negiert zur Verfügung. – Aus dem ODER-Bereich werden die Ausgänge herausgeführt.

30 30 PLA-Schema zur Realisierung eines Schaltnetzes & & & 11 11 1 e 1 e 2... e n n Eingänge a 1 a 2... a m m Ausgänge Anmerkung: Auch eine nur durchzuführende Eingangsvariable e i wird über die Gatter geleitet.... UND-Bereich ODER-Bereich M1M2M1M2 Minterme der DMF...

31 31 PLA-Schema zur Realisierung eines Schaltnetzes UND-MatrixODER-Matrix EingängeAusgänge abc z1z1 z2z2 ab ' + a ' c a + b Beispiel: Gegeben: 2-wertige Funktion f(a, b, c) = (z 1, z 2 ) mit: z 1 = ab' + a'c +a'bc = ab' + a'c + a'cb = ab' +a'c z 2 = a(b +c') + b(a' + c) +ab' = a + b (nachrechnen!)

32 32 Lernprogramm für den Schaltnetz-Entwurf Quelle: Lern-CD zum Buch: Rechnergrundlagen. Von der Binärlogik zum Schaltwerk von Rainer Kelch.

33 33 Varianten programmierbarer Schaltnetze PLA (Programmable Logic Array) UND- und ODER-Feld programmierbar PAL (Programmable Array Logic) UND-Feld fest, ODER-Feld programmierbar PROM (Programmable Read Only Memory) EPROM (Erasable Programmable Read-Only-Memory), EEPROM (Electrically EPROM) FPGA (Field Programmable Gate Array) (wie PLA jedoch mit nachgeschaltetem Speicherelement) UND-FeldODER-Feld PLA programmierbarprogrammierbar PAL festverdrahtetprogrammierbar PROM festverdrahtetprogrammierbar FPGA programmierbar programmierbar Lösch- fenster Code zum Booten eines PCs steckt in einem PROM

34 34 Parametrisierbare Schaltnetze Motivation: Hält man in einer mehr-stelligen boolesche Funktion f: {0, 1} n → {0, 1} mit f(e) = f(e e n ) → a die Eingabewerte 2 bis n konstant, so erhält man eine 1-stellige Funktion f e2e3...en (e 1 ) → a In diesem Fall betrachtet man die Eingabewerte e e n als Parameter und nur e 1 als Funktionsvariable, die auf einen Ausgabewert abgebildet werden soll. Über die Parameter hat man dann eine Möglichkeit geschaffen, das Verhalten der einstelligen Funktion f e2e3...en (e 1 ) → a zu steuern. Diese Technik bildet die Grundlage der Realisierung von Befehlen einer programmierbaren Steuereinheit. Definition: Ein parametrisierbares Schaltnetz ermöglicht es über Steuerleitungen dieselbe Schaltung für unterschiedliche Schaltfunktionen zu nutzen. Definition: Ein parametrisierbares Schaltnetz ermöglicht es über Steuerleitungen dieselbe Schaltung für unterschiedliche Schaltfunktionen zu nutzen.

35 35 Aufbau einer Arithmetischen Einheit Vorteil: Im Gegensatz zu einer programmierbaren Baugruppe (vgl. PLA), könnte man die Schaltfunktion ändern, ohne dabei den Schaltungsaufbau (d.h., die interne Verdrahtung) zu ändern Idee zur Realisierung: Realisierung durch eine parametrisierte Schaltung. Dazu unterteilt man die Eingabewerte einer mehrstelligen boolesche Funktion f: {0, 1} n → {0, 1} m mit f(e) = f(e e n ) → (a a m ) = a in s Steuereingaben F 0... F s und d Dateneingaben D 0... D d mit s+d = n. Man erhält so die d-stellige parametrisierte Funktion: f(F 0,..., F s, D 0,..., D d ) → a oder alternativ: f F0...Fs (D D d ) → a s Steuerleitungen d Eingabeleitungen für Daten m Ausgabeleitungen für Daten Ziel: Ein Bauteil, das über Steuereingänge verfügt, über die man flexibel einstellen kann, welche Schaltfunktion f das Bauteil auf Eingabedaten anwenden soll. f

36 36 Parametrisierbare Schaltnetze Schaltnetz zur Realisierung von f F0,F1 (x) = y Beispiel: f F0,F1 (x) = y F 0 F 1 f F0,F1 (x) Interpretation von f F0,F Nullfunktion 0 1 x' Negation 1 0 xIdentität 1 1 1Einsfunktion 11 && F0F1F0F1 f F0,F1 (x) = y = F 0 x + F 1 x' Verwendung als Steuerleitungen Eingabeleitung x Ausgabeleitung y

37 37 Kernzelle einer Arithmetischen Einheit (AU) Ansatz: Kombination einer parametrisierten Schaltung mit einem Voll-Addierer, wobei die parametrisierte Schaltung einem Eingang des Voll-Addierers vorgeschaltet wird. Ausgabe f F0,F1 (x i, y i ) hängt ab von: den Eingabevariablen x i und y i, den beiden Steuerparametern F 0 und F 1 mit denen eine Funktion f F0,F1 ausgewählt wird, dem Parameter c i (Carry) signalisiert, ob bei der Addition ein Übertrag zu berücksichtigen ist, dem zusätzlichem Ausgabewert c i+1 der angibt, ob bei einer durchgeführten Addition ein Übertrag aufgetreten ist. F0F1F0F1 f F0,F1 ( x i, y i ) 11 & & FA xixi yiyi c i+1 cici pipi AU

38 38 Kernzelle einer Arithmetischen Einheit (AU) die von einer AU erzeugten Funktionen F 0 F 1 c i p F0,F1 (y i ) Interpretation von f F0,F1,ci (x i, y i ) x i x i + 1 (Inkrement) ¬ y i x i – y i im 1er-Komplement ¬ y i x i – y i im 2er-Komplement: x i +(2 n - y i +1) 100 y i x i + y i 101 y i x i + y i x i x i (= x i + 2 n ) Blockschaltbild der AU F0F1F0F1 AU xixi yiyi c i+1 cici fifi 00 (0) 11 (-1) 10 (-2) 01 (1) 2er-Komplement (vgl. Kapitel 1.2)

39 39 Aufbau einer n-stelligen Arithmetischen Einheit (AU) aus n einstelligen AUs F0F1F0F1 & 11 x n-1 FA 11 11 & & & && x0x0 xixi y n-1 yiyi y0y0 cncn c1c1 c i+1 c0c0 c n-1 cici f0f0 fifi f n-1 Kernzelle einer n-stelligen AU an der Stelle i, mit 0  i  n-1 p n-1 p0p0 pipi...

40 40 n-Bit AUs n-stellige AU mit Blockschaltbildern Blockschaltbilder der n-stelligen AU F0F1F0F1 AU x i y i c i+1 cici fifi AU x n-1 y n-1 cncn c n-1 f n-1 AU x 0 y 0 c1c1 c0c0 f0f0... n-AU cncn f = (f 0,... f i,... f n-1 ) F 0 F 1... x = (x 0,... x i,... x n-1 ) y = (y 0,... y i,... y n-1 ) n-AU cncn Erg = f F0,F1 (x,y) F0F1F0F1 xy n n n

41 41 ALU Blockschaltbild: ALU Definition: Eine arithmetisch-logische Einheit (ALU) ist eine parametrisierte Schaltung, die einen Minimalsatz von sowohl logischen als auch arithmetischen Funktionen realisiert. – „Minimalsatz an logischen Funktionen“ bedeutet, dass ein vollständiges Operatorsystem realisiert ist. – Für die Arithmetik muss mindestens die Addition realisiert sein. Definition: Eine arithmetisch-logische Einheit (ALU) ist eine parametrisierte Schaltung, die einen Minimalsatz von sowohl logischen als auch arithmetischen Funktionen realisiert. – „Minimalsatz an logischen Funktionen“ bedeutet, dass ein vollständiges Operatorsystem realisiert ist. – Für die Arithmetik muss mindestens die Addition realisiert sein. Anmerkungen: Eine ALU kann zwei Operanden wahlweise eine logische oder eine arithmetische Verknüpfung zuweisen und diese ausführen. ALU N (Vorzeichenbit) Z (Flag für Wert 0) 16 Steuereingänge Dateneingänge Datenausgang

42 42 Erweiterung zur ALU (Arithmetische-Logische Einheit) Ziel: erweitere die AU um logische Grundfunktionen, die dann ebenfalls über die Steuereingänge ausgewählt werden können. Ansatz: ergänze weitere Steuerleitung F 2 ergänze „Vorschalt-Logik“ des Voll-Addierers fifi 11 11 &&&& FA xixi yiyi c i+1 cici qiqi pipi & F2F0F1F2F0F1 Anmerkung: Von den 16 möglichen Werten der 3 Steuereingänge F 0 F 1 F 2 und des Eingangs c i werden durch die Verbindung von F 2 und c i über ein UND-Gatter nur 4 weitere genutzt.

43 43 Von der ALU( F 0 F 1 F 2 ) erzeugte Funktionen F 0 F 1 c i F 2 p F0,F1 (y i )q F0,F1,F2 (x i, y i ) f i (x i, y i ) Bezeichnung Logische Funktionen x i  y i x i  y i Disjunktion ¬ y i x i  ¬y i x i  y i Konjunktion y i x i x i  y i Antivalenz (XOR) x i  x i Komplement Arithm. Funktionen x i x i Identität (Transfer) x i x i + 1 Inkrement ¬ y i x i x i – y i Sub. 1er-Komplement ¬ y i x i x i – y i Sub. 2er-Komplement 1001 y i x i x i + y i Addition 1011 y i x i x i + y i + 1 Addition mit Übertrag x i x i – 1 Dekrement x i x i Identität (Transfer)

44 44 Entwicklung von Intel CPUs Pentium D 3.6 GHz T Core 2 Duo 2.33 GHz T Pentium 66 MHz T Intel MHz T Intel KHz T Quelle: Core i7 3,2 GHz T Core i7

45 45 Aufbau des Pentium-3-Prozessors von Intel Gleitpunkt- Rechenwerk Ganzzahl- Rechenwerk Cache für Befehle Cache für Daten Steuerung für Adress- & Datenbusse Teil des Steuerwerks

46 46 Aufbau des Core-i7-Prozessors von Intel Von allen 4 Kernen gemeinsam genutzter (shared) L3-Cache (8 MByte) Quick Path Interconnect" (QPI). Serielles Interface zur Datenübertragung, z.B. zur Grafikkarte 4 Prozessorkerne Anschluss des Hauptspeicher 4 Prozessorkerne

47 47 Super-Computer 180 Gigaflop/s Node Book = 64 CPUs Blue Gene /L 45.6 Teraflop/s JUBL= 8 Racks = CPUs 5.6 Teraflop/s Rack = 2048 CPUs ab 2008: Blue Gene /P mit über 1 Billiarde Operationen/Sek Card = 4 CPUs 11.2 Gigaflop/s 5.6 Gigaflop/s Node = 2 CPUs Idee Man schaltet viele CPUs zu einem Super-Computer zusammen und lässt diese synchronisiert komplexe Berechnungen ausführen. Beispiel: Blue Gene Serie von IBM Quelle: Forschungszentrum Jülich


Herunterladen ppt "1 Teil II 2.2 Standard-Schaltnetze als Grundlage für Rechner Addier- und Multiplizierwerke – Halb-Addierer, Voll-Addierer –Multiplizierer Schaltnetze zur."

Ähnliche Präsentationen


Google-Anzeigen