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

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

Grundlagen der Rechnerarchitektur. Speicher

Grundlagen der Rechnerarchitektur. Speicher

Grundlagen der Rechnerarchitektur

Speicher. Speicher. Speicherhierarchie. Speicher. Interessante Zahlen:

Cache Grundlagen. Schreibender Cache Zugriff. SS 2012 Grundlagen der Rechnerarchitektur Speicher 22

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

Grob-Struktur des Prozessor-Speichersystems

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.

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

Cache Blöcke und Offsets

Speicherverwaltung. Design Digitaler Systeme. Prof. Dr.-Ing. Rainer Bermbach

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

Einführung in die technische Informatik

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

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

RO-Tutorien 15 und 16

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

Grundlagen der Informationsverarbeitung:

Virtueller Speicher und Memory Management

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

6 Exkurs: Assoziativspeicher (2) 6 Exkurs: Assoziativspeicher. 7.1 Speicherhierarchie. 7 Caches

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

Technische Informatik 1 - HS 2017

Rechnernetze und Organisation

Inhalt Teil 10 (Caches) aus 6. Speicherorganisation

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

Rechnerarchitektur. Vorlesungsbegleitende Unterlagen. WS 2003/2004 Klaus Waldschmidt

11. Caches Pufferspeicher

Rechnerorganisation. 1. Juni 201 KC Posch

Rechner Architektur. Martin Gülck

Lösung von Übungsblatt 3

Das Konzept der Speicherhierarchie

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

Lösung von Übungsblatt 2

Mikroprozessortechnik Grundlagen 1

Wie groß ist die Page Table?

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

Tutorium Rechnerorganisation

Speicher. Rechnerarchitektur (RA) Sommersemester Prof. Dr. Jian-Jia Chen 2016/06/15. technische universität dortmund

Speicherorganisation

Technische Informatik 2 Speichersysteme, Teil 3

Lösung von Übungsblatt 2

Rechnergrundlagen SS Vorlesung

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

ccnuma Unterstützung Zustandsübergangsdiagramm MESIF

Speicherarchitektur (1)

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

Linux Paging, Caching und Swapping

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

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

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

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

Vorlesung 14 Speichersysteme (2)

RO-Tutorien 17 und 18

ZENTRALEINHEITEN GRUPPE

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

Tutorium Rechnerorganisation

Tutorium Rechnerorganisation

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

4.2 Verbesserung der Leistungsfähigkeit von Caches

Klausur Mikroprozessortechnik

G. Caches. G.1.1 Kontext & Orientierung

Grundlagen der Rechnerarchitektur. Ein und Ausgabe

Speicherarchitektur (16)

Arithmetische und Logische Einheit (ALU)

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

RO-Tutorien 15 und 16

Teil VIII Von Neumann Rechner 1

Zusammenhang Interrupt, Befehlszyklus, indirekte Adressierung und Mikroprogramm [Stallings, Kap. 15, S ]

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

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

Virtueller Speicher. SS 2012 Grundlagen der Rechnerarchitektur Speicher 44

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

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

Klausuraufgaben: Hardware (1.) Notieren Sie die Namen der Schnittstellen!

(Cache-Schreibstrategien)

Übersicht über Technologie und Nutzung von Caching in Computersystemen

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

Vorlesung: Rechnerstrukturen, Teil 2 (Modul IP7)

Vorwort Teil 1: Grundlagen 1. 1 Einleitung Grundbegriffe Einheiten Geschichte Arten von Computern 8

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

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

RISC - Architekturen. Design Digitaler Systeme. Prof. Dr.-Ing. Rainer Bermbach

Teil 2: Speicherstrukturen

5.5 Virtueller Speicher

Aufgabe 4 : Virtueller Speicher

Technische Realisierung (1)

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

Freispeicherverwaltung Martin Wahl,

Proseminar Konzepte von Betriebssystem- Komponenten (KVBK) Vortrag zum Thema: Speicheraddressierung, Segmentierung, Paging

1. Welche Speichereinheiten werden belegt, wenn die folgenden Strategien eingesetzt werden?

Einfaches MSI-Writeback-Inval-Protokoll

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

Weitere Verbesserungen

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

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

Rechnerstrukturen. 5. Speicher. Inhalt. Vorlesung Rechnerstrukturen. Motivation. Speichertypen. Cache-Speicher. Virtueller Speicher

Transkript:

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

