Prozessorarchitektur. Sprungvorhersage. M. Schölzel

Größe: px
Ab Seite anzeigen:

Download "Prozessorarchitektur. Sprungvorhersage. M. Schölzel"

Transkript

1 Prozessorarchitektur Sprungvorhersage M. Schölzel

2 Inhalt Sprungvorhersage statische Methoden dynamische Methoden

3 Problem Fetch-Phase Befehlswarteschlange Speicher b? Neue Adresse für noch nicht bekannt Issue-Phase zu Reservation Stations Sprungoperation n Takte Execute-Phase Branch-Unit Tatsächliches Sprungziel wird erst hier berechnet Nach dem Holen eines Sprungbefehls wird Fetch-Phase angehalten, bis das Sprungziel bekannt ist Sprungziel ist nach Execute-Phase bekannt (n Takte) Je tiefer die Pipeline, desto größer n Verarbeitungsgeschwindigkeit mit idealer des 4-fach superskalarer Prozessor, GHz Takt n = 6 Im Idealfall: 4 MIPS Verarbeitungsleistung ohne : 5% Sprungoperationen (alle 2 Operationen eine Sprungoperation) Alle 5 Takte wird eine Sprungoperation geholt => Anhalten der Fetch-Phase für 6 Takte 2 Operationen in Takten... / * 2 <.82 MIPS (45% der maximalen Leistung)

4 Statische Sprungvorhersage Statische Sprungvorhersage bezieht keine Daten aus der Vergangenheit ein Techniken: Variante : Verzweigung wird nie ausgeführt Variante 2: Verzweigung wird immer ausgeführt Variante 3: abhängig vom Sprungbefehl Rückwärtssprünge werden immer ausgeführt Vorwärtssprünge werden nicht ausgeführt

5 Statische Sprungvorhersage (Variante ) Annahme: Verzweigung wird nie ausgeführt Für die Aktualisierung des ist keine zusätzliche HW erforderlich wird immer inkrementiert Sprungvorhersage ist aber oft falsch z.b. Rücksprünge am Ende von Schleifenkörpern Fetch-Phase Speicher b inc Sprungoperation Issue-Phase zu Reservation Stations Execute-Phase Branch-Unit Tatsächliches Sprungziel wird erst hier berechnet

6 Statische Sprungvorhersage (Variante 2) Annahme: Verzweigung wird immer ausgeführt Sprungziel muss aus Befehl bestimmt werden schwierig bei Registerindirekten Sprüngen (Branch-Target-Buffer kann helfen) Fehlerrate für verschiedene Benchmarkprogramme im Mittel ca. 34% Im besten Fall 9% Im schlechtesten Fall 59% Quelle: Hennessey & Patterson : Quantitative Approach Fetch-Phase Speicher b Ziel Ctrl inc Ctrl :=, falls Branch-Unit Sprungziel berechnet hat, falls Branch-Unit kein Sprungziel berechnet hat und b Sprunganweisung war 2, sonst Issue-Phase zu Reservation Stations Execute-Phase Branch-Unit Tatsächliches Sprungziel wird erst hier berechnet

7 Statische Sprungvorhersage (Variante 3) Annahme: basiert auf Befehl Für die Aktualisierung des ist in der Regel zusätzliche HW erforderlich (hängt vom Befehlssatz ab) Sprungziel muss aus Befehl bestimmt werden z.b. schwierig bei Registerindirekten Sprüngen Rückwärtssprünge werden immer ausgeführt: Motivation: Rücksprünge vom Ende einer Schleife Vorwärtssprünge werden nicht ausgeführt: Motivation: if-then-else für Fehlerbehandlung Fehler treten selten auf und werden im else-zweig behandelt Fetch-Phase Speicher b Ziel Ctrl inc Ctrl :=, falls Branch-Unit Sprungziel berechnet hat, falls Branch-Unit kein Sprungziel berechnet hat und b war Vorwärtssprung 2, sonst Issue-Phase zu Reservation Stations Execute-Phase Branch-Unit Tatsächliches Sprungziel wird erst hier berechnet

8 Aktionen bei falscher Variante : Bei falscher werden alle nach der falsch vorhergesagten Sprunganweisung geholten Operationen aus der Pipeline gelöscht Erfordert clear aller betroffenen Pipelineregister (Befehlswarteschlange, RS, ROB) Variante 2: Delay Slots Genau n nach der falsch vorhergesagten Sprungoperation geholte Befehle werden noch ausgeführt Speicher inc Nur möglich, wenn n konstant ist; FE/DE Nicht möglich bei dynamisch geplanten Prozessoren DE/EX Branch-Unit

