Technische Informatik 1 - HS 2016

Größe: px
Ab Seite anzeigen:

Download "Technische Informatik 1 - HS 2016"

Transkript

1 Institut für Technische Informatik und Kommunikationsnetze Prof. L. Thiele Technische Informatik 1 - HS 2016 Lösungsvorschläge für Übung 8 Datum: Instruktionsparallelität VLIW Gegeben sei folgendes Programm für den MIPS-Prozessor (ähnlich dem Programm in übung 7). Es initialisiert ein Array mit den Werten [12, 13, 14, 15] und erhöht diese Werte anschliessend um 1. Das Register $s1 zeigt auf die Basisadresse des Arrays (im folgenden Programm wird die Basisadresse 0 angenommen). Das Register $zero ist fest mit 0 verdrahtet. main: ADDI $s1, $zero, 0 ADDI $t7, $zero, 12 SW $t7, 0($s1) ADDI $t7, $zero, 13 SW $t7, 4($s1) ADDI $t7, $zero, 14 SW $t7, 8($s1) ADDI $t7, $zero, 15 SW $t7, 12($s1) ADDI $t3, $zero, 4 loop: LW $t1, 0($s1) ADDI $t1, $t1, 1 SW $t1, 0($s1) ADDI $s1, $s1, 4 ADDI $t3, $t3, -1 BNEZ $t3, loop 1.1 Minimieren der Codegrösse Das Programm soll nun für den MIPS-VLIW-Instruktionssatz (VLIW=Very Long Instruction Word) umgeschrieben werden. Dabei soll die Codegrösse minimiert werden. Der Prozessor ist mit 100 MHz getaktet und benutzt keine Pipeline, d.h. der Prozessor beendet eine VLIW-Instruktion bevor die nächste ausgeführt wird. (a) Das Programm soll für den MIPS-VLIW-Instruktionssatz umgeschrieben werden. (b) Wie viel Platz benötigt der VLIW-Code im Speicher? Vergleichen Sie mit dem Platzbedarf des ursprünglichen MIPS-Codes. (c) Wie viele Taktzyklen werden pro Instruktion (CPI) im Durchschnitt benötigt? Wie lange dauert die Ausführung des Programms? 1

2 Label ALU oder Verzweigung Datentransfer CC main: ADDI $s1, $zero, 0 1 ADDI $t7, $zero, 12 2 ADDI $t7, $zero, 13 SW $t7, 0($s1) 3 ADDI $t7, $zero, 14 SW $t7, 4($s1) 4 ADDI $t7, $zero, 15 SW $t7, 8($s1) 5 ADDI $t3, $zero, 4 SW $t7, 12($s1) 6 loop: ADDI $t3, $t3, -1 LW $t1, 0($s1) 7 ADDI $t1, $t1, 1 8 ADDI $s1, $s1, 4 SW $t1, 0($s1) 9 BNEZ $t3, loop 10 Tabelle 1: Lösung für Aufgabe 1.1. (a) Siehe Tabelle 1. (b) Der ursprüngliche MIPS Code benötigte 16 Instruktionen à 32 Bits, also 512 Bits. Der VLIW- MIPS Code benötigt 10 Instruktionen à 64 Bits, also 640 Bits. Es wird also ein Overhead von 20% generiert. (c) Es muss beachtet werden, dass die Schleife vier Mal ausgeführt wird. Gemäss Tabelle 1 werden vor der Schleife 10 Instruktionen in 6 Taktzyklen abgearbeitet. In jedem Schleifendurchlauf sind es 6 Instruktionen in 4 Zyklen. Insgesamt sind es also 34 Instruktionen ( ) in 22 Cycles ( ). Der CPI beträgt also 22/34 = Für die Ausführungszeit muss man zuerst die Dauer eines Cycles berechnen. Bei einem 100 MHz Prozessor sind dies 10 ns. Die Ausführungszeit ist also = 220 ns. 1.2 Minimieren der Ausführungszeit (Zusatzaufgabe) Das Programm soll wiederum für den MIPS-VLIW-Instruktionssatz umgeschrieben werden. Es wird der gleiche Prozessor wie in der vorhergehenden Teilaufgabe verwendet. Dabei soll die Ausführungszeit minimiert werden. Tipp: Verwenden Sie Schleifenentfaltung (loop unrolling). (a) Passen Sie den Code entsprechend an. Zusätzlich soll die Anzahl der benötigten Register für die Schleifenentfaltung minimiert werden. (b) Wie viel Platz beansprucht der Code im Speicher? (c) Wie viele Taktzyklen werden pro Instruktion (CPI) im Durchschnitt benötigt? Wie lange dauert die Ausführung des Programms? (d) Vergleichen sie die Codegrösse, die Ausführungszeit und den CPI der beiden Versionen (Aufgabe 1.1 und 1.2) des Programmes. 2

