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.

Ähnliche Dokumente
Cache Grundlagen. Schreibender Cache Zugriff. SS 2012 Grundlagen der Rechnerarchitektur Speicher 22

Cache Blöcke und Offsets

Grundlagen der Rechnerarchitektur. Speicher

Grundlagen der Rechnerarchitektur

Wie groß ist die Page Table?

Schreiben von Pages. Schreiben einer Page in den Swap Space ist sehr teuer (kostet millionen von CPU Zyklen).

Virtueller Speicher. SS 2012 Grundlagen der Rechnerarchitektur Speicher 44

Virtueller Speicher und Memory Management

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

Grundlagen der Rechnerarchitektur. Speicher

Abbilden von virtuellen auf physikalische Adressen

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

Erweiterung von Adressraum und Bit Tiefe

Grundlagen der Rechnerarchitektur. Ein und Ausgabe

Technische Informatik 1 - HS 2017

é Er ist software-transparent, d.h. der Benutzer braucht nichts von seiner Existenz zu wissen. Adreßbus Cache- Control Datenbus

Vorlesung: Rechnerstrukturen, Teil 2 (Modul IP7)

, SS2012 Übungsgruppen: Do., Mi.,

In heutigen Computern findet man schnellen/teuren als auch langsamen/billigen Speicher

Beispiele von Branch Delay Slot Schedules

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

Cache-Speicher. Design Digitaler Systeme. Prof. Dr.-Ing. Rainer Bermbach

Grundlagen der Rechnerarchitektur. MIPS Assembler

Grob-Struktur des Prozessor-Speichersystems

Rechnerstrukturen. 5. Speicher. Inhalt. Vorlesung Rechnerstrukturen Wintersemester 2002/03. (c) Peter Sturm, Universität Trier 1.

N Bit Binärzahlen. Stelle: Binär-Digit:

Speicherhierarchie, Caches, Consistency Models

Datenpfad einer einfachen MIPS CPU

Linux Paging, Caching und Swapping

2. Ansatzpunkt: Reduktion der Penalty Early Restart und critical word first

Speicherarchitektur (23) Suchen einer Seite:

Datenpfad einer einfachen MIPS CPU

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

Arithmetik, Register und Speicherzugriff. Grundlagen der Rechnerarchitektur Assembler 9

Speicher. Speicher. Speicherhierarchie. Speicher. Interessante Zahlen:

Übung Praktische Informatik II

Datenpfad einer einfachen MIPS CPU

Speicherarchitektur (1)

Grundlagen der Informationsverarbeitung:

Das Konzept der Speicherhierarchie

Ergänzung: RAM und ROM. SS 2012 Grundlagen der Rechnerarchitektur Speicher 72

RO-Tutorien 15 und 16

Analyse aktueller Cache-Architekturen hinsichtlich Struktur und Effizienz. Markus Krause

Datenpfad einer einfachen MIPS CPU

Grundlagen der Rechnerarchitektur

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

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

Übung zu Einführung in die Informatik # 10

Grundlagen der Rechnerarchitektur. Einführung

Lösung von Übungsblatt 2

Technische Informatik 2 Speichersysteme, Teil 3

Allgemeine Lösung mittels Hazard Detection Unit

Speicherorganisation

Cache-Kohärenz und -Konsistenz. Betreuer: Prof. Brüning Veton Kajtazi Mat.-Nr.: Universität Heidelberg

Einführung in die technische Informatik

Speicherarchitektur (16)

Lösung von Übungsblatt 2

Assembler am Beispiel der MIPS Architektur

CPU. Memory. Highest. Fastest. Smallest. Memory. Biggest. Lowest

Grundlagen der Rechnerarchitektur

Übungen zu Grundlagen der Rechnerarchitektur und -organisation: Bonusaufgaben Übung 8 und Präsenzaufgaben Übung 9

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

Grundlagen der Rechnerarchitektur

Grundlagen der Informatik III Wintersemester 2010/2011

11. Caches Pufferspeicher

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

