Zum Forum
Passwort vergessen?
Noch keinen Account?
lexikon
Hauptseite
Zufälliger Artikel
Diskussion
Diskussion : Cache
Links
Forum
Portale
Reisen
Versicherung
Inhaltsverzeichnis
Hauptmenü
Home
Editorial
Bildung
E-Learning
Fremdsprachen
Magazin
Wissen
Wörterbücher
Enzyklopädien
Expertendienste
Wissenswertes
Praktische Ratgeber
--------------------------
Biologie
Chemie
Computer
Film/ Theater
Geografie
Geschichte
Jura
Kunst
Literatur
Mathematik
Medizin
Musik
Philosophie
Physik/ Astronomie
Politik
Psychologie
Religionen
Sport
Umwelt
Wirtschaft
Reisen
Lexikon
Versicherung
Suchen
Schnellsuche
Suchmaschinen
Metasuchmaschinen
Webkataloge
News
Treffpunkt
Chat
Forum
Suche
Schnellsuche
Sitemap
Kontakt
Impressum
Cache
Stichpunkte
Allgemein
Cache Vorlage:Lautschrift bezeichnet in der EDV einen schnellen Puffer-Speicher
früher aber auch häufig auf der Hauptplatine zu finden war
der bei CPUs heute meist im Prozessor integriert ist
Bei Festplatten befindet sich der Cache auf der Steuerplatine (siehe auch Festplattencache)
wodurch diese bei einem Zugriff schneller zur Bearbeitung bereitstehen
In ihm werden Daten und – beim CPU-Cache – auch Programminstruktionen zwischengespeichert
Die Funktionsweise eines Caches beruht auf der so genannten Lokalitätseigenschaft
um so größer ist
dass die Wahrscheinlichkeit
Vereinfacht dargestellt bedeutet das
je kürzer der letzte Zugriff auf diese Daten zurückliegt
dass Daten nach einem erfolgten Zugriff erneut benötigt werden
entlehnt vom französischen cacher - verbergen) „geheimes Lager“
Wörtlich aus dem Englischen übersetzt bedeutet Cache (gesprochen wie das Bargeld cash
Aus dem Quotes-of-the-day eines Linux-Betriebssystems: „Cache: A very expensive part of the memory system of a computer that no one is supposed to know it is there.“ Der Name verdeutlicht den Umstand
dass ein Cache seine Arbeit zumeist im Verborgenen verrichtet
Für den Programmierer ist er weitgehend transparent
"Verbergen") 1 Der Prozessor-Cache 1.1 Arbeitsweise 1.2 Adressierungstechnik 1.3 Cache-Flush 2 Cache-Level 2.1 Stufung des Datenzugriffs im Computer 3 Festplatten-Caches 4 Speicher-Caches 5 Software-Caches 6 Siehe auch [Bearbeiten]
Seine Existenz tritt nur bei performance-relevanten Optimierungen oder bei selten nötigen Operationen wie etwa dem Cache-Flush in Erscheinung. Inhaltsverzeichnis showTocToggle("Anzeigen"
Der Prozessor-Cache
Jeder moderne Prozessor besitzt einen oder mehrere Caches
Der Prozessor-Cache arbeitet im Gegensatz zum Hauptspeicher meist mit dem vollen Prozessortakt – mehrere Gigahertz im Vergleich zu mehreren hundert Megahertz
die sich im Prozessor-Cache befinden
Das hat zur Folge
dass Daten
in der Regel sofort (im nächsten Takt) zur Verfügung stehen und die CPU nicht erst auf den langsamen Hauptspeicher warten muss
Die Ausführungsgeschwindigkeit von Programmen kann dadurch enorm gesteigert werden. [Bearbeiten]
Arbeitsweise
Da der Cache viel kleiner ist als der langsamere Hauptspeicher
kann er immer nur Teile des Hauptspeichers zwischenspeichern
Zur Vereinfachung der Cache-Verwaltung wird hierzu nicht das kleinste zugreifbare Speicherelement – in der Regel das Byte – gespeichert
sondern immer gleichgroße Gruppen aufeinanderfolgender Speicherelemente
so genannte Blöcke
auf die auch häufig zugegriffen wird
immer nur die Blöcke im Cache zu halten
Bei der Verwaltung des Caches ist es sinnvoll
Zu diesem Zweck gibt es verschiedene Ersetzungsstrategien
welche immer den am längsten nicht mehr zugegriffenen Block im Cache austauscht
Eine häufig verwendete Variante ist dabei die LRU-Strategie (engl. least recently used)
Aufgrund des erwähnten kleinen Cachespeicherplatzes treten bei Lese/Schreib-Anforderungen des Prozessors folgende Fälle auf: Cache-Hit: Der angeforderte Block wurde im Cache gefunden und kann dort sofort bearbeitet werden
Dies bedeutet einen erheblichen Performancegewinn
Cache-Miss: Der angeforderte Block ist nicht im Cache
Der Block muss somit aus dem Hauptspeicher geladen werden und wird gegen einen anderen im Cache ersetzt
Dies bedeutet
dass der Prozessor während der Nachlade- und Ersetzungsphase schlimmstenfalls angehalten werden muss (Stall -> Performanceverlust)
Es werden 3 Arten von Cache-Misses unterschieden: Compulsory: Der erste Schreib/Lesezugriff auf einen Block ist aus Prinzip ein Miss
dass die Stelle
kann es passieren
Capacity: Der Cache ist voll (Ersetzung eines Blockes notwendig oder grösserer Cache) Conflict: Abhängig vom gewählten Ersetzungsverfahren
an der ein Block eingelagert werden soll
bereits belegt ist. Problem: Eine Änderung auf dem Cache führt zwangsläufig zu einer Inkonsistenz
da diese Änderung nicht mehr mit dem Block im Hauptspeicher übereinstimmt
da ja immer auf den Hauptspeicher gewartet werden muss) Write Back: Der geänderte Cache-Block wird erst im Hauptspeicher aktualisiert
Zur Lösung existieren 2 Techniken: Write Through: Wird ein Cacheelement geändert wird auch gleichzeitig sein Pendant im Hauptspeicher geändert. (Nachteil: Verlust des Geschwindigkeitsvorteil des Caches
wie z.B
wenn es ersetzt wird. (Nachteil: Inkonsistenzprobleme bei Mehrprozessorsystemen / Abhilfe schaffen hier Cache-Kohärenz-Protokolle
MESI für UMA-Systeme) In modernen Prozessoren sind aufgrund beider Nachteile beide Varianten implementiert
Write-Miss Problem: Ist ein Block im Cache schon ersetzt worden auf die der Prozessor jetzt schreibend zugreifen will
hat er 2 Möglichkeiten: Fetch on Write: Der Block wird einfach vorher nochmal in den Cache eingelesen damit der Prozessor darauf wieder schreibend zugreifen kann
Write Around: Der Block wird unter Umgehung des Caches direkt im Hauptspeicher geändert. [Bearbeiten]
Adressierungstechnik
Es existieren 3 Verfahren um Daten im Cache abzulegen: Direct Mapped: Ein eingelagerter Block kann sich nur an einer Stelle befinden (Abbildung auf genau eine Speicherzelle)
Die Adressberechnung erfolgt dabei über eine einfache Modulo Funktion
Fully Associative: Hier kann sich ein Block an jeder beliebigen Stellen befinden
Der Block ist somit inhaltsadressierbar
Set Associative: Der Cachespeicher wird hierbei in meherere Sets aufgeteilt
Diese Sets haben feste Plätze im Cache
Ein neuer Block kann nun innerhalb eines Sets beliebig platziert werden
Mengen-Assoziative Caches vereinen somit Direct-Mapped mit der Voll-Assoziativen Technik: 1-way set associative = direct mapped n-way set associative = fully associative Heutige Caches implementieren das Mengen-assoziative Verfahren. [Bearbeiten]
Cache-Flush
Ein Cache-Flush bewirkt das komplette Zurückschreiben des Cache-Inhaltes in den Hauptspeicher
Dabei bleibt der Cache-Inhalt meist unangetastet
Ein solches Vorgehen ist nötig wenn man die Cache <-> Hauptspeicher Konsistenz wiederherstellen möchte. [Bearbeiten]
Cache-Level
Der Level-1-Cache hält die aktuellen Adressen
Befehle und Zwischenergebnisse auf Vorrat
damit diese nicht langwierig aus „entfernterem“ Speicher aufgerufen werden müssen
Dieser Cache liegt stets direkt im Prozessorkern und hat in der Regel eine Größe von 8 bis 256 KB
Der Level-2-Cache puffert größere aktuell zu verarbeitete Datenbestände
auch unter Umständen ganze Programmabschnitte
In der günstigsten Anordnung liegt dieser Cache wie der Level-1-Cache auf dem Prozessorchip (on-Die) und wird mit der vollen Prozessortaktrate angesprochen
Liegt der L2-Cache außerhalb der CPU
so muss die Taktrate in der Regel halbiert werden
also z.B. auf einer „entfernteren“ Platine
Der L2-Cache ist in der Regel zwischen 512 und 2048 KB groß
kann eine weitere Stufe
der Level-3-Cache noch einmal eine Beschleunigung des Speicherzugriffs bedeuten. [Bearbeiten]
Insbesondere wenn der L2-Cache on-Die vorliegt
Stufung des Datenzugriffs im Computer
…sortiert von schnell nach „langsam“: 1. die Daten liegen in einem Register des Prozessors 2. die Daten liegen im Level-1-Cache des Prozessors 3. die Daten liegen im Level-2-Cache a) on-Die b) nicht on-Die
auf einer „entfernteren“ Platine 4. die Daten liegen im Level-3-Cache (nicht on-Die) 5. die Daten müssen aus dem regulären Arbeitsspeicher gelesen werden 6. die Daten müssen extern gelesen werden (von z.B. der Festplatte) a) die Daten liegen in einem Laufwerks-Cache (Speicher in der Ansteuerungselektonik (Controller oder im Laufwerksgehäuse)) b) die Daten werden magnetisch/optisch gelesen 7. die Daten müssen noch (z.B. per Scanner oder Tastatur) eingegeben werden. [Bearbeiten]
Festplatten-Caches
Moderne Festplatten besitzen ebenfalls einen eigenen eingebauten Cache (meist 1-8MB groß)
Er sorgt hier für enorm reduzierte Anfragezeiten bei Cache-Hits (wenige Nanosekunden im Vergleich zu einigen Millisekunden)
Siehe dazu Festplattencache. [Bearbeiten]
Speicher-Caches
...) besitzen selber nocheinmal einen schnelleren Cache
Selbst heutige Speicher (SD-RAM
DDR-RAM
RDRAM
dass der Hauptspeicher fast aller PC's mit dynamischem Speicher bestückt ist
Der Grund ist
welcher zwar billiger aber Aufgrund seiner Refreshzyklen auch langsamer ist
Desshalb besitzt jeder RAM-Baustein einen kleinen Cache in Form eines statischen Speichers. [Bearbeiten]
Software-Caches
Das Wort "Cache" trifft man auch in der Software an
Hier beschreibt es dasselbe Prinzip wie bei der Hardwareimplementierung: Daten werden für einen schnelleren Zugriff auf ein schnelleres Medium zwischengespeichert
Beispiele: Browser-Cache: (Netz -> Festplatte) Anwendungen: (Festplatte -> Hauptspeicher) [Bearbeiten]
Siehe auch
Vorlage:Wiktionary1 Change Management Speicherhierarchie als:Cache cs:Cache en:Cache es:Caché fi:Välimuisti fr:Mémoire cache hr:Cache hu:GyorsÃtótár it:Cache ja:ã‚ャッシュ (コンピュータシステム) nl:Cache pl:Bufor
Dieser Artikel basiert auf dem Artikel
Cache
aus der freien Enzyklopädie
wikipedia
und steht unter der
GNU Lizenz für freie Dokumentation
. In der wikipedia ist eine
Liste der Autoren
verfügbar.
Hauptprozessor
Chemie
Copyright-Vermerk
Catherine Deneuve
Cher
Claude Lelouch
Cyber
Cyrna
[ Zurück ]
Inhalt Lexikon:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
1
2
3
4
5
6
7
8
9
Chat
|
Lexikon
|
Reisen
|
Versicherung
|
Forum
|
Kontakt