3 Label ALU oder Verzweigung Datentransfer CC main: ADDI $s1, $zero, 0 1 ADDI $t7, $zero, 12 2 ADDI $t7, $zero, 13 SW $t7, 0($s1) 3 ADDI $t7, $zero, 14 SW $t7, 4($s1) 4 ADDI $t7, $zero, 15 SW $t7, 8($s1) 5 SW $t7, 12($s1) 6 LW $t1, 0($s1) 7 ADDI $t1, $t1, 1 LW $t3, 4($s1) 8 ADDI $t3, $t3, 1 SW $t1, 0($s1) 9 LW $t1, 8($s1) 10 ADDI $t1, $t1, 1 SW $t3, 4($s1) 11 LW $t3, 12($s1) 12 ADDI $t3, $t3, 1 SW $t1, 8($s1) 13 SW $t3, 12($s1) 14 Tabelle 2: Lösung für Aufgabe 1.2. (a) Siehe Tabelle 2. Die Befehle um zum Lesen (LW), Inkrementieren (ADDI) und Zurückschreiben (SW) eines Werts des Arrays können nicht direkt parallelisiert werden. Es können aber verschiedene Iterationen der Schleife kombiniert werden. Dafür wird das frei gewordene Register $t3 verwendet (es wird ja keine Schleife mehr gezählt). (b) Der entfaltete Code MIPS-Code benötigte 14 Instruktionen à 64 Bits, also 896 Bits. (c) Es werden 21 Instruktionen in 14 Cycles ausgeführt. CPI= 14/21 = Die Ausführungszeit ist 140 ns. (d) Der CPI des entfalteten Codes ist minimal grösser (0.66 vs. 0.65). Die Ausführungszeit des entfalteten Codes ist aber dennoch markant reduziert (14 vs. 22 Cycles). Dies entspricht einer Reduktion der Ausführungszeit von 36%. Dafür wird der Code 256 Bits (29%) grösser. 2 Pipelining mit VLIW Gegeben sei ein MIPS-VLIW-Prozessor, welcher mit einer 5-stufigen Pipeline (IF ID EX MEM WB) arbeitet. Insbesondere wird bei Verzweigungen mit der (für MIPS typischen) statischen Sprungvorhersage not taken gearbeitet. Die Sprungentscheidung ist nach der MEM Stufe bekannt. Es gibt keinen Branch Delay Slot. Auf dem Prozessor wird die folgende Funktion minvec ausgeführt: Label ALU oder Verzweigung Datentransfer CC minvec: addi $a0, $a0, 4 lw $t0, 0($a0) 1 addi $a1, $a1, 4 lw $t1, 0($a1) 2 slt $t2, $t0, $t1 3 bne $t2, $zero, l1 4 addi $t0, $t1, 0 5 l1: addi $a3, $a3, -1 6 addi $a2, $a2, 4 sw $t0, 0($a2) 7 bne $a3, $zero, minvec 8 jr $ra 9 Hinweis: slt $t2, $t0, $t1 Setze $t2=1 falls $t0<$t1; ansonsten $t2=0. 3

4 Die Funktion minvec(int* A 0, int* A 1, int* A 2, int n) überführt die beiden Arrays A 0 und A 1 der Grösse n in ein Array A 2 derselben Grösse. Für alle Elemente i des neuen Arrays gilt: A 2 [i] = min(a 0 [i], A 1 [i]). Die Startadressen der drei Arrays (A 0, A 1, A 2 ) werden in den Registern $a0, $a1 und $a2 übergeben. Die Anzahl Elemente n des Arrays steht im Register $a3. (a) Die Pipelining-Architektur unterstützt kein Forwarding. Simulieren Sie das Pipeline-Verhalten der Funktion, wenn diese für die Arrays A 0 = [8] und A 1 = [5] ausgeführt wird (d.h. n = 1). Markieren sie gegebenenfalls Stellen wo ein Leeren (Flush) der Pipeline wegen einer falschen Sprungvorhersage nötig ist. Siehe Tabelle 3. Es gibt gibt keine falschen Sprungvorhersagen; die Pipeline muss also nie geleert werden. Insbesondere muss die sw-anweisung muss gestallt werden um auf den Inhalt von Register $t0 zu warten. Dadurch muss die zur sw parallel ausgeführte addi-anweisung ebenfalls angehalten werden: die beiden Instruktionen einer VLIW-Anweisung müssen sich immer auf der gleichen Pipelinestufe befinden. (b) Die Pipelining-Architektur unterstützt nun Forwarding von EX nach EX sowie von MEM nach EX. Simulieren Sie das Pipeline-Verhalten der Funktion, wenn diese für die Arrays A 0 = [4] und A 1 = [9] ausgeführt wird. Markieren Sie gegebenenfalls Stellen wo ein Leeren (Flush) der Pipeline nötig ist. Kennzeichnen Sie im Diagramm, wo der Forwarding-Mechanismus zum Tragen kommt, indem Sie Pfeile zwischen den entsprechenden Pipeline-Stufen der abhängigen Instruktionen eintragen. Siehe Tabelle 4. Bei der ersten Sprunganweisung (Zeile 4) ist die Sprungvorhersage falsch. Dadurch muss Pipeline nach dem 8. Zyklus geleert werden. Trotz des Forwardings tritt bei der slt-anweisung immer noch ein Stall auf. Grund ist die Datenabhängigkeit durch $t1 zur vorhergehenden lw-instruktion (Forwarding MEM EX). Zu diesem Zeitpunkt ist die erste lw-instruktion schon so weit abgearbeitet, dass $t0 regulär über WB und ID übergeben werden kann. Dies führt allerdings dazu, dass auch ID erst einen Zyklus später ausgeführt wird. (c) Die Pipeline-Architektur unterstützt weiterhin Forwarding. Die Funktion wird nun mit den Werten A 0 = [5, 4, 12, 7, 15] und A 1 = [7, 4, 9, 13, 0] ausgeführt. Wie oft muss die Pipeline geleert werden? Wie viele Zyklen gehen dadurch verloren? Die Schleife wird 5-mal durchlaufen. Der erste Sprung wird 2-mal ausgeführt (beim ersten und vierten Schleifendurchlauf). Der zweite Sprung wird in den ersten 4 Durchläufen ausgeführt. Total werden also = 6 Verzweigungen falsch vorhergesagt. Jedes Mal muss dabei die Pipeline geleert werden. Es gehen dabei 6 3 = 18 Zyklen verloren. 3 Diskussion über Instruktionsparallelität (a) Um 1990 wurde der Branch Delay Slot eingeführt, um Ablauf Hazards zu vermeiden. Wieso wird dieses damals erfolgreiche Konzept heute nicht mehr benutzt? Anno 1990 war die zusätzliche Logik für die dynamische Branch Prediction zu teuer. Da zwischenzeitlich die Anzahl der Transistoren in einer CPU exponentiell gewachsen ist, kann man sich den 4