Aufgabe 4 : Virtueller Speicher

Rechnernetze und Organisation

Lösungsvorschlag zur 6. Übung

Das Verfahren in Hardware

Rechnerorganisation. 1. Juni 201 KC Posch

Wunschvorstellung der Entwickler vom Speicher

Technische Realisierung (1)

Betriebssysteme BS-S SS Hans-Georg Eßer. Foliensatz S: Speicherverwaltung. Dipl.-Math., Dipl.-Inform. v1.0, 2015/04/14

Tutorium Rechnerorganisation

Multiplikation. Grundlagen der Rechnerarchitektur Logik und Arithmetik 79

Paging. Einfaches Paging. Paging mit virtuellem Speicher

Rechnerarchitektur. Vorlesungsbegleitende Unterlagen. WS 2003/2004 Klaus Waldschmidt

Rechnergrundlagen SS Vorlesung

Technische Informatik 1 - Übung & 22. Dezember Philipp Miedl

Speicherverwaltung (Swapping und Paging)

Multiplikation. Grundlagen der Rechnerarchitektur Logik und Arithmetik 79

Speichern von Zuständen

Control Beispiel. Control wird als kombinatorische Schaltung realisiert. Hierzu die Wahrheitstabelle: Control

Ein konfigurierbarer, visueller Cache-Simulator unter spezieller Berücksichtigung komponenten- basierter Modellierung mit Java Beans

Vorlesung: Rechnerstrukturen, Teil 2 (Modul IP7)

Freispeicherverwaltung

Tutorium Rechnerorganisation

, WS2012 Übungsgruppen: Mo., Do.,

Invalidierungs- und Update-basierte Cache-Kohärenz-Protokolle

(Cache-Schreibstrategien)

Carry Lookahead Adder

RAM. Konsistenzprobleme entstehen => CPU - durch Verzögerung in Warteschlange, Umfangreiche Pufferung in den PCI Brücken. lesen. EOP-Signal.

Besprechung des 9. Übungsblattes Virtuelle Speicherverwaltung Aufgaben

Grundlagen der Rechnerarchitektur. Einführung

Transkript:

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 Speicher 18

Quiz Gegeben sei ein Cache mit 64 Blöcken mit Block Größe 16 Bytes. Was ist die Cache Größe in KB? SS 212 Grundlagen der Rechnerarchitektur Speicher 19

Wie groß sollten Cache Blöcke sein? Je Länger die Blöcke desto größer die Konkurrenz. Je Länger die Blöcke desto teurer ein Miss. Bildquelle: David A. Patterson und John L. Hennessy, Computer Organization and Design, Fourth Edition, 212 SS 212 Grundlagen der Rechnerarchitektur Speicher 2

Ergänzung: Split Caches Split Cache: besteht aus zwei unabhängigen Caches Ein Cache für die Instruktionen Ein Cache für die Daten Vorteil: die Cache Bandbreite (d.h. wie viel Daten pro Zeiteinheit können ausgelesen/geschrieben werden) wird erhöht. Erinnerung: unsere MIPS CPU konnte auch gleichzeitig einen Instruction Fetch und einen Datenzugriff machen. Nachteil: die Miss Rate erhöht sich, da die Aufteilung in Bytes für Instruction und Daten Cache fest ist und ggf. nicht optimal für das aktuelle Programm ist. Beispiel: Miss Raten für einen Intrinsity FastMATH Prozessor Split Cache (32 KB aufgeteilt): 3,24% Miss Rate Combined Cache (32 KB für einen Cache): 3,18% Miss Rate SS 212 Grundlagen der Rechnerarchitektur Speicher 21

Cache Grundlagen Schreibender Cache Zugriff SS 212 Grundlagen der Rechnerarchitektur Speicher 22

Eine einfache Strategie Schreibt man nur in den Cache, werden Cache und darunter liegender Speicher inkonsistent. Wie erreicht man Konsistenz? Write Through Schreibe immer sofort in den Speicher zurück Einfach aber schlechte Performance Beispiel: 1% Store Instruktionen, CPI ohne Miss = 1 und CPI bei Speicherzugriff = 1. Was ist der Gesamt CPI Wert? SS 212 Grundlagen der Rechnerarchitektur Speicher 23

