Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Systemarchitektur Sommersemester 2009 Universität des Saarlandes Reinhard Wilhelm auf Vorlagen von: Bernd Becker und Christoph Scholl, Institut für Informatik,

Ähnliche Präsentationen


Präsentation zum Thema: "Systemarchitektur Sommersemester 2009 Universität des Saarlandes Reinhard Wilhelm auf Vorlagen von: Bernd Becker und Christoph Scholl, Institut für Informatik,"—  Präsentation transkript:

1 Systemarchitektur Sommersemester 2009 Universität des Saarlandes Reinhard Wilhelm auf Vorlagen von: Bernd Becker und Christoph Scholl, Institut für Informatik, Albert-Ludwigs-Universität Freiburg, Paul Molitor, Informatik, Universität Halle-Wittenberg, TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: A A AA

2 Einleitung und Überblick

3 Überblick3 Literatur A. Tanenbaum: Structured Computer Organization (4th Edition). Prentice Hall International D. Patterson, J. Hennessy: Computer Organization & Design - The Hardware/Software Interface, Morgan Kaufmann Publishers J. Hennessy, D. Patterson: Rechnerarchitektur, Analyse, Entwurf, Bewertung, Vieweg. J. Keller, W. Paul: Hardware-Design, Teubner, B. Becker, P. Molitor: Technische Informatik, Pearson W. Stallings: Betriebssysteme: Prinzipien und Umsetzung. Pearson Studium, A. Tanenbaum: Moderne Betriebssysteme, Pearson Studium, A. Tanenbaum: Modern Operating Systems, Prentice Hall, 2001 (englische Originalausgabe). Nehmer, Sturm: Systemsoftware, Grundlagen moderner Betriebssysteme, Dpunkt-Verlag, 2001 W. J. Paul: Skriptum Systemarchitektur, SS 2008

4 Überblick4 Systeme – Inhalte der Vorlesung Zunächst: Was ist ein System? Ein System stellt eine Gesamtheit von Komponenten dar, die miteinander durch Beziehungen verbunden sind und gemeinsam einen bestimmten Zweck erfüllen Hier: spezielle Systeme in der Informatik, in denen mindestens eine Komponente ein Rechner ist. Rechner Universalrechner (general purpose computer), PC, Arbeitsplatzrechner eingebetteter Rechner in Auto, Flugzeug, Waschmaschine, Fernseher, CD-Spieler, Spielkonsole, Navigator, Betriebssysteme

5 Überblick5 Markanteile Universalrechner ~2% Eingebettete Rechner ~98%

6 Überblick6 Verstehen von Systemen Wie versteht man ein System, welches aus sehr vielen Komponenten besteht: einem Rechner, der aus 100 Millionen Transistoren besteht, darauf laufender Software, Betriebssysteme, Übersetzer, Datenbanken, Kommunikationssysteme, Anwendungsprogramme mit Millionen Zeilen Programmcode Durch Erkennen der Struktur, dem Aufbau aus Komponenten, und dem Zusammenwirken dieser Komponenten zur Realisierung ihrer Funktion Methoden: Abstraktion, führt meist zu einer Sicht von Systemen in Schichten und Hierarchien

7 Überblick7 Funktionen von und in Rechnersystemen Welche Funktionen erfüllen Rechnersysteme? Berechnen von Ergebnissen aus Eingaben, Speichern von Daten, Steuern von Prozessen. Diese Funktionen finden wir auf allen Abstraktionsebenen wieder: Rechnen: Ausführen eines Programms auf Eingaben, Ausführen einer Wertzuweisung in einem Programm, einer arithmetischen Operation in einer Wertzuweisung, einer Berechnung der Adresse eines Operanden einer Operation. Speichern: Einträge in Datenbanken, Werte des richtigen Typs in Programmvariablen, Darstellungen von skalaren Werten in Registern des Prozessors, Bits in Flip-Flops Steuern eines Prozesses, Steuern des Kontrollflusses in einem Programm, Steuern der Ausführung eines Maschinenbefehls

8 Überblick8 Inhalte der Vorlesung Betriebssysteme Rechnerarchitektur Software/Hardware-Schnittstelle Befehlssatzarchitektur (Instruction Set Architecture)