9 Inhalt Sprungvorhersage statische Methoden dynamische Methoden

10 Dynamische Sprungvorhersage Dynamische Methoden beziehen Informationen aus der Vergangenheit in die ein Methoden Lokal (Informationen aus der Vergangenheit des vorherzusagenden Befehls): mit -Bit- mit 2-Bit- mit Zählern Global (Informationen aus der Vergangenheit anderer Sprungbefehle) Correlating-Branch-Predictors Tournament Predictors

11 Sprungvorhersage in Fetch-Phase Annahmen: Sprung kann in Fetch-Phase erkannt werden Zieladresse kann aus Sprunganweisung und eindeutig berechnet werden ist -Bit Information (Sprung ausführen/nicht ausführen) Aktueller -Wert neuer und load-signal Speicher + Signale aus Commit-Phase Predictor Zieladresse berechnen & (, korrekt) Befehlscode Sprung? Zur Befehlspipeline/Warteschlange

12 Implementierung Predictor (Auswahl mit Indexbits) LSBs des werden als Indexbits verwendet Predictor bleibt klein Mehrere Sprünge können sich den gleichen Index teilen kann für den falschen Sprung getroffen werden Indexbits a m a 4 a k+ a k a Index : Sprung wird ausgeführt (=) oder nicht (=) von Commit- Phase Index für Sprung Sprung wurde ausgeführt/nicht ausgeführt Update k Predictor

13 Implementierung Predictor (Auswahl mit Index- und Tagbits) ist in Index- und Tagbits aufgeteilt Höherer Speicheraufwand Adresse des Sprungs kann überprüft werden; keine für falschen Sprung Sprünge mit gleichen Indexbits verdrängen sich gegenseitig Default-, wenn Tagbits nicht matchen a 5 a 4 a k+ a k a Tagbits Indexbits Index Tagbits == Tagbits von Commit- Phase Index für Sprung Sprung wurde ausgeführt/nicht ausgeführt Update k Predictor : Sprung wird ausgeführt (=) oder nicht (=)

14 Implementierung Predictor (Auswahl Mehrfach-Assoziativ) Eine Indexposition kann mehrere n mit verschiedenen Tagbits speichern Hoher Speicheraufwand Sprünge mit gleichen Indexbits verdrängen sich nicht sofort Implementierung einer Verdrängungsstrategie erforderlich Default-, wenn Tagbits nicht matchen a 5 a 4 a k+ a k a Tagbits Indexbits Index Tagbits == Tagbits von Commit- Phase Index für Sprung Sprung wurde ausgeführt/nicht ausgeführt Update k Predictor : Sprung wird ausgeführt (=) oder nicht (=)

15 Lokale Sprungvorhersage mit -Bit ist ein Bit: Sprung wird nicht ausgeführt Sprung wird ausgeführt Update nach Commit: Wurde der Sprung ausgeführt, wird bit auf gesetzt Wurde der Sprung nicht ausgeführt, wird bit auf gesetzt Nachteil dieses Ansatzes: Wird ein Sprung fast immer ausgeführt und nur einmal nicht, dann wird zwei Mal eine falsche getroffen a 5 a 4 a k+ a k a Index : Sprung wird ausgeführt (=) oder nicht (=) von Commit- Phase Index für Sprung Sprung wurde ausgeführt/nicht ausgeführt Update k Predictor

16 Lokale Sprungvorhersage mit 2-Bit ist ein 2-Bit-Wert: und nicht springen und springen Update nach Commit: siehe Zustandsautomat Nachteil dieses Ansatzes: arbeitet nur lokal Änderung der nur nach zwei aufeinanderfolgenden falschen n a 5 a 4 a k+ a k a Index Höchstwertiges Bit der von Commit- Phase Index für Sprung Sprung wurde ausgeführt (=) /nicht ausgeführt (=) Update k Predictor

