3. Architekturen moderner Prozessoren 3.1 Einführung (1)

Größe: px
Ab Seite anzeigen:

Download "3. Architekturen moderner Prozessoren 3.1 Einführung (1)"

Transkript

1 3.1 Einführung (1) Nahezu jeder Prozessor in einem Desktop-Rechner (der auf oder unter dem Tisch steht) und in einem Server- Rechner (auf dem man sich von der Ferne einloggt und dort rechnet) nutzt heute Caches (s. Kap ) Pipelining Superskalare Befehlsabarbeitung Out-of-order execution (Abarbeitung der Befehle entgegen der vom Compiler erzeugten Reihenfolge) Diese Prinzipien werden wir im Kapitel 3 behandelt , Folie 1

2 3.1 Einführung (2) Ferner: Evolution der Prozessor-Architektur Stationen dieser Evolution von CISC bis Multi-Core Complex Instruction Set Computing (CISC) Reduced Instruction Set Computing (RISC) Superskalare Architekturen Very long instruction Word (VLIW) Explicitly Parallel Instruction Computing (EPIC) Multithreading (Simultanes Multithreading (SMT) Hyperthreading (HT)) Multikern-Architekturen , Folie 2

3 3.2 CISC-Architekturen (1) Am Anfang war CISC (Complex Instruction Set Computer): Technik der Mikroprogrammierung ist CISC So benannt in den 1980er Jahren nachdem RISC aufkam Vorteile CISC: Erforderliche Speicherkapazität geringer es erfolgt Expansion eines CISC-Befehls im Prozessor Abbildung Makrobefehl -> Folge von Mikrobefehlen (Mikroprogramm) (s. Bsp. Folie 7, Kap 2) A B A Könnte z.b so kodiert sein SUB A B Kostet weniger Speicher als , Folie 3

4 3.2 CISC-Architekturen (2) Weiterer Vorteil: in den 60er Jahren vorhandene sog. semantische Lücke überbrückbar Durch Mikroprogramm einen Hochsprachen-Befehl implementieren Gilt für Chip-Hersteller und deren Compiler-Bauer Details zu semantischer Lücke, s. Vorlesung SP Beispiel: Switch-Befehl als Mikroprogramm Befehl in Hochsprache switch ( i ) { case 0 : a = 1 ; break ; case 1 : a = 2 ; break ; } ; Lücke durch Mikroprogramm überbrücken (fiktive Syntax) 0: i -> ACCU 1: JMP if ACCU=0 TO 6 2: DECR ACCU 4: JMP if ACCU=0 TO 8 5: RETURN 6: SET a=1 7: RETURN 8: SET a=2 9: RETURN , Folie 4 nackte Menge der 10-Befehlsmuster der Maschine Entsprechende Mikrobefehle

5 3.2 CISC-Architekturen (3) Lange Zeit der Zufriedenheit mit diesem Ansatz Konzept der Mikroprogrammierung zuerst in Großrechner eingeführt dort auf in der Kapazität limitierte Ferritkernspeicher ausgerichtet CISC Mikroprozessor-Architekturen waren dem Stand der Großrechnertechnik bis Anfang der 80er Jahre angepasst Gründe: wohl einfacher adaptierbar technologische Gründe für diese Orientierung gab es nicht, denn Mikroprozessoren waren von Anfang an mit Halbleiter-Arbeitsspeichern ausgestattet , Folie 5

6 3.2 CISC-Architekturen (4) Mit der Zeit: immer neue Prozessoren Erweiterung der Befehlssätze Zwang zur Abwärtskompatibilität Folge der Entwicklung immer größere und undurchschaubarere Befehlssätze Komplizierte Adressierungsarten (z.b. VAX11/780 verwendete 22 verschiedene Adressierungsarten) Befehle mit sehr unterschiedlichen Längen Compiler-Bauer verwendeten nur noch kleine Teilmenge des Befehlssatzes , Folie 6

7 3.2 CISC-Architekturen (5) Beispiel: Eigenschaften Befehlssätze CISC-Prozessoren , Folie 7

8 3.2 RISC-Architekturen (1) Die Zeit war reif für Neues: RISC-Prozessoren (Reduced Instruction Set Computer) Prozessoren der vierten Generation RISC-Architekturen gekennzeichnet durch Elementare und kleine, einheitliche Maschinenbefehlssätze einheitliche (dadurch aber auch redundante) Befehlsformate, die schnell dekodierbar sind Operanden- und Befehlsholphase während eines Grundtaktes ausführbar Adressrechnungen werden durch explizite Befehle ausgeführt Vorteil: keine komplizierten Adressierungsarten in Befehlen und damit verbundene Adressierungsberechnungen Load-Store-Architektur Alle Operanden liegen in Registern vor Keine Befehle, in denen ein Operand direkt auf Speicheradresse verweist Wenn nicht, dann Operanden laden bzw. speichern durch explizite Lade- /Speicher befehle , Folie 8

9 3.2 RISC-Architekturen (2) große universelle Registersätze festverdrahtete Leitwerke kein Mikroprogramm; kein Mikroprogrammspeicher Schafft Platz auf dem Chip für Caches und Register Jeder RISC-Befehl wird direkt in binäres Befehlsmuster dekodiert konsequentes Ausnutzen von Fließbandverarbeitung (Pipelining) nach Möglichkeit alle Befehle bis auf Laden/Speichern innerhalb eines Taktes abzuwickeln (im Durchsatz) war später jedoch nicht mehr konsequent durchzuhalten (z.b. numerische Gleitkomma-Operationen) ab Pentium Pro wird in Intel-Prozessoren komplexer Maschinenbefehl intern in eine Folge einfacher nach dem RISC-Prinzip abzuarbeitender Befehle zerlegt Erforderlich: Zusammenspiel von optimierenden Compiler und RISC- Prozessor-Architektur, um Fließbandverarbeitung auch effizient auszunutzen , Folie 9

10 3.2.1 RISC-Architekturen Pipelining (1) Fließbandprinzip (Pipelining) Übertragung des z.b. in der Automobilindustrie angewandten Prinzips der überlappten Bearbeitung von Arbeitsteilschritten auf den Befehlszyklus eines Prozessors Phasen des Befehlszyklus streng synchron arbeitenden unabhängigen Teilwerken zuweisen jeder einzelne Befehl durchläuft sequentiell alle Teilwerke Gegenteil: Nicht zeitlich überlapptes Abarbeiten der Befehle (s. Bild) , Folie 10

11 3.2.1 RISC-Architekturen Pipelining (2) Elementare Phasen des Befehlszyklus BH: Befehl holen inkl. Befehlszähler inkrementieren BD: Befehl dekodieren OH: Operanden holen BA: Befehl ausführen ES: Ergebnisse zurückschreiben (in Register bzw. in Speicher bei Store- Operationen) inkl. Befehlszähler im Falle eines Sprungs überschreiben 5 Phasen 5 Teilwerke 1. Befehl BH BD OH BA ES 2. Befehl BH DE OH BA ES 3. Befehl Beispielhaft; kein ehernes Gesetz! kann in der Realität viel fein-granularer sein, z.b. Intel P4-Architekturen über 30 Stufen [in Hennessy/Patterson BD/OH zusammengefasst, extra Phase für Zugriff auf Arbeitsspeicher] Zeit , Folie 11

12 3.2.1 RISC-Architekturen Pipelining (3) überlapptes Arbeiten 1. Befehl BH BD OH BA ES 2. Befehl BH DE OH BA ES 3. Befehl Zeit BH BD OH BA ES 1. Befehl BH BD OP BA ES 2. Befehl BH BD OH BA ES 3. Befehl BH BD OH BA ES 4. Befehl Dauer eines Befehls mindestens genauso lang wie zuvor (Latenzzeit) evtl. länger, denn Fließband muss sich nach der langsamsten Komponente richten Durchschnitt (Durchsatz) steigt an im Idealfall auf das n-fache bei n Teilschritten , Folie 12

13 3.2.1 RISC-Architekturen Pipelining (4) Viele Eierköpfe gleichzeitig unterwegs , Folie 13

14 3.2.1 RISC-Architekturen Pipelining (5) Leistungssteigerung bei vier Befehlen? anstatt 20 Zeiteinheiten nur (bitte selbst überlegen wie viele) Zeiteinheiten Welche Leistungssteigerung ist (theoretisch) möglich? Allgemein gilt: jede Pipeline-Stufe verursacht gewissen Zusatz-Aufwand für Datenbewegung Zwischenspeicherung im Datenfluss zwischen einzelnen Stufen kritisch bei vielen Unterbrechungen im synchronen sequentiellen Ablauf Steuerlogik zur Behandlung von Register- und Speicher- Abhängigkeiten steigt mit Zahl der Stufen höherer Gatteraufwand für Steuerung der Stufen als für die Stufen selbst , Folie 14