9 Überblick9 Die (Befehlssatz-)Architektur als Schnittstelle (Befehlssatz-)Architektur - Instruction Set Architecture (ISA) Betriebssystem Bibliotheksfunktionen, Dienstprogramme Anwendungsprogramme Anwender Anwendungs- programmierer Betriebssystem- programmierer

10 Überblick10 Rechnerarchitektur und –organisation Rechnerarchitektur – die Nutzer-(Programmierer-)sicht eines Rechners Befehlssatz, zugreifbare Register, Zahl der Bits für die Darstellung von Daten, Adressierungsmodi, Ein-/Ausgabefunktionen Beispiel: alle x86-Prozessoren haben die gleiche Architektur Rechnerorganisation – die Realisierung der Architektur Aufbau des Rechners aus Komponenten, welche Arten von Speicher, welche arithmetischen Einheiten, welche Steuersignale, … Beispiel: wird die Multiplikation durch eine arithmetische Einheit realisiert oder muss sie in Software realisiert werden? Funktionsweise – wie die Komponenten zusammenspielen, um Befehle auszuführen

11 Überblick11 Rechnerarchitektur und –organization, Überblick 1.grober Aufbau eines von-Neumann-Rechners Prozessor Arbeitsspeicher, 2.grobe Arbeitsweise eines Prozessors 3.Hardware/Software Schnittstelle, Befehlssätze 4.Codierung von Daten 5.Arithmetik 6.Schaltkreise 7.Boolesche Algebra, Boolesche Funktionen, Boolesche Ausdrücke 8.Speicherhierarchie, Speicher 9.Ein/Ausgabe, Busse

12 Überblick12 Unterhalb der Befehlssatzarchitektur Befehlssatzarchitektur - Instruction Set Architecture (ISA) Implementierung Prozessor (CPU) System-Bus Haupt- speicher Ein-/Ausgabe-Geräte, externe Speicher, externe Kommunikation

13 Überblick13 BB - TIKap Prinzipielle Arbeitsweise eines Prozessors Fetch Fetchhole den nächsten Maschinensprachebefehl aus dem Arbeitsspeicher und speichere ihn im Befehlsregister IR ab. Die benötigte Adresse steht im Befehlszähler PC Decode Decodeanalysiere den Befehl und lade die benötigten Daten Execute Executeführe den Befehl aus und speichere das Ergebnis ab Fetch-Decode-Excecute-Zyklus

14 Überblick14 Der Fetch-Decode-Execute-Zyklus Systembus Prozessor (CPU) Haupt- speicher PCIR … … ALU Steuerwerk

15 Überblick15 Befehlssatzarchitektur, Assembler und Maschinensprache ADD R1, R2, R3 Syntax:,, src2> Semantik: R1 R2 + R3 Assemblersprache Maschinensprache – Befehle als Bitketten Befehlsformat opcode src1src2dstfunc Übersetzung

16 Überblick16 Datenpfad und Befehlsausführung Ausführung von R1 R2 + R3 Prozessor (CPU) PCIR ALU Steuerwerk Quelle: K. Diepold, LDV, TUM

17 Überblick17 Arithmetisch-logische Einheit (ALU) realisiert arithmetische und logische Operationen, Basis: Darstellung von Festkomma-, Gleitkommazahlen, Zeichenketten und logischen Werten. Uns interessierende Eigenschaften: Geschwindigkeit = Tiefe, depth, des benutzten Schaltkreises = Anzahl der maximal notwendigen Schritte durch den Schaltkreis Komplexität, C, = Anzahl der Gatter für die Realisierung

18 Überblick18 Komponente der ALU: Addierer Carry-Ripple-Addierer c0c0 FA b0b0 a0a0 s0s0 c -1 FA b1b1 a1a1 s1s1 c n-1 = s n FA b n-1 a n-1 b n-2 a n-2 c n-2 s n-1 s n-2 c n-3 Berechnet aus 2 positiven Binärzahlen =, = und dem Eingangsübertrag c {0,1} die Binärdarstellung s von + +c

19 Überblick19 Verwendeter Baustein: Volladdierer (FA) HA a b c s0s0 s1s1 FA abc s1s1 s0s0 realisiert durch Der Volladdierer dient zur Addition zweier 1-Bit-Zahlen mit Eingangsübertrag.