17 Lokale Sprungvorhersage mit Zähler ist ein n-bit-zähler mit Sättigung: Inkrementieren von 2 n - ergibt 2 n - Dekrementieren von ergibt Höchstwertiges Bit des Zählers wird für genutzt ( = springen; = nicht springen) Update nach Commit: Wenn Sprung ausgeführt wurde, wird der Zählerwert inkrementiert Wenn der Sprung nicht ausgeführt wurde, wird der Zählerwert dekrementiert Nachteil dieses Ansatzes: Toggeln möglich a 5 a 4 a k+ a k a Index Höchstwertiges Bit der von Commit- Phase Index für Sprung Sprung wurde ausgeführt (=) /nicht ausgeführt (=) Update k Predictor

18 Beispiel für Sprungvorhersage mit 2-Bit-Zähler Update nach Commit: siehe Zustandsautomat Nachteil dieses Ansatzes: arbeitet nur lokal a 5 a 4 a k+ a k a Index Höchstwertiges Bit der von Commit- Phase Index für Sprung Sprung wurde ausgeführt (=) /nicht ausgeführt (=) Update k Predictor

19 Globale Sprungvorhersage ((n,m)-correlating Branch Predictors) Einbeziehung der information der letzten m Sprünge Für jeden möglichen der 2 m Steuerflüsse der letzten m Sprünge gibt es eine lokale Sprungvorhersage, die n Bits für die lokale nutzt m-bit Vektor (s,,s m ) speichert n für die letzten m Sprünge Globaler Kontext wählt lokale aus Aktualisierung nur des ausgewählten lokalen Predictors a 5 a 4 a k+ a k a Local Predictor n-bit- Local Predictor 2 n-bit- Local Predictor 2 m n-bit- m-bit Schieberegister s s 2 s 3 s m

20 Nutzen Globaler Information Wurden die ersten zwei Sprünge ausgeführt, dann wird der dritte Sprung nicht ausgeführt Wurde einer der zwei ersten Sprünge ausgeführt und der andere nicht, dann wird der dritte Sprung ausgeführt Ansonsten hilft der globale Kontext für die des dritten Sprungs nicht weiter if (aa == 2) aa = ; if (bb == 2) bb = ; if (aa!= bb) { }

21 Turnament Predictor Beobachtung: Verhalten eines Sprungs kann manchmal gut auf Basis lokaler Informationen und ein andermal durch globale Informationen vorhergesagt werden Turnament-Predictor kombiniert beide Ähnliches Prinzip wird in zahlreichen aktuellen Prozessoren genutzt: Alpha 2264 AMD Opteron, Phenom Core i7

22 Tournament-Predictor Es gibt einen globalen und einen lokalen Predictor Beide treffen parallel Sprungvorhersage unabhängig voneinander Es gibt einen weiteren Predictor (Selektor), der speichert, ob in der Vergangenheit der lokale oder globale Prediktor besser funktioniert hat Selektor wird für die Auswahl des Ergebnisses der des globalen oder lokalen Predictors verwendet Beispiel aus Alpha 2264: Local Predictor Global Predictor Bit 24 Einträge Local History Local History Local History Local History 3-Bit Zähler 3-Bit Zähler 3-Bit Zähler 3-Bit Zähler 24 Einträge 2-Bit History Global Predictor 4K 2 Bit- Selektor 4K 2-Bit Zähler

23 Selektor Selektortabelle hat 496 Einträge LSBs des s indizieren Eintrag Jeder Eintrag ist ein 2-Bit Zähler: MSB des Zählers, dann des globalen Predictors nutzen MSB des Zählers, dann des lokalen Predictors nutzen Aktualisierung des Selektors mit Rückmeldung xy aus Commit-Phase mit x,y Î {,} x = gdw. globaler Predictor lieferte korrekte y = gdw. lokaler Predictor lieferte korrekte,,,,,, Rückmeldung xy aus Commit-Phase Aktuelle aus Selektortabelle

24 Global Predictor 2-Bit Schieberegister speichert n der letzten 2 Sprünge Schieberegister indiziert 496 Einträge in Globaler History-Table Jeder Eintrag in Global History-Table ist ein 2-Bit-Predictor; MSB des 2-Bit-Predictors liefert Sprungvorhersage hängt nur von der Historie der letzten Sprünge ab (nicht vom aktuell vorherzusagenden Sprung) Global Predictor 2-Bit History Global Predictor 4K 2 Bit- Global History- Table