Write Buffer Verbesserungen Ergänzung zu Write Through Ausstehende Writes werden in einem kleinen Puffer zwischengespeichert CPU kann nach schreiben in den Puffer sofort weiter machen Parallel werden Daten aus dem Puffer in den Speicher geschrieben CPU muss nur stallen, wenn der Puffer voll ist. Write Back Alternative zu Write Through Speichere Änderungen zunächst nur im Cache Schreibe Änderung in Speicher nur dann, wenn der Cache Block ersetzt wird SS 212 Grundlagen der Rechnerarchitektur Speicher 24

Behandlung von Cache Misses Was passiert beim Schreiben (sowohl bei Write Through als auch Write Back) eines Bytes bei einem Cache Miss? Eine naheliegende Lösung Lade den gesamten Block aus dem Speicher Überschreibe das Byte in dem Block Alternative: No Write Allocate Aktualisiere nur den darunter liegenden Speicher aber nicht den Cache Ist sinnvoll, wenn lesender Zugriff nicht zu erwarten ist SS 212 Grundlagen der Rechnerarchitektur Speicher 25

Cache Grundlagen Speicherunterstützung für Caches SS 212 Grundlagen der Rechnerarchitektur Speicher 26

Motivation Erinnerung: CPU und Speicher kommunizieren über einen Bus. Was beeinflusst die Miss Penalty? Geschwindigkeit des Busses. Speicherorganisation (siehe gleich). Ein angenommenes Beispiel von Speicherzugriffswerten: 1 Speicherbuszyklus die gewünschten Adressen zu senden 15 Speicherbuszyklen für jeden initiierten DRAM Zugriff 1 Speicherbuszyklus ein Datenwort zu senden Was ist die Miss Penalty bei einem Cache mit vier Word Breite und sequentiellem Zugriff auf ein DRAM mit einem Word Breite? Kann man das verbessern? SS 212 Grundlagen der Rechnerarchitektur Speicher 27

Bessere Unterstützung durch das DRAM Bezeichnet man auch als Interleaving. Was ist die Miss Penalty für zweimal breiteren Bus und Speicher? Bildquelle: David A. Patterson und John L. Hennessy, Computer Organization and Design, Fourth Edition, 212 SS 212 Grundlagen der Rechnerarchitektur Speicher 28

Bessere Unterstützung durch das DRAM Bezeichnet man auch als Interleaving. Was ist die Miss Penalty für Speicherorganisation mit 4 parallelen Bänken aber unverändertem Bus? Bildquelle: David A. Patterson und John L. Hennessy, Computer Organization and Design, Fourth Edition, 212 SS 212 Grundlagen der Rechnerarchitektur Speicher 29

Entwicklungen der letzten Jahre Organisation des Speichers in Zeilen und Spalten. Vorhalten einer ganzen Zeile in einem schnelleren RAM internen SRAM. SDRAM (Synchronous DRAM) Eleminiere Zeit zur CPU RAM Synchronisation durch eigene Clock. DDR (Double Data Rate) Verdopplung des Datentransfers durch Verwendung sowohl steigender als auch fallender Flanke eines Clock Zyklus. Bildquelle: David A. Patterson und John L. Hennessy, Computer Organization and Design, Fourth Edition, 212 SS 212 Grundlagen der Rechnerarchitektur Speicher 3

Verbessern der Cache Performance SS 212 Grundlagen der Rechnerarchitektur Speicher 31

Verbesserte Cache Strategien Im Folgenden betrachten wir eine Verbesserung von Direct Mapped Caching. Zur Darstellung der Verbesserung verwenden wir folgende vereinfachte Cache Darstellung: Speicher Blöcke :... 1 :... 2 :..... 8 :... 9 :... 1 :.... 1 2 3 4 5 6 7 Tag Data SS 212 Grundlagen der Rechnerarchitektur Speicher 32