15 3.2.1 RISC-Architekturen Pipelining (5) Pipeline dominiert von langsamster Stufe Zykluszeit τ einer Pipeline (bestimmt zugleich Takt = 1 /τ ) τ = max ( τ ) i + d = τ m + d 1 i i τ m = maximale Stufen-Verzögerung k = Anzahl Stufen d = Zeitverzögerung bedingt durch Zwischenspeicherung k Gesamtzeit T k zur Bearbeitung von n Instruktionen k [ ( 1) ] T = k + n τ , Folie 15

16 3.2.1 RISC-Architekturen Pipelining (6) erreichbarer Speed-Up S k Verhältnis von Ausführungszeit T 1 ohne Pipeline zur Ausführungszeit T k in einer Pipeline mit k Stufen nkτ nk Sk = T1 / Tk = = k + ( n 1) τ k + ( n 1) [ ] lim n S k nk = = k + ( n 1) k , Folie 16

17 3.2.1 RISC-Architekturen Pipelining (7) Kurvenverlauf des Speed-Up S k in Abhängigkeit der Anzahl Instruktionen n für verschieden große Anzahl an Stufen k Speed-Up 12 Stufen 9 Stufen 6 Stufen #Instruktionen (10^x) , Folie 17

18 3.2.1 RISC-Architekturen Pipelining (8) Je mehr Stufen um so später läuft Kurve in Sättigung Wunderbar: dann möglichst viele Pipelinestufen k realisieren? Damit ist auch Chiptakt reduzierbar Je mehr Stufen desto kürzere Laufwege von einer Stufe zur nächsten Kürzere Laufwege -> schnellerer Takt (Erklärung s. Skizze Tafel) Preis für potentiellen Gewinn zusätzlicher Pipeline-Stufen zu zahlen (s. nächste Folie) , Folie 18

19 3.2.1 RISC-Architekturen Pipelining (9) Anstieg HW-Kosten Zwischen Pipelinestufen müssen Daten gefangen werden wg. Entkopplung der einzelnen Stufen, d.h. zwischen einzelnen Stufen liegen Register Je mehr Stufen je mehr Register Pipeline-Einschwingphase erhöht sich je mehr Stufen gegeben Damit Anstieg der Latenzzeit pro Befehl Nicht so schlimm könnte durch höheren Durchsatz kompensiert werden Energieverbrauch nimmt zu Kein Beitrag zu GreenIT Wahrscheinlichkeit leerer Pipeline-Zyklen steigt bei Datenabhängigkeiten bei Verzweigungen , Folie 19

20 3.2.1 RISC-Architekturen Pipelining (10) Problem: Datenabhängigkeiten (sog. Datenhazards) Ein Befehl benötigt Ergebnis des unmittelbar vorherigen Befehls Beispiel: Befehle MUL R1, R2 R3 ADD R3, R1 R5 sind nacheinander in Pipeline MUL R1,R2 R BH BD BH OH BD 4 BA OH 5 ES BA 6 7 RS 8 R1 R2 noch nicht in R3 zurückgeschrieben! Erfolgt erst zum Zeitpunkt 5 (RS-Phase MUL-Befehl) ADD R3, R1 R5 Details Modul Rechnerarchitektur (WPF - Rechnerarchitektur) , Folie 20

21 3.2.1 RISC-Architekturen Pipelining (11) Probleme: Verzweigungen Sprünge (sog. Steuerungshazards) Nächster Befehl in Pipeline ist nicht der Richtige t 40: if (R1 == R2) jmp 72 BH BD OH BA ES 44: (R1 and R12) R5 48: (R1 or R12) R5 52: (R14 add R2) R : (R12 add R2) R2 Lösung: statische und dynamische Sprungvorhersagen (sog. Spekulative Befehlsausführung) Details: Modul Rechnerarchitektur Bachelor 5.Sem BH BD BH OH BD BH , Folie 21 BA OH BD ES BA OH ES BA ES Erst nach Zeitschritt 4 steht fest, wie Vergleich (R1==R2) ausgeht. Der nächste Befehl in der Pipeline ist 44, evtl. falscher Befehl.

22 3.2.1 RISC-Architekturen Pipelining (12) Nochmaliges Beispiel Sprungbefehl (detailliertere strukturelle Sicht der Vorgänge in den Stufen) Zeitpunkt 0: 1.Stufe 2.Stufe 3.Stufe 4.Stufe BH BD OH BA 40: if (R1 == R2) jmp 72 44: (R1 and R12) R5 48: (R1 or R12) R5 52: (R14 add R2) R2 Registerinhalte.. 72: (R12 add R2) R2 R1: 0 R8: 9 R2: 0 R9: 10 R3: 2 R10: 23 R4: 1 R11: 34 R5: 23 R12: 15 R6: 4 R7: , Folie 22

23 3.2.1 RISC-Architekturen Pipelining (13) Zeitpunkt 1: 1.Stufe 2.Stufe 3.Stufe 4.Stufe BH BD OH BA 44: (R1 and R12) R5 48: (R1 or R12) R5 40: if (R1 == R2) jmp 72 52: (R14 add R2) R2.. 72: (R12 add R2) R2 Registerinhalte R1: 0 R8: 9 R2: 0 R9: 10 R3: 2 R10: 23 R4: 1 R11: 34 R5: 23 R12: 15 R6: 4 R7: , Folie 23

24 3.2.1 RISC-Architekturen Pipelining (14) Zeitpunkt 2: == -Vergleich ist auszuführen 1.Stufe 2.Stufe 3.Stufe 4.Stufe BH BD OH BA 48: (R1 or R12) R5 52: (R14 add R2) R2.. 72: (R12 add R2) R2 44: (R1 and R12) R5 40: if (R1 == R2) jmp 72 Registerinhalte R1: 0 R8: 9 R2: 0 R9: 10 R3: 2 R10: 23 R4: 1 R11: 34 R5: 23 R12: 15 R6: 4 R7: , Folie 24

25 3.2.1 RISC-Architekturen Pipelining (15) Zeitpunkt 3: Operanden werden aus R1 und R2 geholt 1.Stufe 2.Stufe 3.Stufe 4.Stufe BH BD OH BA 52: (R14 add R2) R2.. 72: (R12 add R2) R2 48: (R1 or R12) R5 44: (R1 and R12) R5 40: if (0 == 0) 72 Registerinhalte R1: 0 R8: 9 R2: 0 R9: 10 R3: 2 R10: 23 R4: 1 R11: 34 R5: 23 R12: 15 R6: 4 R7: , Folie 25

26 3.2.1 RISC-Architekturen Pipelining (16) Zeitpunkt 4: Ergebnis Vergleich wird berechnet 1.Stufe 3.Stufe 2.Stufe 4.Stufe BH BD OH BA.. 72: (R12 add R2) R2 52: (R14 add R2) R2 48: (0 or 15) R5 44: (0 and 15) R5 Ergebnis des Vergleichs 0==0 ist true Nächster Befehl in der Pipeline sollte somit 72 sein Registerinhalte R1: 0 R8: 9 R2: 0 R9: 10 R3: 2 R10: 23 R4: 1 R11: 34 R5: 23 R12: 15 R6: 4 R7: 8 Der nächste Befehl in Stufe 3 ist aber Befehl , Folie 26

27 3.2.2 RISC-Architekturen Superskalare Architekturen (1) Weitere Entwicklung: Superskalare Recheneinheiten Gruppierung von mehreren Befehlen, die nach dem Fließbandprinzip abgearbeitet werden BH BD OH BA ES BH BD OH BA ES BH BD OH BA ES BH BD OH BA ES BH BD OH BA ES BH BD OH BA ES BH BD OH BA ES BH BD OH BA ES BH BD OH BA ES 1. Befehl 2. Befehl 3. Befehl 4. Befehl 5. Befehl 6. Befehl 7. Befehl 8. Befehl 9. Befehl Zeit , Folie 27

28 3.2.2 RISC-Architekturen Superskalare Architekturen (2) erfordert mehrere Rechenwerke heute Stand der Technik , Folie 28

29 3.2.2 RISC-Architekturen Superskalare Architekturen (3) Technik eigentlich alt: übernommen von Supercomputern (CDC6600) gleichzeitige Anwendung von Operationen auf einzelne Komponenten eines Vektors (Vektorrechner) nicht alle Operationen sind Vektoroperationen skalare Werte müssen auch berechnet werden dennoch Prozessor mit mehreren Rechenwerken besser als skalarer, eben superskalar Anwendung auf Befehle benötigt Befehlsgruppierer Umordnung sequentiell einlaufender Befehle zur Laufzeit, um sie parallel auszuführen (dynamische Parallelisierung) allgemeines Prinzip superskalarer Rechner!! keine direkte Parallelität (vom Compiler erzeugt) Herausziehen von Parallelität aus sequentiellem Befehlsstrom in der Hardware , Folie 29