5 minvec: addi $a0,$a0,4 IF ID EX MEM WB lw $t0,0($a0) IF ID EX MEM WB addi $a1,$a1,4 IF ID EX MEM WB lw $t1,0($a1) IF ID EX MEM WB slt $t2,$t0,$t1 IF ID EX MEM WB bne $t2,$zero,l1 IF ID EX MEM WB addi $t0,$t1,0 IF ID EX MEM WB l1: addi $a3,$a3,-1 IF ID EX MEM WB addi $a2,$a2,4 IF ID EX MEM WB sw $t0,0($a2) IF ID EX MEM WB bne $a3,$zero,minvec IF ID EX MEM WB jr $ra IF ID EX MEM WB Tabelle 3: Lösung für VLIW Pipelining ohne Forwarding minvec: addi $a0,$a0,4 IF ID EX MEM WB lw $t0,0($a0) IF ID EX MEM WB addi $a1,$a1,4 IF ID EX MEM WB lw $t1,0($a1) IF ID EX MEM WB slt $t2,$t0,$t1 IF ID EX MEM WB bne $t2,$zero,l1 IF ID EX MEM WB addi $t0,$t1,0 IF ID EX l1: addi $a3,$a3,-1 IF ID IF ID EX MEM WB addi $a2,$a2,4 IF IF ID EX MEM WB sw $t0,0($a2) IF IF ID EX MEM WB bne $a3,$zero,minvec IF ID EX MEM WB jr $ra IF ID EX MEM WB Tabelle 4: Lösung für VLIW Pipelining mit Forwarding. Zwischen Zyklus 8 und 9 muss die Pipeline geleert werden. 5

6 Zusatzaufwand problemlos leisten. Insbesondere bei langen Pipelines sowie auch bei superskalaren Systemen ist der Branch Delay Slot überflüssig geworden. (b) In der Vorlesung wurden drei verschiedene Ansätze zur Optimierung der Ausführungszeit von Programmen vorgestellt: Superpipelining, VLIW-Prozessoren sowie (dynamische) superskalare Prozessoren. Was sind die Vor- und Nachteile der Ansätze im Bezug auf folgende Eigenschaften? Codegrösse Compilerbau Logikaufbau Einfluss von Branch Misses Variable Instruktionslänge Was für eine Architektur wird heutzutage für leistungsstarke CPUs gewählt? Codegrösse Bei VLIW werden die Instruktionen in Blöcke von mehreren Instruktionen gefasst. Es kommt dabei öfters vor, dass nop-befehle eingeführt werden müssen. Superpipelines und superskalare Prozessoren benötigen keine nops. Compiler Bei superskalaren Prozessoren gibt es dedizierte Hardware, welche die Instruktionen zur Laufzeit umsortiert, um Stalls zu vermeiden. Es ist also weniger wichtig, in welcher Reihenfolge die Befehle durch den Compiler geordnet werden. Die Hardware hat aber eine relativ beschränkte Sicht des Programmes. So ist zum Beispiel die Möglichkeit für ein Loop Unrolling in Hardware schwierig zu erkennen. Ein intelligenter Compiler erlaubt also auch bei superskalaren Systemen eine verbesserte Performance. Die Performanz (Ausführungszeit) von Programmen auf VLIW- und Superpipelining-Prozessoren hängt sehr stark von der Anpassung des verwendeten Compilers an die Architektur ab. Beim Einsatz von schlecht angepassten Compilern kann es zu einer sehr schlechten Performanz kommen. So war es beispielsweise zu Beginn ein Problem, die theoretisch erreichbare Performanz des Intel Itanium 2- Prozessors (VLIW) in realen Anwendungen annähernd zu erreichen, da es extrem schwierig ist, gute Compiler zu schreiben. Logikaufwand Das verfeinerte Aufteilen der Pipeline für Superpipelining resultiert in einem relativ kleinen Mehraufwand (es werden zusätzliche Register für die Zwischenstufen benötigt). Für VLIW müssen gewisse Logikkomponenten dupliziert werden. Bei superskalaren Prozessoren ist der Zusatzaufwand (für das Controlling) enorm. Branch Misses Für VLIW ist eine akkurate Branch Prediction weniger wichtig. Insbesondere wenn ein Branch Delay Slot eingeführt wird. Bei Superpipelining und Superskalaren Prozessoren muss eventuell eine Vielzahl von Instruktionen aus der Pipeline gelöscht werden. Zum Beispiel der Intel Pentium 4 besitzt 20 Stages. Beim AMD Opteron X4 können bis zu 106 RISC-Operationen gleichzeitig in Verarbeitung sein. Variable Instruktionslänge Eine feste Instruktionsbreite (z.b. 32 Bit bei MIPS) vereinfacht das gleichzeitige Lesen von mehreren Befehlen bei VLIW- und superskalaren Prozessoren. Beim Superpipelining ist eine variable Instruktionsbreite einfacher zu handhaben. Hochleistungsarchitektur Hochleistungsprozessoren sind normalerweise superskalare Systeme mit langen Pipelines. Die Pipeline ist dabei je nach Befehl unterschiedlich lang: für eine ganzzahlige Addition ist die EX Stufe in viel weniger Unterstufen unterteilt als für eine Gleitkomma Multiplikation oder gar Division. Solche superskalaren Systeme mit unterschiedlich langer Pipeline bedingen eine sehr komplexe Kontrolllogik, die nicht mehr einfach von Hand entworfen werden kann. 6

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

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