Fully Associative Cache Speicher Blöcke :... 1 :... 2 :..... 8 :... 9 :... 1 :.... 1 2 3 4 5 6 7 Tag Data Beobachtung: bei Direct Mapped Cache kann ein Speicherblock nur an einer Stelle gespeichert werden. Konsequenz: wechselhafter Zugriff auf zwei Speicherblöcke die auf die selbe Stelle gemappt werden, führt permanent zu Cache Misses. Praktisch wäre doch folgender Cache: Tag Data Tag Data Tag Data Tag Data Tag Data Tag Data Tag Data Tag Data Ein Eintrag kann überall stehen. Nachteil: Durchsuchen des Cache dauert länger und mehr Hardware Aufwand! Wie wäre es mit einem Kompromiss:... SS 212 Grundlagen der Rechnerarchitektur Speicher 33

(N Wege) Set Associative Cache Tag Data 1 2 3 4 5 6 7 Direct Mapped Speicher Blöcke :... 1 :... 2 :..... 8 :... 9 :... 1 :.... Set Tag Data Tag Data 1 2 3 Two Way Set Associative Set Tag Data Tag Data Tag Data Tag Data 1 Four Way Set Associative Tag Data Tag Data Tag Data Tag Data Tag Data Tag Data Tag Data Tag Data Fully Associative SS 212 Grundlagen der Rechnerarchitektur Speicher 34

Zwischenbilanz Finden der Cache Zeile c des Speicher Blocks n in einem Direct Mapped Cache der Größe k? (Vergleiche anschließend n mit dem in Zeile c gespeicherten Tag) Finden der Set s des Speicher Blocks n in einem N Way Set Associative Cache mit k Sets? (Durchlaufe dann die Set s und suche nach einem Tag der n entspricht) SS 212 Grundlagen der Rechnerarchitektur Speicher 35

Eine Frage ist noch zu klären Annahme die Set eines N Way Set Associative Cache ist voll (bzw. der Fully Associative Cache ist voll). Wo kann ein neuer Speicherblock abgelegt werden? Tag Data 44...??? Tag Data Tag Data Tag Data Tag Data 24... 66... 2... 16... Häufig verwendete Strategie: Least Recently Used (LRU) Ersetze den Block, auf den schon am längsten nicht zugegriffen wurde. SS 212 Grundlagen der Rechnerarchitektur Speicher 36

Mehr Wege resultieren in weniger Misses Beispiel: betrachte Cache Varianten mit vier Speicherblöcken Tag Data 1 Set Tag Data Tag Data 2 Tag Data Tag Data Tag Data Tag Data 3 1 Direct Mapped Set Associative Fully Associative Wie viele Cache Misses erzeugt die folgende Sequenz von Speicherblockzugriffen?, 8,, 6, 8 SS 212 Grundlagen der Rechnerarchitektur Speicher 37

Mehr Wege resultieren in weniger Misses Beispiel: Direct Mapped Tag Data 1 2 3 Vorüberlegung: Auf welchen Cache Block werden die Block Adressen gemapped? Block Adresse Cache Block 6 8 Speicherblockzugriffe:, 8,, 6, 8 (Speicherblockinhalt = M[i]) Zugriff 8 6 8 Hit oder Miss Inhalt der Cache Blöcke nach der Referenz 1 2 3 SS 212 Grundlagen der Rechnerarchitektur Speicher 38

Mehr Wege resultieren in weniger Misses Beispiel: Set Associative Set Tag Data Tag Data 1 Vorüberlegung: In welche Set werden die Block Adressen gemapped? Block Adresse Cache Set 6 8 Speicherblockzugriffe:, 8,, 6, 8 (Speicherblockinhalt = M[i]) Zugriff 8 6 8 Hit oder Miss Inhalt der Cache Blöcke nach der Referenz Set Set Set 1 Set1 SS 212 Grundlagen der Rechnerarchitektur Speicher 39