20 Überblick20 Komponente von FA: Halbaddierer (HA) ab s0s0 s1s1 HA ab s1s1 s0s0 Komplexität: C(HA) = 2, Tiefe = Zahl der Schritte: depth(HA) = 1 Der Halbaddierer dient zur Addition zweier 1-Bit-Zahlen ohne Eingangsübertrag.

21 Überblick21 Spezifikation der Funktion von Schaltkreisen Welche Funktion berechnet der Schaltkreis? Wie beschreibt man das? Mehrere zueinander äquivalente Alternativen: Funktionstabellen boolesche Ausdrücke

22 Überblick22 Der Halbaddierer (HA) ha : B 2 B 2 mitha(a, b) = (s 1, s 0 ) Der Halbaddierer berechnet die Funktion: s0s0 s1s1 ba gegeben durch die Funktionstabelle Es gilt: 2s 1 + s 0 = a + b mit und Alternative Notation:

23 Überblick23 Der Volladdierer (FA) fa : B 3 B 2 mit Der Volladdierer berechnet die Funktion: s0s0 s1s1 cba Funktionstabelle Aus der Tabelle ergibt sich: Alternativ:

24 Überblick24 Volladdierer als Funktion von Halbaddierern Zur Erinnerung: Also:

25 Überblick25 Zusammenfassung Volladdierer Halbaddierer HA a0a0 b0b0 c s0s0 s1s1 a0a0 b0b0 s0s0 s1s1 Kosten und Tiefe eines FA: C(FA) = 5, depth(FA) = 3

26 Überblick26 Komplexität und Tiefe des Carry-Ripple-Addierers c0c0 FA b0b0 a0a0 s0s0 c -1 FA b1b1 a1a1 s1s1 c n-1 = s n FA b n-1 a n-1 b n-2 a n-2 c n-2 s n-1 s n-2 c n-3 Kosten und Tiefe eines FA: C(FA) = 5, depth(FA) = 3

27 Überblick27 Boolesche Funktionen B Sei B = {0,1} B Eine Abbildung f : B n B m heißt (vollständig definierte) Boolesche Funktion in n Variablen. B n,m := {f | f :B n B m } Eine Abbildung f :D B m mit D B n heisst (partielle) Boolesche Funktion in n Variablen. B n,m (D):= {f | f :D B m } für D B n

28 Überblick28 Boolesche Algebren Boolesche Algebra: algebraische Struktur zum Rechnen mit Booleschen Werten, eine Menge mit zwei binären Operationen und einer unären Operation mit einer Menge von Eigenschaften

29 Überblick29 Boolesche Ausdrücke Eine Beschreibungsmöglichkeit für Boolesche Funktionen statt Tabellenform, bei n Variablen 2 n Einträge. Ziel: kompaktere Repräsentation. Wir betrachten n Variablen x 1, x 2,..., x n. Sei X n = x 1, x 2,..., x n. Boolesche Ausdrücke werden über einem Alphabet A = X n : definiert. Wir betrachten die Syntax, ihren Aufbau, und die Semantik, ihre Bedeutung, von booleschen Ausdrücken

30 Überblick30 Boolesche Algebra, Boolesche Funktionen, Boolesche Ausdrücke, Schaltkreise Definition von Schaltkreisen, ihre Komplexität, ihre Kosten Die von einem kombinatorischen Schaltkreis berechnete boolesche Funktion Teilschaltkreise, Hierarchischer Entwurf Beispiele

31 Überblick31 Modellierung von booleschen Funktionen durch Schaltkreise Idee: gerichteter Graph mit einigen zusätzlichen Eigenschaften: azyklisch, Knoten markiert mit Gattern, allgemeiner, mit Bausteinen aus einer Bibliothek, Eingangs- und Ausgangsgrad stimmen, ein- und ausgehende Kanten geordnet. X1X1 X2X2 X3X3 X4X4 X5X5 X6X6 X7X7 X8X8

32 Überblick32 Entwurfsziele Korrektheit – System realisiert gewünschte Funktion Spezifikationssprachen Synthetisierung Verifikation Leistung – Realisierung ist effizient, gute Kombination von Schnelligkeit und Kosten Vorlesung nächste Woche

