Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

1 DigInf 05/06 Von-Neumann-Rechner / Rechenwerk Aufgaben: Durchführung arithmetischer und logischer Verknüpfungen (daher auch der Name Arithmetic Logical.

Ähnliche Präsentationen


Präsentation zum Thema: "1 DigInf 05/06 Von-Neumann-Rechner / Rechenwerk Aufgaben: Durchführung arithmetischer und logischer Verknüpfungen (daher auch der Name Arithmetic Logical."—  Präsentation transkript:

1 1 DigInf 05/06 Von-Neumann-Rechner / Rechenwerk Aufgaben: Durchführung arithmetischer und logischer Verknüpfungen (daher auch der Name Arithmetic Logical Unit) Steuerwerk und Rechenwerk werden zusammen auch als CPU zusammengefasst. Alle arithmetischen Operationen können zurückgeführt werden auf die Basisoperatoren Verschieben der Stellen im Register Bitweises Komplementieren Addieren Daher: wesentliche Bestandteile des Rechenwerks sind Addierwerk und Komplementierer Abbildung

2 2 DigInf 05/06 Von-Neumann-Rechner / Rechenwerk Abbildung

3 3 DigInf 05/06 Von-Neumann-Rechner / Speicher Aufgaben: Aufbewahren von Daten auf der Ebene von Bits (zusammengefasst in der Aufbewahrungseinheit Byte (oder Vielfaches von Byte)) Lokalisierung eines Byte erfolgt über Adresse Der Vorgang der Lokalisierung einer Speicherzelle und des Abfragens/Veränderns ihres Inhalts heißt Zugriff. Wichtige Begriffe in diesem Kontext: Zugriffszeit (in der Regel zwischen 5 und 500 ns) Zugriffsart: RAM (Random Access Memory), ROM (Read Only Memory) Speichertyp: Hauptspeicher (RAM), externe Speicher Speicherkapazität

4 4 DigInf 05/06 Von-Neumann-Prinzipien 5 Funktionseinheiten (siehe oben) Struktur unabhängig von Problem (ohne Programm nicht arbeitsfähig) Programme, Daten, Zwischen-, Endergebnisse liegen im gleichen Speicher Speicher ist in gleichgroße, fortlaufend nummerierte Zellen unterteilt Aufeinanderfolgende Befehle eines Programms werden in aufeinanderfolgenden Speicherzellen abgelegt. Ansprechen des nächsten Befehls geschieht durch das Steuerwerk aus durch Inkrementieren der Befehlsadresse Sprungbefehle erlauben Abweichungen zwischen Bearbeitungs- und Speicherungsreihenfolge Das Rechenwerk versteht zumindest die folgenden Befehle: Arithmetische und logische Transportbefehle (vom Speicher zum Rechenwerk, etc.) Bedingte Sprünge Alle Daten werden binär codiert

5 5 DigInf 05/06 George Boole ( ): formale Begründung der Logik Arithmetische und logische Operationen auf der Basis von Wahrheitswerten (true/false) Abbildung der logischen Werte auf den Zustand elektronischer Schaltungen: In einem einfachen Stromkreis (Batterie B, Widerstand R (oder Lämpchen L), Schalter S) können wir ein Bit durch die am Widerstand (am Lämpchen) anliegende Spannung darstellen: S geöffnet, Spannung an R = 0 (entspricht Bit hat Wert 0) S geschlossen, Spannung an R = 5V (entspricht Bit hat Wert 1) * * unter Annahme von U B = 5V Rechnerarchitekturen / Boolesche Algebra

6 6 DigInf 05/06 Rechnerarchitekturen / Boolesche Algebra Ersetzen des Schalters S durch 2 Schalter S 1 und S 2 UND ODER L L

7 7 DigInf 05/06 Aufbauend auf den Elementarschaltern werden neue Schaltglieder durch Serien und Parallelschaltung beschrieben. Jedes Schaltglied erhält einen Eingang und einen Ausgang und können so in natürlicher Weise verbunden werden. Sind S 1 und S 2 Schaltglieder, so erhält man durch Parallelschaltung das Schaltglied S 1  S 2 und durch Serienschaltung S 1  S 2 Auf Grund des Verhaltens wird die Parallelschaltung auch als Oder-Schaltung und die Serienschaltung auch als Und-Schaltung bezeichnet. Rechnerarchitekturen / Boolesche Algebra UND ODER  

8 8 DigInf 05/06 Serien-parallele Terme Bezeichnet man die elementaren Ein-Aus-Schalter mit Variablen x,y,z,..., so lässt sich jeder serien-parallele Schaltkreis durch einen Serien-Parallel- Schaltterm (kurz SP-Term) beschreiben. Definition: (i)0 und 1 sind SP-Terme. (ii)Jede Variable ist ein SP-Term. (iii)Sind t 1 und t 2 SP-Terme, dann auch t 1  t 2 und t 1  t 2. -Beispiel: Schaltkreis zu x  (y  z) mit zugehöriger Schalttabelle     y  z x  (y  z)

9 9 DigInf 05/06 Schaltfunktionen Eine Schaltfunktion ist eine n-stellige Operation auf der Menge {0,1}, also eine Abbildung: f: {0,1} n  {0,1} Jeder SP-Term beschreibt über seine Schalttabelle eine Schaltfunktion. Mehrere SP-Terme können dieselbe Schaltfunktion beschreiben: (x  y)  (x  z) x  (y  z)

10 10 DigInf 05/06 Gleichungen Die Gültigkeit von Gleichungen, bei denen auf beiden Seiten SP- Terme stehen, lässt sich durch Vergleich der zugehörigen Schaltfunktionen zeigen. y  z x  (y  z)x  y x  z (x  y)  (x  z)

11 11 DigInf 05/06 Gleichungen Oder auch durch Rechnen gemäß der folgenden Regeln: Idempotenz: x  x = x x  x = x Kommutativität:x  y = y  x x  y = y  x Assoziativität:x  (y  z) = (x  y)  z x  (y  z) = (x  y)  z Absorption:x  (x  y) = x x  (x  y) = x Distributivität:x  (y  z) = (x  y)  (x  z) x  (y  z) = (x  y)  (x  z) Eine Struktur, die diesen Regeln folgt, heißt distributiver Verband.

12 12 DigInf 05/06 Dualität Zwei spezielle Schaltglieder: der immer geschlossene Schaltkreis 1 der immer offene Schaltkreis 0 Charakterisiert durch die Gleichungen: x  0 = x x  1 = x x  1 = 1x  0 = 0 Vertauschen wir  und  sowie 0 und 1 in einem Term t, so erhalten wir den zu t dualen Term t d. Es gilt: (i) t dd = t (ii) t 1 = t 2  t 1 d = t 2 d

13 13 DigInf 05/06 Dualität Behauptung zur Dualität / vgl. Übungsblatt 1

14 14 DigInf 05/06 Monotonie Wir wissen: jeder Term beschreibt eine Schaltfunktion. Frage: Lässt sich mit Termen jede denkbare Schaltfunktion realisieren? Überlegung: ein geschlossenes Schaltglied lässt sich durch das Anschließen weiter Schalter nicht öffnen! f: {0,1} n  {0,1} f(b 1,...,b i,..., b n ) = 1  f(b 1,...,1,..., b n ) = 1 Setzt man die natürliche Ordnung 0  1 komponentenweise fort auf {0,1} n durch (b 1,..., b n )  (c 1,..., c n )  b i  c i  1  i  n so erkennen wir, dass jede durch einen SP-Schaltkreis realisierte Schaltfunktion f im folgenden Sinne monoton ist (b 1,..., b n )  (c 1,..., c n )  f(b 1,..., b n )  f(c 1,..., c n ) Beweis durch Induktion über den Aufbau von Termen:

15 15 DigInf 05/06 Monotonie / Bew. Per Induktion

16 16 DigInf 05/06 Negation Beispiel einer Schaltung, die nicht durch eine SP-Schaltung realisierbar ist: Wechselschaltung: Lampe soll von 2 verschiedenen Schaltern unabhängig ein- und ausgeschaltet werden. Diese Schaltung lässt sich durch eine der folgenden Schalttabellen festlegen: x y Lampe oder Beide Schalttabellen beschreiben Schaltfunktionen, die nicht monoton sind und gemäß des Monotoniebeweises deshalb auch nicht durch SP-Schaltungen realisiert werden können.

17 17 DigInf 05/06 Negation Einfachste nicht monotone Schaltfunktion ist die folgende: x f(x) Definition: Ist S ein Schaltglied, so sei  S dasjenige Schaltglied, das genau dann offen ist, wenn S geschlossen ist.  S heißt Negation von S. Im elektrischen Schaltkreis lässt sich die Negation durch ein Relais realisieren. Fließt Strom durch S, so wird durch die Magnetwirkung einer Spule der Schalter  S geöffnet (Realisierung mit Transistoren einfacher!). 

18 18 DigInf 05/06 Boolesche Terme Ein Schaltkreis, in dem neben Serien- und Parallelschaltung auch noch die Negation verwendet werden darf, heißt boolesche Schaltung. Der einer booleschen Schaltung entsprechende Term heißt boolescher Term. Definition: (i)0 und 1 sind boolesche Terme. (ii)Jede Variable ist ein boolescher Term. (iii)Sind t 1 und t 2 boolesche Terme, dann auch t 1  t 2 und t 1  t 2 und  t 1 Gleichungen zum Verhalten der Negation: de Morgan:  (x  y) =  x   y  (x  y) =  x   y Komplement:x   x = 1 x   x = 0  x = x Eine distributiver Verband mit einer solchen Negation heißt boolesche Algebra. Nachrechnen!

19 19 DigInf 05/06 Realisierung von Schaltfunktionen Gesucht: zu einer gegebenen Schaltfunktion der entsprechende boolesche Terme. Definition: Ein Literal ist eine Variable oder eine negierte Variable. Ein Monom ist eine Konjunktion (Und-Verknüpfung) von Literalen. Beispiel: Realisierung einer Schaltfunktion, die es erlaubt, eine Lampe von drei Schaltern x,y,z unabhängig ein- und auszuschalten. Die Schaltfunktion g sieht dann folgendermaßen aus:

20 20 DigInf 05/06 Realisierung von Schaltfunktionen g liefert an 4 Stellen den Wert 1. Sie lässt sich als Disjunktion von 4 Monomen m 1,m 2,m 3,m 4 schreiben: Darstellung der Monome: m 1 = (  x  y  z), m 2 = (  x  y  z), m 3 = (x  y  z), m 4 = (x  y  z) Somit g(x,y,z) = m 1  m 2  m 3  m 4 = (  x  y  z)  (  x  y  z)  (x  y  z)  (x  y  z) Diese Beschreibung heißt disjunktive Normalform (DNF). TODO   

21 21 DigInf 05/06 Realisierung von Schaltfunktionen Unter der DNF versteht man eine Disjunktion von Monomen, in denen jeweils jede Variable vorkommt (negiert oder nicht negiert). Zu jeder Schaltfunktion gibt es genau eine DNF und die lässt sich auf die beschriebene Weise ermitteln. Insgesamt: Jede Schaltfunktion lässt sich durch einen booleschen Term realisieren. Die DNF wird umso komplizierter je mehr 1-Stellen die Schaltfunktion hat. Falls mehr 1-Stellen als 0-Stellen, dann wird eher die Konjunktive Normalform (KNF) verwendet. Definition: Unter einer Elementarsumme verstehen wir eine Disjunktion (Oder-Verknüpfung) von Literalen. Die Schaltfunktion einer Elementarsumme ergibt genau für einen Input eine 0, sonst immer 1. Sind e 1 und e 2 Elementarsummen, so hat die Konjunktion e 1  e 2 genau dort eine 0, wo e 1 oder e 2 eine 0 haben. Beliebige Schaltfunktionen kann man daher als Konjunktion von Elementarsummen schreiben.

22 22 DigInf 05/06   Realisierung von Schaltfunktionen Beispiel: Zerlegung in Elementarsummen: g(x,y,z) = e 1  e 2  e 3 = (x  y  z)  (x   y   z)  (  x  y   z)

23 23 DigInf 05/06 Digitale Logik Realisierung beliebiger Funktionen f: {0,1} m  {0,1} n Jedes solche Schaltglied kann aus n Schaltgliedern mit je einem Ausgang aufgebaut werden. Es reicht daher, dass wir alle Schaltfunktionen f i : {0,1} m  {0,1} realisieren können.

24 24 DigInf 05/06 Transistoren als Schalter Als Elementarschalter werden in der Praxis Transistoren eingesetzt. Ein Transistor hat einen Eingang (source), einen Ausgang (drain) und einen Steuereingang (gate). Legt man eine Spannung zwischen source und drain, so fließt nur Strom, falls auch eine Spannung zwischen source und gate besteht. In einem Stromkreis, bestehend aus einem Transistor und einem Widerstand R zwischen den Polen einer Spannungsquelle, kann man den Transistor als Schalter auffassen, der von einer Spannung zwischen g und s eingeschaltet wird.

25 25 DigInf 05/06 Transistoren als Schalter Ist V ext die externe Spannung (zwischen + und -), so kann man V out, die Spannung zwischen d und s, in Abhängigkeit von V in, der Spannung zwischen g und s, tabellieren. Wir erhalten unter Bezeichnung von V ext mit 1: V in V out 0 V ext V ext 0 Betrachten wir stattdessen als Ausgangsspannung die an R abfallende Spannung V R, so hat man das komplementäre Verhalten, denn V R = V ext – V out V in V R 0 V ext

26 26 DigInf 05/06 Schaltfunktionen NAND und NOR x0011x0011 y0101y0101 NAND (x,y) 1 0 NOR (x,y) 1 0

27 27 DigInf 05/06 Schaltfunktionen AND und OR x0011x0011 y0101y0101 AND (x,y) 0 1 OR (x,y) 0 1

28 28 DigInf 05/06 Die grundlegenden Schaltglieder stellt man durch Gattersymbole dar, wobei nur noch die Input- und Output-Leitungen gezeichnet werden. Gattersymbole NOT x z x y z x y z Puffer OR AND z = x z = x  y z = x  y NAND NOR x y z x y z z x z =  (x  y) z =  (x  y) z =  x xyz xyz x y z xyz

29 29 DigInf 05/06 Alte Gattersymbole

30 30 DigInf 05/06 Gattersymbole für weitere wichtige Schaltungen MUX z = (x  c)  (y   c) Mit anderen Worten: z = if c then x else y XOR xyz = (x  c)  (y   c)

31 31 DigInf 05/06 Halbaddierer xycs

32 32 DigInf 05/06 Volladdierer Zusätzlich werden ci (carry-in) und co (carry-out) berücksichtigt.

33 33 DigInf 05/06 Addierwerk Mit einer Kaskade von n-1 Volladdierern und einem Halbaddierer kann man ein Addierwerk zusammenbauen, das 2 n-stellige Binärzahlen addiert. Jeder Ein-Bit- Addierer ist dabei für eine Ziffernposition verantwortlich.

34 34 DigInf 05/06 Rückgekoppelte Schaltungen Unsere bisherigen Bausteine haben bisher Signale umgewandelt, aber nicht gespeichert. Das reicht offensichtlich gerade für persistente Daten nicht aus! Rückgekoppelte Schaltungen können ein Gedächtnis haben. Rückgekoppeltes OR-Gatter Einmal 1, immer 1 Eine Speicherzelle sollte zwischen 0 und 1 wechseln und beide Werte dauerhaft speichern können (je nach Bedarf). Genau das kann ein Flip-Flop.

35 35 DigInf 05/06 Gleichungen Flip-Flop q =  (r  q)und q =  (s  q) r = 0  q =  q, also  q = q s = 0  q =  q, also  q = q Mit anderen Worten: Aus r oder s gleich null folgt, dass an q immer das Komplement von q anliegt. Im praktischen Einsatz wird r = s = 1 nicht benutzt, sodass immer  q = q gilt. Für r = s = 0 ist das Gleichungssystem unterbestimmt: q=0 oder q=1 sind gültige Lösungen. Beide Lösungen sind stabil. Wenn genau an einem der beiden Eingänge eine 1 anliegt, hat das Gleichungssystem genau eine Lösung (r=1  q=0, s=1  q=1)

36 36 DigInf 05/06 Betrieb Flip-Flop Demzufolge wird ein RS-Flip-Flop folgendermaßen betrieben: Ruhezustand: r=s=0 Impuls 1 auf s (set) setzt q auf 1. Ein Impuls 1 auf r (reset) setzt q auf 0. Fällt der Impuls auf r oder s wieder auf 0 ab, so bleibt der vorige Wert von q erhalten.

37 37 DigInf 05/06 Schalter, Codierer, Decodierer Ein-/Ausschalter Speicherzelle Aufbauend auf einem RS-Flip-Flop. Zusätzliche Schaltglieder zur Auswahl einer bestimmten Speicherzelle aus vielen Zellen. Select stellt sicher, dass nur was an OUT ankommt, wenn Select=1. Schalter an Eingängen erfordern, dass Zelle zum Schreiben bereit ist.

38 38 DigInf 05/06 Schalter, Codierer, Decodierer Eine Gruppe von Speicherzellen heißt Register. Da nie einzelne Bits, sondern nur Wörter angesprochen werden, werden die Select- und die Write-Eingänge verbunden (vgl. folgendes 4 Bit Register).

39 39 DigInf 05/06 ALU 1-Bit-ALU (3 Eingänge zur Kodierung von 8 Operationen), zwei Operanden (x,y), ein Carry (ci), ein Ergebnis (z), ein Übertrags-Carry (ci+1).

40 40 DigInf 05/06 ALU Detailschaltung 1-Bit-ALU 4-Bit-ALU


Herunterladen ppt "1 DigInf 05/06 Von-Neumann-Rechner / Rechenwerk Aufgaben: Durchführung arithmetischer und logischer Verknüpfungen (daher auch der Name Arithmetic Logical."

Ähnliche Präsentationen


Google-Anzeigen