30 3.3 VLIW, Multi-Threading, EPIC (1) Im weiteren zeitlichen Verlauf neue Ansätze entwickelt VLIW, Multi-Threading, EPIC Generell die Frage, wer parallelisiert? die Software: d.h. Compiler (statisch) Vorteil: macht Hardware einfacher Vorteil: Software erfasst ganzes Programm Im Gegensatz zur Hardware, die nur Ausschnitt erfasst oder die Hardware: d.h. das Leitwerk im Prozessor (dynamisch) Vorteil: Hardware kann besser auf Situationen bedingt durch Verzweigungen reagieren Erfasst somit besser den dynamischen Ablauf , Folie 30

31 3.3.1 VLIW (1) VLIW (very long instruction word) Parallelität (paralleles Befehlswort) vom Compiler erzeugen Prozessor hat viele ALUs - jeder ALU genau einen Teil des langen Befehlswortes zuordnen Erfordert Analyse Datenabhängigkeitsgraph (DAG) Beispiel: 1: ADD R2, R3 R1 2: MUL R4, R5 R6 3: SUB R6, R1 R7 4: ADD R8, R9 R10 5: DIV R10, R6 R11 6: ADD R7, R11 R12 7: STORE R12 X DAG : ADD R2, R3 R1 2: MUL R4, R5 R6 4: ADD R8, R9 R10 3: SUB R6, R1 R7 5: DIV R10, R6 R11 6: ADD R7, R11 R12 7: STORE R12 X , Folie 31

32 3.3.2 EPIC (1) VLIW: heute häufig in Digitalen Signalprozessoren (DSP) eingesetzt In anderen Architekturen: kaum Bedeutung mehr EPIC (Explicitly Parallel Instruction Computing) Kombiniert superskalar und VLIW Compiler gruppiert wo möglich und gibt Hinweise (sog. Prädikation) an Hardware für dynamische Befehlsgruppierung Realisiert in INTEL Itanium-Architekturen , Folie 32

33 3.3.2 EPIC (2) Beispiel Weit voran getriebene spekulative Befehlsausführung Beide Verzweigungsstränge werden gleichzeitig ausgeführt EPIC vereint superskalaren und VLIW Ansatz Geht davon aus, dass Instruktionen 4 und 5 bzw. Instruktionen 8 und 9 auch keine Abhängigkeiten aufweisen , Folie 33

34 3.3.3 Multi-Threading (1) Multithreading-Architekturen (vielfädige Architekturen) Rechenwerke werden nicht mit einzelnen Befehlen gefüttert, sondern mit Befehlen aus Threads (Programmfäden) Thread? Abgespeckter Prozess Mehrere Threads gehören zu einem Prozess Threads untereinander weitgehend unabhängig Zuteilung Threads zu Rechenwerken (Scheduling) geschieht in der Hardware Thread 1 Rechenwerk 1 Prozess Thread 2 Rechenwerk 2 Thread 3 Rechenwerk , Folie 34

35 3.3.3 Multi-Threading (2) Simultanes Multi-Threading Variante davon bei INTEL als Hyper-Threading bezeichnet logische Prozessoren auf einem physikalischen Prozessor Antrieb für diese Entwicklung: überproportionaler Anstieg an elektrischer Leistung und Chip-Fläche gegenüber Zuwachs an Rechenleistung , Folie 35

36 3.3.3 Multi-Threading (3) Parallelismus auf Thread-Ebene Zeit-Scheiben Multi-Threading (time-slice multi-threading) Jeder Thread bekommt festes zeitliches Raster zugeteilt Nach Ablauf Umschalten auf anderen Thread Ereignis-gesteuertes Multi-Threading (switch-on-event multithreading) Schalten bei Ereignissen, die lange Latenzen nach sich ziehen Simultanes Multi-Threading ohne Schalten, sondern Auswählen logische Prozessor durch Architekturzustand charakterisiert Eigenen Registersatz Eigenen Befehlszähler Maschinenzustands-Register Eigenes Steuerregister für Unterbrechungen (APIC, advanced programmable interrupt controller) , Folie 36

37 3.3.3 Multi-Threading (5) Beispiel: Hyper-Threading Mischen der Instruktionen von zwei Threads und gleichzeitige Zuweisung auf Ressourcen Zwei aufeinander folgende Befehle aus verschiedenen Threads weisen zumeist keine Datenabhängigkeiten auf Verarbeitungsprinzip (vereinfacht) , Folie 37

38 3.4 Multi-Core-Architekturen (1) Leistungssteigerung bis ca Primär durch Drehen an der Taktschraube Sekundär durch intelligentere Architektur Seit 2003/04 Verlagerung hin zur Architektur , Folie 38

39 3.4 Multi-Core-Architekturen (2) Erhöhung des Taktes stößt an Grenzen wegen Energiebedarf , Folie 39

40 3.4 Multi-Core-Architekturen (3) Antwort: Multicore-Architekturen Mehrere Prozessorkerne auf einem Chip Grund: Technologie: Drehen Taktschraube kostet zu viel Energie (je höher Takt um so schwieriger gleichzeitig V dd zu senken) P 1 = 2 2 diss V dd Architektur: superskalares Prinzip ausgereizt: z.b. dynamische Sprungvorhersage bei mehr als 95% Trefferquote Wayt Gibbs, Spektrum d. Wissenschaft, 03/2005 f f (Frequenz) und V dd (Versorgungsspannung) miteinander korreliert Es war nie die Frage ob, sondern wann und warum: Wann würden die Hersteller von Mikroprozessoren gezwungen sein, einen kleineren Gang einzulegen, warum würde die scheinbar so eiserne Regel alle zwei Jahren ein schnellerer Chip nicht mehr durchzuhalten sein? Mehr Leistung erzielbar nur noch durch echte Parallelität , Folie 40

41 3.4 Multi-Core-Architekturen (4) Technologische Vorteile durch Multi-Core geringere Frequenz einzelner Kerne gleichmäßigere Verteilung der Wärme einzelne Kerne bei (Nicht-)Bedarf abschaltbar Wirtschaftliche Vorteile durch Multi-Core mehr als ein Kern auf einem DIE (Chipkern) spart Produktionskosten zusätzlicher Prozessorkern lässt den Aufwand für die Kühlung nur linear steigen Rechnerarchitektonische Gründe für Multi-Core bisherige Architekturmaßnahmen nahezu ausgereizt Justin R. Rattner, Leiter der Entwicklungsabteilung Systemtechnologie bei Intel»Wir haben das Gesetz des Quadrats gegen uns. Man benötigt exponentiellen Zuwachs der Transistorenzahl, damit steigt aber Chipfläche und Stromverbrauch, um auch nur geringe weitere Verbesserungen bei der parallelen Befehlsverarbeitung zu erreichen « , Folie 41

42 3.4 Multi-Core-Architekturen (5) Vergleich Architekturschema von Multi-Kern-Prozessor vs. Superskalar, Simultanes Multithreading 1 Programmzähler und 1 Registersatz n komplette CPUs n Programmzähler und n Registersätze n logische CPUs mehrere Ausführungs- einheiten Ausführungseinheiten (ALUs) genutzt von allen n logischen CPUs , Folie 42

43 3.4 Multi-Core-Architekturen (6) Beispiel: Intel Core i7 - Architektur verwendet simultanes Multi-Threading (SMT) Skaliert bis zur Anzahl unterstützter Threads 4 SMT Kerne, jeder unterstützt 2 Threads somit 8 logische Kerne , Folie 43

44 3.4 Multi-Core-Architekturen (7) Homogene und heterogene Multikern-Prozessoren Homogene Multikern-Prozessoren Lauter gleiche Kerne Beispiele: Intel Nehalem (Core i7) QuadCore, AMD Istanbul SixCore Heterogene Multikern-Prozessoren Cell PowerPC-Prozessor plus Spezial-Prozessoren für Vektoroperationen , Folie 44

45 3.4 Multi-Core-Architekturen (8) GPGPU (General Purpose Graphics Processing Unit) Graphikkarten-Prozessoren Bsp. GPGPU: GeForce 8080 mehrere Hundert z.t. spezialisierte Kerne , Folie 45

46 Einschub Praktikum Parallele Rechnerarchitekturen Bachelor-Praktikum Parallele Rechnerarchitekturen des Lehrstuhl 3 ab 5.Semester Intensivere Beschäftigung mit Multikern-Architekturen Vergleichende Bewertung verschiedener Multi-Kern-Architekturen Effiziente, architekturnahe Programmierung Umsetzung gängiger Parallelisierungsstrategien anhand ausgewählter Aufgaben (Berechnung Pi bzw. Verzerrbilder) , Folie 46

