Technische Informatik 1 Übung 8 Instruktionsparallelität (Rechenübung) Andreas Tretter 8./9. Dezember Bitte immer eine Reihe freilassen
|
|
- Emma Blau
- vor 6 Jahren
- Abrufe
Transkript
1 Technische Informatik 1 Übung 8 Instruktionsparallelität (Rechenübung) Andreas Tretter 8./9. Dezember 2016 Bitte immer eine Reihe freilassen
2 Ziele der Übung Verschiedene Arten von Instruktionsparallelität VLIW (Super-)Pipelining Superskalare Prozessoren (dynamische Parallelität) VLIW genauer verstehen Code umschreiben Einfluss auf Codegrösse sowie Ausführzeit VLIW und Pipelining, mit oder ohne Forwarding 2
3 VLIW Very Long Instruction Word Ein VLIW beinhaltet n Instruktionen Gleichzeitiger Start und Verarbeitung VLIW Inst. 1 Instr. 1 Instr. 2 Instr. n VLIW Inst. 2 Instr. 1 Instr. 2 Instr. n Instruktionen müssen unabhängig sein Gleichzeitig ausgeführte Instruktionen dürfen nicht die gleichen Ressourcen benutzen Gleichzeitig ausgeführte Instruktionen dürfen nicht das gleiche Zielregister aufweisen Eswerden zusätzliche Ressourcen benötigt z.b. zusätzliche ALUs 3
4 VLIW auf MIPS Architektur Instruktionen werden paarweise geladen, dekodiert und ausgeführt Die 1. Instruktion ist eine ALU-Op oder Verzweigung Die 2. Instruktion ist ein Speicherzugriff Instruktionswort ist 64 Bit breit Instruktion 1 (32 bit) ALU-Op oder Verzweigung Instruktion 2 (32 bit) Datentransfer (load oder store) Wenn Ausführung von nur einer Instruktion möglich: nop für die zweite Instruktion 4
5 Umschreiben für VLIW (ohne Pipelining) Umschreiben : Einziges Kriterium: Neues Programm soll das gleiche machen wie das alte Beispiel: addi $t1, $zero, 0 lw $t2, 0($t1) addi $t1, $zero, 4 lw $t3, 0($t1) or $t2, $t2, $t3 Achtung: Read after Write Achtung: Write after Read Instruktion 1 Instruktion 2 addi $t1, $zero, 0 addi $t1, $zero, 4 or $t2, $t2, $t3 lw $t2, 0($t1) lw $t3, 0($t1) Cycles per Instruktion: CPI = 4 /5 = 0.8 (optimal 0.5) 6
6 Aufgabe 1 Umschreiben nach VLIW 1.1: Codegrösse minimieren - Instruktionen müssen nur umgeordnet, nicht geändert werden 1.2: Laufzeit minimieren - Komplette Schleifenentfaltung Kein Pipelining Instruktionen werden nacheinander ausgeführt Zum Nachdenken: Ist Codegrössenminimierung bei VLIW überhaupt sinnvoll? 7
7 Besprechung Aufgabe 1.1 loop: LW $t1, 0($s1) ADDI $t1, $t1, 1 SW $t1, 0($s1) ADDI $s1, $s1, 4 ADDI $t3, $t3, -1 BNEZ $t3, loop Achtung: Read after Write Achtung: Write after Read ALU oder Verzweigung Datentransfer CC loop: ADDI $t3, $t3, 1 LW $t1, 0($s1) 1 ADDI $t1, $t1, 1 2 ADDI $s1, $s1, 4 SW $t1, 0($s1) 3 BNEZ $t3, loop 4 8
8 Lösung Aufgabe Codegrösse VLIW: 10 Instruktionsworte à 64 bit 640 bit Originalcode: 16 Instruktionen à 32 bit 512 bit Es wird ein Overhead von 1 512/640 = 20% generiert. 9
9 Lösung Aufgabe Laufzeit Vor der Schleife: 10 Instruktionen in 6 Taktzyklen In der Schleife: 6 Instruktionen in 4 Taktzyklen (4 Mal ausgeführt) -> Total: x 6 = 34 Instruktionen in 6 + 4x4 = 22 Taktzyklen CPI = 22/34 = 0.65, Ausführungszeit: 22 x 10 ns = 220 ns 10
10 Lösung Aufgabe Instruktionsworte x 64 bit = 896 bit CPI = 14/21 = 0.66, Ausführungszeit = 140 ns Ausführungszeit um 36% reduziert, Code 29% grösser 11
11 Aufgabe 1 Zum Nachdenken Ist Codegrössenminimierung bei einem VLIW überhaupt sinnvoll? Grundsätzlich: VLIW ist Tradeoff: Grösserer Code für mehr Geschwindigkeit Wer kleinen Code will, sollte keinen VLIW benutzen Allerdings: 90% der Ausführungszeit eines Programms wird typischerweise in 10% des Codes verbracht (Schleifen etc.) Geschwindigkeitsoptimierung v.a. an neuralgischen Punkten, woanders kann man durchaus Speicher einsparen 12
12 VLIW mit Pipelining Die beiden VLIW Instruktionen werden auf jeder Stufe gleichzeitig bearbeitet Wenn eine Instruktion gestallt werden muss, wird die zweite Instruktion des VLIW ebenfalls angehalten Stall der ersten VLIW Instruktion IF ID EX MEM WB IF ID EX MEM WB IF ID EX MEM WB k Pipelinestufen IF ID EX MEM WB IF ID EX MEM WB IF ID EX MEM WB Beide Instruktionen sind verzögert 13
13 Aufgabe 2: Pipelining mit VLIW Funktion minvec(int* A0, int* A1, int* A2, int n) Input: Arrays A0[0 n 1] und A1[0 n 1] Output: A2[i] = min(a0[i];a1[i]) für alle i = {0,, n 1} 14
14 Aufgabe 2: Pipelining mit VLIW Tipps Bestimmen, ob gesprungen wird oder nicht Register kann gleichzeitig geschrieben & gelesen werden Statische Sprungvorhersage not taken Sprungentscheidung ist nach der MEM-Stufe bekannt 15
15 Lösung Aufgabe 2.a Beide Instruktionen werden angehalten, obwohl nur die zweite blockiert ist 16
16 Lösung Aufgabe 2.b Falsche Sprungvorhersage. Die komplette Pipeline muss geflusht werden 17
17 Lösung Aufgabe 2.c Eingabedaten A0 = [5, 4, 12, 7, 15] A1 = [7, 4, 9, 13, 0] Statische Sprungvorhersage: not taken Fünf Schleifendurchläufe Erster Sprung: taken 1. und 4. Durchlauf Zweiter Sprung: taken 1., 2., 3. und 4. Durchlauf Die Pipeline muss 4+2=6 Mal geflusht werden, es gehen 6 x 3 = 18 Zyklen verloren 18
18 Diskussion über Instruktionsparallelität In der Vorlesung wurden 4 Systeme für Instruktionsparallelität vorgestellt: Pipelining mit fester Anzahl Stufen: IF, ID, EX, MEM, WB Very Long Instruction Word (VLIW) Superpipelining Superskalare Prozessoren (dynamische Parallelität) 19
19 Superpipelining Einführung zahlreicher Pipelinestufen, vor allem bei den arithmetischen Einheiten Die Zahl der Stufen ist je nach Instruktion unterschiedlich. Führt zu out of order completion. 20
20 Superskalare Prozessoren (dynamische Paralleität) Der Prozessor bestimmt zur Laufzeit, welche Instruktion ausgeführt werden soll Eine spezielle Einheit (commit unit) stellt dabei sicher, dass die Resultate in der richtige Reihenfolge in die Register geschrieben werden 21
21 Superpipelining vs. VLIW vs. Superskalar Codegrösse Grösser bei VLIWs wegen nops Compilerbau Gute Compiler notwendig bei VLIW und Superpipelining Superskalar: Hardware übernimmt Optimierung zur Laufzeit, guter Compiler kann aber helfen (z.b. loop unrolling) Zusätzlicher Logikaufwand Eher gering bei VLIW und Superpipelining Sehr hoch bei Superskalar Einfluss von Branch Misses Steigt deutlich bei Superpipeling und Superskalar 22
22 Superpipelining vs. VLIW vs. Superskalar Was wird heute eingesetzt (Hochleistungs-CPUs)? Hochleistungsprozessoren sind normalerweise superskalare Systeme mit langen Pipelines. 23
23 Branch Delay Slot Um 1990 eingeführt, um Ablaufhazards zu vermeiden Damals sehr erfolgreich Warum heute nicht mehr benutzt? 1990: Zusätzliche Logik für die dynamische Sprungvorhersage zu teuer Heute: Deutlich mehr Transistoren verfügbar (Moore s Law) Überflüssig insbesondere bei langen Pipelines und superskalaren CPUs 24
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
MehrTechnische 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 6 Datum: 24. 25. 11. 2016 Pipelining 1 Taktrate / Latenz In dieser
MehrBeispiele von Branch Delay Slot Schedules
Beispiele von Branch Delay Slot Schedules Bildquelle: David A. Patterson und John L. Hennessy, Computer Organization and Design, Fourth Edition, 2012 Grundlagen der Rechnerarchitektur Prozessor 97 Weniger
MehrWas 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
MehrPipelining. Die Pipelining Idee. Grundlagen der Rechnerarchitektur Prozessor 45
Pipelining Die Pipelining Idee Grundlagen der Rechnerarchitektur Prozessor 45 Single Cycle Performance Annahme die einzelnen Abschnitte des MIPS Instruktionszyklus benötigen folgende Ausführungszeiten:
MehrCPU. 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
MehrTechnische Informatik 1
Technische Informatik 1 5 Prozessor Pipelineimplementierung Lothar Thiele Computer Engineering and Networks Laboratory Pipelining Definition 5 2 Definition Pipelining (Fliessbandverarbeitung) ist eine
MehrDatenpfad 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:
MehrDatenpfad 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:
MehrAuch 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:
MehrDas 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
MehrTechnische Informatik - Eine Einführung
Martin-Luther-Universität Halle-Wittenberg Fachbereich Mathematik und Informatik Lehrstuhl für Technische Informatik Prof. P. Molitor Technische Informatik - Eine Einführung Rechnerarchitektur Aufgabe
MehrInstitut 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Übungen zu Grundlagen der Rechnerarchitektur und -organisation: Bonusaufgaben Übung 8 und Präsenzaufgaben Übung 9
Übungen zu Grundlagen der Rechnerarchitektur und -organisation: Bonusaufgaben Übung 8 und Präsenzaufgaben Übung 9 Dominik Schoenwetter Erlangen, 30. Juni 2014 Lehrstuhl für Informatik 3 (Rechnerarchitektur)
MehrTutorium 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
MehrGrundlagen der Rechnerarchitektur
Grundlagen der Rechnerarchitektur Prozessor Übersicht Datenpfad Control Pipelining Data Hazards Control Hazards Multiple Issue Grundlagen der Rechnerarchitektur Prozessor 2 Datenpfad einer einfachen MIPS
MehrDatenpfad einer einfachen MIPS CPU
Datenpfad einer einfachen MIPS CPU Die Branch Instruktion beq Grundlagen der Rechnerarchitektur Prozessor 13 Betrachten nun Branch Instruktion beq Erinnerung, Branch Instruktionen beq ist vom I Typ Format:
MehrBesprechung des 5. Übungsblattes Parallelität innerhalb der CPU Pipelining
Themen heute Besprechung des 5. Übungsblattes Parallelität innerhalb der CPU Pipelining Organisatorisches Wie schon in den vorhergehenden Tutorien erwähnt, ist Mehrfachabgabe, außer bei Programmieraufgaben,
Mehr9.1. Aufbau einer Befehlspipeline
Kapitel 9 - Befehlspipelining Seite 191 Kapitel 9 Befehlspipelining 9.1. Aufbau einer Befehlspipeline Ein typischer Befehl in einer Maschine mit einem RISC-artigen Befehlssatz besteht aus den Operationen:
MehrName: 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
MehrLösungsvorschlag 10. Übung Technische Grundlagen der Informatik II Sommersemester 2009
Fachgebiet Rechnerarchitektur Fachbereich Informatik Lösungsvorschlag. Übung Technische Grundlagen der Informatik II Sommersemester 29 Aufgabe.: MIPS-Kontrollsignale Für die 5 Befehlstypen a) R-Format
MehrVorlesung 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
MehrTeil 1: Prozessorstrukturen
Teil 1: Prozessorstrukturen Inhalt: Mikroprogrammierung Assemblerprogrammierung Motorola 6809: ein einfacher 8-Bit Mikroprozessor Mikrocontroller Koprozessoren CISC- und RISC-Prozessoren Intel Pentium
MehrLeistung 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
MehrInstruktionen pro Takt
(c) Peter Sturm, Universität Trier (u.a.) 1 Instruktionen pro Takt 500 MIPS (Dhrystone) Taktfrequenz 450 400 350 300 250 200 150 100 50 0 8086 80286 80386 80486 Pentium Pentium Pro Die-Größen: Intel Vorlesung
Mehr9. Fließbandverarbeitung
9. Fließbandverarbeitung Nachteile der Mikroprogrammierung Von CISC zu RISC Fließbandverarbeitung Pipeline-Hazards Behandlung von Daten- und Kontroll-Hazards 334 Nachteile mikroprogrammierter CPUs Zusätzliche
Mehr9. Pipelining und Parallelverarbeitung. 9.1 Einführung
9. Pipelining und Parallelverarbeitung 9.1 Einführung Wir haben an anderer Stelle bereits festgestellt, daß der Von-Neumann-Computer eine systematische Schwachstelle hat, also ein "Bottleneck". Es wird
MehrSteuerwerk 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
Mehrfrü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
MehrDIGITALE SCHALTUNGEN II
DIGITALE SCHALTUNGEN II 3. Sequentielle Schaltkreise 3.1 Vergleich kombinatorische sequentielle Schaltkreise 3.2 Binäre Speicherelemente 3.2.1 RS Flipflop 3.2.2 Getaktetes RS Flipflop 3.2.3 D Flipflop
MehrParallele 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
MehrARM: Befehlssatz (Forts.)
ARM: Befehlssatz (Forts.) Befehl SWI zum Auslösen eines Software-Interrupts: Instruktionsformat: Ausführung von SWI überführt CPU in den supervisor mode (nach Retten des PC in r14_svc und des CPSR in SPSR_svc)
MehrStruktur der CPU (1) Die Adress- und Datenpfad der CPU: Befehl holen. Vorlesung Rechnerarchitektur und Rechnertechnik SS Memory Adress Register
Struktur der CPU (1) Die Adress- und Datenpfad der CPU: Prog. Counter Memory Adress Register Befehl holen Incrementer Main store Instruction register Op-code Address Memory Buffer Register CU Clock Control
MehrEinführung in die Systemprogrammierung 02
Einführung in die Systemprogrammierung 02 Prof. Dr. Christoph Reichenbach Fachbereich 12 / Institut für Informatik 4. Mai 2014 Eine Aufgabe aus der Praxis Gegeben ein bestimmtes Programm: Machen Sie dieses
MehrHardware/Software-Codesign
Klausur zur Lehrveranstaltung Hardware/Software-Codesign Dr. Christian Plessl Paderborn Center for Parallel Computing Universität Paderborn 8.10.2009 Die Bearbeitungsdauer beträgt 75 Minuten. Es sind keine
Mehr, WS2013 Übungsgruppen: Di., Fr.,
VU Technische Grundlagen der Informatik Übung : Stack, Pipelining., WS20 Übungsgruppen: Di., 0.01. Fr.,.01.201 Aufgabe 1: Stack - Funktionsweise Erläutern Sie die Funktionsweise eines Stacks bzw. Kellerspeichers
Mehr4. Übung - Rechnerarchitektur/Betriebssysteme
4. Übung - Rechnerarchitektur/Betriebssysteme 1. Aufgabe: Caching Informatik I für Verkehrsingenieure Aufgaben inkl. Beispiellösungen a) Was ist ein Cache? Wann kommt Caching zum Einsatz? b) Welchen Vorteil
MehrDigitaltechnik und Rechnerstrukturen. 2. Entwurf eines einfachen Prozessors
Digitaltechnik und Rechnerstrukturen 2. Entwurf eines einfachen Prozessors 1 Rechnerorganisation Prozessor Speicher Eingabe Steuereinheit Instruktionen Cachespeicher Datenpfad Daten Hauptspeicher Ausgabe
MehrTechnische Informatik 1
Technische Informatik 1 4 Prozessor Einzeltaktimplementierung Lothar Thiele Computer Engineering and Networks Laboratory Vorgehensweise 4 2 Prinzipieller Aufbau Datenpfad: Verarbeitung und Transport von
MehrProgrammierung 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
MehrInstruktionssatz-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
MehrHigh Performance Embedded Processors
High Performance Embedded Processors Matthias Schwarz Hardware-Software-Co-Design Universität Erlangen-Nürnberg martin.rustler@e-technik.stud.uni-erlangen.de matthias.schwarz@e-technik.stud.uni-erlangen.de
MehrH E F B G D. C. DLX Rechnerkern
C. DLX Rechnerkern C.1. Einordnung DLX Architektur und Konzepte: Einfache "Gesamtzyklus"-DLX Maschine (non-pipelined), Verarbeitungsschritte einer Instruktion, Taktverhalten im Rechner, RISC & CISC...
MehrHeute nur MIPS-Praxis (4 Aufgaben)
Themen heute Heute nur MIPS-Praxis (4 Aufgaben) Hinweis: Diese Aufgaben findet ihr auf den Übungsblättern zu den Tutorien (bei Aufgabe 4 wurde eine Teilaufgabe und im Tutorium #6 bereits geklärte Wissensfragen
Mehrnutzt heute Diese Prinzipien werden wir im Kapitel 3 behandelt Lehrstuhl für Informatik 3 - D. Fey Vorlesung GRa - SS
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
MehrTECHNISCHE 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
MehrRechnernetze und Organisation
RISC 1 Übersicht Motivation RISC-Merkmale RISC-Instruktionsformat Pipelining Sparc, MIPS, Arm, PowerPC 2 Motivation Warum RISC Compiler nutzen komplexe CISC-Instruktionen kaum Nur 80% der Instruktionen
MehrTask& Data-Flow Graphs
Task& Data-Flow Graphs M. Thaler, TG208, tham@zhaw.ch www.zhaw.ch/~tham Februar 16 1 1 Um was geht es? Parallele Algorithmen was sind Möglichkeiten zur Darstellung? was sind Möglichkeiten zur Analyse?
MehrLösungsvorschlag zur 4. Übung
Prof. Frederik Armknecht Sascha Müller Daniel Mäurer Grundlagen der Informatik 3 Wintersemester 09/10 Lösungsvorschlag zur 4. Übung 1 Präsenzübungen 1.1 Schnelltest a) Welche Aussagen zu Bewertungskriterien
MehrDas Laden der Instruktionen erreicht eine Cache-Hit Rate von 90%.
Herbst 2001 Digitaltechnik und Rechnerstrukturen Seite 1 Aufgabe 1: Performance Evaluation (Total 25 Punkte) Gegeben sei ein System S0 mit einem Prozessor mit einer Taktfrequenz von 800 MHz. Der Prozessor
MehrRaytracing auf Desktop PCs Optimizing Cache Usage (Intel Corp.)
Raytracing auf Desktop PCs Optimizing Cache Usage (Intel Corp.) von Martin Stöcker Motivation Geschwindigkeit der Prozessoren verdoppelt sich alle 18 Monate (Moore s Law) Geschwindigkeit des Speichers
MehrNeue 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/
MehrEinfü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
MehrHW/SW Codesign 5 - Performance
HW/SW Codesign 5 - Performance Martin Lechner e1026059 Computer Technology /29 Inhalt Was bedeutet Performance? Methoden zur Steigerung der Performance Einfluss der Kommunikation Hardware vs. Software
MehrArbeitsfolien - 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
MehrRechnerstrukturen 1: Der Sehr Einfache Computer
Inhaltsverzeichnis 1: Der Sehr Einfache Computer 1 Komponenten.................................... 1 Arbeitsweise..................................... 1 Instruktionen....................................
MehrDie 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.
MehrUmsetzung in aktuellen Prozessoren
Kapitel 8: Umsetzung in aktuellen Prozessoren 4 Realisierung elementarer Funktionen Reihenentwicklung Konvergenzverfahren 5 Unkonventionelle Zahlensysteme redundante Zahlensysteme Restklassen-Zahlensysteme
Mehr11.0 Rechnerarchitekturen
11.0 Rechnerarchitekturen Die Ziele dieses Kapitels sind: Kennen lernen der Rechnerklassifikation nach Flynn Betrachtung von Prozessorarchitekturen auf verschiedenen Abstraktionsebenen - Befehlsarchitektur
MehrIA64 vs x86 64. Felix von Leitner felix-ccc@fefe.de. 28. Dezember 2002
Felix von Leitner felix-ccc@fefe.de 28. Dezember 2002 Zusammenfassung Was sollte man als Assembler-Hacker über IA64 und X86 64 wissen? IA64 vs x86 64 Einführung Prozessoren arbeiten auf Befehlsebene. Bei
MehrCPU II. Dr.-Ing. Volkmar Sieh. Institut für Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg SS 2011
CPU II Dr.-Ing. Volkmar Sieh Institut für Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg SS 2011 CPU II 1/77 2012-02-29 CPU Bisher: Pipeline mit 5 sequentiellen Pipeline-Stufen
MehrDer 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
MehrComputer-Architektur Ein Überblick
Computer-Architektur Ein Überblick Johann Blieberger Institut für Rechnergestützte Automation Computer-Architektur Ein Überblick p.1/27 Computer-Aufbau: Motherboard Computer-Architektur Ein Überblick p.2/27
MehrAktuelle Techniken zur Leistungssteigerung von Mikroprozessoren
INFORMATIONSTECHNIK UND ARMEE Vorlesungen an der Eidgenössischen Technischen Hochschule in Zürich im Wintersemester 1994/1995 Leitung: Bundesamt für Übermittlungstruppen Divisionär E. Ebert, Waffenchef
MehrName: ES2 Klausur Thema: ARM Name: Punkte: Note:
Name: Punkte: Note: Hinweise für das Lösen der Aufgaben: Zeit: 75 min. Name nicht vergessen! Geben Sie alle Blätter ab. Die Reihenfolge der Aufgaben ist unabhängig vom Schwierigkeitsgrad. Erlaubte Hilfsmittel
MehrEHP 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
MehrMikrocomputertechnik. 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
MehrComputeranwendung in der Chemie Informatik für Chemiker(innen) 3. Software
Computeranwendung in der Chemie Informatik für Chemiker(innen) 3. Software Jens Döbler 2003 "Computer in der Chemie", WS 2003-04, Humboldt-Universität VL3 Folie 1 Grundlagen Software steuert Computersysteme
MehrQuantitative Prinzipien im Hardwareentwurf. 1. Small is fast
Quantitative Prinzipien im Hardwareentwurf 1. Small is fast Kleine Hardwareeinheiten schalten in der Regel schneller als größere. Kleine Transistoren bilden an ihren Gates kleinere Kapazitäten die Source-Drain
MehrWas ist ein Profiler?
Profiling Was ist ein Profiler? (Theorie) Invasives Profiling Nichtinvasives Profiling Profiling in der Praxis gprof, gcov OProfile valgrind/callgrind Intel VTune Was ist ein Profiler? Analyse des Laufzeitverhaltens
MehrGrundlagen der Rechnerarchitektur
Grundlagen der Rechnerarchitektur Speicher Übersicht Speicherhierarchie Cache Grundlagen Verbessern der Cache Performance Virtueller Speicher SS 2012 Grundlagen der Rechnerarchitektur Speicher 2 Speicherhierarchie
MehrRechnerarchitektur und Betriebssysteme (CS201): Architektur, ALU, Flip-Flop
Rechnerarchitektur und Betriebssysteme (CS201): Architektur, ALU, Flip-Flop 17. September 2013 Prof. Dr. Christian Tschudin Departement Mathematik und Informatik, Universität Basel Uebersicht Ausgewählte
MehrDie 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.
Mehr4.2 Verbesserung der Leistungsfähigkeit von Caches
12 4.2 Verbesserung der Leistungsfähigkeit von Caches Peter Marwedel Informatik 12 TU Dortmund 2014/05/02 Cache-Performanz Bewertungsmaß für die Leistungsfähigkeit einer Speicherhierarchie: Mittlere Zugriffszeit
MehrVon-Neumann-Architektur
Von-Neumann-Architektur Bisher wichtig: Konstruktionsprinzip des Rechenwerkes und Leitwerkes. Neu: Größerer Arbeitsspeicher Ein- und Ausgabewerk (Peripherie) Rechenwerk (ALU) Steuerwerk (CU) Speicher...ppppp...dddddd..
MehrKonzeption einer Pipelinearchitektur für einen FPGA-basierten Mikrocontroller Bericht über die erste Phase im WS2006/2007
Konzeption einer Pipelinearchitektur für einen FPGA-basierten Mikrocontroller Bericht über die erste Phase im WS2006/2007 Prof. Dr.-Ing. Rainer Bermbach Fachbereich Elektrotechnik Tel.: 0 53 31 / 93 93
MehrVorlesung: Technische Informatik 3
Rechnerarchitektur und Betriebssysteme zhang@informatik.uni-hamburg.de Universität Hamburg AB Technische Aspekte Multimodaler Systeme zhang@informatik.uni-hamburg.de Inhaltsverzeichnis 4. Computerarchitektur........................235
MehrGrundlagen der Informatik III Wintersemester 2010/2011 16. Vorlesung Dr.-Ing. Wolfgang Heenes
Grundlagen der Informatik III Wintersemester 2010/2011 16. Vorlesung Dr.-Ing. Wolfgang Heenes int main() { printf("hello, world!"); return 0; } msg: main:.data.asciiz "Hello, world!".text.globl main la
Mehr1. Übersicht zu den Prozessorfamilien 2 2. Grundlagen der Rechnerorganisation 3
1. Übersicht zu den Prozessorfamilien 2 2. Grundlagen der Rechnerorganisation 3 2.1. Aufbau eines Rechners in Ebenen 3 2.2. Die Ebene der elektronischen Bauelemente 5 2.3. Die Gatterebene 5 2.3.1 Einfache
MehrProzessorarchitektur. 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
MehrAufgabenblatt 7. Es sind keine Abgaben mit mehreren Namen oder Kopien von Abgaben anderer erlaubt
Aufgabenblatt 7 Wichtige Hinweise: Bitte Namen und Gruppennummer deutlich lesbar rechts oben auf allen Blättern der Abgabe angeben und alle Blätter der Abgabe zusammenheften (1 Zusatzpunkt!) Es sind keine
MehrMusterlösungen Technische Informatik 2 (T2) Prof. Dr.-Ing. D. P. F. Möller
SS 2004 VAK 18.004 Musterlösungen Technische Informatik 2 (T2) Prof. Dr.-Ing. D. P. F. Möller Aufgabenblatt 2.5 Lösung 2.5.1 Befehlszähler (Program Counter, PC) enthält Adresse des nächsten auszuführenden
MehrRISC-Prozessoren (1)
RISC-Prozessoren (1) 1) 8 Befehlsklassen und ihre mittlere Ausführungshäufigkeit (Fairclough): Zuweisung bzw. Datenbewegung 45,28% Programmablauf 28,73% Arithmetik 10,75% Vergleich 5,92% Logik 3,91% Shift
MehrGrundlagen 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
Mehrb) (2 Punkte) Wie lange dauert die Ausführung des Testprogramms in Sekunden?
Herbst 2001 Digitaltechnik und Rechnerstrukturen Seite 1 Aufgabe 1: Performance Evaluation (Total 25 Punkte) Gegeben sei ein System S0 mit einem Prozessor mit einer Taktfrequenz von 800 Hz. Der Prozessor
MehrSysteme I: Betriebssysteme Kapitel 4 Prozesse. Maren Bennewitz
Systeme I: Betriebssysteme Kapitel 4 Prozesse Maren Bennewitz Version 13.11.2013 1 Inhalt Vorlesung Aufbau einfacher Rechner Überblick: Aufgabe, Historische Entwicklung, unterschiedliche Arten von Betriebssystemen
MehrArchitektur moderner GPUs. W. Sczygiol - M. Lötsch
Architektur moderner GPUs W. Sczygiol - M. Lötsch Überblick Chipentwicklung Aktuelle Designs Nvidia: NV40 (ATI: R420) Vertex-Shader Pixel-Shader Shader-Programmierung ROP - Antialiasing Ausblick Referenzen
MehrWie groß ist die Page Table?
Wie groß ist die Page Table? Im vorigen (typischen) Beispiel verwenden wir 20 Bits zum indizieren der Page Table. Typischerweise spendiert man 32 Bits pro Tabellen Zeile (im Vorigen Beispiel brauchten
MehrHinweise C-Programmierung
Hinweise C-Programmierung Dr.-Ing. Volkmar Sieh Department Informatik 4 Verteilte Systeme und Betriebssysteme Friedrich-Alexander-Universität Erlangen-Nürnberg WS 2016/2017 V. Sieh Hinweise C-Programmierung
Mehr1. Übersicht zu den Prozessorfamilien 2 2. Grundlagen der Rechnerorganisation 3
1. Übersicht zu den Prozessorfamilien 2 2. Grundlagen der Rechnerorganisation 3 2.1. Aufbau eines Rechners in Ebenen 3 2.2. Die Ebene der elektronischen Bauelemente 5 2.3. Die Gatterebene 5 2.3.1 Einfache
MehrMikroprozessoren. Aufbau und Funktionsweise. Christian Richter. Ausgewählte Themen der Multimediakommunikation SS 2005
Mikroprozessoren Aufbau und Funktionsweise Christian Richter Ausgewählte Themen der Multimediakommunikation SS 2005 Christian Richter (TU-Berlin) Mikroprozessoren AT MMK 2005 1 / 22 Gliederung Was ist
MehrVerteidigung des INF-PM-FP-ANW: Entwicklung einer MIPS-CPU
Fakultät Informatik Institut für Technische Informatik, Professur für VLSI-Entwurfssysteme, Diagnostik und Architektur Verteidigung des INF-PM-FP-ANW: Entwicklung einer MIPS-CPU Dresden, 5. Mai 2014 Gliederung
MehrLösungsvorschlag 9. Übung Technische Grundlagen der Informatik II Sommersemester 2009
Fachgebiet Rechnerarchitektur Fachbereich Informatik Lösungsvorschlag 9. Übung Technische Grundlagen der Informatik II Sommersemester 2009 Aufgabe 9.1: Dinatos-Algorithmus-Analyse Die folgenden Verilog-Zeilen
MehrComputational Engineering I
DEPARTMENT INFORMATIK Lehrstuhl für Informatik 3 (Rechnerarchitektur) Friedrich-Alexander-Universität Erlangen-Nürnberg Martensstraße 3, 91058 Erlangen 25.01.2016 Probeklausur zu Computational Engineering
MehrRechnerorganisation 2 TOY. Karl C. Posch. co1.ro_2003. Karl.Posch@iaik.tugraz.at 16.03.2011
Technische Universität Graz Institut tfür Angewandte Informationsverarbeitung und Kommunikationstechnologie Rechnerorganisation 2 TOY Karl C. Posch Karl.Posch@iaik.tugraz.at co1.ro_2003. 1 Ausblick. Erste
MehrSystemprogrammierung (37-023)
Systemprogrammierung (37-023) Assemblerprogrammierung Betriebssystemgrundlagen Maschinenmodelle Dozenten: Thomas Stricker Roman Geus WebSite: www.cs.inf.ethz.ch/37-023 Begleit-/Textbuch: R. Paul: SPARC
MehrMikroprozessor 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
MehrRO-Tutorien 15 und 16
Tutorien zur Vorlesung Rechnerorganisation Tutorienwoche 5 am 25.05.2011 1 Christian A. Mandery: KIT Universität des Landes Baden-Württemberg und nationales Grossforschungszentrum in der Helmholtz-Gemeinschaft
MehrGrundlagen der Rechnerarchitektur. Einführung
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