Mehr Wege resultieren in weniger Misses Beispiel: Fully Associative Tag Data Tag Data Tag Data Tag Data Speicherblockzugriffe:, 8,, 6, 8 (Speicherblockinhalt = M[i]) Zugriff 8 6 8 Hit oder Miss Inhalt der Cache Blöcke nach der Referenz Block Block 1 Block 2 Block 3 SS 212 Grundlagen der Rechnerarchitektur Speicher 4

Wie Aufwendig sind mehr Wege? Offset 2 Bits Bildquelle: David A. Patterson und John L. Hennessy, Computer Organization and Design, Fourth Edition, 212 SS 212 Grundlagen der Rechnerarchitektur Speicher 41

Wie viele Wege sind sinnvoll? Feste Zahl kann hier nicht genannt werden. Tradeoff: Zeit/Hardware Aufwand versus Miss Raten. Beobachtung: (64KB Cache, 16 Word Blöcke) Miss Raten lassen sich in dem Beispiel mit mehr Assoziativität nicht besonders weiter reduzieren. Zeit/Hardware Aufwand durch mehr Assoziativität würde sich hier nicht weiter lohnen. Bildquelle: David A. Patterson und John L. Hennessy, Computer Organization and Design, Fourth Edition, 212 SS 212 Grundlagen der Rechnerarchitektur Speicher 42

Multi Level Caches CPU First Level Cache Second Level Cache Optimiert auf geringe Hit Time (und damit recht klein) Optimiert auf geringe Miss Ratio (also mehr und größere Blöcke und damit höhere Hit Time) Speicher SS 212 Grundlagen der Rechnerarchitektur Speicher 43

Virtueller Speicher SS 212 Grundlagen der Rechnerarchitektur Speicher 44

Die Idee Virtuelle Adressen Prozess 1 Speicherblock Speicherblock 1 Speicherblock 2 Speicherblock 3 Speicherblock 4 Speicherblock 5 Speicherblock 6 Speicherblock 7... Address Translation Speicherblock Speicherblock 1 Speicherblock 2 Speicherblock 3 Speicherblock 4 Speicherblock 5... Speicherblock m Physikalischer Speicher Address Translation Prozess 2 Speicherblock Speicherblock 1 Speicherblock 2 Speicherblock 3 Speicherblock 4 Speicherblock 5 Speicherblock 6 Speicherblock 7... Virtuelle Adressen Speicherblock n Virtueller Speicher Sekundärer Speicher (Festplatte oder SSD) Speicherblock n Virtueller Speicher SS 212 Grundlagen der Rechnerarchitektur Speicher 45

Abbilden von virtuellen auf physikalische Adressen Virtuelle Adresse 31 3 29 28 27... 15 14 13 12 11 1 9 8... 3 2 1 Virtuelle Seitennummer Seiten Offset Translation Physikalische Adresse 29 28 27... 15 14 13 12 11 1 9 8... 3 2 1 Physikalische Seitennummer Seiten Offset Quiz: Größe x des virtuellen Adressraumes, Größe y des physikalischen Adressraumes und Größe z der Speicherblöcke? SS 212 Grundlagen der Rechnerarchitektur Speicher 46

Weitere Details zur Address Translation Bildquelle: David A. Patterson und John L. Hennessy, Computer Organization and Design, Fourth Edition, 212 SS 212 Grundlagen der Rechnerarchitektur Speicher 47

Page Faults Page Fault: die Page muss in eine freie Page im Speicher geladen werden. Was, wenn keine Page mehr frei ist? Andere Page im Speicher muss ausgelagert werden. Mögliche Ersetzungsstrategie: LRU (siehe voriges Thema Caching). Woher weiß man eigentlich, welche Page schon lange nicht mehr adressiert wurde? Manche Prozessoren können die Page Table mit einem Reference/Use Bit taggen. Den Rest muss das Betriebssystem übernehmen (mehr dazu in der Vorlesung Betriebssysteme) SS 212 Grundlagen der Rechnerarchitektur Speicher 48