25 Lokaler Predictor Für 24 Sprünge kann die lokale Historie der letzten Verzweigungen gespeichert werden (Lokale Historie) indiziert lokale Historie; Eintrag aus lokaler Historie indiziert Sprungvorhersagetabelle mit 24 Einträgen Jeder Eintrag ist ein 3-Bit-Zähler für des aktuellen Sprungs Gewählte kann damit abhängig von den letzten Verzweigungen der Sprunganweisung gemacht werden Local Predictor Bit 24 Einträge Local History Local History Local History Local History 3-Bit Zähler 3-Bit Zähler 3-Bit Zähler 3-Bit Zähler 24 Einträge

26 Motivation für Turnament- Predictor Für Integer-Benchmark-Programme: in 4% der Fälle wird des globalen Predictors genutzt in 6% der Fälle des lokalen Predictors Für Gleitkomma-Benchmarkprogramme: in weniger als 5% der Fälle wird des globalen Predictors genutzt in mehr als 85% der Fälle des lokalen Predictors Verhalten der passt sich an Eigenschaften der Sprünge in der Anwendung an

27 Vgl. Genauigkeit/Größe der Prediktoren Falsche n % 9% 8% 7% 6% 5% 4% 3% 2% % Lokal: 2-Bit-Zähler (2,2)-Correlating-branch-predictor Tournament % bits KBits Quelle: Hennessey & Patterson : Quantitative Approach

28 Sprungvorhersage im Core i7 Zweistufige :. Stufe: mit kleineren Tabellen, um erforderliches Delay einzuhalten 2. Stufe: Backup mit mehr Speicher Jede Stufe ist aus drei Predictoren aufgebaut: Einfacher lokaler 2-Bit-Predictor Predictor mit globaler Historie Loop-Exit-Predictor: Zähler für Sprünge, die als Sprung am Ende einer Schleife erkannt wurden Ende einer Schleife voraussagen Ähnlich wie beim Turnament-Predictor wird die beste genutzt Zusätzlich: Stack zur einer Return-Adresse der Zieladresse indirekter Sprünge (Branch-Target-Buffer)

29 Branch-Target-Buffer (BTB) Annahme: Zieladresse kann nicht einfach aus Sprungoperation und gewonnen werden (befindet sich z.b. in Register) BTB enthält für Adresse des Sprungs das Sprungziel Zieladresse kann direkt der Tabelle entnommen werden Adresse der Sprungoperation Zieladresse a 5 a 4 a k+ a k a Tagbits Indexbits Index Tagbits Zieladresse == & Index für Sprung k Tagbits Zieladresse Sprung wurde ausgeführt/nicht ausgeführt Update Predictor +

30 -Cycle Sprünge Variation des BTB BTB speichert zusätzlich Instruktion von Zieladresse Bei einem Treffer: Ersetzen des unbedingten Sprungs aus Fetch-Phase durch gespeicherte Instruktion von Zieladresse auf vorhergesagte -Position + setzen

technische universität dortmund fakultät für informatik informatik 12 Branch Prediction Peter Marwedel Informatik 12 TU Dortmund 2012/05/09

technische universität dortmund fakultät für informatik informatik 12 Branch Prediction Peter Marwedel Informatik 12 TU Dortmund 2012/05/09 12 Branch Prediction Peter Marwedel Informatik 12 TU Dortmund 2012/05/09 Dynamisches Scheduling: Sprungvorhersage Bisher betrachtet: Techniken, Datenkonflikte (aufgrund von Abhängigkeiten) zu reduzieren

Mehr

Prozessorarchitektur. Performanceverbesserung für Prozessoren mit dynamischer Ablaufplanung. M. Schölzel

Prozessorarchitektur. Performanceverbesserung für Prozessoren mit dynamischer Ablaufplanung. M. Schölzel Prozessorarchitektur Performanceverbesserung für Prozessoren mit dynamischer Ablaufplanung M. Schölzel Inhalt Superskalarität Sprungvorhersage Multithreading Fehlertoleranz Inhalt Superskalarität Sprungvorhersage

Mehr

Sprungvorhersagestrategien für Befehlspipelines

Sprungvorhersagestrategien für Befehlspipelines Fakultät Informatik, Institut für echnische Informatik, Professur VLSI-Entwurfssysteme, Diagnostik und Architektur Sprungvorhersagestrategien für Dresden, 09.07.2010 Was sind? Warum Sprungvorhersage? Folie

Mehr

Kontrollpfad der hypothetischen CPU

