Interne Datenwege (Bus-System) Speicherwerk Ein- /Ausgabewerk Steuerwerk Rechenwerk Arbeitsspeicher / Speicherwerk Ein-/Ausgabewerk Interne Datenwege Funktionsweise & Eigenschaften Zahlen werden im Rechner binär dargestellt Universalrechner Programme und Daten werden in einem gemeinsamen Speicher abgelegt Befehle geben nur die Speicheradresse an, wo die Daten abgelegt sind, nicht die Daten selbst Von-Neumann-Architektur
FETCH OPERANDS EXECUTE UPDATE PROGRAM COUNTER (UPC) FETCH: Laden des nächsten zu bearbeitenden Befehls in das Befehlsregister (bildet gemeinsam mit Steuerwerk und Rechenwerk die CPU). DECODE: Befehl wird durch Steuerwerk in Schaltinstruktionen für das Rechenwerk übersetzt. FETCH OPERANDS: Operanden holen, die durch den Befehl verändert werden sollen. EXECUTE: Rechenwerk führt die Operation aus. UPC: Erhöhung des Befehlszählers, damit der Rechner weiß, an welcher Stelle des Programms er sich gerade befindet. Geschieht parallel zu DECODE und FETCH OPERANDS. Von-Neumann-Architektur
wird die Verbindung und Datenübertragung zwischen CPU und Speicher über den Systembus zum Von- Neumann-Flaschenhals: Jeglicher Datenverkehr von und zur CPU wird über den internen Bus abgewickelt, dessen Transfergeschwindigkeit langsamer ist, als die Verarbeitungsgeschwindigkeit der CPU. Dieses Problem versucht man in modernen PC's durch die Verwendung von schnellem Cache-Speicher abzuschwächen, der meist in die CPU integriert ist. Von-Neumann-Architektur
Datenleitungen zur Übertragung von Daten zwischen CPU und Peripheriegeräten Leistungsfähigkeit von Systembussen gemessen in Anzahl Bytes, die pro Sekunde übertragen werden können. Systembus-Standards: ISA (Industry Standard Architecture) / EISA (Extended ISA) PCI (Peripheral Component Interconnect) AGP (Accelerated Graphics Port) PCI-E (PCI Express) Rechnerkomponenten: Systembus Bildnachweis: Bus: Les Chatfield, http://commons.wikimedia.org/wiki/File:Brighton_and_Hove_Buses_bus.jpg
(in Auszügen) vorgehalten werden, die möglicherweise als nächstes von der CPU benötigt werden. Intention / Ziele: Verringerung der Zugriffszeit bzw. Verringerung der Anzahl der Zugriffe auf den zu cachenden Speicher Von-Neumann Flaschenhals Vorteil: Durch Umgehung des Von-Neumann Flaschenhalses: Steigerung der Ausführungs- und Verarbeitungsgeschwindigkeit von Programmen Nachteil: Schwer vorhersehbar, welche Teile des Hauptspeichers von der CPU im nächsten Schritt benötigt werden Cache-Misses Teuer CPU-Cache
Cache stehen, um das Problem des von-Neumann-Flaschenhalses zu mindern. Funktionsprinzip des Cache: Die CPU fordert ein gesuchtes Datum oder eine gesuchte Instruktion im Cache an. Bei einem Cache-Hit befindet sich das Datum/Instruktion im Cache. Bei einem Cache-Miss (die gewünschte Information befindet sich nicht im Cache) wird ein bestimmter Bereich, der das gesuchte Datum bzw. die gesuchte Instruktion enthält, aus dem Hauptspeicher in den Cache geladen (in der Hoffnung, dass folgende Zugriffe sich auf diesen aktualisierten Bereich beziehen!). CPU-Cache
mehrerer Caches in einer Cache-Hierarchie: Durchnummerierung vom Cache mit der niedrigsten Zugriffszeit (L1) bis zum langsamsten Cache (Ln), z.B. L1 Cache, L2 Cache, etc. Arbeitsweise: Zunächst wird der schnellste Cache durchsucht; enthält der L1 Cache die benötigten Daten nicht, wird der nächste (zumeist langsamere und größere) Cache durchsucht. Cache Hierarchie
ist allgemeines Prinzip Beispiele im Alltag: Buffering: Video-Dateien aus dem Web (z.B. bei youtube) werden gepuffert und anschließend wiedergegeben, um die – im Vergleich zur Festplatte - niedrige Übertragungsrate des Internets auszugleichen Stichw. „Von-Neumann- Flaschenhals“ Cache kann überall da sinnvoll eingesetzt werden, wo Speichermedien unterschiedlicher Geschwindigkeit miteinander kommunizieren. Auch wenn sich in den kommenden Jahren die aktuelle Technik völlig verändert, wird es immer Speicher geben, der schneller ist als anderer. Cache als allgemeines Prinzip
nach unten gehen. Faktum II: Die Speicherkapazität vergrößert sich, je weiter wir nach unten gehen. Faktum III: Die Anzahl der „Bits pro Dollar“ vergrößert sich, je weiter wir nach unten gehen, i.e.: Die Preise für die Speichermedien sinken, je weiter wir uns nach unten bewegen. Speicherhierarchie
4-5: „Die untersten drei Ebenen sind kein Tummelplatz für den Durchschnittsprogrammierer, sondern dienen hauptsächlich dazu, die Interpreter und Übersetzer auszuführen, die zur Unterstützung der höheren Ebenen benötigt werden.“ [Tanenbaum2006] S. 23 Strukt. Computerorganisation Problemorientierte Sprache Assemblersprache Betriebssystemmaschine Befehlssatzarchitektur (ISA) Mikroarchitektur Digitale Logik Ebene 5 Ebene 4 Ebene 3 Ebene 2 Ebene 1 Ebene 0
Oxide Semiconductor) Als Technologie für Computerschaltkreise: MOS: Contra: MOS schaltet langsamer als TTL und ECL PRO: MOS-Gatter erfordern weniger Strom und nehmen weniger Platz auf dem Chip ein Transistor
der Transistoren, die auf einen Chip (IC, Integrated Circuit) gepackt werden können, alle ~2 Jahre verdoppelt. Die spannende Frage: Wie lange wird Moore‘s Law noch gelten? Moore (2007): 10 – 15 Jahre Strukturgrößen: Intel Core i7 45 bis 32nm nm Nanometer, 10-9 (ein Millionstel Millimeter) Moore‘s Law
lassen über Boolesche Algebra: George Boole (1815-1864) Variablen und Funktionen können nur die Werte 0 und 1 annehmen bzw. zurückgeben. Z.B. Datentyp bool in C++ Vollständige Beschreibung der Booleschen Fkt. über Tabelle mit 2n Zeilen, wobei n gleich Anzahl der Eingangsvariablen / -werte Wahrheitstabelle Schaltalgebra kennt zwei Konstanten: 0 (Schalter geschlossen / Leitung unterbrochen) und 1(Schalter offen / Leitung durchgeschaltet) Boolesche Algebra / Schaltalgebra
Verknüpfunge n und komplexen Schaltungen wie Addierer und Flipflop bauen lassen Bildnachweis: macgyver multitool joke, paper spin, Dave O, http://commons.wikimedia.org/wiki/File:Macgyver_multitool_joke.jpg
chungen: Y = (A ⋀ B) ⋁ (A ⋀ C) Übung 2 A B C D = (A ⋀ B) E = (A ⋀ C) Y 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 1 1 0 0 0 1 0 0 0 0 0 1 0 1 0 1 1 1 1 0 1 0 1 1 1 1 1 1 1
UND (AND) ODER (OR) NICHT (NOT) / Negation NAND NOR Rechenschaltung: Halbaddierer Schaltungen mit Speicherwirkung: Flipflops Zwischenstand
Derartige Schaltungen werden als Rechenschaltungen bezeichnet Rechenschaltungen erzeugen zwischen ihren Eingangsvariablen logische Verknüpfungen, die einem Rechenvorgang entsprechen. Ein Halbaddierer kann zwei Binärziffern addieren, nach den folgenden Regeln: 0 + 0 = 0 0 + 1 = 1 1 + 0 = 1 1 + 1 = 10 Rechenschaltungen: Halbaddierer Vgl.: Beuth, Klaus: Digitaltechnik. 9., überarbeitete Auflage. Würzburg, Vogel Verlag. 1992. S. 461 ff.
erhält den Variablennamen A, die andere den Variablennamen B Ausgänge: Die Schaltung muss über zwei Ausgänge verfügen Einen Ausgang Z für die Wertigkeit 20 und Einen Ausgang Ü für den Übertrag, d.h. 21 Rechenschaltungen: Halbaddierer Vgl.: Beuth, Klaus: Digitaltechnik. 9., überarbeitete Auflage. Würzburg, Vogel Verlag. 1992. S. 461 ff.
0 und der Ziffer 1 mit dem binären Zustand 1 ergibt sich folgende Wahrheitstabelle für den Halbaddierer: Rechenschaltungen: Halbaddierer Vgl.: Beuth, Klaus: Digitaltechnik. 9., überarbeitete Auflage. Würzburg, Vogel Verlag. 1992. S. 461 ff. Fall A B Ü Z 1 0 0 0 0 2 0 1 0 1 3 1 0 0 1 4 1 1 1 0 Der Übertrag Ü ist wahr (und nur dann wahr) bzw. 1, wenn beide Eingänge Geschaltet sind. Ü = A ⋀ B Z ist wahr, wenn einer der beiden Eingänge geschaltet ist, nicht jedoch beide gleichzeitig geschaltet sind. Z = (A ⋀ B) ⋁ (A ⋀ B)
addieren können, d.h. bei der Addition von zwei Binärzahlen die Überträge zu berücksichtigen Ein Volladdierer ist eine Schaltung, die drei Dualziffern addieren kann Der Volladdierer verfügt über drei Eingänge (einen für jede zu addierende Zahl) und zwei Ausgänge Ein Volladdierer lässt sich aus zwei Halbaddierern und einem ODER-Gatter aufbauen. Rechenschaltungen: Volladdierer Vgl.: Beuth, Klaus: Digitaltechnik. 9., überarbeitete Auflage. Würzburg, Vogel Verlag. 1992. S. 461 ff.
(d.h. ein Bit) zu speichern Basale Schaltung, die eine Datenmenge von einem Bit über eine lange Zeit speichern kann Unterscheidung von Flipflops in Taktgesteuerte (Zusätzlich zu den zwei Eingängen wird ein Taktsignal eingespeist) Taktzustandsgesteuerte Flipflops Auffang-Flipflops Taktflankengesteuerte Flipflops … Nicht taktgesteuerte Flipflops Speicher-Flipflops (Latch-Flipflops) Schaltungen mit Speicherwirkung: Flipflops Vgl.: Beuth, Klaus: Digitaltechnik. 9., überarbeitete Auflage. Würzburg, Vogel Verlag. 1992. S. 184.
wird als NOR-Latch (latch = Klinke, einrasten) bzw. SR-Latch bezeichnet Ein SR-Latch verfügt über: Zwei Eingänge: S zum Setzen R zum Zurücksetzen (reset, löschen) Zwei Ausgänge: Q ¬Q Nicht-taktgesteuerte Flipflops: NOR-Latch
wichtig!): Wir nehmen an, dass S und R gleich 0 sind – dieser Zustand wird als der Normal- oder Ruhezustand bezeichnet Wir nehmen an, dass Q gleich 0 ist Ablauf: Da Q in das obere NOR-Gatter zurückgespeist wird (Rückgekoppelte Schaltung), liegen beide Eingänge des Gatters auf 0, der Ausgang ¬Q entsprechend auf 1. Die 1 von ¬Q wird in das untere Gatter eingespeist, das dann die Eingangsbelegung 1 und 0 hat. Daraus ergibt sich Q gleich 0. Das NOR-Latch erreicht einen stabilen Zustand SR-Latch / SR-Speicher-Flipflop Annahme Q=0 Vgl.: Tanenbaum: Computerarchitektur. Strukturen – Konzepte – Grundlagen. 2006, 5.Auflage. S. 179 ff)
Wir nehmen an, dass S und R gleich 0 sind. Wir nehmen an, dass Q gleich 1 ist Ablauf: Da Q in das obere NOR-Gatter zurückgespeist wird, liegen die Eingänge des oberen Gatters auf 0 (von S) und 1 (von Q), der Ausgang ¬Q entsprechend auf 0. Da ¬Q in das untere Gatter eingespeist wird, liegt an Q der Wert 1 an. Das NOR-Latch erreicht einen stabilen Zustand SR-Latch / SR-Speicher-Flipflop Annahme Q=1 Vgl.: Tanenbaum: Computerarchitektur. Strukturen – Konzepte – Grundlagen. 2006, 5.Auflage. S. 179 ff) A B Y 0 0 1 0 1 0 1 0 0 1 1 0
so wird ¬ Q = 0 (vgl. Wahrheitstabelle für NOR Gatter) Die 0 von ¬Q wird eingespeist in das untere NOR Gatter. Somit verändert sich der Wert Qs von 0 auf 1, denn: ¬(¬Q ⋁ R) = ¬ (0 ⋁ 0) = ¬0 = 1 Das Ergebnis: Wird S auf 1 gesetzt, wechselt der Zustand Qs von 0 auf 1. SR-Latch / SR-Speicher-Flipflop Eingang S=1 A B Y 0 0 1 0 1 0 1 0 0 1 1 0 1
davon aus, dass zuvor mittels S=1 das Flipflop gesetzt wurde. Nun soll S wieder auf 0 gesetzt werden; dabei soll der Zustand Q=1 erhalten bleiben SR-Latch / SR-Speicher-Flipflop Eingang S=0 Vgl.: Tanenbaum: Computerarchitektur. Strukturen – Konzepte – Grundlagen. 2006, 5.Auflage. S. 179 ff) 1
so liegt am oberen Gatter 0 (von S) und 1 (von Q) an. so wird ¬ Q = 0 Die 0 von ¬Q wird eingespeist in das untere NOR Gatter. Am unteren Gatter liegen somit an: 0 und 0 (von R). Der Wert von Q ändert sich nicht, bleibt gesetzt. SR-Latch / SR-Speicher-Flipflop Eingang S=0
davon aus, dass zuvor mittels S=1 das Flipflop gesetzt wurde. Und anschließend S=0 gesetzt ist – der Wert von Q folglich eine 1 gespeichert hat. Nun soll R auf 1 gesetzt werden, um die Schaltung zurückzusetzen SR-Latch / SR-Speicher-Flipflop Eingang R=1 Vgl.: Tanenbaum: Computerarchitektur. Strukturen – Konzepte – Grundlagen. 2006, 5.Auflage. S. 179 ff)
so liegt am unteren Gatter 0 (von ¬Q) und 1 (von R) an. Q wird somit zu 0 Am oberen Gatter liegt nun 0 (von S) und 0 (von Q) an. Somit wird ¬ Q = 1 Ergo: Indem wir R mit 1 belegen, setzen wir die Schaltung zurück (Q=0) SR-Latch / SR-Speicher-Flipflop Eingang R=1
das Latch unabhängig von seinem vorherigen Zustand den Zustand Q=1 an. Wird R kurzzeitig auf 1 gesetzt, geht das Latch in den Zustand Q=0 über. Die Schaltung merkt sich, ob S oder R zuletzt auf 1 gesetzt war. SR-Latch / SR-Speicher-Flipflop
Cache-Speicher. Hauptspeicher wird zumeist nicht über Flipflops, sondern über einzelne Transistoren und Kondensatoren realisiert. Pro: Günstig in der Produktion Contra: Kondensatoren müssen regelmäßig aufgefrischt werden, da sie ansonsten ihre Ladung verlieren. Flipflops und die Praxis
(die Schaltung besteht aus einigen NAND- Gattern („&“)) Nennen Sie eine Schaltung, die mit der oben angeführten Schaltung identisch ist, d.h. die gleichen Ergebnisse erzeugt. Hausaufgaben
Wofür wird die Schaltung verwendet? Erläutern Sie kurz das Funktionsprinzip der dargestellten Schaltung. Erstellen Sie bitte die vollständige (inkl. Angabe von C und D) Wahrheitstabelle. Hausaufgaben