33 Überblick33 Leistung verschiedene mögliche Definitionen: Nutzer: Ausführungsgeschwindigkeit von Programmen Rechenzentrumsleiter: Durchsatz – geleistete Arbeit pro Zeit Ausführungsgeschwindigkeit ~ 1/ Ausführungszeit Ausführungszeit (execution time, latency) eines Programms (allg. einer Aktion) – Zeit zwischen Start des Programms (der Aktion) und Terminierung des Programms (der Aktion) Andere Aktionen: arithmetische Operation, Speicherzugriff, E/A-Operation Selten ist die Ausführungszeit für eine Aktion eine Zahl, da der Ausführungszustand die Ausführungszeit beeinflusst. Beispiel: Zeit für E/A-Operation hängt davon ab, wieviele E/A-Operationen an dem Gerät warten. Meist ist die Ausführungszeit durch eine Verteilung gegeben. Zur Vereinfachung werden wir aber mit einer Zahl arbeiten. Mit welcher Zahl? Mittelwert der Verteilung – bei Universalrechnern Laufzeit im schlechtesten Fall – bei Echtzeitsystemen

34 Überblick34 Verschiedene Optimierungsziele Entscheidung für mittlere Laufzeit bzw. Laufzeit im schlechtesten Fall führt zu unterschiedlichen Optimierungsstrategien: 1.mache den häufigsten Fall schnell – dies ist die vorherrschende Philosophie der Rechnerarchitekten, bzw. 2.mache den schlechtesten Fall schnell – dies wird für eingebettete Echtzeitsysteme benötigt

35 Überblick35 Prinzipieller Aufbau eines Rechners Bestandteile: Prozessor (CPU) Hauptspeicher Externe Speicher Eingabegeräte (Tastatur, Maus) Ausgabegeräte (Bildschirm, Drucker, Plotter) Busse Prozessor (CPU) System-Bus Haupt- speicher Ein-/Ausgabe-Geräte, externe Speicher, externe Kommunikation

36 Überblick36 Speicher Anforderungen an Speicher so schnell wie Prozessor – sonst muss der Prozessor warten, so groß, wie jede vorstellbare Anwendung verlangt, - sonst können manche Anwendungen nicht auf dem Rechner realisiert werden, so dauerhaft (persistent), wie es die Daten verlangen – sonst droht Verlust, und bezahlbar. Anforderungen liegen teilweise miteinander im Konflikt: schnelle Speicher sind nicht billig, beliebig große Speicher sind nicht bezahlbar, dauerhafte Speicherung kostet Zeit und Energie.

37 Überblick37 Caches Statische RAM-Speicher sind schnell aber teuer, dynamische RAM-Speicher sind billig aber langsam. kleinen Cache in SRAM-Technologie auf Chip + großen Speicher in DRAM-Technologie Vorteil: wegen lokalen Zugriffsverhaltens der Programme im Durchschnitt schneller Zugriff Nachteil: hohe Schwankungsbreite für Zugriffszeiten Für Echtzeitsysteme: korrekte und präzise Analysen der Zugriffszeiten notwendig

38 Überblick38 Caches CPU DRAM Speicher Speicher Cache- Control Adreßbus Datenbus Instruktionscache Datencache In der Regel besitzt ein Rechner einen getrennten Cache für Instruktionen (Instruktionscache) und für Daten (Datencache). Er kann durch ein Anwendungsprogramm nicht explizit adressiert werden. software-transparent Er ist software-transparent, d.h. der Benutzer braucht nichts von seiner Existenz zu wissen.

39 Überblick39 Speicher Funktion – Aufbewahrung für Programme und Daten Organisation – meist eine Hierarchie CPU-Register Speicher Befehle/Adressen/./Operanden Programm 1-8 Bytes Blöcke Cache Controller Bytes oben unten schnell, klein langsam, groß Cache Festplatte Seiten Betriebssystem 512-4K bytes Band Dateien Bnutzer/Operator Mbytes Inhalte/Struktur Besitzer/Verwalter Größe


Herunterladen ppt "Systemarchitektur Sommersemester 2009 Universität des Saarlandes Reinhard Wilhelm auf Vorlagen von: Bernd Becker und Christoph Scholl, Institut für Informatik,"

Ähnliche Präsentationen


Google-Anzeigen