Tutorium Rechnerorganisation

Ähnliche Dokumente
Besprechung des 5. Übungsblattes Parallelität innerhalb der CPU Pipelining

Tutorium Rechnerorganisation

RO-Tutorien 3 / 6 / 12

Arbeitsfolien - Teil 4 CISC und RISC

Tutorium Rechnerorganisation

Tutorium Rechnerorganisation

Technische Informatik 1 Übung 8 Instruktionsparallelität (Rechenübung) Andreas Tretter 8./9. Dezember Bitte immer eine Reihe freilassen

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

Lehrveranstaltung: PR Rechnerorganisation Blatt 8. Thomas Aichholzer

Tutorium Rechnerorganisation

Tutorium Rechnerorganisation

Das Prinzip an einem alltäglichen Beispiel

Technische Informatik 1 - HS 2017

Hochschule Düsseldorf University of Applied Sciences HSD RISC &CISC

RO-Tutorien 15 und 16

Tutorium Rechnerorganisation

Teil VIII Von Neumann Rechner 1

Technische Informatik - Eine Einführung

Technische Informatik 1 - HS 2016

Datenpfaderweiterung Der Single Cycle Datenpfad des MIPS Prozessors soll um die Instruktion min $t0, $t1, $t2 erweitert werden, welche den kleineren

Technische Informatik I - HS 18

Datenpfad einer einfachen MIPS CPU

Prinzipieller Aufbau und Funktionsweise eines Prozessors

Teil 2: Rechnerorganisation

Technische Informatik 1 Übung 7 Pipelining (Rechenübung) Balz Maag 22./23. November 2018

RO-Tutorien 15 und 16

Technische Informatik 1 Übung 6 Pipelining (Rechenübung) Andreas Tretter 24./25. November 2016

RO-Tutorien 3 / 6 / 12

Übung Praktische Informatik II

Datenpfad einer einfachen MIPS CPU

4. Übung - Rechnerarchitektur/Betriebssysteme

Beispiele von Branch Delay Slot Schedules

Schriftliche Prüfung

RO-Tutorien 15 und 16

Übungsblatt 6. Implementierung einer Befehlspipeline

RO-Tutorien 3 / 6 / 12

Rechnerarchitektur SS TU Dortmund

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

4. Übung - Rechnerarchitektur/Betriebssysteme

2 Rechnerarchitekturen

Aufbau und Funktionsweise eines Computers

Grundlagen der Informationsverarbeitung:

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

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

Computer - Aufbau u. Funktionsweise

Mikroprozessoren Grundlagen AVR-Controller Input / Output (I/O) Interrupt Mathematische Operationen

Informatik 12 Kapitel 3 - Funktionsweise eines Rechners

Grundlagen der Informatik III Wintersemester 2010/ Vorlesung Dr.-Ing. Wolfgang Heenes

Technische Informatik 1 - HS 2016

ARM: Befehlssatz (Forts.)

ARM: Befehlssatz (Forts.)

CPU Speicher I/O. Abbildung 11.1: Kommunikation über Busse

Kapitel 2. Pipeline-Verarbeitung. Technologie- Entwicklung. Strukturelle Maßnahmen. Leistungssteigerung in Rechnersystemen

Von-Neumann-Architektur


Allgemeine Lösung mittels Hazard Detection Unit

Datenpfad einer einfachen MIPS CPU

Algorithmen II Vorlesung am

Struktur der CPU (1) Die Adress- und Datenpfad der CPU: Befehl holen. Vorlesung Rechnerarchitektur und Rechnertechnik SS Memory Adress Register

Geräteentwurf mit Mikroprozessoren 1

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

1. Übersicht zu den Prozessorfamilien 2 2. Grundlagen der Rechnerorganisation 3

Tutorium Rechnerorganisation

Tutorium Rechnerorganisation

Was ist Rechnerleistung

Computational Engineering I

Johann Wolfgang Goethe-Universität

Teil 1: Prozessorstrukturen

Zusammenhang Interrupt, Befehlszyklus, indirekte Adressierung und Mikroprogramm [Stallings, Kap. 15, S ]

DuE-Tutorien 4 und 6. Tutorien zur Vorlesung Digitaltechnik und Entwurfsverfahren Christian A. Mandery. WOCHE 4 AM

