Effiziente Ressourcennutzung durch intelligente Übersetzer

Größe: px
Ab Seite anzeigen:

Download "Effiziente Ressourcennutzung durch intelligente Übersetzer"

Transkript

1 Effiziente Ressourcennutzung durch intelligente Übersetzer Sommersemester 2012 Sascha Plazar Technische Universität Dortmund Lehrstuhl Informatik 12 Entwurfsautomatisierung für Eingebettete Systeme

2 Gliederung Eigenschaften von heutigen Systemen Eigenschaften von Speichern Scratchpad-Speicher und Caches Scratchpad-Allokation durch Compiler Ganzzahlig-lineare Programmierung (ILP) Allokation von Funktionen & globalen Daten zur Energiereduktion ILP-Formulierung Eigenschaften von Realzeit-Systemen Statisches Locken von Instruktions-Caches Modellierung des kritischen Pfades Codepositionierung 2

3 Potential zur Ressourceneinsparung Mögliche Maßnahmen eines Übersetzers: Dynamisches Power-Management Versetzen des Prozessors (oder anderer Komponenten) in Sleep-, Idle- bzw. Run-Modus zur Laufzeit Dynamisches Anpassen der Betriebsspannung / Taktfrequenz Dynamic Voltage / Frequency Scaling Compiler-Optimierungen Erzeugung von schnellem Code Erzeugung von kompaktem Code Ausnutzung spezialisierter Hardwarefeatures z.b. (energie-) effizienter Speicher 3

4 Eigenschaften heutiger Systeme (1) Energieverbrauch mobiler Geräte: [O. Vargas (Infineon), Minimum power consumption in mobilephone memory subsystems, Pennwell Portable Design, Sep. 2005] 4

5 Eigenschaften heutiger Systeme (2) ARM7 Mono-Prozessor ohne Cache: 65,2% 34,8% Prozessor Energie Hauptspeicher Energie ARM7 Multi-Prozessor mit Caches: 20,6% 10,8% 10,3% 4,1% 54,1% Prozessor Energie Hauptspeicher Energie Scratchpad Energie I-Cache Energie D-Cache Energie Speicher-Subsystem verursacht häufig weit mehr als 50% des gesamten Energieverbrauchs. Tortendiagramme zeigen Durchschnitt über jeweils mehr als 160 verschiedene Energie-Messungen [M. Verma, P. Marwedel, Advanced Memory Optimization Techniques for Low-Power Embedded Processors, Springer, 2007] 5

6 Eigenschaften heutiger Speicher (1) Geschwindigkeit Faktor 2 alle 2 Jahre Jahre Geschwindigkeitsunterschied zwischen CPUs und DRAMs verdoppelt sich alle 2 Jahre. Schnelle CPUs werden massiv durch langsame Speicher ausgebremst. Memory Wall -Problem [P. Machanik, Approaches to Addressing the Memory Wall, Technical Report, Universität Brisbane, Nov. 2003] 6

7 Eigenschaften heutiger Speicher (2) Zugriffszeit Energie Mit zunehmender Größe eines Speichers verbraucht ein Speicherzugriff überproportional mehr Energie. Mit zunehmender Größe dauern Speicherzugriffe auch proportional länger. Fertigungstechnologie von Speichern legt Nutzung kleiner Speicher nahe! 7

8 Eigenschaften heutiger Speicher (3) Speicher oft begrenzender Faktor Einsatz von Speicherhierarchien Häufig benutzte Daten/Code in kleinen schnellen Speichern Optimierung von Speicherzugriffsmustern CPU SPM Hauptspeicher IFB Cache 8

9 Scratchpad-Speicher Scratchpads (SPMs) sind kleine, physikalisch separate Speicher. Sie sind meist auf dem selben Chip platziert wie der Prozessor (sog. on-chip Speicher). Durch geringe Größe und on-chip Platzierung: extrem schnelle und energieeffiziente Speicher Sind in den Adressraum des Prozessors nahtlos eingeblendet: 0x000 Scratchpad-Speicher Zugriff über Erkennen einer am Bus anliegenden Adresse aus SPM-Adressbereich (simpler Adress-Decoder): select 0xFFF SPM 9

10 Aufbau mengenassoziativer Caches Adresse Tag Index Way 0 Way 1 Tag- Daten- Tag- Daten- Speicher Speicher Speicher Speicher = = Datum 10

11 Eigenschaften von Scratchpad-Speichern (1) Stromverbrauch im Vergleich zu Hauptspeicher: Messungen an realer Hardware (Atmel ARM7-Evaluationsboard) zeigen, dass z.b. ein Lade-Befehl um Faktor 3 weniger Strom verbraucht, wenn sowohl Lade-Befehl als auch zu ladendes Datum im SPM anstatt im (off-chip) Hauptspeicher liegen: ma Stromverbrauch Lade-Befehl Prog Main/ Data Main Prog Main/ Data SPM Prog SPM/ Data Main Prog SPM/ Data SPM Haupt- Speicher ARM7 + SPM 11