Übersicht Cache-Speicher Warum Cache-Speicher? Cache-Strukturen Aufbau und Organisation von Caches Cache-Architekturen Cache-Strategien Zusammenfassung Design Digitaler Systeme 2008-2017 / Be 2

1 Warum braucht man Cache-Speicher? idealer Speicher: unendlich groß beliebig schnell beliebig billig Kompromiss nötig zwischen Größe Geschwindigkeit Kosten Die Anforderungen müssen nur im Mittel erfüllt werden! Design Digitaler Systeme 2008-2017 / Be 3

1.1 Speicherhierarchie Aufteilung in verschieden schnelle Speicherebenen = Speicherhierarchie: CPU-Register/On-Chip-Speicher Arbeitsspeicher (DRAM) Plattenspeicher Bandspeicher ca. 1-10 ns ca. 100 ns ca. 10 ms ca. 1 s - 1 h => große zeitliche Diskrepanz zwischen CPU- und Hauptspeicherzugriff Design Digitaler Systeme 2008-2017 / Be 4

1.1 Speicherhierarchie (Forts.) zunehmende Steigerung der CPU- Geschwindigkeit Arbeitsspeicher kaum schneller zusätzliche Hierarchiestufe zwischen CPU und Arbeitsspeicher nötig: der Cache-Speicher Cache arbeitet für die CPU transparent häufigst benutzt => kein Verwaltungsaufwand für die CPU (HW) zeigt sich im Namen: Cache = Versteck Design Digitaler Systeme 2008-2017 / Be 5

1.1 Speicherhierarchie (Forts.) Aufgabe des Caches: Bereithalten der häufiger benötigten Daten und Befehle in einem schnellen Zwischenspeicher Prozessor wird nicht durch langsamen Hauptspeicher ausgebremst Warum funktioniert das? Daten und Programme besitzen i.d.r. eine hohe Lokalität ca. 95% der nächsten Zugriffe liegen innerhalb eines Bereiches von wenigen Bytes Design Digitaler Systeme 2008-2017 / Be 6

1.2 Anwendungen von Caches zwischen Prozessor und Hauptspeicher zwischen Multiprozessoren und dem gemeinsamen Arbeitsspeicher zwischen CPU/Arbeitsspeicher und der Peripherie z.b. als Plattencache, beim CD-ROM-Laufwerk beim Netzwerkanschluss, bei Schnittstellen bei der Speicherverwaltung (Translation Look-aside Buffer) allgemein vor Einheiten mit langsamem Zugriff und hoher Lokalität der Daten Design Digitaler Systeme 2008-2017 / Be 7

2 Cache-Strukturen Look-side Cache Cache liegt parallel zum Daten-/Adressbus Zugriff der CPU auf Cache- und System- RAM nur bei Single- Prozessorsystemen Design Digitaler Systeme 2008-2017 / Be 8

2 Cache-Strukturen (Forts.) Look-through Cache CPU sieht nur den Cache kein direkter Zugriff auf den Arbeitsspeicher vorrangig bei Multiprozessorsystemen (Busentlastung) und Peripherie-Caches Design Digitaler Systeme 2008-2017 / Be 9

2 Cache-Strukturen (Forts.) kombinierte Befehls/Datencaches von-neumann-architektur getrennte Befehls/Datencaches Harvard-Architektur Daten und Befehle belegen verschiedene Bereiche und zeigen unterschiedliches Verhalten Mehrfach-Caches 1st Level Cache (L1) 2nd Level Cache (L2) 3rd Level Cache (L3), Victim Cache Design Digitaler Systeme 2008-2017 / Be 10

3 Aufbau und Organisation Data RAM schnelles, statisches RAM (angepasst an CPU-Zykluszeit) speichert die Daten in Form von Lines Tag RAM noch schnelleres RAM enthält Infos, welche Daten im Cache sind Cache Controller gewährleistet transparente Nutzung stellt die Kohärenz sicher Design Digitaler Systeme 2008-2017 / Be 11

3 Aufbau und Organisation (Forts.) Speicherung in sog. Lines Eintraglänge (Line Size) typ. 32-256 Bit angepasst an die Prozessorwortbreite ein Tag/Line Tag (Merker) für die Adresse und den Status der Daten im Cache enthält die Info, ob gesuchtes Datum bereits im Cache vorliegt Komparator(en) vergleicht den Tag (Adresse) mit der aktuell benötigten Adresse Design Digitaler Systeme 2008-2017 / Be 12

3 Aufbau und Organisation (Forts.) spezielle Begriffe: Lokalität Daten/Befehle liegen i.a. in direkter Nachbarschaft Kohärenz Übereinstimmung der Daten in Cache und Speicher Cache Hit gesuchte Daten liegen im Cache vor Cache Miss gesuchte Daten liegen noch nicht im Cache vor Cacheable Area /Memory max. Speicherbereich, den der Cache abdeckt Design Digitaler Systeme 2008-2017 / Be 13

4 Cache-Architekturen 4.1 Voll-assoziativer Cache jede Line kann Daten von jeder Stelle des Hauptspeichers enthalten hoher Vergleicheraufwand nur für sehr kleine Caches geeignet Design Digitaler Systeme 2008-2017 / Be 14

4.2 Direct-Mapped Cache untere Adressbits dienen direkt der Adressierung der Cache Line einfacher Aufbau Wettbewerb der potentiellen Lines um jeden Cache-Eintrag = Gefahr von Trashing Design Digitaler Systeme 2008-2017 / Be 15

4.3 Mehrfach-assoziativer Cache z.b. vierfach-assoziativ = 4-way set-associative d.h. vier Sets pro Line, vergleichbar vier Direct-mapped Caches parallel erträglicher Vergleicheraufwand hohe Effektivität auch bei kleineren Cache- Größen benötigt Update-Algorithmus (z.b. LRU) Design Digitaler Systeme 2008-2017 / Be 16

4.3 Mehrfach-assoziativer Cache (Forts.) Design Digitaler Systeme 2008-2017 / Be 17

4.3 Mehrfach-assoziativer Cache (Forts.) Cache-Größe 8 KB (4 x 2 KB) cacheable Area 4 GB Tag RAM arbeitet bis A31 Line-Größe 16 Byte 512 K Memory-Lines, die im Wettbewerb liegen (2 21 /4, A10-A4 gleich, A21-A31 verschieden) Beispiel aus L1-Cache eines i486 Design Digitaler Systeme 2008-2017 / Be 18

5 Cache-Strategien Write Through (auch Write Thru) Caching nur für das Lesen (Write direkt in den Speicher) bei Cache Read Hit lesen aus dem Cache (gesuchtes Datum, meist die ganze Line per Burst) bei Cache Read Miss nachladen (in Cache und CPU) und aktualisieren des Tag RAM bei Cache Write Hit schreiben in den Speicher und Update des Cache (Kohärenz) bei Cache Write Miss kein Cache Update Abhilfe gegen Geschwindigkeitsverluste beim Schreiben und Reduzierung der Busbelastung: Buffered Write Through oder Posted Write Cache Design Digitaler Systeme 2008-2017 / Be 19

5 Cache-Strategien (Forts.) Write Back (auch Write Copy) Caching teilweise auch für Schreiben bei Cache Read Hit lesen aus dem Cache (wie Write Through) bei Cache Read Miss evtl. retten der alten Line (Cast-Off), dann erst nachladen bei Cache Write Hit nur Update des Cache, Setzen eines Dirty- oder Modify-Bits (für Cast-Off) bei Cache Write Miss kein Cache Update, nur schreiben in den Hauptspeicher Design Digitaler Systeme 2008-2017 / Be 20

Zusammenfassung Warum Cache-Speicher? Speicherhierarchie, kurze Zykluszeiten der CPUs, transparente Zwischenspeicherstufe, hält häufig benötigte Daten/Befehle bereit Cache-Strukturen Look-aside Cache, Look-through Cache, kombinierte oder getrennte Befehls/Datencaches, Mehrfach-Caches Architektur von Caches Tag RAM, Data RAM, Controller, Comparator voll-assoziativ, direct-mapped, mehrfach-assoziativ Strategien Write Through & Write Back Design Digitaler Systeme 2008-2017 / Be 21

Zusammenfassung Cache-Speicher sind aus modernen, schnellen Prozessorsystemen nicht mehr wegzudenken Struktur, Architektur und Strategie eines Caches müssen immer wieder auf den Einzelfall optimiert werden Design Digitaler Systeme 2008-2017 / Be 22

Design Digitaler Systeme Cache-Speicher Vielen Dank für Ihre Aufmerksamkeit! ENDE Design Digitaler Systeme 2008-2017 / Be 23