Mehr

Technische Informatik I - HS 18

Technische Informatik I - HS 18 Institut für Technische Informatik und Kommunikationsnetze Prof. L. Thiele Technische Informatik I - HS 18 Übung 7 Datum : 22.-23. November 2018 Pipelining Aufgabe 1: Taktrate / Latenz In dieser Aufgabe

Mehr

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

Technische Informatik 1 Übung 6 Pipelining (Rechenübung) Andreas Tretter 24./25. November 2016 Technische Informatik 1 Übung 6 Pipelining (Rechenübung) Andreas Tretter 24./25. November 2016 Aufgabe 1: Taktrate / Latenz TI1 - Übung 6: Pipelining Einzeltakt-Architektur TI1 - Übung 6: Pipelining Pipelining-Architektur

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 6 Datum: 24. 25. 11. 2016 Pipelining 1 Taktrate / Latenz In dieser

Mehr

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

Technische Informatik 1 Übung 7 Pipelining (Rechenübung) Balz Maag 22./23. November 2018 Technische Informatik 1 Übung 7 Pipelining (Rechenübung) Balz Maag 22./23. November 2018 Aufgabe 1: Taktrate / Latenz Einzeltakt-Architektur Pipelining-Architektur Pipelining-Architektur 15 15 120 ps 15

Mehr

Technische Informatik 1 - HS 2017

Technische Informatik 1 - HS 2017 Institut für Technische Informatik und Kommunikationsnetze Prof. L. Thiele Technische Informatik 1 - HS 2017 Übung 8 Datum: 30. 11. 1. 12. 2017 In dieser Übung soll mit Hilfe des Simulators WinMIPS64 die

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

Allgemeine Lösung mittels Hazard Detection Unit

Allgemeine Lösung mittels Hazard Detection Unit Allgemeine Lösung mittels Hazard Detection Unit Bildquelle: David A. Patterson und John L. Hennessy, Computer Organization and Design, Fourth Edition, 2012 Grundlagen der Rechnerarchitektur Prozessor 83

Mehr

Data Hazards. Grundlagen der Rechnerarchitektur Prozessor 74

Data Hazards. Grundlagen der Rechnerarchitektur Prozessor 74 Data Hazards Grundlagen der Rechnerarchitektur Prozessor 74 Motivation Ist die Pipelined Ausführung immer ohne Probleme möglich? Beispiel: sub $2, $1, $3 and $12, $2, $5 or $13, $6, $2 add $14, $2, $2

Mehr

Beispiele von Branch Delay Slot Schedules

Beispiele 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

Mehr

Pipelining. Die Pipelining Idee. Grundlagen der Rechnerarchitektur Prozessor 45

Pipelining. 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:

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

Lehrveranstaltung: PR Rechnerorganisation Blatt 8. Thomas Aichholzer

Lehrveranstaltung: PR Rechnerorganisation Blatt 8. Thomas Aichholzer Aufgabe 8.1 Ausnahmen (Exceptions) a. Erklären Sie den Begriff Exception. b. Welche Arten von Exceptions kennen Sie? Wie werden sie ausgelöst und welche Auswirkungen auf den ablaufenden Code ergeben sich

Mehr

Aufgabe 1 : Assembler

Aufgabe 1 : Assembler Winter 2015/16 Technische Informatik I Lösungsvorschlag Seite 2 Aufgabe 1 : Assembler (maximal 21 Punkte) 1.1: Verständnisfragen (maximal 4 Punkte) (a) (1 Punkt) Kreuzen Sie an, welche der folgenden Statements

Mehr

Beispielhafte Prüfungsaufgaben zur Vorlesung TI I, gestellt im Frühjahr 2009

Beispielhafte Prüfungsaufgaben zur Vorlesung TI I, gestellt im Frühjahr 2009 Beispielhafte Prüfungsaufgaben zur Vorlesung TI I, gestellt im Frühjahr 2009 Die beigefügte Lösung ist ein Vorschlag. Für Korrektheit, Vollständigkeit und Verständlichkeit wird keine Verantwortung übernommen.

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