Konzeption einer Pipelinearchitektur für einen FPGA-basierten Mikrocontroller Bericht über die erste Phase im WS2006/2007

Teil 1: Prozessorstrukturen

Systeme I: Betriebssysteme Kapitel 4 Prozesse. Wolfram Burgard

Klausur Betriebssysteme

Was ist die Performance Ratio?

Mikroprozessoren. Aufbau und Funktionsweise. Christian Richter. Ausgewählte Themen der Multimediakommunikation SS 2005

DuE-Tutorien 16 und 17

DuE-Tutorien 4 und 6. Tutorien zur Vorlesung Digitaltechnik und Entwurfsverfahren Christian A. Mandery. WOCHE 11 AM

Rechner Architektur. Martin Gülck

Der von Neumann Computer

a) Erläutern Sie die Begriffe CISC und RISC. Worin liegen die Unterschiede zwischen diesen beiden Architekturen?

9.1. Aufbau einer Befehlspipeline

Rechnerorganisation. (10,11) Informationskodierung (12,13,14) TECHNISCHE UNIVERSITÄT ILMENAU. IHS, H.- D. Wuttke `09

Transkript:

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

Heute Pipelining Übungsaufgaben 2 Christian A. Mandery:

Parallelität innerhalb der CPU - Wozu? Viele Komponenten der CPU sind die meiste Zeit inaktiv Eine schlechte Datenbusarchitektur erschwert Parallelität, indem eine Komponenten einen geteilten Bus für andere Komponenten blockiert (Flaschenhals) Ziel: Geschwindigkeitsvorteil durch optimale Parallelisierung 3 Christian A. Mandery:

Die Idee der Pipeline Mögliche Phasen der Befehlsabarbeitung bekannt von MIMA/MIPS 4 Christian A. Mandery:

Vorteile von Pipelining Zeitdauer für Abarbeitung eines Befehls wird nicht reduziert Aber: Pipelining erhöht den Durchsatz bei der Ausführung einer Befehlsfolge Im Idealfall: Nach Befüllen der Pipeline wird jeden Takt die Ausführung eines Befehls abgeschlossen Geschwindigkeit der Pipeline richtet sich nach der langsamsten Pipeline-Stufe 5 Christian A. Mandery:

Vorteile von Pipelining Zeitdauer für Abarbeitung eines Befehls wird nicht reduziert Aber: Pipelining erhöht den Durchsatz bei der Ausführung einer Befehlsfolge Im Idealfall: Nach Befüllen der Pipeline wird jeden Takt die Ausführung eines Befehls abgeschlossen Geschwindigkeit der Pipeline richtet sich nach der langsamsten Pipeline-Stufe 5 Christian A. Mandery:

Vorteile von Pipelining Zeitdauer für Abarbeitung eines Befehls wird nicht reduziert Aber: Pipelining erhöht den Durchsatz bei der Ausführung einer Befehlsfolge Im Idealfall: Nach Befüllen der Pipeline wird jeden Takt die Ausführung eines Befehls abgeschlossen Geschwindigkeit der Pipeline richtet sich nach der langsamsten Pipeline-Stufe 5 Christian A. Mandery:

Vorteile von Pipelining Zeitdauer für Abarbeitung eines Befehls wird nicht reduziert Aber: Pipelining erhöht den Durchsatz bei der Ausführung einer Befehlsfolge Im Idealfall: Nach Befüllen der Pipeline wird jeden Takt die Ausführung eines Befehls abgeschlossen Geschwindigkeit der Pipeline richtet sich nach der langsamsten Pipeline-Stufe 5 Christian A. Mandery:

Probleme beim Pipelining Erhöhter Planungs- und Schaltungsaufwand Daten werden benötigt, die noch nicht zur Verfügung stehen (Datenkonflikte) Es ist noch nicht klar, welcher Befehl in die Pipeline geladen werden muss (Kontrollflusskonflikte) Was macht man, wenn man Komponenten (z.b. Addierer oder Speicherbus) in mehr als einer Pipeline-Stufe benötigt (Ressourcenkonflikte)? 6 Christian A. Mandery:

Probleme beim Pipelining Erhöhter Planungs- und Schaltungsaufwand Daten werden benötigt, die noch nicht zur Verfügung stehen (Datenkonflikte) Es ist noch nicht klar, welcher Befehl in die Pipeline geladen werden muss (Kontrollflusskonflikte) Was macht man, wenn man Komponenten (z.b. Addierer oder Speicherbus) in mehr als einer Pipeline-Stufe benötigt (Ressourcenkonflikte)? 6 Christian A. Mandery:

Probleme beim Pipelining Erhöhter Planungs- und Schaltungsaufwand Daten werden benötigt, die noch nicht zur Verfügung stehen (Datenkonflikte) Es ist noch nicht klar, welcher Befehl in die Pipeline geladen werden muss (Kontrollflusskonflikte) Was macht man, wenn man Komponenten (z.b. Addierer oder Speicherbus) in mehr als einer Pipeline-Stufe benötigt (Ressourcenkonflikte)? 6 Christian A. Mandery:

Probleme beim Pipelining Erhöhter Planungs- und Schaltungsaufwand Daten werden benötigt, die noch nicht zur Verfügung stehen (Datenkonflikte) Es ist noch nicht klar, welcher Befehl in die Pipeline geladen werden muss (Kontrollflusskonflikte) Was macht man, wenn man Komponenten (z.b. Addierer oder Speicherbus) in mehr als einer Pipeline-Stufe benötigt (Ressourcenkonflikte)? 6 Christian A. Mandery:

Durchsatz Durchsatz als Metrik, z.b. gemessen in IPC (Instructions per cycle) Durchsatz := Ausgef ührte Befehle Benötigte Zeit Durchsatz erhöht sich durch Pipelining Im Idealfall: N-stufige Pipeline mit k Befehlen: k + (n 1) benötigte Taktzyklen Für n : Durchsatz 1 7 Christian A. Mandery:

Durchsatz Durchsatz als Metrik, z.b. gemessen in IPC (Instructions per cycle) Durchsatz := Ausgef ührte Befehle Benötigte Zeit Durchsatz erhöht sich durch Pipelining Im Idealfall: N-stufige Pipeline mit k Befehlen: k + (n 1) benötigte Taktzyklen Für n : Durchsatz 1 7 Christian A. Mandery:

Speedup Der Speedup gibt den Geschwindigkeitsgewinn durch das Pipelining an Ohne Pipelining nötige Taktzyklen Speedup := Mit Pipeline nötige Taktzyklen Im Idealfall: Für n, Speedup Anzahl Pipeline-Stufen 8 Christian A. Mandery:

Speedup Der Speedup gibt den Geschwindigkeitsgewinn durch das Pipelining an Ohne Pipelining nötige Taktzyklen Speedup := Mit Pipeline nötige Taktzyklen Im Idealfall: Für n, Speedup Anzahl Pipeline-Stufen 8 Christian A. Mandery:

Übungsaufgabe 1 Ihre Aufgabe besteht darin, die Architektur des internen Bussystems zu entwerfen, so dass eine hohe prozessorinterne Parallelität bei der Befehlsverarbeitung möglich ist, d.h. Opcode Prefetching Gleichzeitiges Schreiben der ALU-Ergebnisse in den Registersatz und paralleles Laden der ALU-Eingänge mit Operanden aus dem Registersatz oder dem Datenbuspuffer (sofern nicht das gleiche Register hierfür benötigt wird) Direkter Zugriff des Adresswerks auf die Adressregister im Registersatz 9 Christian A. Mandery:

Übungsaufgabe 1 10 Christian A. Mandery:

Übungsaufgabe 2 Die Befehlsabarbeitung in einem Prozessor erfolgt in den folgenden Stufen: B: Befehl holen D: Befehl dekodieren O: Operand(en) holen A: Befehl ausführen S: Ergebnis speichern Diskutieren Sie die folgende Situation: Der Befehl n legt sein Ergebnis in der Speicherstelle a ab. Der nächste Befehl (n + 1) benutzt den soeben erzeugten Wert als Operanden. Zeigen Sie die Probleme auf, die dadurch entstehen, dass die beiden Befehle in einer Pipeline ausgeführt werden, die aus den obigen Bearbeitungseinheiten besteht. 11 Christian A. Mandery:

Fertig! 12 Christian A. Mandery: