Grob-Struktur des Prozessor-Speichersystems

Ähnliche Dokumente
Besprechung des 8. Übungsblattes Einführung in Caches Cache-Organisation Cache-Ersetzungsstrategien Aufgaben (an der Tafel) Testklausur

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

Einführung in die technische Informatik

Tutorium Rechnerorganisation

Grundlagen der Rechnerarchitektur

Speicher. Speicher. Speicherhierarchie. Speicher. Interessante Zahlen:

Übung zu Einführung in die Informatik # 10

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

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

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

, WS2012 Übungsgruppen: Mo., Do.,

Betriebssysteme (BTS)

Betriebssysteme. Dipl.-Ing.(FH) Volker Schepper

Lösungsvorschlag zur 5. Übung

Algorithmen II Vorlesung am

Rechnergrundlagen SS Vorlesung

(Prof. Dr. J. Schlichter, WS 2011 / 2012) Übungsleitung: Dr. Wolfgang Wörndl

1 Organisationsaspekte RISC- und CISC-Prozessoren Ausnutzen von Cache-Effekten

Wie groß ist die Page Table?

Speicherorganisation

Virtueller Speicher. SS 2012 Grundlagen der Rechnerarchitektur Speicher 44

1. räumliche Lokalität - Nach dem Zugriff auf eine bestimmte Adresse erfolgt in naher Zukunft ein erneuter Zugriff auf ein dazu benachbartes Datum.

technische universität dortmund fakultät für informatik informatik 12 Speicherhierarchie Peter Marwedel Informatik /05/18

Technische Informatik 2 Speichersysteme, Teil 3

Speicher Typen. TI-Übung 5. Speicher SRAM. Speicher DRAM. SRAM vs. DRAM (EEP)ROM, NV-RAM, Flash,... Speicher, Caches

Computational Engineering I

Lösungsvorschlag zur 6. Übung

Speicherverwaltung (Swapping und Paging)

Rechnerstrukturen Winter SPEICHER UND CACHE. (c) Peter Sturm, University of Trier 1

Rechnerarchitektur. Vorlesungsbegleitende Unterlagen. WS 2003/2004 Klaus Waldschmidt

Algorithm Engineering. Alexander Kröller, Abteilung Algorithmik, IBR

4.3 Hintergrundspeicher

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

wichtigstes Betriebsmittel - neben dem Prozessor: Speicher

Speicherarchitektur (16)

In diesem Abschnitt wollen wir uns mit der Architektur von Datenbank Managements Systemen beschäftigen.

Konzepte und Methoden der Systemsoftware. Aufgabe 1: Polling vs Interrupts. SoSe bis P

, SS2012 Übungsgruppen: Do., Mi.,

Freispeicherverwaltung Martin Wahl,

3.Vorlesung Systemsoftware (SYS) Hochschule Mannheim

Technische Informatik 2 Speichersysteme, Teil 2

Konzepte von Betriebssystemkomponenten Disk-Caches und Dateizugriff

Technische Informatik II Wintersemester 2002/03 Sommersemester Heiko Holtkamp

Linux Paging, Caching und Swapping

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

G. Caches. G.1.1 Kontext & Orientierung

Vorlesung 14 Speichersysteme (2)

Datenpfad einer einfachen MIPS CPU


Rechner Architektur. Martin Gülck

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

4.2 Verbesserung der Leistungsfähigkeit von Caches

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

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

Memory Management. Peter Puschner Institut für Technische Informatik

Systeme I: Betriebssysteme Kapitel 8 Speicherverwaltung

Klausur zur Mikroprozessortechnik

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

Prüfungsklausur WS 13/14

10. Rechnerarchitektur und Assemblerprogrammierung

Speicher Virtuelle Speicherverwaltung. Speicherverwaltung

Verbesserung der Leistungsfähigkeit von Caches

Einführung in die Systemprogrammierung

Proseminar Konzepte von Betriebssystem-Komponenten Disk-Caches & Dateizugriff von Athanasia Kaisa

5 Kernaufgaben eines Betriebssystems (BS)

Mikroprogrammierung Befehlssatz-Architekturen (ISA Instruction Set Architectures) Speicher-/Registeradressierung

Speicherorganisation

Grundlagen der Informatik III Wintersemester 2010/2011

3. Rechnerarchitektur

Fachbericht Thema: Virtuelle Speicherverwaltung

Mikroprogrammierung Befehlssatz-Architekturen (ISA Instruction Set Architectures) Speicher-/Registeradressierung

Datenbanken: Indexe. Motivation und Konzepte

Systemsoftware (SYS) Fakultät für Informatik WS 2008/2009 Christian Baun. Übungsklausur

Vorlesung Rechnerarchitektur. Speicher V 1.2

(Prof. Dr. J. Schlichter, WS 2011 / 2012) Übungsleitung: Dr. Wolfgang Wörndl (gbs-ws11@mailschlichter.informatik.tu-muenchen.de)

Name : Klasse : Punkte : Note :

Grundlagen der Informatik III Wintersemester 2010/2011

Grundlagen der Rechnerarchitektur. Ein und Ausgabe

Informatik II, SS 2014

Übungen zur Vorlesung Betriebssysteme, Rechnernetze und verteilte Systeme I Sommersemester Projekt 2

IT-Infrastruktur, WS 2014/15, Hans-Georg Eßer

Lösungsvorschlag zur 8. Übung

Die Mikroprogrammebene eines Rechners

Neben Prozessor ist in einem Rechner das Speichersystem entscheidend für

Echtzeitbetriebssysteme

Speicherhierarchie. [Technische Informatik Eine Einführung] Univ.-Prof. Dr. Paul Molitor

Storage Optionen für I/O intensive Applikationen

2 Rechnerarchitekturen

Symmetrischer Multiprozessor (SMP)

Main Memory. Hauptspeicher. Memories. Speichermodule. SIMM: single inline memory module 72 Pins. DIMM: dual inline memory module 168 Pins

8. Swapping und Virtueller Speicher

Ein- Ausgabeeinheiten

Grundlagen der Informatik III

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

2.2 Rechnerorganisation: Aufbau und Funktionsweise

1 Was ist ein Portfolio? Ein Portfolio anlegen... 4

Teil 1: Prozessorstrukturen

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

Abstrakte Interpretation (AbsInt)

Auch hier wieder. Control. RegDst Branch MemRead MemtoReg ALUOp MemWrite ALUSrc RegWrite. Instruction[31 26] (also: das Opcode Field der Instruktion)

Transkript:

2.3.2 Speicherstruktur (1) Grob-Struktur des Prozessor-Speichersystems Chipsatz (Erklärung s. später, Folie 104) 22.4.-27.5.2013, Folie 52

2.3.2 Speicherstruktur (2) Zugriff Prozessor zumeist auf schnelle Speicher Möglich durch Eigenschaft der zeitlichen und räumlichen Lokalität von Referenzen auf Daten und Befehle Dadurch: Speicher mit Zugriffszeit im Bereich der mittleren Cachezugriffszeit, jedoch weitaus höhere Kapazität Zugriffswahrscheinlichkeit über Zeit 0 2 n - 1 Adressraum 22.4.-27.5.2013, Folie 53

2.3.3 Grundlagen Cache-Techniken (1) Cache (wörtlich Depot, Versteck) Kleiner schneller Pufferspeicher zwischen Register und Hauptspeicher Funktion von Caches Überbrückung der Prozessor-Speicher-Lücke bzgl. der Leistung Cache-Aufbau wie Hauptspeicher in Blöcken organisiert Cache-Blöcke oder Cache-Zeilen (cache blocks oder cache lines) 22.4.-27.5.2013, Folie 54