Prozessorarchitektur. Sprungvorhersage. M. Schölzel

Prozessorarchitektur. Sprungvorhersage. M. Schölzel Prozessorarchitektur Sprungvorhersage M. Schölzel Inhalt Sprungvorhersage statische Methoden dynamische Methoden Problem Fetch-Phase Befehlswarteschlange Speicher b? Neue Adresse für noch nicht bekannt

Mehr

Lehrveranstaltung: PR Rechnerorganisation Blatt 10. Thomas Aichholzer

Lehrveranstaltung: PR Rechnerorganisation Blatt 10. Thomas Aichholzer Aufgabe 10.1 Gegeben sei folgendes Code-Fragment, das zwei geschachtelte Schleifen implementiert: addi $t0, $a0, 100 outer: addi $t1, $a1, 200 inner: lw $t4, 0($t0) lw $t5, 0($t1) add $t2, $t0, $t1 add

Mehr

Technische Informatik I - HS 18

Technische Informatik I - HS 18 Institut für Technische Informatik und Kommunikationsnetze Prof. L. Thiele Technische Informatik I - HS 8 Musterlösung zu Übung 5 Datum : 8.-9. November 8 Aufgabe : MIPS Architektur Das auf der nächsten

Mehr

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

Datenpfaderweiterung Der Single Cycle Datenpfad des MIPS Prozessors soll um die Instruktion min $t0, $t1, $t2 erweitert werden, welche den kleineren Datenpfaderweiterung Der Single Cycle Datenpfad des MIPS Prozessors soll um die Instruktion min $t0, $t1, $t2 erweitert werden, welche den kleineren der beiden Registerwerte $t1 und $t2 in einem Zielregister

Mehr

Technische Informatik 1

Technische Informatik 1 Technische Informatik 1 5 Prozessor Pipelineimplementierung Lothar Thiele Computer Engineering and Networks Laboratory Pipelining Definition 5 2 Definition Pipelining (Fliessbandverarbeitung) ist eine

Mehr

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

Hochschule Düsseldorf University of Applied Sciences HSD RISC &CISC HSD RISC &CISC CISC - Complex Instruction Set Computer - Annahme: größerer Befehlssatz und komplexere Befehlen höhere Leistungsfähigkeit - Möglichst wenige Zeilen verwendet, um Aufgaben auszuführen - Großer

Mehr

Technische Informatik 1 Übung 2 Assembler (Computerübung) Matthias Meyer

Technische Informatik 1 Übung 2 Assembler (Computerübung) Matthias Meyer Technische Informatik 1 Übung 2 Assembler (Computerübung) Matthias Meyer Ziele der Übung Aufgabe 1 Ein lauffähiges Assembler-Programm Umgang mit dem Debugger Aufgabe 2 (Zusatzaufgabe) Lesen und Analysieren

Mehr

Tutorium Rechnerorganisation

Tutorium Rechnerorganisation Woche 8 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

Technische Informatik - Eine Einführung

Technische 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

Mehr

Lösungsvorschlag zur 4. Übung

Lö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

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

, 2015W Übungsgruppen: Mo., Mi.,

, 2015W Übungsgruppen: Mo., Mi., VU Technische Grundlagen der Informatik Übung 6: Befehlssatz, Pipelining 183.59, 2015W Übungsgruppen: Mo., 1.12. Mi., 16.12.2015 Aufgabe 1: Stack Funktionsweise Erläutern Sie die Funktionsweise eines Stacks

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

Grundlagen der Informationsverarbeitung:

Grundlagen der Informationsverarbeitung: Grundlagen der Informationsverarbeitung: Parallelität auf Instruktionsebene Prof. Dr.-Ing. habil. Ulrike Lucke Durchgeführt von Prof. Dr. rer. nat. habil. Mario Schölzel Maximaler Raum für Titelbild (wenn

Mehr

ARM: Befehlssatz (Forts.)

ARM: 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)

Mehr

ARM: Befehlssatz (Forts.)

ARM: 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)

Mehr

Grundlagen der Rechnerarchitektur. Prozessor

Grundlagen der Rechnerarchitektur. Prozessor Grundlagen der Rechnerarchitektur Prozessor Übersicht Datenpfad Control Pipelining Data Hazards Control Hazards Multiple Issue Grundlagen der Rechnerarchitektur Prozessor 2 Datenpfad einer einfachen MIPS

Mehr

Grundlagen der Rechnerarchitektur. Prozessor

Grundlagen der Rechnerarchitektur. Prozessor Grundlagen der Rechnerarchitektur Prozessor Übersicht Datenpfad Control Pipelining Data Hazards Control Hazards Multiple Issue Grundlagen der Rechnerarchitektur Prozessor 2 Datenpfad einer einfachen MIPS

Mehr

Technische Informatik I - HS 18

Technische Informatik I - HS 18 Institut für Technische Informatik und Kommunikationsnetze Prof. L. Thiele Technische Informatik I - HS 18 Musterlösung zu Übung 3 Datum : 25.-26. Oktober 2018 Aufgabe 1: Wurzelverfahren nach Heron Das

Mehr

Rechnerarchitektur (RA)