Kontrollpfad der hypothetischen CPU Kontrollpfad der hypothetischen CPU fast alle Algorithmen benötigen FOR- oder WHILE-Schleifen und IF.. ELSE Verzweigungen Kontrollfluß ist datenabhängig CCR speichert Statussignale N,Z, V,C der letzten

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

Kontrollpfad der hypothetischen CPU

Kontrollpfad der hypothetischen CPU Kontrollpfad der hypothetischen CPU fast alle Algorithmen benötigen FOR- oder WHILE-Schleifen und IF.. ELSE Verzweigungen Kontrollfluß ist datenabhängig CCR speichert Statussignale N,Z, V,C der letzten

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

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

Ü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

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

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

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

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

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

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

Prozessorarchitektur. Dynamische Ablaufplanung. M. Schölzel

Prozessorarchitektur. Dynamische Ablaufplanung. M. Schölzel Prozessorarchitektur Dynamische Ablaufplanung M. Schölzel Inhalt HW-Architekturen zur Implementierung dynamischer Ablaufplanung: Scoreboard Tomasulo-Algorithmus Inhalt HW-Architekturen zur Implementierung

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

Musterlösungen Technische Informatik 2 (T2) Prof. Dr.-Ing. D. P. F. Möller

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

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

Sprungbefehle und Kontroll-Strukturen

Sprungbefehle und Kontroll-Strukturen Sprungbefehle und Kontroll-Strukturen Statusregister und Flags Sprungbefehle Kontrollstrukturen Das Status-Register 1 Register-Satz des ATmega128 Universal-Register (8Bit) R0..R15 16 Bit Program counter

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

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

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

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

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

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

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

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

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

9.1. Aufbau einer Befehlspipeline

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

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

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

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

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

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

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

, 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

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

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

Mehr

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

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

An Introduction to Simultaneous Multi-Threading Prinziples and Architectures

An Introduction to Simultaneous Multi-Threading Prinziples and Architectures An Introduction to Simultaneous Multi-Threading Prinziples and Architectures Seminarvortrag von Thomas Weber Lehrstuhl Rechnerarchitektur Übersicht? Motivation? Aktuelle Microarchitekturen? Scheduling?

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

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

Übungsblatt 10 (Block C 2) (16 Punkte)

Übungsblatt 10 (Block C 2) (16 Punkte) georg.von-der-brueggen [ ] tu-dortmund.de ulrich.gabor [ ] tu-dortmund.de pascal.libuschewski [ ] tu-dortmund.de Übung zur Vorlesung Rechnerstrukturen Wintersemester 2016 Übungsblatt 10 (Block C 2) (16

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

= 7 (In Binärdarstellung: = 0111; Unterlauf) = -8 (In Binärdarstellung: = 1000; Überlauf)

= 7 (In Binärdarstellung: = 0111; Unterlauf) = -8 (In Binärdarstellung: = 1000; Überlauf) Musterlösung Übung 2 Aufgabe 1: Große Zahlen Das Ergebnis ist nicht immer richtig. Die Maschine erzeugt bei Zahlen, die zu groß sind um sie darstellen zu können einen Über- bzw. einen Unterlauf. Beispiele

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

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

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

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

Mikroprozessoren Grundlagen AVR-Controller Input / Output (I/O) Interrupt Mathematische Operationen Mikroprozessoren Grundlagen Aufbau, Blockschaltbild Grundlegende Datentypen AVR-Controller Anatomie Befehlssatz Assembler Speicherzugriff Adressierungsarten Kontrollstrukturen Stack Input / Output (I/O)

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

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

, 2014W Übungsgruppen: Mo., Mi., VU Technische Grundlagen der Informatik Übung 5: ikroprozessor (icro16) 183.579, 2014W Übungsgruppen: o., 01.12. i., 03.12.2014 Aufgabe 1: Schaltwerksentwicklung Hexapod / Teil 2 a) Befüllen Sie die untenstehende

Mehr

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

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

Stackmaschine; Speicheradressierung

Stackmaschine; Speicheradressierung Stackmaschine; Speicheradressierung Erweiterung um globalen Speicher (Heap, Halde) pro Speicherplatz eine Zahl. Notation ist als Array SP [0..]. Zugriff mittels Adresse (Index): eine Zahl i.a.: Zahlen

Mehr

Computer-Architektur Ein Überblick

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

Mehr

4. Mikroprogrammierung (Firmware)