2.3.3 Grundlagen Cache-Techniken (2) Cache-Typen und Anordnung Primär-Cache Bestandteil eines jeden Mikroprozessors Split-cache: getrennte Speicherung von Daten und Befehle Größe: 8-16 KByte (Pentium 4 Northwood / Prescott Kern) Kurze Blöcke (bis 32-64 Bytes) Sekundär-Cache Unified-cache: Daten und Befehle gemeinsam Größe: 512 KByte 2 MByte (P4 Northwood / Prescott Kern) Längere Blöcke (bis zu 256 Bytes) Mittlerweile teilweise Einsatz von Tertiär-(L3)-Caches Intel Xeon SMP Prozessoren (4-64 MBytes) 22.4.-27.5.2013, Folie 55

2.3.3 Grundlagen Cache-Techniken (3) Zugriff Steuerwerk überprüft anhand Adresse ob Datum im Cache- Speicher vorhanden Falls Datum vorhanden (Treffer, HIT): Datum aus Cache lesen Falls Datum nicht vorhanden (Fehlzugriff, MISS): Block von Worten aus Hauptspeicher in Cache kopieren und angefordertes Datum lesen Organisation: legt zwei Dinge fest Platzierungsproblem: in welchem Cache-Block wird Hauptspeicher-Block abgelegt Identifikationsproblem: gewünschtes Datum bzw. Block im Cache wieder auffinden 22.4.-27.5.2013, Folie 56

2.3.3 Grundlagen Cache-Techniken (4) drei Organisationsformen gebräuchlich Direkte Abbildung (direct mapping) Voll-assoziative Abbildung (full asociative) N-fach oder Mengen-fach assoziative Abbildung: (n-way associative oder set-associative) Platzierung direkte Abbildung Jeder Adresse B eines Hauptspeicher-Blocks wird direkt ein Block m von insgesamt N Cache-Blöcken zugewiesen, z.b. über eine Modulo- Operation m = B mod N Beispiel: Cache-Kapazität N = 8 000 001 010 011 100 101 110 111 00001 00101 01001 01101 10001 10101 11001 11101 Cache Hauptspeicher 22.4.-27.5.2013, Folie 57

2.3.3 Grundlagen Cache-Techniken (5) Platzierung voll-assoziative Abbildung Jede Adresse eines Hauptspeicher-Blocks kann in jeden beliebigen Cache-Block abgebildet werden 000 001 010 011 100 101 110 111... Cache Hauptspeicher Platzierung n-fach assoziative Abbildung Cache-Blöcke werden in s Mengen mit jeweils n Blöcken unterteilt; s = N / n Hauptspeicher-Block nach Methode direkter Abbildung in Cache- Blockmenge; innerhalb der Menge an jeden beliebigen Platz Allgemeiner Fall: für n = N voll-assoziativ und für n = 1 direkte Abbildung 22.4.-27.5.2013, Folie 58

2.3.3 Grundlagen Cache-Techniken (6) Menge 0 Menge 1 Menge 2 Menge 3 000 001 010 011 100 101 110 111 Cache 00010 00110 01010 01110 10010 10110 11010 11110 Hauptspeicher Abbildung Hauptspeicher-Block Cache-Block ist surjektiv Folge: zusätzlich zu den Datenwerten Kennung notwendig, die Hauptspeicher-Block eindeutig identifiziert sog. Tag-Feld Identifikationsproblem im Folgenden anhand des allgemeinen Beispiels der n-fachen Assoziierung 22.4.-27.5.2013, Folie 59

2.3.3 Grundlagen Cache-Techniken (7) Tag-Feld Hauptspeicher-Adresse oder Teile davon im Cache abspeichern zur eindeutigen Identifizierung Ein Teil der Adresse ergibt sich aus der Adresse des Cache-Blockes Als Kennung oder Tag-Information wird gewöhnlich der restliche Teil der Hauptspeicher-Adresse verwendet Genau die Bits, die nicht als Index für die Identifikation des zugehörigen Cache-Blockes benutzt werden Cache-Adresse Beispiel: 32 Bit Hauptspeicher-Adresse, 64 Cache-Mengen (6 Bit Index), die jeweils 4 Byte aufnehmen 31 8 7 3 2 1 0 24 Bit Tag-Feld 22.4.-27.5.2013, Folie 60 6 Bit Indexfeld 2-Bit Byte- Adresse