Rechnerarchitektur (RA) 2 Rechnerarchitektur (RA) Sommersemester 27 Pipelines Jian-Jia Chen Informatik 2 http://ls2-www.cs.tu.de/daes/ 27/5/3 Diese Folien enthalten Graphiken mit Nutzungseinschränkungen. Das Kopieren der Graphiken

Mehr

Rechnerarchitektur (RA)

Rechnerarchitektur (RA) 2 Rechnerarchitektur (RA) Sommersemester 26 Pipelines Jian-Jia Chen Informatik 2 http://ls2-www.cs.tu.de/daes/ 26/5/25 Diese Folien enthalten Graphiken mit Nutzungseinschränkungen. Das Kopieren der Graphiken

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

Schriftliche Prüfung

Schriftliche Prüfung OTTO-VON-GUERICKE-UNIVERSITÄT MAGDEBURG FAKULTÄT FÜR INFORMATIK Schriftliche Prüfung im Fach: Rechnersysteme Studiengang: Bachelor (PF CSE / IF; WPF CV / WIF) am: 30. Juli 2008 Bearbeitungszeit: 120 Minuten

Mehr

Compiler für f r Eingebettete Systeme (CfES)

Compiler für f r Eingebettete Systeme (CfES) Compiler für f r Eingebettete Systeme (CfES) Sommersemester 2009 Dr. Heiko Falk Technische Universität Dortmund Lehrstuhl Informatik 12 Entwurfsautomatisierung für Eingebettete Systeme Kapitel 9 Ausblick

Mehr

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

Besprechung 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,

Mehr

Rechnerarchitekturen und Mikrosystemtechnik lectures/2008ws/vorlesung/ram

Rechnerarchitekturen und Mikrosystemtechnik   lectures/2008ws/vorlesung/ram 64-613 RAM 64-613 Rechnerarchitekturen und Mikrosystemtechnik http://tams-www.informatik.uni-hamburg.de/ lectures/2008ws/vorlesung/ram Andreas Mäder Fakultät für Mathematik, Informatik und Naturwissenschaften

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

JR - RA - SS02 Kap

JR - RA - SS02 Kap 3.1 Elementare Datentypen, Operationen und ihre Realisierung (siehe 2.1) 3.2 Mikroprogrammierung 3.3 Einfache Implementierung von MIPS 3.4 Pipelining 3.5 Superskalare Befehlsausführung JR - RA - SS02 Kap.

Mehr

DIGITALE SCHALTUNGEN II

DIGITALE 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

Mehr

JR - RA - SS02 Kap

JR - RA - SS02 Kap 3.1 Elementare Datentypen, Operationen und ihre Realisierung (siehe 2.1) 3.2 Mikroprogrammierung 3.3 Einfache Implementierung von MIPS 3.4 Pipelining 3.5 Superskalare Befehlsausführung JR - RA - SS02 Kap.

Mehr

Pipelining for DLX 560 Prozessor. Pipelining : implementation-technique. Pipelining makes CPUs fast. pipe stages

Pipelining for DLX 560 Prozessor. Pipelining : implementation-technique. Pipelining makes CPUs fast. pipe stages Pipelining for DLX 560 Prozessor Pipelining : implementation-technique Pipelining makes CPUs fast. pipe stages As many instructions as possible in one unit of time 1 Pipelining can - Reduce CPI - Reduce

Mehr

Übungsblatt 7 Implementierung von Programmsteuerbefehlen in einer Befehlspipeline Abgabefrist: Mittwoch , 14:00 Uhr

Übungsblatt 7 Implementierung von Programmsteuerbefehlen in einer Befehlspipeline Abgabefrist: Mittwoch , 14:00 Uhr Praktikum zur Vorlesung Prozessorarchitektur SS 2017 Übungsblatt 7 Implementierung von Programmsteuerbefehlen in einer Befehlspipeline Abgabefrist: Mittwoch 21.06.2017, 14:00 Uhr 1.1. Einführung Programmsteuerbefehle

Mehr

ÜBUNGS-BLOCK 7 LÖSUNGEN

ÜBUNGS-BLOCK 7 LÖSUNGEN ÜBUNGS-BLOCK 7 LÖSUNGEN Aufgabe 1: Gegeben ist folgender Code: Auto[] array = new Auto[3]; // Alle Autos im Array tunen: for (int i = 1; i

Mehr

Grundlagen der Rechnerarchitektur

Grundlagen 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

Mehr

Heute nur MIPS-Praxis (4 Aufgaben)

Heute 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

Mehr

Algorithmen als systematische Vorgehensweisen zur Lösung eines formal definierten Problems

Algorithmen als systematische Vorgehensweisen zur Lösung eines formal definierten Problems 4. Algorithmen Motivation Algorithmen als systematische Vorgehensweisen zur Lösung eines formal definierten Problems Der Begriff Algorithmus geht auf den Gelehrten Muhammad al-chwarizmi zurück, der um

Mehr

Datenpfad einer einfachen MIPS CPU

Datenpfad 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:

Mehr

LW R1, B IF ID EX MEM WB LW R2, C IF ID EX MEM WB ADD R3, R1, R2 IF ID stall EX MEM WB SW A, R3 IF stall ID EX MEM WB