4. Mikroprogrammierung (Firmware) 4. Mikroprogrammierung (Firmware) 4. Ein Mikroprogramm-gesteuerter Computer 4.2 Mikroprogramm-Beispiel: Multiplikation 4.3 Interpretation von Maschinenbefehlen durch ein Mikroprogramm 4. Mikroprogrammierung

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

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

Mikroprozessoren Grundlagen AVR-Controller Input / Output (I/O) Interrupt Mathematische Operationen Mikroprozessoren Grundlagen Aufbau, Blockschaltbild Grundlegende Datentypen AVR-Controller Anatomie Befehlssatz Assembler Speicherzugriff Adressierungsarten Kontrollstrukturen Stack Input / Output (I/O)

Mehr

Intel P6 (Intel Pentium Pro) - Besonderheiten, Techniken und Architektur

Intel P6 (Intel Pentium Pro) - Besonderheiten, Techniken und Architektur Intel P6 (Intel Pentium Pro) - Besonderheiten, Techniken und Architektur P R O Z E S S O R - U N D R E C H N E R A R C H I T E K T U R P R Ä S E N T A T I O N 1 1. 0 7. 2 0 1 8 B E R N H A R D S A N G

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

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

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

Adressierungsarten des 6809 (Forts.)

Adressierungsarten des 6809 (Forts.) Adressierungsarten des 6809 (Forts.) Zusammenfassung zur indizierten Adressierung: 19 Beispiel-Programm 1 für 6809 6809-Assemblerprogramm zur Suche nach Leerzeichen (space, tab, return) in einem String:

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

Arrays. Arrays werden verwendet, wenn viele Variablen benötigt werden. Der Vorteil in Arrays liegt darin, dass man nur eine Variable deklarieren muss

Arrays. Arrays werden verwendet, wenn viele Variablen benötigt werden. Der Vorteil in Arrays liegt darin, dass man nur eine Variable deklarieren muss Arrays FTI 41 2005-09-09 Arrays werden verwendet, wenn viele Variablen benötigt werden. Der Vorteil in Arrays liegt darin, dass man nur eine Variable deklarieren muss z.b. Dim Werte(x) As Single. Wobei

Mehr

Übung 7 Rechnerstrukturen

Übung 7 Rechnerstrukturen Übung 7 Rechnerstrukturen Aufgabe 7.: X X2 X3 X4 F F2 F3 F4 X-X4 sind alle möglichen Binär-Werte. F-F2 ist das Ergebnis der Multiplikation von (XX2) und (X3X4). Dabei funktioniert die Multimpliation folgendermaßen:

Mehr

5.8.2 Erweiterungen Dynamische Hash-Funktionen (mit variabler Tabellengröße)?

5.8.2 Erweiterungen Dynamische Hash-Funktionen (mit variabler Tabellengröße)? 5.8.2 Erweiterungen Dynamische Hash-Funktionen (mit variabler Tabellengröße)? Ladefaktor: α, n aktuelle Anzahl gespeicherter Werte m Tabellengröße. Einfacher Ansatz: rehash() a z c h s r b s h a z Wenn

Mehr

14.3 Kontrollogik. Allgemeines: Kontrollogik wird in 3 Stufen realisiert: Clock - Erzeugung. 2 Uhrzeit. PALs. /ck. Kontrollsignale.

14.3 Kontrollogik. Allgemeines: Kontrollogik wird in 3 Stufen realisiert: Clock - Erzeugung. 2 Uhrzeit. PALs. /ck. Kontrollsignale. 14.3 Kontrollogik Bernd Becker Technische Informatik II Allgemeines: Kontrollogik wird in 3 Stufen realisiert: 1 Clock - Erzeugung /ck ck 2 Uhrzeit 3 s 0, s 1, E 3 PALs Kontrollsignale I[31:24] Befehlsdekodierung

Mehr

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