12 Eigenschaften von Scratchpad-Speichern (2) Energieverbrauch im Vergleich zu Caches: Größe und Anzahl von Tag-Speichern, Vergleichern und Multiplexern hängt von Größe des gecacheten Speicherbereichs ab. Energieverbrauch dieser HW-Komponenten beträchtlich: Energie pro Zugriff [nj] Speicher-Größe Scratchpad Cache, 2way, 4GB space Cache, 2way, 16 MB space Cache, 2way, 1 MB space [R. Banakar et al., Comparison of Cache- and Scratch-Pad based Memory Systems..., Report #762, Universität Dortmund, Sep. 2001] 12

13 Eigenschaften von Scratchpad-Speichern (3) Energieverbrauch im Vergleich zu Caches: Energieverbrauch von Caches hängt zusätzlich stark vom Grad der Assoziativität ab: Vorsicht: Technologie bei diesem Diagramm unterschiedlich zur letzten Folie. Daher Abweichungen in absoluten Zahlenwerten! 13

14 Scratchpad-Allokation Motivation: Caches entscheiden autonom in Hardware, welche Inhalte einund auszulagern sind SPMs können dies mangels autonomer Hardware nicht Wer entscheidet, welche sinnvollen Inhalte (Code, Daten) im SPM gespeichert werden sollen? Compiler führt SPM-Allokation durch, da dieser Eigenschaften des generierten Assemblercodes kennt und optimale Entscheidung treffen kann. Optimierungsproblem: Welche Teile eines Assembler-Programms sollen in den SPM eingelagert werden, so dass ein Kriterium minimiert wird und der SPM nicht überfüllt wird? 14

15 Ganzzahlig lineare Programmierung Modellierungstechnik für lineare Optimierungsprobleme Optimierung einer Zielfunktion z Beachtung von Nebenbedingungen n 1,..., n m Zielfunktion und Nebenbedingungen sind lineare Ausdrücke über den ganzzahligen Entscheidungsvariablen x 1,..., x n minimieren oder maximieren Konstanten A, b, c R Variablen x Z Optimale Lösung sog. ILPs (Integer Linear Programs) mit Hilfe von Standard-Solvern (z.b. lp_solve, cplex); Komplexität: im worst-case exponentiell, üblicherweise aber OK. 15

16 SPM-Allokation: Energiereduktion Funktionen & Globale Variablen (1) Ziel: Verschiebung des Codes von kompletten Funktionen und von globalen Variablen in den SPM (lokale Variablen liegen üblicherweise auf dem Stack und werden daher nicht betrachtet) Compiler ermittelt zur Übersetzungszeit, welche Funktionen und globalen Variablen den SPM belegen. Diese SPM-Belegung bleibt zur Ausführungszeit eines optimierten Programms statisch, d.h. der SPM-Inhalt ändert sich zur gesamten Ausführungszeit nicht. 16

17 SPM-Allokation: Energiereduktion Funktionen & Globale Variablen (2) Definitionen: S Größe des verfügbaren SPMs in Bytes. MO = {mo 1,..., mo n } Menge aller für die Verschiebung auf = F V den SPM in Frage kommender Speicherobjekte (memory objects), d.h. Funktionen F bzw. globale Variablen V. S i Größe von Speicherobjekt mo i in Bytes. x i Binäre Entscheidungsvariable zu mo i x i = 1 mo i wird in SPM verschoben 17

18 SPM-Allokation: Energiereduktion Funktionen & Globale Variablen (3) Definitionen (Fortsetzung): n i Gesamt-Anzahl von Ausführungen bzw. Zugriffen auf mo i e i Eingesparte Energie, wenn mo i von Hauptspeicher in SPM verschoben wird, pro einzelner Ausführung von mo i F bzw. pro einzelnem Zugriff auf mo i V. E i Gesamte eingesparte Energie, wenn mo i von Hauptspeicher in SPM verschoben wird, pro kompletter Ausführung des zu optimierenden Programms (= n i * e i ) 18

19 SPM-Allokation: Energiereduktion Funktionen & Globale Variablen (4) Bestimmung der Parameter: Vor der eigentlichen Scratchpad-Optimierung eines Programms findet ein Simulationsdurchlauf statt, um zur Optimierung notwendige Parameter zu ermitteln. Ein solcher Simulationsdurchlauf erzeugt ein Laufzeit-Profil des zu optimierenden Programms. Daher heißt diese Simulation vor einer Optimierung auch Profiling. n i : Profilingdurchlauf liefert Ausführungs- und Zugriffshäufigkeiten für mo i. 19

20 SPM-Allokation: Energiereduktion Funktionen & Globale Variablen (5) Bestimmung der Parameter (Fortsetzung): S: Vom Anwender vorgegeben, konstant S i : Entweder Summe über die Größe aller Instruktionen einer Funktion, oder Summe über die Größen aller Teil-Variablen, z.b. bei Feldern oder Strukturen e i : Für mo i V: Energiemodell liefert Differenz zwischen Zugriff auf Hauptspeicher und SPM Für mo i F: Energiemodell liefert Differenz e IFetch zwischen Instruction Fetch aus Hauptspeicher und SPM. Profiling des zu optimierenden Programms liefert Anzahl n i,instr ausgeführter Instruktionen für mo i. e i = n i,instr * e IFetch. 20

21 SPM-Allokation: Energiereduktion Funktionen & Globale Variablen (6) ILP-Formulierung: Zielfunktion: Maximiere Energieeinsparung für gesamtes Programm Nebenbedingung: Einhaltung der Kapazität des SPMs [S. Steinke, Untersuchung des Energieeinsparungspotenzials in eingebetteten Systemen durch energieoptimierende Compilertechnik, Dortmund 2002] 21

22 SPM-Allokation: Energiereduktion Funktionen & Globale Variablen (7) Ergebnisse (MultiSort-Benchmark): Cycles [x100] Energy (CPU + Memory) [µj] 64b SPM zu klein, um für globale Variablen / Funktionen ausgenutzt zu werden. Bis 1kB SPM stetige Verbesserung von Energie & Laufzeit wg. Einlagerung von mehr MOs in den SPM. Ab 2kB SPM leichte Verschlechterungen, da keine weiteren MOs mehr in SPM eingelagert werden können (alle MOs bereits im SPM enthalten), der Energieverbrauch größerer SPMs aber technologiebedingt ansteigt. 22

23 SPM-Allokation: Energiereduktion Funktionen & Globale Variablen (8) Nachteile: Verschiebung kompletter Funktionen unter Umständen nachteilig: Ganze Funktionen haben viel Code und benötigen viel SPM-Platz. Einzelne Code-Teile einer Funktion (z.b. Code außerhalb von Schleifen) werden nur selten ausgeführt, führen daher nur zu geringer Energieeinsparung, werden aber dennoch auf SPM gelegt. (Knappe) SPM-Kapazität wird nur suboptimal ausgenutzt. Ziel: Verschiebung des Codes von einzelnen Basisblöcken anstatt von kompletten Funktionen in den SPM. 23

24 Eigenschaften von Basisblöcken Basisblock: Eine maximal lange Folge von Assembler-Befehlen, deren Abarbeitung stets beim ersten Befehl beginnt, und die nur über den letzten Befehl verlassen werden kann. Ist der Sprung am Ende von b bedingt, so hat b zwei Nachfolger b1 und b2, die ausgeführt werden, wenn der bedingte Sprung entweder genommen wird oder nicht: b:... jnz %d_0, b2 b1:... b2:... 24

25 Eigenschaften von Realzeit-Systemen Ubiquitäre Systeme oft mit (harten) Zeitschranken Größtmögliche Laufzeit von Programmen muss bekannt sein Worst-Case Execution Time (WCET) BCET real Tatsächlich WCET real 25

26 Eigenschaften von Realzeit-Systemen Ubiquitäre Systeme oft mit (harten) Zeitschranken Größtmögliche Laufzeit von Programmen muss bekannt sein Worst-Case Execution Time (WCET) WCET obs BCET real Tatsächlich WCET real WCET est Beobachtet 26

27 Eigenschaften von Realzeit-Systemen: Wechsel des kritischen Pfades (1) 10 Taktzyklen main 50 Taktzyklen a d 120 Taktzyklen 80 Taktzyklen b 65 Taktzyklen c 27

28 Eigenschaften von Realzeit-Systemen: Wechsel des kritischen Pfades (2) 10 Taktzyklen main 50 Taktzyklen a d 120 Taktzyklen 80 Taktzyklen b 65 Taktzyklen c Σ = 205 Taktzyklen Initialer WCEP: main, a, b, c Länge des WCEP: WCET est =

29 Eigenschaften von Realzeit-Systemen: Wechsel des kritischen Pfades (3) 10 Taktzyklen main 50 Taktzyklen a d 120 Taktzyklen Taktzyklen b 65 Taktzyklen c Σ = 205 Taktzyklen Initialer WCEP: main, a, b, c Länge des WCEP: WCET est =

30 Eigenschaften von Realzeit-Systemen: Wechsel des kritischen Pfades (4) 10 Taktzyklen main 50 Taktzyklen a d 120 Taktzyklen Taktzyklen b 65 Taktzyklen c Σ = 195 Taktzyklen Neuer WCEP: main, d, c WCEP Wechsel durch Optimierung! 30

31 Eigenschaften heutiger Speicher (3) Speicher oft begrenzender Faktor Einsatz von Speicherhierarchien Häufig benutzte Daten/Code in kleinen schnellen Speichern Optimierung von Speicherzugriffsmustern CPU SPM Hauptspeicher IFB Cache 31

32 Statisches Locken von Instruktions-Caches: WCET-Reduktion (1) Cache-Inhalt oft nur schwer vorhersagbar Ungünstiges Speicherlayout führt zu Cache-Misses 32

33 Statisches Locken von Instruktions-Caches: WCET-Reduktion (1) Cache-Inhalt oft nur schwer vorhersagbar Ungünstiges Speicherlayout führt zu Cache-Misses 33

34 Statisches Locken von Instruktions-Caches: WCET-Reduktion (1) Cache-Inhalt oft nur schwer vorhersagbar Ungünstiges Speicherlayout führt zu Cache-Misses 34

35 Statisches Locken von Instruktions-Caches: WCET-Reduktion (1) Cache-Inhalt oft nur schwer vorhersagbar Ungünstiges Speicherlayout führt zu Cache-Misses 35

36 Statisches Locken von Instruktions-Caches: WCET-Reduktion (1) Cache-Inhalt oft nur schwer vorhersagbar Ungünstiges Speicherlayout führt zu Cache-Misses Starke Überabschätzung der WCET Überdimensionierte Hardware 36

37 Statisches Locken von Instruktions-Caches: WCET-Reduktion (1) Cache-Inhalt oft nur schwer vorhersagbar Ungünstiges Speicherlayout führt zu Cache-Misses Starke Überabschätzung der WCET Überdimensionierte Hardware Idee Cache-Inhalte werden fixiert X Blöcke können nicht mehr verdrängt werden 37

38 Statisches Locken von Instruktions-Caches: WCET-Reduktion (2) Vorgehen Auswahl von Basisblöcken für maximale WCET est Redutkion Einfaches Knappsack-Problem nicht ausreichend Wechsel des kritischen Pfades muss beachtet werden Modellierung des Kontrollflusses per ILP Definitionen Kosten eines Basisblocks b i : modelliert die WCET est von b i, wenn b i im Hauptspeicher liegt bzw. in Cache gelockt wird 38

39 Statisches Locken von Instruktions-Caches: WCET-Reduktion (3) Azyklische Teilgraphen: (Reduzierbare) Schleifen: B A D C A B Loop L C B, C, D Innerster Schleifenkörper in L ist azyklischer Teilgraph Schleife L falten Kosten von L: E = WCET eines jeden Pfades, der in A startet D E Mit der nächsten umliegenden Schleife fortfahren [V. Suhendra et al., WCET Centric Data Allocation to Scratchpad Memory, RTSS 2005] 39

40 Statisches Locken von Instruktions-Caches: WCET-Reduktion (4) ILP-Formulierung (Fortsetzung) Globaler Kontrollfluss (Funktionsaufrufe): modelliert WCET von F Addiere zu jedem Basisblock, der F aufruft Kosten für Laden + Locken in den Cache: : Größe Cachezeile [Bytes] : Locking Overhead pro Zeile [Zyklen] 40

41 Statisches Locken von Instruktions-Caches: WCET-Reduktion (4) ILP-Formulierung (Fortsetzung) Annahme: main ist Programmeinsprung modelliert WCET des Programms Zielfunktion: Reduktion der System Gesamt-WCET Mapping Basisblöcke auf Cachezeilen nicht betrachtet 41

42 Statisches Locken von Instruktions-Caches: Ergebnisse 4-fach assoziativer Cache ARM926EJS 110% 100% 10% Locked 10% Cached Relative WCET est 90% 80% 70% 60% -35,4% -29,5% -19,8% 50% 40% DSPstone Mediabench misc MRTC UTDSP Average 100%: WCET est für System ohne Cache 42

43 Statisches Locken von Instruktions-Caches: Ergebnisse 4-fach assoziativer Cache ARM926EJS 110% 100% 20% Locked 20% Cached Relative WCET est 90% 80% 70% 60% 50% -48,2% -39,5% -39,6% -29,2% 40% DSPstone Mediabench misc MRTC UTDSP Average 100%: WCET est für System ohne Cache [S. Plazar et al., WCET-aware Static Locking of Instruction Caches - CASES 11] 43

44 Codepostitionierung Instruction Fetch Buffer soll Pipeline Stalls vermeiden Sprungvorhersage versucht, Sprungziel zu bestimmen Programmcode wird vorab geladen Intelligentes Umordnen von Basisblöcken Reduziere Anzahl falsch vorhergesagter Sprünge Reduziere Anzahl unbedingter Sprünge CPU SPM Hauptspeicher IFB Cache 44

45 Codepostitionierung (2) Beispiel Speicherlayout TriCore TC1796: Sprungziel falsch vorhergesagt Führt zu unnötig hoher WCET durch Reihe von Pipeline Stalls 2WS L3: L5:.code16 jlez %d10, L4 mul.f %d8, 7 j L7 predicted L4: add %d8, -1 L7:... 45

46 Codepostitionierung (2) Beispiel Speicherlayout TriCore TC1796: Sprungziel falsch vorhergesagt Führt zu unnötig hoher WCET durch Reihe von Pipeline Stalls 3 Taktzyklen können eingespart werden 2WS 2WS L3: L5:.code16 jlez %d10, L4 mul.f %d8, 7 j L7 predicted L3: L4:.code16 jgtz %d10, L5 add %d8, -1 j L7 predicted 1WS L4: add %d8, -1 L5: mul.f %d8, 7 L7:... L7:... 46

47 Relative WCET est Codepostitionierung (3) Ergebnisse 105% 100% 95% 90% 85% 80% 75% 70% WCET est bei höchster Optimierungsstufe ohne Code Positioning EA ILP -6,7% -8,9% -20% -24,7% Optimierungszeit EA: ø 9 Stunden / max. 6 Tage Optimierungszeit ILP: ø 3 Minuten / max. 39 Minuten 47

48 Zusammenfassung Schnelle Prozessoren ausgebremst durch langsame Speicher Speicher verbrauchen ähnlich viel Energie wie Prozessoren Reduktion des Energieverbrauchs und der Laufzeit von Software durch Übersetzer Speicherbasierte Optimierungen Ganzzahlig-lineare Programmierung als Optimierungstechnik Allokation von Code/Daten in SPM erzielt beträchtliche Energieeinsparungen bereits für kleine SPMs Gelockte Caches ermöglichen WCET est Reduktion verglichen mit normalem Cache Code-Positionierung erhöht die Effizienz von IFB zur WCET est Reduktion 48

Grundlagen der Rechnerarchitektur

Grundlagen der Rechnerarchitektur Grundlagen der Rechnerarchitektur Speicher Übersicht Speicherhierarchie Cache Grundlagen Verbessern der Cache Performance Virtueller Speicher SS 2012 Grundlagen der Rechnerarchitektur Speicher 2 Speicherhierarchie

Mehr

Raytracing auf Desktop PCs Optimizing Cache Usage (Intel Corp.)

Raytracing auf Desktop PCs Optimizing Cache Usage (Intel Corp.) Raytracing auf Desktop PCs Optimizing Cache Usage (Intel Corp.) von Martin Stöcker Motivation Geschwindigkeit der Prozessoren verdoppelt sich alle 18 Monate (Moore s Law) Geschwindigkeit des Speichers

Mehr

Diplomarbeit Antrittsvortrag

Diplomarbeit Antrittsvortrag Diplomarbeit Antrittsvortrag Christian Müller Run-time byte code compilation, interpretation and optimization for Alice Betreuer: Guido Tack Verantwortlicher Prof.: Gert Smolka Die nächsten 15 Minuten...

Mehr

Hardware/Software-Codesign

Hardware/Software-Codesign Klausur zur Lehrveranstaltung Hardware/Software-Codesign Dr. Christian Plessl Paderborn Center for Parallel Computing Universität Paderborn 8.10.2009 Die Bearbeitungsdauer beträgt 75 Minuten. Es sind keine

Mehr

Analyse verschiedener HLS-Systeme in Hinblick auf ihren Umgang mit der Hochsprachenabstraktion Speicher. Sascha Kath

Analyse verschiedener HLS-Systeme in Hinblick auf ihren Umgang mit der Hochsprachenabstraktion Speicher. Sascha Kath Analyse verschiedener HLS-Systeme in Hinblick auf ihren Umgang mit der Hochsprachenabstraktion Speicher Sascha Kath Dresden, Gliederung 1. Aufgabenstellung 2. HLS-Systeme 1. LegUP 2. Vivado HLS 3. Leap

Mehr

Vorlesung Rechnerarchitektur. Einführung

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

Mehr

Grundlagen der Rechnerarchitektur. Ein und Ausgabe

Grundlagen der Rechnerarchitektur. Ein und Ausgabe Grundlagen der Rechnerarchitektur Ein und Ausgabe Übersicht Grundbegriffe Hard Disks und Flash RAM Zugriff auf IO Geräte RAID Systeme SS 2012 Grundlagen der Rechnerarchitektur Ein und Ausgabe 2 Grundbegriffe

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

Ausgewählte Kapitel eingebetteter Systeme

Ausgewählte Kapitel eingebetteter Systeme Ausgewählte Kapitel eingebetteter Systeme Verfahren zur Bestimmung der WCET Andreas Kaiser Friedrich-Alexander University Erlangen-Nuremberg Übersicht Wieso WCET Berechnung? Methoden zur Bestimmung der

Mehr

CUDA. Jürgen Pröll. Multi-Core Architectures and Programming. Friedrich-Alexander-Universität Erlangen-Nürnberg Jürgen Pröll 1

CUDA. Jürgen Pröll. Multi-Core Architectures and Programming. Friedrich-Alexander-Universität Erlangen-Nürnberg Jürgen Pröll 1 CUDA Jürgen Pröll Multi-Core Architectures and Programming Jürgen Pröll 1 Image-Resize: sequentiell resize() mit bilinearer Interpolation leicht zu parallelisieren, da einzelne Punkte voneinander unabhängig

Mehr

Linux Paging, Caching und Swapping

Linux Paging, Caching und Swapping Linux Paging, Caching und Swapping Inhalte Paging Das Virtuelle Speichermodell Die Page Table im Detail Page Allocation und Page Deallocation Memory Mapping & Demand Paging Caching Die verschiedenen Caches

Mehr

Technische Informatik II Wintersemester 2002/03 Sommersemester 2001. Heiko Holtkamp Heiko@rvs.uni-bielefeld.de

Technische Informatik II Wintersemester 2002/03 Sommersemester 2001. Heiko Holtkamp Heiko@rvs.uni-bielefeld.de Technische Informatik II Wintersemester 2002/03 Sommersemester 2001 Heiko Holtkamp Heiko@rvs.uni-bielefeld.de Speicher ist eine wichtige Ressource, die sorgfältig verwaltet werden muss. In der Vorlesung

Mehr

Java-Prozessoren. Die Java Virtual Machine spezifiziert... Java Instruktions-Satz. Datentypen. Operanden-Stack. Konstanten-Pool.

Java-Prozessoren. Die Java Virtual Machine spezifiziert... Java Instruktions-Satz. Datentypen. Operanden-Stack. Konstanten-Pool. Die Java Virtual Machine spezifiziert... Java Instruktions-Satz Datentypen Operanden-Stack Konstanten-Pool Methoden-Area Heap für Laufzeit-Daten Class File Format 26 Die Java Virtual Machine Java Instruktions-Satz

Mehr

Verteilte Systeme. Verteilte Systeme. 5 Prozeß-Management SS 2016

Verteilte Systeme. Verteilte Systeme. 5 Prozeß-Management SS 2016 Verteilte Systeme SS 2016 Universität Siegen rolanda.dwismuellera@duni-siegena.de Tel.: 0271/740-4050, Büro: H-B 8404 Stand: 31. Mai 2016 Betriebssysteme / verteilte Systeme Verteilte Systeme (1/14) i

Mehr

Echtzeitprogrammierung und Echtzeitverhalten von Keil RTX. Frank Erdrich Semester AI 7

Echtzeitprogrammierung und Echtzeitverhalten von Keil RTX. Frank Erdrich Semester AI 7 Echtzeitprogrammierung und Echtzeitverhalten von Frank Erdrich Semester AI 7 Inhalt Einleitung Echtzeit und Echtzeitsysteme Echtzeitprogrammierung Real-Time Operating System Keil RTOS RTX Zusammenfassung

Mehr

UltraSPARC T2 Processor

UltraSPARC T2 Processor UltraSPARC T2 Processor Vortrag im Rahmen des Seminars Ausgewählte Themen in Hardwareentwurf und Optik HWS07 Universität Mannheim Janusz Schinke Inhalt Überblick Core Crossbar L2 Cache Internes Netzwerk

Mehr

Software ubiquitärer Systeme

Software ubiquitärer Systeme Software ubiquitärer Systeme Übung 2: Speicherarchitekturen in Mikrocontrollern und AOStuBS Christoph Borchert Arbeitsgruppe Eingebettete Systemsoftware Lehrstuhl für Informatik 12 TU Dortmund http://ess.cs.uni-dortmund.de/~chb/

Mehr

Haskell auf der Überholspur mit LLVM. Henning Thielemann 2014-06-20

Haskell auf der Überholspur mit LLVM. Henning Thielemann 2014-06-20 Haskell auf der Überholspur mit LLVM Henning Thielemann 2014-06-20 1 2 Funktionsweise 3 Übungen Motivation 1 Motivation LLVM 2 Funktionsweise 3 Übungen Motivation Motivation Haskell-Programmierer: Was

Mehr

Die Mikroprogrammebene eines Rechners

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

Mehr

Lösungsvorschlag zur 5. Übung

Lösungsvorschlag zur 5. Übung Prof. Frederik Armknecht Sascha Müller Daniel Mäurer Grundlagen der Informatik 3 Wintersemester 09/10 Lösungsvorschlag zur 5. Übung 1 Präsenzübungen 1.1 Schnelltest a) Welche Aussagen über Caches sind