47 Einschub Praktikum Parallele Rechnerarchitekturen Ablauf Nachrichten-gekoppelte Architekturen Cluster / Multi-Cluster unter OpenMPI 2 Wochen: (4 SWS Einführung + 12 SWS Umsetzung) Homogene Multikern Prozessor-Architektur unter OpenMP 1-2 Wochen: (2 SWS Einführung + 6 SWS Umsetzung) Heterogene Multikern-Prozessorarchitektur am Beispiel Cell und GPGPU (Tesla NVIDIA) 3-4 Wochen: (6 SWS Einführung + 18 SWS Umsetzung) Applikationsspezifische Multikern-Prozessoren in FPGAs 6-7 Wochen: (12 SWS Einführung + 36 SWS Umsetzung) Im Parallelrechner-Labor des Lehrstuhl , Folie 47

48 3.4 Multi-Core-Architekturen (9) Von Multikern- zu Vielkern-Prozessoren GPUs sind vielleicht erst der Anfang Motivation für Vielkern-Prozessoren: Regel von Pollack Rechenleistungszuwachs ~ Anstieg Komplexität Doppelt so großer Einzelkern-Prozessor gemäß Regel von Pollack Verdopplung der Logik, d.h. Komplexität, im Prozessor bringt 40% mehr Leistung , Folie 48

49 3.4 Multi-Core-Architekturen (10) Pollacks Regel rückwärts angewandt Statt einen großen Kern zwei kleinere, halb so große Kerne Leistung nimmt invers quadratisch ab sqrt(1/2) = 70% Somit mit halber Fläche 70% der Leistung des größeren Systems pro Kern Aber nur noch halber Leistungsverbrauch pro Kern In der Summe mehr Leistung als vorher 2 x 70% = 140% Bei gleichem Leistungsverbrauch für 2 Kerne wie beim großen System Schlussfolgerung: einfachere, aber dafür immer mehr Kerne Die Zukunft wird es weisen, ob dies eintritt , Folie 49

Games with Cellular Automata auf Parallelen Rechnerarchitekturen

Games with Cellular Automata auf Parallelen Rechnerarchitekturen Bachelor Games with Cellular Automata auf Parallelen en ( ) Dipl.-Inf. Marc Reichenbach Prof. Dietmar Fey Ziel des s Paralleles Rechnen Keine akademische Nische mehr Vielmehr Allgemeingut für den Beruf

Mehr

Die Mikroprogrammebene eines Rechners

Die Mikroprogrammebene eines Rechners Die Mikroprogrammebene eines Rechners Das Abarbeiten eines Arbeitszyklus eines einzelnen Befehls besteht selbst wieder aus verschiedenen Schritten, z.b. Befehl holen Befehl dekodieren Operanden holen etc.

Mehr

TECHNISCHE HOCHSCHULE NÜRNBERG GEORG SIMON OHM Die Mikroprogrammebene eines Rechners Das Abarbeiten eines Arbeitszyklus eines einzelnen Befehls besteht selbst wieder aus verschiedenen Schritten, z.b. Befehl

Mehr

Instruktionssatz-Architektur

Instruktionssatz-Architektur Institut für Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg WS 2005/2006 Übersicht 1 Einleitung 2 Bestandteile der ISA 3 CISC / RISC Übersicht 1 Einleitung 2 Bestandteile

Mehr

Arbeitsfolien - Teil 4 CISC und RISC

Arbeitsfolien - Teil 4 CISC und RISC Vorlesung Informationstechnische Systeme zur Signal- und Wissensverarbeitung PD Dr.-Ing. Gerhard Staude Arbeitsfolien - Teil 4 CISC und RISC Institut für Informationstechnik Fakultät für Elektrotechnik

Mehr

Das Prinzip an einem alltäglichen Beispiel

Das Prinzip an einem alltäglichen Beispiel 3.2 Pipelining Ziel: Performanzsteigerung é Prinzip der Fließbandverarbeitung é Probleme bei Fließbandverarbeitung BB TI I 3.2/1 Das Prinzip an einem alltäglichen Beispiel é Sie kommen aus dem Urlaub und

Mehr

Vorlesung Rechnerarchitektur. Einführung

Vorlesung Rechnerarchitektur. Einführung Vorlesung Rechnerarchitektur Einführung Themen der Vorlesung Die Vorlesung entwickelt an Hand von zwei Beispielen wichtige Prinzipien der Prozessorarchitektur und der Speicherarchitektur: MU0 Arm Speicher

Mehr

Kap 4. 4 Die Mikroprogrammebene eines Rechners

Kap 4. 4 Die Mikroprogrammebene eines Rechners 4 Die Mikroprogrammebene eines Rechners Das Abarbeiten eines Arbeitszyklus eines einzelnen Befehls besteht selbst wieder aus verschiedenen Schritten (Befehl holen, Befehl dekodieren, Operanden holen etc.).

Mehr

Inhalt. Prozessoren. Curriculum Manfred Wilfling. 28. November HTBLA Kaindorf. M. Wilfling (HTBLA Kaindorf) CPUs 28. November / 9

Inhalt. Prozessoren. Curriculum Manfred Wilfling. 28. November HTBLA Kaindorf. M. Wilfling (HTBLA Kaindorf) CPUs 28. November / 9 Inhalt Curriculum 1.4.2 Manfred Wilfling HTBLA Kaindorf 28. November 2011 M. Wilfling (HTBLA Kaindorf) CPUs 28. November 2011 1 / 9 Begriffe CPU Zentraleinheit (Central Processing Unit) bestehend aus Rechenwerk,

Mehr

Tutorium Rechnerorganisation

Tutorium Rechnerorganisation Woche 7 Tutorien 3 und 4 zur Vorlesung Rechnerorganisation 1 Christian A. Mandery: KIT Universität des Landes Baden-Württemberg und nationales Grossforschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu

Mehr

11.0 Rechnerarchitekturen

11.0 Rechnerarchitekturen 11.0 Rechnerarchitekturen Die Ziele dieses Kapitels sind: Kennen lernen der Rechnerklassifikation nach Flynn Betrachtung von Prozessorarchitekturen auf verschiedenen Abstraktionsebenen - Befehlsarchitektur

Mehr

Name: Vorname: Matr.-Nr.: 4. a) RISC-Architekturen müssen zur Decodierung von Maschinenbefehlen stets ein mikroprogrammierbares Steuerwerk verwenden.

Name: Vorname: Matr.-Nr.: 4. a) RISC-Architekturen müssen zur Decodierung von Maschinenbefehlen stets ein mikroprogrammierbares Steuerwerk verwenden. Name: Vorname: Matr.-Nr.: 4 Aufgabe 1 (8 Punkte) Entscheiden Sie, welche der folgenden Aussagen zum Thema CISC/RISC-Prinzipien korrekt sind. a) RISC-Architekturen müssen zur Decodierung von Maschinenbefehlen

Mehr

Johann Wolfgang Goethe-Universität

Johann Wolfgang Goethe-Universität Flynn sche Klassifikation SISD (single instruction, single data stream): IS IS CU PU DS MM Mono (Mikro-)prozessoren CU: Control Unit SM: Shared Memory PU: Processor Unit IS: Instruction Stream MM: Memory

Mehr

Tutorium Rechnerorganisation

Tutorium Rechnerorganisation Woche 3 Tutorien 3 und 4 zur Vorlesung Rechnerorganisation 1 Christian A. Mandery: KIT Universität des Landes Baden-Württemberg und nationales Grossforschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu

Mehr

Prozessorarchitektur. Kapitel 1 - Wiederholung. M. Schölzel

Prozessorarchitektur. Kapitel 1 - Wiederholung. M. Schölzel Prozessorarchitektur Kapitel - Wiederholung M. Schölzel Wiederholung Kombinatorische Logik: Ausgaben hängen funktional von den Eingaben ab. x x 2 x 3 z z = f (x,,x n ) z 2 z m = f m (x,,x n ) Sequentielle

Mehr

L3. Datenmanipulation

L3. Datenmanipulation L Datenmanipulation Aufbau eines Computers Prozessor, Arbeitsspeicher und system Maschinensprachen und Maschinenbefehle Beispiel einer vereinfachten Maschinensprache Ausführung des Programms und Befehlszyklus

Mehr

Philipp Grasl PROZESSOREN

Philipp Grasl PROZESSOREN 1 PROZESSOREN INHALTSVERZEICHNIS Definition/Verwendung Prozessor Historische Entwicklung Prozessor Aufbau Prozessor Funktionsweise Prozessor Steuerung/Maschinenbefehle Prozessorkern Prozessortakt 2 DEFINITION

Mehr

Die Sandy-Bridge Architektur

Die Sandy-Bridge Architektur Fakultät Informatik - Institut für Technische Informatik - Professur für VLSI-Entwurfssysteme, Diagnostik und Architektur Die Sandy-Bridge Architektur René Arnold Dresden, 12. Juli 2011 0. Gliederung 1.

Mehr

Technische Informatik 1 - HS 2016

Technische Informatik 1 - HS 2016 Institut für Technische Informatik und Kommunikationsnetze Prof. L. Thiele Technische Informatik 1 - HS 2016 Lösungsvorschläge für Übung 8 Datum: 8. 9. 12. 2016 1 Instruktionsparallelität VLIW Gegeben