2.3.3 Grundlagen Cache-Techniken (8) Zusätzlich wird im Cache noch ein Gültigkeitsbit (valid) verwendet Zeigt an, ob Eintrag überhaupt gültig ist Zugriffslogik 2-fach assoziativer Cache 24 Bit Satz 0 63 Kennung (tag) 24 Bits Kennung (tag) 6 Bit Index......... Kennung (tag) V = = V Daten 1 2 Bit Hauptspeicher -adresse Daten Treffer 22.4.-27.5.2013, Folie 61

2.3.3 Grundlagen Cache-Techniken (9) N-fach assoziativer Cache erfordert n Komparatoren Direkt abbildender Cache nur 1 Komparator, da Cache-Zeile eindeutig feststeht jedoch: Wirksamkeit des Cache sinkt: mehrere Adressen auf gleichen Cache-Block abbilden häufiges Umladen Bei assoziativen Caches Wahrscheinlichkeit für Konfliktsituation geringer Am besten bei voll-assoziativem Cache, aber langsam und teuer In heutigen Prozessoren: Caches vom Grad 2, 4 oder 8 Wirtschaftlicher und technischer Kompromiss 22.4.-27.5.2013, Folie 62

2.3.3 Grundlagen Cache-Techniken (10) Aktualisierungsstrategie (Zurückschreiben Cache-Werte) Problem: Inkonsistenz zwischen Hauptspeicher und Cache (consistency problem) Wann und wie wird Hauptspeicher aktualisiert? Zwei grundsätzliche Strategien Durchschreiben (write through) Jede Änderung wird sofort im übergeordneten Speicher aktualisiert Konsistenz stets gegeben, aber hohe Belastung Prozessor-/Speicherbus Primär-Caches arbeiten nach diesem Prinzip Zurückschreiben (write back, copy back) Aktualisierung erst bei Verdrängung Bei Ausgabeoperation oder Beim Zugriff eines anderen Prozessors (Mehrprozessorsysteme) o Modifikationsbit (dirty bit), um Rückschreiben nicht modifizierter Blöcke zu vermeiden Sekundär-Caches arbeiten nach diesem Prinzip 22.4.-27.5.2013, Folie 63

2.3.3 Grundlagen Cache-Techniken (11) Ersetzungsstrategie Welcher Block wird ersetzt? Verschiedene Strategien LSF: Least Frequently Used LRU: Least Recently Used FIFO: First-In First-Out Random: zufällige Auswahl Details: Modul Rechnerarchitektur im Bachelor ab 5. Semester 22.4.-27.5.2013, Folie 64

2.3.3 Grundlagen Cache-Techniken (12) Klassifikation von Fehlzugriffen: 3 Cs Compulsory - Der erste Zugriff auf einen Block trifft nicht den Cache, Block muss erstmals geladen werden Auch Kaltstart-Miss or First-Reference-Miss genannt (tritt in beliebig großen Caches auf) Capacity - Der Cache hat nicht genug Platz, um alle Blöcke der aktuell zu bearbeitenden Befehlsfolge zu enthalten Kapazitäts-Miss durch Entfernen und späteres Zurückladen von Blöcken (neben Compulsory einzige Quelle von Fehlzugriffen in voll assoziativen Caches) Conflict - In nicht voll-assoziativen Caches werden Blöcke aufgrund von Adresskonflikten überschrieben und ggf. später zurückgeladen Auch Kollisions-Misses or Interferenz-Misses genannt (treten in Mengen-assoziativen und direkt abbildenden Caches auf) 22.4.-27.5.2013, Folie 65

2.3.3 Grundlagen Cache-Techniken (13) Absolute Fehlzugriffraten durch 3Cs 22.4.-27.5.2013, Folie 66