4. Schaltalgebra, Rechneraufbau Wiederholung Normalform Literal: atomare Formel (positives ~) oder Negation einer atomaren Formel (negatives ~) konjunktive Normalform (KNF): Eine Formel F ist in KNF falls sie eine Konjunktion von Disjunktionen von Literalen ist. disjunktive Normalform (DNF): Eine Formel F ist in DNF falls sie eine Disjunktion von Konjunktionen von Literalen ist. G.Heyer 1 Digitale Informationsverarbeitung Erzeugen einer DNF aus einer Wahrheitstafel Jede Zeile einer Wahrheitstafel mit Wahrheitswert 1 trägt zu einem Konjunktionsglied bei. Die Literale dieser Konjunktion bestimmen sich wie folgt: Falls die Belegung von Ai in der betreffenden Zeile 1 ist, so wird Ai als Literal eingesetzt, sonst ¬Ai. Um eine zu F äquivalente KNF-Formel zu erhalten, vertausche man in obiger Anleitung die Rollen von 0 und 1, sowie von Konjunktion und Disjunktion. G.Heyer 2 Digitale Informationsverarbeitung Logische Verknüpfungen durch Transistoren + + + + + A A A E E1 E2 E A E A 0 1 1 0 A = ¬E G.Heyer E1 E1 E2 E1 0 0 1 1 A E2 0 1 0 1 A 0 0 0 1 A = E1 E2 3 E2 E1 E2 E1 0 0 1 1 A E2 0 1 0 1 A 0 1 1 1 A = E1 v E2 Digitale Informationsverarbeitung Binäres Rechnen Normalform einer Zahl im Stellenwertsystem: z=m x bn Z: Zahl m: Mantisse b: Basis des Stellenwertsystems n: Exponent Eine Dualzahl ist eine Zahl zur Basis 2: z=m x 2n Stellenwertcodierung: zu jeder natürlichen Zahl n und jeder Basis b gibt es genau eine Folge xk xk-1 ... x2 x1, so daß xk ≠ 0 und k n= G.Heyer i xi b i=0 4 Digitale Informationsverarbeitung Rechnen mit Dualzahlen 0+0=0 1+0=1 0+1=1 1 + 1 = 0 (Ü = 1) 0•0=0 1•0=0 0•1=0 1•1=1 G.Heyer 5 Digitale Informationsverarbeitung Addierer Halbaddierer: Berechnet die Summe zweier Dualziffern, ohne Berücksichtigung des möglicherweise vorhandenen Übertrags einer vorhergehende Stelle. G.Heyer A B 0 0 0 1 1 0 1 1 S 6 Ü Digitale Informationsverarbeitung Addierer / Volladdierer G.Heyer Üi Xi Yi 0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 7 Si Üi+1 Digitale Informationsverarbeitung Addierer Halbaddierer: x Volladdierer: y x y HA ü Ü HA Ü z z graphische Repräsentation: x Ü graphische Repräsentation: y HA Ü z G.Heyer y x VA ü z 8 Digitale Informationsverarbeitung Boolsche Algebra, Boolsche Algebra: Ein Tripel (M, , ), mit M:= {e1, ..., en} eine nichtleere, endliche Menge, und , :MxMM zwei auf M definierte Verknüpfungen. Es gelten die folgenden Axiome: Kommutativgesetz Distributivgesetz Neutrale Elemente e und n Komplement Schaltalgebra Anwendung der Boolschen Algebra auf eine Menge mit nur zwei verschiedenen Elementen (z.B. "ein" und "aus") G.Heyer 9 Digitale Informationsverarbeitung Schaltnetze und Schaltwerke Schaltnetze sind Zusammensetzungen von logischen Gattern ohne Speicherverhalten. Sie realisieren beliebige boolesche Funktionen, d.h. Funktionen der Form f: {0, 1} ... {0, 1} -> {0, 1} Schaltwerke besitzen Speicherverhalten, d.h. der Ausgabewert hängt nicht nur von der Eingabe, sondern auch vom Zustand des Schaltwerks ab Flipflop: S R G.Heyer S 0 1 0 1 U U 10 R 0 0 1 1 Uneu Ualt 1 0 verboten Digitale Informationsverarbeitung Rechneraufbau Eingabe Arbeitsspeicher Ausgabe Steuerwerk Rechenwerk Prozessor (CPU) Daten Steuersignale G.Heyer 11 Digitale Informationsverarbeitung Komponenten eines Rechners • Steuerwerk Laden von Befehlen aus dem Speicher, Decodieren und Interpretieren der Befehle, Versorgen der beteiligten Funktionseinheiten mit nötigen Steuersignalen • Rechenwerk Ausführen von einfachen arithmetischen (z.B. Addition, Subtraktion) und logischen (z.B. und, oder, nicht) Verknüpfungen. Heißt deshalb auch ALU (Arithmetic Logical Unit) • Speicher Aufbewahren von Daten und Programmen, so gut wie immer in Binärcodierung. • Ein-, Ausgabewerk Kommunikation mit dem Rechner, Einlesen von Daten und Programmen, Ausgabe von Ergebnissen G.Heyer 12 Digitale Informationsverarbeitung Das Steuerwerk Speicher Befehlsregister Operationsteil Decodierer Adreßteil Steuerwerk +1 Befehlszählregister Adreßberechnung Mikroprogrammeinheit Rechenwerk G.Heyer Ein-/AusgabeSteuerung 13 Speicher Digitale Informationsverarbeitung Aufbau des Rechenwerks Akkumulator Addierwerk und Komplementierer Register • • • Register Kontroll- und Steuerschaltungen G.Heyer 14 Digitale Informationsverarbeitung Speicher Dient zum "Aufbewahren" von Daten und Programmen Lokalisierung eines Datums erfolgt über Adresse der Speicherzelle Zugriff kann lesend oder schreibend erfolgen Zugriffszeit: Zeit zur Lokalisierung und Ansteuerung einer Zelle sowie Schaltzeit der Speicherelemente (typische Zugriffszeit heutiger Hauptspeicher: 50-500 Nanosekunden, d.h. Millionstel Sek.) Zugriffsart: RAM (random access memory): wahlfreier Zugriff ROM (read only memory): nur lesender Zugriff Speichertyp: Hauptspeicher: immer wahlfreier Zugriff Externe Speicher (Plattenspeicher, Magnetbänder): langsamer, aber billiger; für große Datenmengen; Zugriff zyklisch falls Daten nur periodisch zugänglich, sequentiell falls Zugriffe auf Zelle weitere Zugriffe erfordert. Kapazität: wieviele Zellen enthält ein Speicher, gemessen in KByte oder MByte G.Heyer 15 Digitale Informationsverarbeitung Euklidischer Algorithmus in Maschinencode Adresse 00 04 08 G.Heyer Befehl - Kommentar Speicherplatz für p Speicherplatz für q Speicherplatz für r 12 16 20 LOAD 00 MODULO 04 STORE 08 lade Akkumulator AC mit p bilde Rest von AC/q in AC speichere AC in r 24 28 32 36 40 44 IFZERO 48 LOAD 04 STORE 00 LOAD 08 STORE 04 JUMP 12 wenn AC = 0 gehe nach 48 lade AC mit q speichere AC nach p lade AC mit r speichere AC nach q springe nach 12 48 STOP halte an; q enthält ggT von p und q 16 Digitale Informationsverarbeitung Von-Neumann-Prinzipien • Der Rechner besteht aus fünf Funkionseinheiten: Steuerwerk, Rechenwerk, Speicher, Eingabewerk und Ausgabewerk. • Die Struktur des Rechners ist unabhängig vom zu bearbeitenden Problem. Zur Lösung eines Problems muß Programm im Speicher abgelegt werden. • Programme, Daten und Ergebnisse werden im selben Speicher abgelegt. • Der Speicher ist in fortlaufend numerierte Zellen unterteilt. Über die Adresse einer Speicherzelle kann deren Inhalt abgerufen werden. • Aufeinanderfolgende Befehle eines Programms werden in aufeinanderfolgenden Speicherzellen abgelegt. • Durch Sprungbefehle kann von der Bearbeitung in der gespeicherten Reihenfolge abgewichen werden. • Es gibt zumindest - arithmetische Befehle (Addition, Subtraktion, Multiplikation) - logische Befehle (Vergleiche, nicht, und, oder) - Transportbefehle, z.B. von Speicher zu Rechenwerk und für Ein-/ Ausgabe - bedingte Sprünge • Alle Daten (Befehle, Adressen usw.) werden binär codiert. G.Heyer 17 Digitale Informationsverarbeitung Rechnernetze Rechnernetz: Kopplung (Vernetzung) mehrerer Rechner, die in ihrer Architektur und/oder ihrem Betriebssystem unterschiedlich sein können und i.a. räumlich getrennt stehen. Die Vernetzung kann aus folgenden Gründen sinnvoll sein: • Datenverbund: Nutzung von Datenbeständen, die auf einzelne Rechner des Netzes verstreut sind. Beispiel: Kopplung von Bibliotheksrechnern, um die auf den einzelnen Rechnern gespeicherten Literaturangaben gemeinsam zu nutzen. • Betriebsmittelverbund: Nutzung teurer Soft- und Hardwarebetriebsmittel, die nicht auf jedem Rechner des Netzes bereitstehen können. Beispiele: Spezialrechner hoher Rechengeschwindigkeit, Bilderfassungsgeräte, Übersetzer, Spezialsoftware für Informationssysteme usw. • Lastverbund: Gleichmäßige Verteilung der benötigten Rechenleistung auf die an das Netz angeschlossenen Rechenanlagen. Fällt ein Rechner aus, können andere dessen Aufgabe übernehmen. G.Heyer 18 Digitale Informationsverarbeitung Netztopologien sternförmig dezentral verteilt hierarchisch Bus-gekoppelt G.Heyer ringförmig 19 Digitale Informationsverarbeitung