Mehr

Compiler für Eingebettete Systeme

Compiler für Eingebettete Systeme Compiler für Eingebettete Systeme [CS7506] Sommersemester 2014 Heiko Falk Institut für Eingebettete Systeme/Echtzeitsysteme Ingenieurwissenschaften und Informatik Universität Ulm Kapitel 1 Einordnung &

Mehr

Linker: Adreßräume verknüpfen. Informationen über einen Prozeß. Prozeß-Erzeugung: Verwandtschaft

Linker: Adreßräume verknüpfen. Informationen über einen Prozeß. Prozeß-Erzeugung: Verwandtschaft Prozeß: drei häufigste Zustände Prozeß: anatomische Betrachtung jeder Prozeß verfügt über seinen eigenen Adreßraum Sourcecode enthält Anweisungen und Variablen Compiler überträgt in Assembler bzw. Binärcode

Mehr

3. Speicherhierarchie und Speicherop0mierung AlDaBi Prak0kum

3. Speicherhierarchie und Speicherop0mierung AlDaBi Prak0kum 3. Speicherhierarchie und Speicherop0mierung AlDaBi Prak0kum David Weese WS 2010/11 Speicherhierarchie Inhalt Speicherop8mierung Bemerkungen zur P- Aufgabe SPEICHERHIERARCHIE Folien z.t. aus VL Programmierung