Mehr

Neue Prozessor-Architekturen für Desktop-PC

Neue Prozessor-Architekturen für Desktop-PC Neue Prozessor-Architekturen für Desktop-PC Bernd Däne Technische Universität Ilmenau Fakultät I/A - Institut TTI Postfach 100565, D-98684 Ilmenau Tel. 0-3677-69-1433 bdaene@theoinf.tu-ilmenau.de http://www.theoinf.tu-ilmenau.de/ra1/

Mehr

HYPER - THREADING HYPER-THREADING TECHNOLOGY SERGE FOPOUSSI. Serge Fopoussi UNIVERSITÄT BREMEN SEMINAR RECHNERARCHITEKTUR. Prof. Dr.

HYPER - THREADING HYPER-THREADING TECHNOLOGY SERGE FOPOUSSI. Serge Fopoussi UNIVERSITÄT BREMEN SEMINAR RECHNERARCHITEKTUR. Prof. Dr. SEMINAR RECHNERARCHITEKTUR HYPER-THREADING TECHNOLOGY SERGE FOPOUSSI SEMINAR RECHNERARCHITEKTUR GLIEDERUNG 1. BACKGROUND : Arbeitsweise eines von Neumann-Rechners 2. ENTWICKLUNG VON PROZESSOREN 3. HYPER-THREADING

Mehr

2. Computer (Hardware) K. Bothe, Institut für Informatik, HU Berlin, GdP, WS 2015/16

2. Computer (Hardware) K. Bothe, Institut für Informatik, HU Berlin, GdP, WS 2015/16 2. Computer (Hardware) K. Bothe, Institut für Informatik, HU Berlin, GdP, WS 2015/16 Version: 14. Okt. 2015 Computeraufbau: nur ein Überblick Genauer: Modul Digitale Systeme (2. Semester) Jetzt: Grundverständnis

Mehr

Teil 1: Prozessorstrukturen

Teil 1: Prozessorstrukturen Teil 1: Prozessorstrukturen Inhalt: Mikroprogrammierung Assemblerprogrammierung Motorola 6809: ein einfacher 8-Bit Mikroprozessor Mikrocontroller Koprozessoren CISC- und RISC-Prozessoren Intel Pentium

Mehr

Ein kleiner Einblick in die Welt der Supercomputer. Christian Krohn 07.12.2010 1

Ein kleiner Einblick in die Welt der Supercomputer. Christian Krohn 07.12.2010 1 Ein kleiner Einblick in die Welt der Supercomputer Christian Krohn 07.12.2010 1 Vorschub: FLOPS Entwicklung der Supercomputer Funktionsweisen von Supercomputern Zukunftsvisionen 2 Ein Top10 Supercomputer

Mehr

Rechnergrundlagen SS 2007. 11. Vorlesung

Rechnergrundlagen SS 2007. 11. Vorlesung Rechnergrundlagen SS 2007 11. Vorlesung Inhalt Evaluation der Lehre (Auswertung) Synchroner/asynchroner Systembus Kontrollfluss/Datenfluss RISC vs. CISC Speicherhierarchie Cache Lesen Schreiben Überschreiben

Mehr

CPU. Dr.-Ing. Volkmar Sieh. Institut für Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg SS 2011

CPU. Dr.-Ing. Volkmar Sieh. Institut für Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg SS 2011 CPU Dr.-Ing. Volkmar Sieh Institut für Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg SS 2011 CPU 1/62 2012-02-29 CPU Übersicht: Pipeline-Aufbau Pipeline- Hazards CPU

Mehr