LW R1, B IF ID EX MEM WB LW R2, C IF ID EX MEM WB ADD R3, R1, R2 IF ID stall EX MEM WB SW A, R3 IF stall ID EX MEM WB Compiler Techniken für Hazards Viele Stau-Typen sind recht häufig Beispiel: A = B + C LW R1, B IF ID EX MEM WB LW R2, C IF ID EX MEM WB ADD R3, R1, R2 IF ID stall EX MEM WB SW A, R3 IF stall ID EX MEM

Mehr

Algorithmen als systematische Vorgehensweisen zur Lösung eines formal definierten Problems

Algorithmen als systematische Vorgehensweisen zur Lösung eines formal definierten Problems 4. Algorithmen Motivation Algorithmen als systematische Vorgehensweisen zur Lösung eines formal definierten Problems Der Begriff Algorithmus geht auf den Gelehrten Muhammad al-chwarizmi zurück, der um

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

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

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

, WS2013 Übungsgruppen: Di., Fr.,

, 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

Mehr

Übungsblatt 6. Implementierung einer Befehlspipeline

Übungsblatt 6. Implementierung einer Befehlspipeline Praktikum zur Vorlesung Prozessorarchitektur SS 2016 Übungsblatt 6. Implementierung einer Befehlspipeline 1.1. Einführung Durch die Einteilung der Befehlsverarbeitung in mehrere Zyklen in dem vorangegangenen

Mehr

Rechnerarchitektur. Marián Vajteršic und Helmut A. Mayer

Rechnerarchitektur. Marián Vajteršic und Helmut A. Mayer Rechnerarchitektur Marián Vajteršic und Helmut A. Mayer Fachbereich Computerwissenschaften Universität Salzburg marian@cosy.sbg.ac.at und helmut@cosy.sbg.ac.at Tel.: 8044-6344 und 8044-6315 30. Mai 2017

Mehr

Grundlagen der Rechnerarchitektur. MIPS Assembler

Grundlagen der Rechnerarchitektur. MIPS Assembler Grundlagen der Rechnerarchitektur MIPS Assembler Übersicht Arithmetik, Register und Speicherzugriff Darstellung von Instruktionen Logische Operationen Weitere Arithmetik Branches und Jumps Prozeduren 32

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

Übung zur Vorlesung Berechenbarkeit und Komplexität

Übung zur Vorlesung Berechenbarkeit und Komplexität RWTH Aachen Lehrgebiet Theoretische Informatik Reidl Ries Rossmanith Sanchez Tönnis WS 2012/13 Übungsblatt 7 26.11.2012 Übung zur Vorlesung Berechenbarkeit und Komplexität Aufgabe T15 Entwickeln Sie ein

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

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

RO-Tutorien 15 und 16

RO-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

Mehr

4. Übung - Rechnerarchitektur/Betriebssysteme

4. Ü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

Mehr

Übungen zur Vorlesung Technische Informatik I, SS 2002 Hauck / Guenkova-Luy / Prager / Chen Übungsblatt 5 Rechenwerke / Scheduling

Übungen zur Vorlesung Technische Informatik I, SS 2002 Hauck / Guenkova-Luy / Prager / Chen Übungsblatt 5 Rechenwerke / Scheduling Übungen zur Vorlesung Technische Informatik I, SS 2002 Hauck / Guenkova-Luy / Prager / Chen Übungsblatt 5 Rechenwerke / Scheduling Aufgabe 1: Sie haben in der Vorlesung einen hypothetischen Prozessor kennen

Mehr

Arithmetik, Register und Speicherzugriff. Grundlagen der Rechnerarchitektur Assembler 9

Arithmetik, Register und Speicherzugriff. Grundlagen der Rechnerarchitektur Assembler 9 Arithmetik, Register und Speicherzugriff Grundlagen der Rechnerarchitektur Assembler 9 Arithmetik und Zuweisungen Einfache Arithmetik mit Zuweisung C Programm: a = b + c; d = a e; MIPS Instruktionen: Komplexere

Mehr

Übung Praktische Informatik II

Übung Praktische Informatik II Übung Praktische Informatik II FSS 2009 Benjamin Guthier Lehrstuhl für Praktische Informatik IV Universität Mannheim guthier@pi4.informatik.uni-mannheim.de 20.03.09 4-1 Heutige große Übung Ankündigung

Mehr

10 Pipelining. Computersysteme 10. Pipelining

10 Pipelining. Computersysteme 10. Pipelining 10 Pipelining Durch Pipelining kann man viele Abläufe im Rechner beschleunigen Insbesondere ist es eine Implementierungstechnik, die CPUs schneller macht Die Idee ist die der Fließbandverarbeitung in Produktionsprozessen

Mehr

Lösungsvorschlag 10. Übung Technische Grundlagen der Informatik II Sommersemester 2009

Lö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

Mehr

Beispielhafte Prüfungsaufgaben zur Vorlesung Technische Informatik I Gestellt im Frühjahr 2012

Beispielhafte Prüfungsaufgaben zur Vorlesung Technische Informatik I Gestellt im Frühjahr 2012 Beispielhafte Prüfungsaufgaben zur Vorlesung Technische Informatik I Gestellt im Frühjahr 2012 Die beigefügte Lösung ist ein Vorschlag. Für Korrektheit, Vollständigkeit und Verständlichkeit wird keine

Mehr

, SS2012 Übungsgruppen: Do., Mi.,