Mehr

Ausführungszeiten. Worst-Case Execution-Time. Übung zur Vorlesung EZS. Zeitgeber Oszilloskop Diskussion

Ausführungszeiten. Worst-Case Execution-Time. Übung zur Vorlesung EZS. Zeitgeber Oszilloskop Diskussion 1 Überblick Ausführungszeiten Übung zur Vorlesung EZS Florian Franzmann Martin Hoffmann Tobias Klaus Peter Wägemann Friedrich-Alexander-Universität Erlangen-Nürnberg Lehrstuhl Informatik 4 (Verteilte Systeme

Mehr

Virtueller Speicher. SS 2012 Grundlagen der Rechnerarchitektur Speicher 44

Virtueller Speicher. SS 2012 Grundlagen der Rechnerarchitektur Speicher 44 Virtueller Speicher SS 2012 Grundlagen der Rechnerarchitektur Speicher 44 Die Idee Virtuelle Adressen Prozess 1 Speicherblock 0 Speicherblock 1 Speicherblock 2 Speicherblock 3 Speicherblock 4 Speicherblock

Mehr

Einführung in die Systemprogrammierung

Einführung in die Systemprogrammierung Einführung in die Systemprogrammierung Caches in der Praxis Prof. Dr. Christoph Reichenbach Fachbereich 12 / Institut für Informatik 17. Juli 2015 Cache-Architektur Mehrere Cache-Stufen, z.b.: Speicherplatz

Mehr

WCET-Analyseverfahren in der automobilen Softwareentwicklung

WCET-Analyseverfahren in der automobilen Softwareentwicklung WCET-Analyseverfahren in der automobilen Softwareentwicklung Martin Däumler 1 Robert Baumgartl 2 Matthias Werner 1 1 Technische Universität Chemnitz 2 HTW Dresden 28. November 2008 M. Däumler et al (TUC,

Mehr

Vortrag zum Hauptseminar Hardware/Software Co-Design

Vortrag zum Hauptseminar Hardware/Software Co-Design Fakultät Informatik Institut für Technische Informatik, Professur für VLSI-Entwurfssysteme, Diagnostik und Architektur Vortrag zum Hauptseminar Hardware/Software Co-Design Robert Mißbach Dresden, 02.07.2008

Mehr

Programmiertechnik II

Programmiertechnik II Analyse von Algorithmen Algorithmenentwurf Algorithmen sind oft Teil einer größeren Anwendung operieren auf Daten der Anwendung, sollen aber unabhängig von konkreten Typen sein Darstellung der Algorithmen

Mehr

Algorithmen und Datenstrukturen (ESE) Entwurf, Analyse und Umsetzung von Algorithmen (IEMS) WS 2012 / 2013. Vorlesung 9, Dienstag 18.

Algorithmen und Datenstrukturen (ESE) Entwurf, Analyse und Umsetzung von Algorithmen (IEMS) WS 2012 / 2013. Vorlesung 9, Dienstag 18. Algorithmen und Datenstrukturen (ESE) Entwurf, Analyse und Umsetzung von Algorithmen (IEMS) WS 2012 / 2013 Vorlesung 9, Dienstag 18. Dezember 2012 (Performance Tuning, Profiling, Maschinencode) Prof. Dr.

Mehr

Paging. Einfaches Paging. Paging mit virtuellem Speicher

Paging. Einfaches Paging. Paging mit virtuellem Speicher Paging Einfaches Paging Paging mit virtuellem Speicher Einfaches Paging Wie bisher (im Gegensatz zu virtuellem Speicherkonzept): Prozesse sind entweder ganz im Speicher oder komplett ausgelagert. Im Gegensatz

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

Memory Management. Peter Puschner Institut für Technische Informatik peter@vmars.tuwien.ac.at

Memory Management. Peter Puschner Institut für Technische Informatik peter@vmars.tuwien.ac.at Memory Management Peter Puschner Institut für Technische Informatik peter@vmars.tuwien.ac.at 1 Speicherverwaltung Effektive Aufteilung und Verwaltung des Arbeitsspeichers für BS und Programme Anforderungen

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

Grundlagen der Rechnerarchitektur

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

Mehr

Name: ES2 Klausur Thema: ARM 25.6.07. Name: Punkte: Note:

Name: ES2 Klausur Thema: ARM 25.6.07. Name: Punkte: Note: Name: Punkte: Note: Hinweise für das Lösen der Aufgaben: Zeit: 95 min. Name nicht vergessen! Geben Sie alle Blätter ab. Die Reihenfolge der Aufgaben ist unabhängig vom Schwierigkeitsgrad. Erlaubte Hilfsmittel

Mehr

Implementierung der Jikes Research Virtual Machine

Implementierung der Jikes Research Virtual Machine Fakultät Informatik Institut für technische Informatik, Professur für VLSI-Entwurfssysteme, Diagnostik und Architektur Implementierung der Jikes Research Virtual Machine Hauptseminar Technische Informatik

Mehr

2.2 Rechnerorganisation: Aufbau und Funktionsweise

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

Mehr

ZENTRALEINHEITEN GRUPPE

ZENTRALEINHEITEN GRUPPE 31. Oktober 2002 ZENTRALEINHEITEN GRUPPE 2 Rita Schleimer IT für Führungskräfte WS 2002/03 1 Rita Schleimer TEIL 1 - Inhalt Zentraleinheit - Überblick Architekturprinzipien Zentralspeicher IT für Führungskräfte

Mehr

Sicheres C Programmieren in Embedded Systemen ARM II (ARM7TMDI [1] ) Wintersemester 2010-2011

Sicheres C Programmieren in Embedded Systemen ARM II (ARM7TMDI [1] ) Wintersemester 2010-2011 Sicheres C in Embedded Systemen ARM II (ARM7TMDI [1] ) Wintersemester 2010-2011 Dipl. Ing. (FH) Ebrecht Roland, Infineon Technologies AG M.Eng (Electronic Systems) Güller Markus, Infineon Technologies

Mehr

Digital Design Entwicklung der DRAMs. Richard Roth / FB Informatik und Mathematik Speicher 1

Digital Design Entwicklung der DRAMs. Richard Roth / FB Informatik und Mathematik Speicher 1 Entwicklung der DRAMs Richard Roth / FB Informatik und Mathematik Speicher 1 Entwicklung der DRAMs in Zukunft Richard Roth / FB Informatik und Mathematik Speicher 2 DRAM Speicherzelle (Trench Technology)

Mehr

Design and Implementation of a Soft-error Resilient OSEK Real-time Operating System

Design and Implementation of a Soft-error Resilient OSEK Real-time Operating System Design and Implementation of a Soft-error Resilient OSEK Real-time Operating System Florian Lukas Lehrstuhl für Informatik 4 Verteilte Systeme und Betriebssysteme Friedrich Alexander Universität Erlangen

Mehr

Grüne Innovationen im Auto

Grüne Innovationen im Auto Grüne Innovationen im Auto Mit mehr Elektronik zu weniger Verbrauch Technische Universität Dresden Fakultät Informatik Institut für Angewandte Informatik Betreuer: Dipl.-Inf. Andreas Richter Vortragender:

Mehr

Proseminar Rechnerarchitekturen. Parallelcomputer: Multiprozessorsysteme

Proseminar Rechnerarchitekturen. Parallelcomputer: Multiprozessorsysteme wwwnet-texde Proseminar Rechnerarchitekturen Parallelcomputer: Multiprozessorsysteme Stefan Schumacher, , PGP Key http://wwwnet-texde/uni Id: mps-folientex,v

Mehr

Shangrila. One Instruction Set Computer

Shangrila. One Instruction Set Computer Shangrila One Instruction Set Computer Outline One Instruction Set Computer Die Idee Funktion Die Machine Shangrila VM Interfaces Tools Implementation Status & Zukunft OISC >> Die Idee CPU mit nur einer

Mehr

Technische Informatik I. Übung 3 Speicherhierarchie. v t d 0 d 1 d 2 d 3 0 1 2 3. Technische Informatik I Übung 3. Technische Informatik I Übung 3

Technische Informatik I. Übung 3 Speicherhierarchie. v t d 0 d 1 d 2 d 3 0 1 2 3. Technische Informatik I Übung 3. Technische Informatik I Übung 3 Institut für Kommunikationsnetze und Rechnersysteme Technische Informatik I Paul J. Kühn, Matthias Meyer Übung 3 Speicherhierarchie Inhaltsübersicht Aufgabe 3.1 Daten-Cache Aufgabe 3.2 Virtueller Speicher

Mehr

Enterprise Computing Einführung in das Betriebssystem z/os. Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth WS2012/13

Enterprise Computing Einführung in das Betriebssystem z/os. Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth WS2012/13 UNIVERSITÄT LEIPZIG Enterprise Computing Einführung in das Betriebssystem z/os Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth WS2012/13 Verarbeitungsgrundlagen Teil 4 Cache el0100 copyright W.

Mehr

Sebastian Witte 06.03.2013

Sebastian Witte 06.03.2013 06.03.2013 Inhalt kleine, leistungsfähige Systeme verfügbar (Smartphones) Resourcenverschwendung übermäßige Resourcenreservierung kleinste Systeme noch zu schnell zu restriktives Scheduling Vermischung

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

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

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

Mehr

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

Verfahren zur Bestimmung der Worst Case Execution Time (WCET)

Verfahren zur Bestimmung der Worst Case Execution Time (WCET) Hauptseminar Ausgewählte Kapitel eingebetteter Systeme Lehrstuhl 4 Betriebssysteme und Verteilte Systeme Andreas Kaiser 15.06.2005 Verfahren zur Bestimmung der Worst Case Execution Time (WCET) Inhaltsverzeichnis:

Mehr

Sicheres C Programmieren in Embedded Systemen ARM I (ARM7TMDI [1] ) Wintersemester 2010-2011

Sicheres C Programmieren in Embedded Systemen ARM I (ARM7TMDI [1] ) Wintersemester 2010-2011 Sicheres C in Embedded Systemen ARM I (ARM7TMDI [1] ) Wintersemester 2010-2011 Dipl. Ing. (FH) Ebrecht Roland, Infineon Technologies AG M.Eng (Electronic Systems) Güller Markus, Infineon Technologies AG

Mehr

Projekt Systementwicklung

Projekt Systementwicklung Projekt Systementwicklung Effiziente Codierung: Laufzeitoptimierung Prof. Dr. Nikolaus Wulff Effiziente Codierung Der Wunsch effizienten Code zu schreiben entstammt mehreren Quellen: Zielplattformen mit

Mehr

Beim Programmieren mit MMIX habt ihr vielleicht schon öfter eine der folgenden Fehlermeldungen von MMIXAL bekommen:

Beim Programmieren mit MMIX habt ihr vielleicht schon öfter eine der folgenden Fehlermeldungen von MMIXAL bekommen: 1 ADRESSIERUNG IN MMIX Beim Programmieren mit MMIX habt ihr vielleicht schon öfter eine der folgenden Fehlermeldungen von MMIXAL bekommen: no base address is close enough to the address A! relative address

Mehr

Kapitel VI. Speicherverwaltung. Speicherverwaltung

Kapitel VI. Speicherverwaltung. Speicherverwaltung Kapitel VI Speicherverwaltung 1 Speicherverwaltung Computer exekutiert Programme (mit Daten) im Hauptspeicher. Hauptspeicher: Großes Array von Wörtern (1 oder mehrere Bytes) Jedes Wort hat eine eigene

Mehr

Grundlagen von Caching-Mechanismen beim Zusammenspiel von Mikroprozessor und Betriebssystem. Klaus Kusche Dezember 2015

Grundlagen von Caching-Mechanismen beim Zusammenspiel von Mikroprozessor und Betriebssystem. Klaus Kusche Dezember 2015 Grundlagen von Caching-Mechanismen beim Zusammenspiel von Mikroprozessor und Betriebssystem Klaus Kusche Dezember 2015 Inhalt Ziele & Voraussetzungen Grundidee & Beispiele von Caches Bedeutung effizienter

Mehr

Verbesserung der Leistungsfähigkeit von Caches

Verbesserung der Leistungsfähigkeit von Caches 12 Verbesserung der Leistungsfähigkeit von Caches Peter Marwedel Informatik 12 TU Dortmund 2013/05/20 Verbesserung der Leistungsfähigkeit von Caches ($,, ): Übersicht Beeinflussende Größen (Kapitel 5.2,

Mehr

Echtzeitverhalten. Einleitung. Was bedeutet Echtzeit? Beispiele. Andere Faktoren. Echtzeitsystem und Echtzeitkomponenten

Echtzeitverhalten. Einleitung. Was bedeutet Echtzeit? Beispiele. Andere Faktoren. Echtzeitsystem und Echtzeitkomponenten Echtzeitverhalten Einleitung Was bedeutet Echtzeit? Die Interaktion mit der Außenwelt stellt in einem System den Zeitbezug her. Normalerweise will man ein korrektes Ergebnis so schnell wie möglich bekommen.

Mehr

Compiler und Codegenerierung. Hw-Sw-Co-Design

Compiler und Codegenerierung. Hw-Sw-Co-Design Compiler und Codegenerierung Hw-Sw-Co-Design Wo sind wir? System Verhalten Modul Architektur Block SW HW Logik Struktur Compiler und Codegenerierung Compiler - Aufbau Codegenerierung Codeoptimierung Codegenerierung

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

Verteilte Echtzeit-Systeme

Verteilte Echtzeit-Systeme - Verteilte Echtzeit-Systeme Hans-Albrecht Schindler Wintersemester 2015/16 Teil B: Echtzeit-Betriebssysteme Abschnitt 13: Echtzeit-Primärspeicherverwaltung CSI Technische Universität Ilmenau www.tu-ilmenau.de

Mehr

Vorlesung: Technische Informatik 3

Vorlesung: Technische Informatik 3 Rechnerarchitektur und Betriebssysteme zhang@informatik.uni-hamburg.de Universität Hamburg AB Technische Aspekte Multimodaler Systeme zhang@informatik.uni-hamburg.de Inhaltsverzeichnis 4. Computerarchitektur........................235

Mehr

1 Vorwort... 1. 2 Einleitung... 2 2.1 Caches allgemein... 2 2.2 Funktionsweise von CPU-Caches... 3

1 Vorwort... 1. 2 Einleitung... 2 2.1 Caches allgemein... 2 2.2 Funktionsweise von CPU-Caches... 3 Universität Hamburg Fakultät für Mathematik, Informatik und Naturwissenschaften Fachbereich Informatik Arbeitsbereich Wissenschaftliches Rechnen Seminar Effiziente Programmierung in C Betreuer: Nathanael

Mehr

Deklarationen in C. Prof. Dr. Margarita Esponda

Deklarationen in C. Prof. Dr. Margarita Esponda Deklarationen in C 1 Deklarationen Deklarationen spielen eine zentrale Rolle in der C-Programmiersprache. Deklarationen Variablen Funktionen Die Deklarationen von Variablen und Funktionen haben viele Gemeinsamkeiten.

Mehr

Instruktionssatz-Architektur

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

Mehr

Tutorium Rechnerorganisation

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

Johann Wolfgang Goethe-Universität

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

Mehr

Technische Informatik 2 Speichersysteme, Teil 3

Technische Informatik 2 Speichersysteme, Teil 3 Technische Informatik 2 Speichersysteme, Teil 3 Prof. Dr. Miroslaw Malek Sommersemester 2004 www.informatik.hu-berlin.de/rok/ca Thema heute Virtueller Speicher (Fortsetzung) Translation Lookaside Buffer

Mehr

Entwicklung von Partitionierungsstrategien im Entwurf dynamisch rekonfigurierbarer Systeme

Entwicklung von Partitionierungsstrategien im Entwurf dynamisch rekonfigurierbarer Systeme Entwicklung von Partitionierungsstrategien im Entwurf dynamisch rekonfigurierbarer Systeme R. Merker, Technische Universität Dresden, Fakultät ET und IT J. Kelber, Fachhochschule Schmalkalden, ET Gliederung

Mehr

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

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

Mehr

Repetitorium Informatik (Java)

Repetitorium Informatik (Java) Repetitorium Informatik (Java) Tag 6 Lehrstuhl für Informatik 2 (Programmiersysteme) Übersicht 1 Klassen und Objekte Objektorientierung Begrifflichkeiten Deklaration von Klassen Instanzmethoden/-variablen

Mehr

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

Cache. Dr.-Ing. Volkmar Sieh. Institut für Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg SS 2011 Cache Dr.-Ing. Volkmar Sieh Institut für Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg SS 2011 Cache 1/53 2012-02-29 Einleitung Hauptspeicherzugriffe sind langsam die

Mehr

One of the few resources increasing faster than the speed of computer hardware is the amount of data to be processed. Bin Hu

One of the few resources increasing faster than the speed of computer hardware is the amount of data to be processed. Bin Hu Bin Hu Algorithmen und Datenstrukturen 2 Arbeitsbereich fr Algorithmen und Datenstrukturen Institut fr Computergraphik und Algorithmen Technische Universität Wien One of the few resources increasing faster

Mehr

CA Übung 30.01.2006. Christian kann heute nicht kommen => ich bin heute da, Christian das nächste Mal wieder

CA Übung 30.01.2006. Christian kann heute nicht kommen => ich bin heute da, Christian das nächste Mal wieder CA Übung 30.01.2006 Hallo zusammen! Christian kann heute nicht kommen => ich bin heute da, Christian das nächste Mal wieder Adrian Schüpbach: scadrian@student.ethz.ch Christian Fischlin: cfischli@student.ethz.ch

Mehr

ARM Cortex-M Prozessoren. Referat von Peter Voser Embedded Development GmbH

ARM Cortex-M Prozessoren. Referat von Peter Voser Embedded Development GmbH ARM Cortex-M Prozessoren Referat von Peter Voser Embedded Development GmbH SoC (System-on-Chip) www.embedded-development.ch 2 Instruction Sets ARM, Thumb, Thumb-2 32-bit ARM - verbesserte Rechenleistung

Mehr

Referat Mobile Prozessoren

Referat Mobile Prozessoren 1. Motivation Als Motivation für die Entwicklung von mobilen Prozessoren dienen mehrere verschiedene Gründe, die genauer betrachtet leicht zu verbinden sind. Im Gegensatz zu dem großzügig belüfteten Innenraum

Mehr

Projekt für Systemprogrammierung WS 06/07

Projekt für Systemprogrammierung WS 06/07 Dienstag 30.01.2007 Projekt für Systemprogrammierung WS 06/07 Von: Hassan Bellamin E-Mail: h_bellamin@web.de Gliederung: 1. Geschichte und Definition 2. Was ist Virtualisierung? 3. Welche Virtualisierungssoftware

Mehr

Praktikum 1: Parallel Computing Hardware

Praktikum 1: Parallel Computing Hardware Praktikum 1: Parallel Computing Hardware M.Thaler, 2/2016, ZHAW 1 Einführung Ziel dieses Praktikum ist es, sie vertraut zu machen mit: Informationen zur verwendeten Prozessor-Hardware Messung und Analyse

Mehr

I Grundlagen der parallelen Programmierung 1

I Grundlagen der parallelen Programmierung 1 vii I Grundlagen der parallelen Programmierung 1 1 Einführung...... 3 1.1 Paradigmenwechsel in der Softwareentwicklung..... 4 1.2 Anwendungsbereiche...... 5 1.3 Parallelität in der Hardware..... 5 1.3.1

Mehr

3.2 Lineare Optimierung (Entscheidungen unter Sicherheit)

3.2 Lineare Optimierung (Entscheidungen unter Sicherheit) 3. Lineare Optimierung (Entscheidungen unter Sicherheit) Betrachtet wird hier der Fall Θ = (bzw. die Situation u(a, ϑ) bzw. l(a,ϑ) konstant in ϑ Θ für alle a A). Da hier keine Unsicherheit über die Umweltzustände

Mehr

Rechnergrundlagen SS 2007. 11. Vorlesung

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

Mehr

Technische Informatik 1

Technische Informatik 1 Technische Informatik 1 1 Einleitung Lothar Thiele Computer Engineering and Networks Laboratory Technische Informatik 1 2 Was ist Technische Informatik? A. Ralston, E.D. Reilly: Encyclopedia of Computer

Mehr

Dr. Nicholas Merriam Rapita Systems Ltd., IT Centre, York Science Park, Heslington, York, YO10 5DG (UK) nick.merriam@rapitasystems.

Dr. Nicholas Merriam Rapita Systems Ltd., IT Centre, York Science Park, Heslington, York, YO10 5DG (UK) nick.merriam@rapitasystems. Das zeitliche Verhalten von Echtzeitsoftware zu analysieren und sicher zu stellen, dass die Anforderungen an das Echtzeitverhalten erfüllt werden kann sehr aufwendig und teuer sein. In diesem Artikel sollen

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

Rechnerstrukturen. 6. System. Systemebene. Rechnerstrukturen Wintersemester 2002/03. (c) Peter Sturm, Universität Trier 1. Prozessor.

Rechnerstrukturen. 6. System. Systemebene. Rechnerstrukturen Wintersemester 2002/03. (c) Peter Sturm, Universität Trier 1. Prozessor. Rechnerstrukturen 6. System Systemebene 1 (Monoprozessor) 2-n n (Multiprozessor) s L1- in der L2- ( oder Motherboard) ggf. L3- MMU Speicher Memory Controller (Refresh etc.) E/A-Geräte (c) Peter Sturm,

Mehr

Early first draft Höllische Programmiersprachen Seminar im WS 2014/15 Speichermanagement

Early first draft Höllische Programmiersprachen Seminar im WS 2014/15 Speichermanagement Early first draft Höllische Programmiersprachen Seminar im WS 2014/15 Speichermanagement Max Haslbeck Technische Universität München 20.01.2015 Zusammenfassung 1 Einleitung 2 Begriffsklärung Heutzutage

Mehr

3.0 8051 Assembler und Hochsprachen

3.0 8051 Assembler und Hochsprachen 3.0 8051 Assembler und Hochsprachen Eine kurze Übersicht zum Ablauf einer Programmierung eines 8051 Mikrocontrollers. 3.1 Der 8051 Maschinencode Grundsätzlich akzeptiert ein 8051 Mikrocontroller als Befehle

Mehr

Was machen wir heute? Betriebssysteme Tutorium 12. Organisatorisches. Frage 12.1.a. Programmieraufgaben Vorstellung. Antwort

Was machen wir heute? Betriebssysteme Tutorium 12. Organisatorisches. Frage 12.1.a. Programmieraufgaben Vorstellung. Antwort Was machen wir heute? Betriebssysteme Tutorium 12 1 Organisatorisches Philipp Kirchhofer philipp.kirchhofer@student.kit.edu http://www.stud.uni-karlsruhe.de/~uxbtt/ Lehrstuhl Systemarchitektur Universität

Mehr

Superblock-basierte High-Level WCET-Optimierungen

Superblock-basierte High-Level WCET-Optimierungen Superblock-basierte High-Level WCET-Optimierungen Dipl.-Inf. Timon Kelter LS12 Informatik Eingebettete Systeme Technische Universität Dortmund DA-Betreuer: Prof. Dr. Peter Marwedel, Dipl.-Inf. Paul Lokuciejewski

Mehr

Hyperthreads in Itanium - Prozessoren

Hyperthreads in Itanium - Prozessoren Hyperthreads in Itanium - Prozessoren und wie OpenVMS damit umgeht Thilo Lauer Technical Consultant Account Support Center 2006 Hewlett-Packard Development Company, L.P. The information contained herein

Mehr

Klausur zur Mikroprozessortechnik

Klausur zur Mikroprozessortechnik Prof. Dr. K. Wüst WS 2001 FH Gießen Friedberg, FB MNI Studiengang Informatik Klausur zur Mikroprozessortechnik Nachname: Vorname: Matrikelnummer: 7.3.2001 Punkteverteilung Aufgabe Punkte erreicht 1 3 2

Mehr

Kap 4. 4 Die Mikroprogrammebene eines Rechners

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

Mehr

Technische Informatik 1

Technische Informatik 1 Technische Informatik 1 2 Instruktionssatz Lothar Thiele Computer Engineering and Networks Laboratory Instruktionsverarbeitung 2 2 Übersetzung Das Kapitel 2 der Vorlesung setzt sich mit der Maschinensprache

Mehr

Dynamisches SQL. Folien zum Datenbankpraktikum Wintersemester 2009/10 LMU München

Dynamisches SQL. Folien zum Datenbankpraktikum Wintersemester 2009/10 LMU München Kapitel 4 Dynamisches SQL Folien zum Datenbankpraktikum Wintersemester 2009/10 LMU München 2008 Thomas Bernecker, Tobias Emrich unter Verwendung der Folien des Datenbankpraktikums aus dem Wintersemester

Mehr

Software Echtzeitverhalten in den Griff Bekommen

Software Echtzeitverhalten in den Griff Bekommen Software Echtzeitverhalten in den Griff Bekommen B.Sc.Markus Barenhoff [www.embedded-tools.de] Dr. Nicholas Merriam [www.rapitasystems.com] Übersicht Reaktionszeit Nettolaufzeit Optimierung Worst-Case

Mehr

Moderne Betriebssysteme. Kapitel 8. Kapitel 8. Folie: 1. Multiprozessorsysteme. Autor: Andrew S. Tanenbaum

Moderne Betriebssysteme. Kapitel 8. Kapitel 8. Folie: 1. Multiprozessorsysteme. Autor: Andrew S. Tanenbaum Moderne Betriebssysteme Kapitel 8 Multiprozessorsysteme Kapitel 8 Folie: 1 Multiprozessorsysteme Autor: Andrew S. Tanenbaum Pearson Studium 2009 2 3 4 5 6 7 Betriebssystemarten für Multiprozessoren Jede

Mehr

wichtigstes Betriebsmittel - neben dem Prozessor: Speicher

wichtigstes Betriebsmittel - neben dem Prozessor: Speicher Speicherverwaltung Aufgaben der Speicherverwaltung wichtigstes Betriebsmittel - neben dem Prozessor: Speicher Sowohl die ausführbaren Programme selbst als auch deren Daten werden in verschiedenen Speicherbereichen

Mehr

D i g i t a l l a b o r

D i g i t a l l a b o r Hochschule Karlsruhe Technik und Wirtschaft Fakultät für Informatik und Wirtschaftsinformatik Prof. Dr. A. Ditzinger / Dipl.-Inform. (FH) O. Gniot Prof. Dr. N. Link / Dipl.-Ing. J. Krastel D i g i t a

Mehr

Optimierung I. Dr. Ulf Lorenz F2.413

Optimierung I. Dr. Ulf Lorenz F2.413 Optimierung I Dr. Ulf Lorenz F2.413 flulo@upb.de Organisation Dozent: Dr. Ulf Lorenz F2.413 Fürstenallee 11 email: flulo@upb.de WWW: http://www.upb.de/cs/flulo (hier auch aktuelle Infos + Ü-Zettel) Vorlesungen:

Mehr