Rechnerorganisation. (10,11) Informationskodierung (12,13,14) TECHNISCHE UNIVERSITÄT ILMENAU. IHS, H.- D. Wuttke `09 Rechnerorganisation Mathematische Grundlagen (1) Boolesche Algebren: : BMA, BAA (2,3) Kombinatorische Schaltungen (4,5) Automaten (6,7) Sequentielle Schaltungen (8) Programmierbare Strukturen (9) Rechneraufbau

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

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

Der von Neumann Computer

Der von Neumann Computer Der von Neumann Computer Grundlagen moderner Computer Technologie 1 Der moderne Computer ein weites Spektrum Typ Preis Anwendungsbeispiel embeded Computer 10-20 $ in Autos, Uhren,... Spielcomputer 100-200$

Mehr

Weitere Arithmetik. Grundlagen der Rechnerarchitektur Assembler 33

Weitere Arithmetik. Grundlagen der Rechnerarchitektur Assembler 33 Weitere Arithmetik Grundlagen der Rechnerarchitektur Assembler 33 Die speziellen Register lo und hi Erinnerung: ganzzahliges Produkt von zwei n Bit Zahlen benötigt bis zu 2n Bits Eine MIPS Instruktion

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

Computergrundlagen Moderne Rechnerarchitekturen

Computergrundlagen Moderne Rechnerarchitekturen Aufbau eines modernen Computers Computergrundlagen Moderne Rechnerarchitekturen Axel Arnold Institut für Computerphysik Universität Stuttgart DDR3- Speicher Prozessor Prozessor PEG Graphikkarte(n) weitere

Mehr

2 Teil 2: Nassi-Schneiderman

2 Teil 2: Nassi-Schneiderman 2 Teil 2: Nassi-Schneiderman Wie kann man Nassi-Schneiderman in einer objektorientierten Sprache verwenden? Jedes Objekt besitzt Methoden, welche die Attribute des Objektes verändern. Das Verhalten der

Mehr

Systeme 1: Architektur

Systeme 1: Architektur slide 1 Vorlesung Systeme 1: Architektur Prof. Dr. Ulrich Ultes-Nitsche Forschungsgruppe Departement für Informatik Universität Freiburg slide 2 Prüfung 18. Februar 2004 8h00-11h40 13h00-18h20 20 Minuten

Mehr

Teil 2: Rechnerorganisation

Teil 2: Rechnerorganisation Teil 2: Rechnerorganisation Inhalt: Zahlendarstellungen Rechnerarithmetik schrittweiser Entwurf eines hypothetischen Prozessors mit Daten-, Adreß- und Kontrollpfad Speicherorganisation Mikroprogrammierung

Mehr

Assembler Kontrollstrukturen

Assembler Kontrollstrukturen Assembler Kontrollstrukturen Dr.-Ing. Volkmar Sieh Department Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg SS 2008 Assembler Kontrollstrukturen 1/21 2008-04-03 Kontrollstrukturen

Mehr

Quiz. Gegeben sei ein 16KB Cache mit 32 Byte Blockgröße. Wie verteilen sich die Bits einer 32 Bit Adresse auf: Tag Index Byte Offset.

Quiz. Gegeben sei ein 16KB Cache mit 32 Byte Blockgröße. Wie verteilen sich die Bits einer 32 Bit Adresse auf: Tag Index Byte Offset. Quiz Gegeben sei ein 16KB Cache mit 32 Byte Blockgröße. Wie verteilen sich die Bits einer 32 Bit Adresse auf: Tag Index Byte Offset 32 Bit Adresse 31 3 29... 2 1 SS 212 Grundlagen der Rechnerarchitektur

Mehr

Informatik II, SS 2014

Informatik II, SS 2014 Informatik II SS 2014 (Algorithmen & Datenstrukturen) Vorlesung 7 (21.5.2014) Binäre Suche, Hashtabellen I Algorithmen und Komplexität Abstrakte Datentypen : Dictionary Dictionary: (auch: Maps, assoziative

Mehr

RO-Tutorien 15 und 16

RO-Tutorien 15 und 16 Tutorien zur Vorlesung Rechnerorganisation Tutorienwoche 10 am 29.06.2011 1 Christian A. Mandery: KIT Universität des Landes Baden-Württemberg und nationales Grossforschungszentrum in der Helmholtz-Gemeinschaft

Mehr

Computergrundlagen Moderne Rechnerarchitekturen

Computergrundlagen Moderne Rechnerarchitekturen Computergrundlagen Moderne Rechnerarchitekturen Axel Arnold Institut für Computerphysik Universität Stuttgart Wintersemester 2010/11 Aufbau eines modernen Computers DDR3- Speicher Prozessor Prozessor PEG

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

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

5. Strukturierte Programmierung

5. Strukturierte Programmierung 5. Strukturierte Programmierung 5.1 Ziele 5.2 Prinzipien 5.3 Basisstrukturen Folie 115 Apr-04 Ziele der strukturierten Programmierung Unterstützung einer methodischen Vorgehensweise beim Programmentwurf

Mehr