, SS2012 Übungsgruppen: Do., Mi., VU Technische Grundlagen der Informatik Übung : Mikroprozessoren, Pipelining, Cache 183.579, SS01 Übungsgruppen: Do., 10.05. Mi., 1.05.01 Aufgabe 1: Stack Funktionsweise eines Stacks Erläutern Sie die

Mehr

Assembler am Beispiel der MIPS Architektur

Assembler am Beispiel der MIPS Architektur Assembler am Beispiel der MIPS Architektur Frühere Einsatzgebiete MIPS Silicon Graphics Unix Workstations (z. B. SGI Indigo2) Silicon Graphics Unix Server (z. B. SGI Origin2000) DEC Workstations (z.b.

Mehr

CPU, GPU und FPGA. CPU, GPU und FPGA Maximilian Bandle, Bianca Forkel 21. November 2017

CPU, GPU und FPGA. CPU, GPU und FPGA Maximilian Bandle, Bianca Forkel 21. November 2017 CPU, GPU und FPGA, Bianca Forkel 21. November 2017 CPU, GPU und FPGA Inhalt CPU: Central Processing Unit GPU: Graphical Processing Unit FPGA: Field Programmable Gate Array 2 CPU Central Processing Unit

Mehr

Assembler Programmierung Motivation. Informatik II SS 2004 Teil 4: Assembler Programmierung. Assembler vs. Maschinensprache

Assembler Programmierung Motivation. Informatik II SS 2004 Teil 4: Assembler Programmierung. Assembler vs. Maschinensprache Assembler Programmierung Motivation Informatik II SS 2004 Teil 4: Assembler Programmierung Was ist ein Programm? Eine Reihe von Befehlen, die der Ausführung einer Aufgabe dient Dazu wird das Programm sequentiell

Mehr

Grundlagen der Rechnerarchitektur

Grundlagen 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

Mehr

nutzt heute Diese Prinzipien werden wir im Kapitel 3 behandelt Lehrstuhl für Informatik 3 - D. Fey Vorlesung GRa - SS

nutzt 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

Mehr

Just-In-Time-Compiler (2)

Just-In-Time-Compiler (2) Just-In-Time-Compiler (2) Dr.-Ing. Volkmar Sieh Department Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg WS 2011/2012 Just-In-Time-Compiler (2) 1/13 2011-09-12 Just-In-Time-Compiler

Mehr

######################### Zeichenkette auswerten ###################################

######################### Zeichenkette auswerten ################################### Informatik 3 Übung 06 Georg Kuschk 6.3) MIPS #Aufgabe 6.3) #Georg Kuschk #ACHTUNG : Da laut Forum davon ausgegangen werden soll, dass der Eingabewert, # falls er denn kleiner gleich 10 Stellen besitzt,

Mehr

x Inhaltsverzeichnis 2. von NEUMANN-Rechner Grundkonzept Interne und externe Busse Prozessorregister Stackpointer

x Inhaltsverzeichnis 2. von NEUMANN-Rechner Grundkonzept Interne und externe Busse Prozessorregister Stackpointer Inhaltsverzeichnis 1. Komplexe Schaltwerke 1 1.1 Zeitverhalten von Schaltwerken 2 1.1.1 Wirk- und Kippintervalle 3 1.1.2 Rückkopplungsbedingungen 6 1.2 Entwurf von Schaltwerken 9 1.3 Kooperierende Schaltwerke

Mehr

Just-In-Time-Compiler (2)

Just-In-Time-Compiler (2) Just-In-Time-Compiler (2) Dr.-Ing. Volkmar Sieh Department Informatik 4 Verteilte Systeme und Betriebssysteme Friedrich-Alexander-Universität Erlangen-Nürnberg WS 2015/2016 V. Sieh Just-In-Time-Compiler

Mehr

Kap.3 Mikroarchitektur. Prozessoren, interne Sicht

Kap.3 Mikroarchitektur. Prozessoren, interne Sicht Kap.3 Mikroarchitektur Prozessoren, interne Sicht 1 3.1 Elementare Datentypen, Operationen und ihre Realisierung (siehe 2.1) 3.2 Mikroprogrammierung 3.3 Einfache Implementierung von MIPS 3.4 Pipelining

Mehr

Instruktionen pro Takt

Instruktionen 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

Mehr

Optimierungen der Lattice Boltzmann Methode auf x86-64 basierten Architekturen

Optimierungen der Lattice Boltzmann Methode auf x86-64 basierten Architekturen Optimierungen der Lattice Boltzmann Methode auf x86-64 basierten Architekturen J. Treibig, S. Hausmann, U. Ruede 15.09.05 / ASIM 2005 - Erlangen Gliederung 1 Einleitung Motivation Grundlagen 2 Optimierungen

Mehr

Hier: Soviele Instruktionen wie möglich sollen in einer Zeiteinheit ausgeführt werden. Durchsatz.

Hier: Soviele Instruktionen wie möglich sollen in einer Zeiteinheit ausgeführt werden. Durchsatz. Pipelining beim DLX 560 Prozessor Pipelining : Implementierungstechnik Vielfältig angewendet in der Rechnerarchitektur. Pipelining macht CPUs schnell. Pipelining ist wie Fließbandverarbeitung. Hintereinanderausführung

Mehr

4. Übung - Rechnerarchitektur/Betriebssysteme

4. Ü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

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 Ü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)

Mehr