Multicore Architektur vs. Amdahl`s Gesetz

Multicore Architektur vs. Amdahl`s Gesetz Fakultätsname Informatik, Professur Technische Informatik Multicore Architektur vs. Amdahl`s Gesetz Dresden, 21.Juli.2010 Motivation Veröffentlichung von IEEE Computer 2008 von Mark D. Hill (University

Mehr

RO-Tutorien 3 / 6 / 12

RO-Tutorien 3 / 6 / 12 RO-Tutorien 3 / 6 / 12 Tutorien zur Vorlesung Rechnerorganisation Christian A. Mandery WOCHE 4 AM 21.05.2013 KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft

Mehr

Multicore-Architekturen

Multicore-Architekturen Universität Erlangen- Nürnberg Technische Universität München Universität Stuttgart Multicore-Architekturen Vortrag im Rahmen der Ferienakademie 2009 Kurs 1: Programmierkonzepte für Multi-Core Rechner

Mehr

Steuerwerk einer CPU. Einführung in die Technische Informatik Falko Dressler, Stefan Podlipnig Universität Innsbruck

Steuerwerk einer CPU. Einführung in die Technische Informatik Falko Dressler, Stefan Podlipnig Universität Innsbruck Steuerwerk einer CPU Einführung in die Technische Informatik Falko Dressler, Stefan Podlipnig Universität Innsbruck Übersicht Implementierung des Datenpfads Direkte Implementierung Mikroprogrammierung

Mehr

CISC-RISC-EPIC. eine Zwangs-Evolution?! Jörg Spilling - DECUS Frankfurter Treffen Seite: 1

CISC-RISC-EPIC. eine Zwangs-Evolution?! Jörg Spilling - DECUS Frankfurter Treffen Seite: 1 CISC-RISC-EPIC eine Zwangs-Evolution?! Jörg Spilling - DECUS Frankfurter Treffen 2008 www.equicon.de Seite: 1 Heutiges Programm: CISC-RISC-EPIC - Begriffserklärung von Neumann Rechnerarchitektur Evolution

Mehr

1. Übung - Einführung/Rechnerarchitektur

1. Übung - Einführung/Rechnerarchitektur 1. Übung - Einführung/Rechnerarchitektur Informatik I für Verkehrsingenieure Aufgaben inkl. Beispiellösungen 1. Aufgabe: Was ist Hard- bzw. Software? a Computermaus b Betriebssystem c Drucker d Internetbrowser

Mehr

IT-Infrastruktur, WS 2014/15, Hans-Georg Eßer

IT-Infrastruktur, WS 2014/15, Hans-Georg Eßer ITIS-D'' IT-Infrastruktur WS 2014/15 Hans-Georg Eßer Dipl.-Math., Dipl.-Inform. Foliensatz D'': Rechnerstrukturen, Teil 3 v1.0, 2014/11/27 Folie D''-1 Dieser Foliensatz Vorlesungsübersicht Seminar Wiss.

Mehr

Teil Rechnerarchitekturen M07. Multiprogramming und Tasking, Flynn-Klassifikation, Parallelismus. Corinna Schmitt

Teil Rechnerarchitekturen M07. Multiprogramming und Tasking, Flynn-Klassifikation, Parallelismus. Corinna Schmitt Teil Rechnerarchitekturen M07 Multiprogramming und Tasking, Flynn-Klassifikation, Parallelismus Corinna Schmitt corinna.schmitt@unibas.ch Multiprogrammierung und -Tasking 2015 Corinna Schmitt Teil Rechnerarchitekturen

Mehr

Mikroprozessor bzw. CPU (Central Processing. - Steuerwerk (Control Unit) - Rechenwerk bzw. ALU (Arithmetic Logic Unit)

Mikroprozessor bzw. CPU (Central Processing. - Steuerwerk (Control Unit) - Rechenwerk bzw. ALU (Arithmetic Logic Unit) Der Demo-Computer besitzt einen 4Bit-Mikroprozessor. Er kann entsprechend Wörter mit einer Breite von 4 Bits in einem Schritt verarbeiten. Die einzelnen Schritte der Abarbeitung werden durch Lampen visualisiert.

Mehr

Was ist die Performance Ratio?

Was ist die Performance Ratio? Was ist die Performance Ratio? Wie eben gezeigt wäre für k Pipeline Stufen und eine große Zahl an ausgeführten Instruktionen die Performance Ratio gleich k, wenn jede Pipeline Stufe dieselbe Zeit beanspruchen

Mehr

Grundlagen der Rechnerarchitektur

Grundlagen der Rechnerarchitektur Grundlagen der Rechnerarchitektur Einführung Unsere erste Amtshandlung: Wir schrauben einen Rechner auf Grundlagen der Rechnerarchitektur Einführung 2 Vorlesungsinhalte Binäre Arithmetik MIPS Assembler

Mehr

Datenpfad einer einfachen MIPS CPU

Datenpfad einer einfachen MIPS CPU Datenpfad einer einfachen MIPS CPU Zugriff auf den Datenspeicher Grundlagen der Rechnerarchitektur Prozessor 19 Betrachten nun Load und Store Word Erinnerung, Instruktionen lw und sw sind vom I Typ Format:

Mehr

Rechner Architektur. Martin Gülck

Rechner Architektur. Martin Gülck Rechner Architektur Martin Gülck Grundlage Jeder Rechner wird aus einzelnen Komponenten zusammengesetzt Sie werden auf dem Mainboard zusammengefügt (dt.: Hauptplatine) Mainboard wird auch als Motherboard

Mehr

Kap.2 Befehlsschnittstelle. Prozessoren, externe Sicht

Kap.2 Befehlsschnittstelle. Prozessoren, externe Sicht Kap.2 Befehlsschnittstelle Prozessoren, externe Sicht 2.1 elementare Datentypen, Operationen 2.2 logische Speicherorganisation 2.3 Maschinenbefehlssatz 2.4 Klassifikation von Befehlssätzen 2.5 Unterbrechungen

Mehr

Architektur paralleler Plattformen

Architektur paralleler Plattformen Architektur paralleler Plattformen Freie Universität Berlin Fachbereich Informatik Wintersemester 2012/2013 Proseminar Parallele Programmierung Mirco Semper, Marco Gester Datum: 31.10.12 Inhalt I. Überblick

Mehr

Rechnerarchitektur und Betriebssysteme (CS201): Multiprogramming und -Tasking Flynn-Klassifikation, ILP, VLIW

Rechnerarchitektur und Betriebssysteme (CS201): Multiprogramming und -Tasking Flynn-Klassifikation, ILP, VLIW Rechnerarchitektur und Betriebssysteme (CS201): Multiprogramming und -Tasking Flynn-Klassifikation, ILP, VLIW 26. Oktober 2012 Prof. Dr. Christian Tschudin Departement Informatik, Universität Basel Uebersicht

Mehr

Mikroprozessor als universeller digitaler Baustein

Mikroprozessor als universeller digitaler Baustein 2. Mikroprozessor 2.1 Allgemeines Mikroprozessor als universeller digitaler Baustein Die zunehmende Integrationsdichte von elektronischen Schaltkreisen führt zwangsläufige zur Entwicklung eines universellen

Mehr

Inhaltsverzeichnis 1 Grundlagen Grundlegende Prozessortechniken...16

Inhaltsverzeichnis 1 Grundlagen Grundlegende Prozessortechniken...16 Inhaltsverzeichnis 1 Grundlagen...1 1.1 Mikroprozessoren, Mikrocontroller, Signalprozessoren und SoC...1 1.2 PC-Systeme...3 1.3 Eingebettete und ubiquitäre Systeme...5 1.4 Leistungsmessung und Leistungsvergleich...11

Mehr

Grafikkarten-Architektur

Grafikkarten-Architektur > Grafikkarten-Architektur Parallele Strukturen in der GPU Name: Sebastian Albers E-Mail: s.albers@wwu.de 2 > Inhalt > CPU und GPU im Vergleich > Rendering-Pipeline > Shader > GPGPU > Nvidia Tesla-Architektur

Mehr

IT für Führungskräfte. Zentraleinheiten. 11.04.2002 Gruppe 2 - CPU 1

IT für Führungskräfte. Zentraleinheiten. 11.04.2002 Gruppe 2 - CPU 1 IT für Führungskräfte Zentraleinheiten 11.04.2002 Gruppe 2 - CPU 1 CPU DAS TEAM CPU heißt Central Processing Unit! Björn Heppner (Folien 1-4, 15-20, Rollenspielpräsentation 1-4) Harald Grabner (Folien

Mehr

1 Einleitung zum RISC Prozessor

1 Einleitung zum RISC Prozessor 1 Einleitung zum RISC Prozessor Wesentliche Entwicklungsschritte der Computer-Architekturen [2, 3]: Familienkonzept von IBM mit System/360 (1964) und DEC mit PDP-8 (1965) eingeführt: Gleiche Hardware-Architekturen

Mehr

Teil VIII Von Neumann Rechner 1

Teil VIII Von Neumann Rechner 1 Teil VIII Von Neumann Rechner 1 Grundlegende Architektur Zentraleinheit: Central Processing Unit (CPU) Ausführen von Befehlen und Ablaufsteuerung Speicher: Memory Ablage von Daten und Programmen Read Only

Mehr

Rechneraufbau und Rechnerstrukturen

Rechneraufbau und Rechnerstrukturen Rechneraufbau und Rechnerstrukturen von Walter Oberschelp RWTH Aachen und Gottfried Vossen Universität Münster 10. Auflage c 2006 R. Oldenbourg Verlag GmbH, München Inhaltsverzeichnis Auszug... x... aus

Mehr

Parallele Rechnerarchitekturen. Bisher behandelte: Vorlesung 7 (theoretische Grundkonzepte) Nun konkrete Ausprägungen

Parallele Rechnerarchitekturen. Bisher behandelte: Vorlesung 7 (theoretische Grundkonzepte) Nun konkrete Ausprägungen Parallele Rechnerarchitekturen Bisher behandelte: Vorlesung 7 (theoretische Grundkonzepte) Nun konkrete Ausprägungen Pipelining Beispiel aus dem realen Leben (;-)) Wäschewaschen in WG Füllen der Waschmaschine

Mehr

J. Reinier van Kampenhout Robert Hilbrich Hans-Joachim Goltz. Workshop Echtzeit Fraunhofer FIRST

J. Reinier van Kampenhout Robert Hilbrich Hans-Joachim Goltz. Workshop Echtzeit Fraunhofer FIRST Modellbasierte Generierung von statischen Schedules für sicherheitskritische, eingebettete Systeme mit Multicore Prozessoren und harten Echtzeitanforderungen J. Reinier van Kampenhout Robert Hilbrich Hans-Joachim

Mehr

früher: CISC ( Complex Instruction Set Computer )

früher: CISC ( Complex Instruction Set Computer ) Hochleistungs-CPUs früher: CISC ( Complex Instruction Set Computer ) mächtige Instruktionssätze zur Unterstützung von Hochsprachenkonstrukten durch Hardware (Idee: don t do in software what you can do

Mehr

Teil 1: Prozessorstrukturen

Teil 1: Prozessorstrukturen Teil 1: Prozessorstrukturen Inhalt: Mikroprogrammierung Assemblerprogrammierung Motorola 6809: ein einfacher 8-Bit Mikroprozessor Mikrocontroller Koprozessoren CISC- und RISC-Prozessoren Intel Pentium

Mehr

Untersuchung und Vorstellung moderner Grafikchiparchitekturen

Untersuchung und Vorstellung moderner Grafikchiparchitekturen Fakultät Informatik, Institut für Technische Informatik, Professur für VLSI-Entwurfssysteme, Diagnostik und Architektur Untersuchung und Vorstellung moderner Grafikchiparchitekturen Hauptseminar Technische

Mehr

2.2 Rechnerorganisation: Aufbau und Funktionsweise

2.2 Rechnerorganisation: Aufbau und Funktionsweise 2.2 Rechnerorganisation: Aufbau und Funktionsweise é Hardware, Software und Firmware é grober Aufbau eines von-neumann-rechners é Arbeitsspeicher, Speicherzelle, Bit, Byte é Prozessor é grobe Arbeitsweise

Mehr

Institut für Informatik Prof. Dr. D. Hogrefe Dipl.-Inf. R. Soltwisch, Dipl.-Inform. M. Ebner, Prof. Dr. D. Hogrefe Informatik II - SS 04.

Institut für Informatik Prof. Dr. D. Hogrefe Dipl.-Inf. R. Soltwisch, Dipl.-Inform. M. Ebner, Prof. Dr. D. Hogrefe Informatik II - SS 04. Kontrollstrukturen Informatik II SS 2004 Teil 4: Assembler Programmierung Sprünge (bedingte und unbedingte) If-then-else, Case Loop (n Durchläufe) While (Abbruchbedingung) Institut für Informatik Prof.

Mehr

das Grundprinzip findet sich auch heute noch, trotz aller gewaltigen technologischen Veränderungen, in modernen Mikroprozessoren D.

das Grundprinzip findet sich auch heute noch, trotz aller gewaltigen technologischen Veränderungen, in modernen Mikroprozessoren D. 1.1 von Neumann sche Universalrechenautomat (1) Urvater der meisten Rechner ist der klassische Universalrechenautomat (URA) geht zurück auf John von Neumann, Goldstine, Barks (Princeton, 1946) das Grundprinzip

Mehr

Inhaltsverzeichnis. Vorwort...VII. Vorwort zur 2. Auflage... IX. Inhaltsverzeichnis... XI

Inhaltsverzeichnis. Vorwort...VII. Vorwort zur 2. Auflage... IX. Inhaltsverzeichnis... XI Vorwort...VII Vorwort zur 2. Auflage... IX Inhaltsverzeichnis... XI 1 Grundlagen...1 1.1 Mikroprozessoren, Mikrocontroller, Signalprozessoren und SoC...1 1.2 PC-Systeme...3 1.3 Eingebettete und ubiquitäre

Mehr

Vorlesung Rechnerarchitektur. Mehrkernarchitekturen

Vorlesung Rechnerarchitektur. Mehrkernarchitekturen Mehrkernarchitekturen Einführung Die Entwicklung von Mikroprozessoren war viele Jahre vom Prinzip des minimalen Hardwareaufwandes geprägt. (Intel 4004 mit 1000 Transistoren...) Die Entwicklung der Halbleitertechnik

Mehr

4 Der Von-Neumann-Rechner als Grundkonzept für Rechnerstrukturen

4 Der Von-Neumann-Rechner als Grundkonzept für Rechnerstrukturen 4 Der Von-Neumann-Rechner als Grundkonzept für Rechnerstrukturen Ein Rechner besteht aus den folgenden Bestandteilen: Rechenwerk Rechenoperationen wie z.b. Addition, Multiplikation logische Verknüpfungen

Mehr

EHP Einführung Projekt A

EHP Einführung Projekt A Volker Dörsing EHP Einführung Projekt A email: doersing@uni-jena.de praktische Übung www: http://users.minet.uni-jena.de/~ehp-head Vorbereitung, Durchführung, Kolloquium Infos zur Veranstaltung, Versuchsanleitung

Mehr

Hyper-Threading oder Simultaneous Multithreading

Hyper-Threading oder Simultaneous Multithreading Hyper-Threading oder Simultaneous Multithreading ein Referat von Timo Richter im Fach Rechnerstrukturen bei Prof. Dr. Risse an der Hochschule Bremen 1. EINLEITUNG 2 2. VORBETRACHTUNG 2 2.1 Threads 3 2.2

Mehr

Multicore Herausforderungen an das Software-Engineering. Prof. Dr.-Ing. Michael Uelschen Hochschule Osnabrück 15.09.2010

Multicore Herausforderungen an das Software-Engineering. Prof. Dr.-Ing. Michael Uelschen Hochschule Osnabrück 15.09.2010 Multicore Herausforderungen an das Software-Engineering Prof. Dr.-Ing. Michael Uelschen Hochschule Osnabrück 15.09.2010 Inhalt _ Motivation _ Herausforderung 1: Hardware _ Herausforderung 2: Software-Partitionierung

Mehr

Praxiseinheit: Realisierung einer hardwarebeschleunigten Disparitätenberechnung zur automatischen Auswertung von Stereobildern

Praxiseinheit: Realisierung einer hardwarebeschleunigten Disparitätenberechnung zur automatischen Auswertung von Stereobildern Praxiseinheit: Realisierung einer hardwarebeschleunigten Disparitätenberechnung zur automatischen Auswertung von Stereobildern Institut für Betriebssysteme und Rechnerverbund TU Braunschweig 25.10., 26.10.

Mehr

Fragenkatalog Computersysteme Test 25. April 2008

Fragenkatalog Computersysteme Test 25. April 2008 Fragenkatalog Computersysteme Test 25. April 2008 Wolfgang Schreiner Wolfgang.Schreiner@risc.uni-linz.ac.at 6. April 2008 Der Test besteht aus 4 Fragen aus dem folgenden Katalog (mit eventuell leichten

Mehr

Leistung und Pipelining. Einführung in die Technische Informatik Falko Dressler, Stefan Podlipnig Universität Innsbruck

Leistung und Pipelining. Einführung in die Technische Informatik Falko Dressler, Stefan Podlipnig Universität Innsbruck Leistung und Pipelining Einführung in die Technische Informatik Falko Dressler, Stefan Podlipnig Universität Innsbruck Übersicht Leistung Leistungsmessung Leistungssteigerung Pipelining Einführung in die

Mehr

Grundlagen der Parallelisierung

Grundlagen der Parallelisierung Grundlagen der Parallelisierung Philipp Kegel, Sergei Gorlatch AG Parallele und Verteilte Systeme Institut für Informatik Westfälische Wilhelms-Universität Münster 3. Juli 2009 Inhaltsverzeichnis 1 Einführung

Mehr

Mikrocomputertechnik. Einadressmaschine

Mikrocomputertechnik. Einadressmaschine technik Einadressmaschine Vorlesung 2. Mikroprozessoren Einführung Entwicklungsgeschichte Mikroprozessor als universeller Baustein Struktur Architektur mit Akku ( Nerdi) FH Augsburg, Fakultät für Elektrotechnik

Mehr

Rechneraufbau und Rechnerstrukturen

Rechneraufbau und Rechnerstrukturen Rechneraufbau und Rechnerstrukturen von Prof. Dr. Walter Oberschelp, RWTH Aachen und Prof. Dr. Gottfried Vossen, Universität Münster 7, vollständig überarbeitete und aktualisierte Auflage R.Oldenbourg

Mehr

Konzepte und Methoden der Systemsoftware. Aufgabe 1: Polling vs Interrupts. SoSe bis P

Konzepte und Methoden der Systemsoftware. Aufgabe 1: Polling vs Interrupts. SoSe bis P SoSe 2014 Konzepte und Methoden der Systemsoftware Universität Paderborn Fachgebiet Rechnernetze Präsenzübung 3(Musterlösung) 2014-05-05 bis 2014-05-09 Aufgabe 1: Polling vs Interrupts (a) Erläutern Sie

Mehr

INFORMATIK Oberstufe. Funktionsweise eines Rechners

INFORMATIK Oberstufe. Funktionsweise eines Rechners INFORMATIK Oberstufe Funktionsweise eines Rechners Lehrplan Inf 12.3 (ca. 17 Std.): Grundlegende Kenntnisse über den Aufbau eines Rechners und seiner prinzipiellen Funktionsweise helfen den Schülern, den

Mehr

Umsetzung in aktuellen Prozessoren

Umsetzung in aktuellen Prozessoren Kapitel 8: Umsetzung in aktuellen Prozessoren 4 Realisierung elementarer Funktionen Reihenentwicklung Konvergenzverfahren 5 Unkonventionelle Zahlensysteme redundante Zahlensysteme Restklassen-Zahlensysteme

Mehr

3AA. Prof. Dr. Wolfgang P. Kowalk. Universität Oldenburg WS 2005/2006

3AA. Prof. Dr. Wolfgang P. Kowalk. Universität Oldenburg WS 2005/2006 3AA Prof. Dr. Wolfgang P. Kowalk Universität Oldenburg WS 2005/2006 Version vom 24.10.2005 Übersicht Einführung in maschinennahe Programmierung Verständnis für grundlegende Vorgänge im Computer Jedes Programm

Mehr

RO II Übungen ohne Lösungen V16

RO II Übungen ohne Lösungen V16 RO II Übungen ohne Lösungen V16 HRI 23.04.2015 1 Übung 1 (149P) Superskalarität, Parallelität Allgemein, Dynamische Befehlsausführung 1.1 Aufgabe: Superskalarität (27P) 1.) Was bedeutet der Begriff Superskalarität?

Mehr

Rechnerarchitektur. Dr. Andreas Müller TU Chemnitz Fakultät für Informatik Fakultätsrechen- und Informationszentrum anmu@informatik.tu-chemnitz.

Rechnerarchitektur. Dr. Andreas Müller TU Chemnitz Fakultät für Informatik Fakultätsrechen- und Informationszentrum anmu@informatik.tu-chemnitz. Rechnerarchitektur Dr. Andreas Müller TU Chemnitz Fakultät für Informatik Fakultätsrechen- und Informationszentrum anmu@informatik.tu-chemnitz.de Rechnerarchitektur Dr. Andreas Müller TU Chemnitz Fakultät

Mehr

CISC ( Complex Instruction Set Computer ) mächtige Instruktionssätze zur Unterstützung von Hochsprachenkonstrukten

CISC ( Complex Instruction Set Computer ) mächtige Instruktionssätze zur Unterstützung von Hochsprachenkonstrukten Hochleistungs-CPUs CISC ( Complex Instruction Set Computer ) mächtige Instruktionssätze zur Unterstützung von Hochsprachenkonstrukten durch Hardware (Idee: don t do in software what you can do in hardware

Mehr

FAKULTÄT FÜR INFORMATIK

FAKULTÄT FÜR INFORMATIK FAKULTÄT FÜR INFORMATIK TECHNISCHE UNIVERSITÄT MÜNCHEN Lehrstuhl für Rechnertechnik und Rechnerorganisation Prof. Dr. Arndt Bode Einführung in die Rechnerarchitektur Wintersemester 2016/2017 Tutorübung

Mehr

Einführung (1) Erster funktionsfähiger programmgesteuerter Rechenautomat Z3, fertiggestellt 1941 Bild: Nachbau im Deutschen Museum München

Einführung (1) Erster funktionsfähiger programmgesteuerter Rechenautomat Z3, fertiggestellt 1941 Bild: Nachbau im Deutschen Museum München Einführung (1) Erster funktionsfähiger programmgesteuerter Rechenautomat Z3, fertiggestellt 1941 Bild: Nachbau im Deutschen Museum München Einführung (2) Architektur des Haswell- Prozessors (aus c t) Einführung

Mehr

Auch hier wieder. Control. RegDst Branch MemRead MemtoReg ALUOp MemWrite ALUSrc RegWrite. Instruction[31 26] (also: das Opcode Field der Instruktion)

Auch hier wieder. Control. RegDst Branch MemRead MemtoReg ALUOp MemWrite ALUSrc RegWrite. Instruction[31 26] (also: das Opcode Field der Instruktion) Auch hier wieder Aus voriger Wahrheitstabelle lässt sich mechanisch eine kombinatorische Schaltung generieren, die wir im Folgenden mit dem Control Symbol abstrakt darstellen. Instruction[31 26] (also:

Mehr

Grundlagen der Informatik

Grundlagen der Informatik Grundlagen der Informatik Logische und mathematische Grundlagen Digitale Daten Computerprogramme als Binärdaten von Neumann-Rechnerarchitektur Einführung in Maschinen-Code Speicherorganisation Betriebssysteme

Mehr

Einführung in die Systemprogrammierung

Einführung in die Systemprogrammierung Einführung in die Systemprogrammierung Speedup: Grundlagen der Performanz Prof. Dr. Christoph Reichenbach Fachbereich 12 / Institut für Informatik 30. April 2015 Eine Aufgabe aus der Praxis Gegeben ein

Mehr

Implementierung: Direkt abgebildeter Cache

Implementierung: Direkt abgebildeter Cache Implementierung: Direkt abgebildeter Cache Direkt-abgebildeter Cache von 64 KB mit 16-Byte-Linien (Adress- und Wortlänge 32 Bit, Byteadressierung) Address (showing bit positions) 31 30 29 28..... 19 18

Mehr

Technische Informatik I, SS 2001

Technische Informatik I, SS 2001 Technische Informatik I SS 2001 PD Dr. A. Strey Abteilung Neuroinformatik Universität Ulm Inhalt Einführung: Überblick über die historische Entwicklung der Rechnerhardware Teil 1: Digitale Logik kurzer

Mehr

OpenMP - Threading- Spracherweiterung für C/C++ Matthias Klein, Michael Pötz Systemprogrammierung 15. Juni 2009

OpenMP - Threading- Spracherweiterung für C/C++ Matthias Klein, Michael Pötz Systemprogrammierung 15. Juni 2009 - Threading- Spracherweiterung für C/C++ Matthias Klein, Michael Pötz Systemprogrammierung 15. Juni 2009 Grundlagen der Parallelen Programmierung Hardware Threads vs. Prozesse Kritische Abschnitte Lange

Mehr

Mikrocontroller und Mikroprozessoren

Mikrocontroller und Mikroprozessoren examen.press Mikrocontroller und Mikroprozessoren Bearbeitet von Theo Ungerer 3. Aufl. 2010. Taschenbuch. XVII, 470 S. Paperback ISBN 978 3 642 05397 9 Format (B x L): 15,5 x 23,5 cm Gewicht: 719 g Weitere

Mehr

z/architektur von IBM

z/architektur von IBM von IBM Grundzüge einer modernen Architektur Von Matthias Fäth Gliederung Geschichtlicher Überblick Neuestes Flaggschiff Namensgebung Überblick Warum 64-Bit große Register Kompatibilität zu älteren Systemen

Mehr

Allgemeine Speed-Up Formel. Gesetz von Gustafson-Barsis

Allgemeine Speed-Up Formel. Gesetz von Gustafson-Barsis 5 Leistungsanalyse Parallelrechner Allgemeine Speed-Up Formel Amdahlsche Gesetz Gesetz von Gustafson-Barsis Karp-Flatt Maß 1 5.1 Allgemeine Speed-Up Formel Allgemeine Speed-Up Formel Speedup = Sequentielle

Mehr

Projektseminar Parallele Programmierung

Projektseminar Parallele Programmierung HTW Dresden WS 2014/2015 Organisatorisches Praktikum, 4 SWS Do. 15:00-18:20 Uhr, Z136c, 2 Doppelstunden o.g. Termin ist als Treffpunkt zu verstehen Labore Z 136c / Z 355 sind Montag und Donnerstag 15:00-18:20

Mehr

Der Toy Rechner Ein einfacher Mikrorechner

Der Toy Rechner Ein einfacher Mikrorechner Der Toy Rechner Ein einfacher Mikrorechner Dr. Gerald Heim Haid-und-Neu-Str. 10-14 76131 Karlsruhe 16. Mai 1995 Allgemeine Informationen 2 Quelle: Phil Kopmann, Microcoded versus Hard-Wired Logic, Byte

Mehr

Programmierung Paralleler Prozesse

Programmierung Paralleler Prozesse Vorlesung Programmierung Paralleler Prozesse Prof. Dr. Klaus Hering Sommersemester 2007 HTWK Leipzig, FB IMN Sortierproblem Gegeben: Menge M mit einer Ordnungsrelation (etwa Menge der reellen Zahlen) Folge

Mehr

MikroController und Mikroprozessoren

MikroController und Mikroprozessoren Uwe Brinkschulte Theo Ungerer MikroController und Mikroprozessoren 2. überarbeitete Auflage Mit 212 Abbildungen und 41 Tabellen Springer Inhaltsverzeichnis Vorwort Vorwort zur 2. Auflage Inhaltsverzeichnis

Mehr

Echtzeit Videoverarbeitung

Echtzeit Videoverarbeitung Hardwareplattformen für Echtzeit Videoverarbeitung Herbert Thoma Seite 1 Gliederung Echtzeitanforderungen Prozessorarchitekturen Grundlagen Pipelining Parallele Befehlsausführung Systemkomponenten Speicher

Mehr

1 Proseminar: Konzepte von Betriebssystem-Komponenten. Thema: Server OS AS/400 Referend: Sand Rainer. Server OS - AS/400

1 Proseminar: Konzepte von Betriebssystem-Komponenten. Thema: Server OS AS/400 Referend: Sand Rainer. Server OS - AS/400 1 Proseminar: Konzepte von Betriebssystem-Komponenten Server OS - AS/400 Gliederung Was ist eine AS/400? Wie ist OS/400 aufgebaut? Was kann eine AS/400? Bsp.: Logische Partitionierung 2 Proseminar: Konzepte

Mehr

Fragestellung: Wie viele CPU Kerne sollte eine VM unter Virtualbox zugewiesen bekommen?

Fragestellung: Wie viele CPU Kerne sollte eine VM unter Virtualbox zugewiesen bekommen? Fragestellung: Wie viele CPU Kerne sollte eine VM unter Virtualbox zugewiesen bekommen? Umgebung Getestet wurde auf einem Linux-System mit voller invis-server Installation, auf dem eine virtuelle Maschine

Mehr

Komponenten & Programmierung von Automatisierungssystemen Softwareentwicklung für Mikrocontroller

Komponenten & Programmierung von Automatisierungssystemen Softwareentwicklung für Mikrocontroller Komponenten & Programmierung von Automatisierungssystemen Softwareentwicklung für Mikrocontroller Prof. Dr.-Ing. Tilman Küpper Hochschule München Fakultät 03 Einleitung 1 Inhalt der Vorlesung Teil 1 Grundlagen,

Mehr

Einführung (0) Erster funktionsfähiger programmgesteuerter Rechenautomat Z3, fertiggestellt 1941 Bild: Nachbau im Deutschen Museum München

Einführung (0) Erster funktionsfähiger programmgesteuerter Rechenautomat Z3, fertiggestellt 1941 Bild: Nachbau im Deutschen Museum München Einführung (0) Erster funktionsfähiger programmgesteuerter Rechenautomat Z3, fertiggestellt 1941 Bild: Nachbau im Deutschen Museum München Einführung (1) Was ist ein Rechner? Maschine, die Probleme für

Mehr

Grundbegriffe der Informatik

Grundbegriffe der Informatik Grundbegriffe der Informatik Kapitel 22: Mima-X Thomas Worsch KIT, Institut für Theoretische Informatik Wintersemester 2015/2016 GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik

Mehr

RISC: Reduced Instruction Set Computer. Technische Informatik I Wintersemester 12/13 1. J. Kaiser, IVS-EOS

RISC: Reduced Instruction Set Computer. Technische Informatik I Wintersemester 12/13 1. J. Kaiser, IVS-EOS RISC: Reduced Instruction Set Computer 1 The CMOS Generations: Speedup through Miniaturization 10-fache Leistungssteigerung 2 Was ist ein Reduced Instruction Set Computer (RISC*)? * Der Begriff RISC wurde

Mehr

Brückenkurs / Computer

Brückenkurs / Computer Brückenkurs / Computer Sebastian Stabinger IIS 23 September 2013 Sebastian Stabinger (IIS) Brückenkurs / Computer 23 September 2013 1 / 20 Content 1 Allgemeines zum Studium 2 Was ist ein Computer? 3 Geschichte

Mehr