Das Video kommt von YouTube: erst beim Abspielen verbindet sich die Seite mit YouTube (Google).
Cache und Hauptspeicher (Teil 1)
Das Wichtigste aus dem Video
Tipp auf eine Zeit – das Video springt genau dorthin.
Transkriptautomatisch erstellt · 44 Zeilen
- hallo mein Name ist reiner Gerhard und ich möchte heute etwas zu zur Zuordnung zwischen kech und Hauptspeicher sagen das ist der zweite Versuch der
- Präsentation ist nach wie vor unter live Bedingung mal schauen was so alles passiert welche Telefone klingeln W reinläuft werden wir sehen mir geht's
- drum zu zeigen wie KCH und hauptspeicherorganisation zusammenwirken und wie man ermitteln kann was in den kech geladen wird und vor allen Dingen
- nach welcher Methode das geladen wird zunächst ein paar rundüberlegung dazu warum es überhaupt käches gibt der Hauptspeicher ist gerade bei heutigen
- CPUs einfach viel zu langsam und die große Bremse der Verarbeitungsgeschwindigkeit die caschspeicher sind sehr
- teuer zu teuer um als als komplett als Hauptspeicher realisiert zu werden das heißt also wir haben zwar die Möglichkeit schnelle Speicher zu bauen
- können die aber preislich nicht in einer Größenordnung ansetzen wie den Haupt Speicher die Lösung ist indem man beides kombiniert das heißt wir haben eine
- Teilmenge die im KCH gehalten wird da gibt es zum einen die zeitliche Lokalität wenn wir Algorithmen betrachten dann laufen
- die Programme im Regelfall ja in Schleifen und innerhalb einer Schleife wird zeitlich sehr nah immer und immer wieder auf dieselben Speicherelemente
- zugegriffen und man bemüht sich eben durch den kech dies in den schnellen Speicher zu laden zwar nur wenig aber eben das was unmittelbar benötigt wird
- und dadurch eben schnellen Zugriff zu erzielen das gleiche räumliche Lokalität da geht es darum dass in den Schleifen im Regelfall auch benachtbarte
- Speicherelemente benutzt werden sass also wenn ich einen gewissen Teil des käches lade dann eben auf benachtbarte stellen
- auch sehr sehr schnell zugreifen kann kurz ein paar Worte zuur Organisation des Hauptspeichers ich gehe von einem Modell
- aus in dem der Hauptspeicher als Matrix organisiert ist das muss nicht unbedingt so realisiert sein ich weiß es gibt einige Architekturen wo es so realisiert
- ist weiß nicht inwie weit das die überwiegende Anzahl der Architekturen ist ist für das Verständnis hier aber eigentlich auch egal denn es ist eine
- Möglichkeit wie man einen kech real einen Hauptspeicher realisieren kann und soll von DAH als Beispiel genügen wichtig eben wir haben Zeilen und
- Spalten ja genau eine beispielarchitektur wir haben einen konzeptionell linearen Adressraum das heißt Adressen fangen bei
- Null an und enden bei wo auch immer der Hauptspeicher aufhört meint weeggen 8 GB vergleichen kann man das sehr gut mit Adressen in einer Straße die fangen
- üblicherweise bei der Hausnummer 1 an und gehen bis zur Hausnummer ja wie viel auch immer 471 und es ist auf Adresse 0 folgt
- Adresse 1 auf Adresse 1 folgt Adresse 2 etc es gibt keine Sprünge in der Adresse das ganze wie gesagt abgebildet in einer Matrix
- es gibt sogenannte adressdecoder wenn ich jetzt diese Hauptspeicher Matrix auslesen möchte dann gibt es schaltnetze die das machen
- und die Arbeiten natürlich mit decod auf die die Adressen gelegt wden und zwar die Zeilen und die spaltenadressen wir werden das gleich noch genauer sehen
- wichtig ist eben dass jede Zeile oder das Decoder für die Zeilen existieren und das Decoder für die Spalten existieren der caschspeicher ist ähnlich
- organisiert äh auch Zeilen und spaltenweise äh wobei natürlich die äh zur Verfügung stehende Anzahl Zeilen kleiner bzw sogar
- dramatisch kleiner ist als im realen Hauptspeicher denn sonst könnten wir den Hauptspeicher direkt wieder als äh mit der gleichen Technologie wie den casch
- realisieren hätten dann aber eben das Kostenproblem daher muss der Käch natürlich deutlich kleiner sein die Anzahl der Spalten entspricht allerdings
- meines Wissens nach im Regelfall immer dem der Anzahl der Spalten im Hauptspeicher
- Entschuldigung wie wird nun auf ein Datum zugegriffen man beachtet das Datum hier jetzt nicht als Tagesdatum gemeint ist sondern eben die Einzahl von
- Daten zunächst wird mit Hilfe der adressdecoder die jeweilige Zeile ausgewählt hier jetzt blau oder grau eingezeichnet wir wissen jetzt schon
- dass in diesem Bereich das gewünschte Datenwort liegt das ganze wird in ein Register für worochtselektion übertragen so habe ich das jetzt mal genannt das
- muss nicht zwingend ein Register sein das kann auch anders realisiert sein ist aber oft so dass eben aus dem Hauptspeicher aus der
- hauptspeichermatrix die Zeile in einen zwischen ein zwischenpuffer ausgeführt übertragen wird und in diesem zwischen Puffer gibt es dann eben die
- spaltendecoder die das gewünschte speicherwort dann letztlich auswählen das was wir jetzt hier äh rot eingezeichnet haben das ganze wird dann
- anschließend in das CPU-Register geladen ja also wichtig diese Abfolge Auswahl der Zeile äh und anschließend Auswahl des gewünschten speicherworts aus den
- zwischenpuffern das ist dann in Ergebnis das matrixelement äh was gewünscht wird und was geladen wurde oder geladen werden kann
- jetzt betrachten wir den kech in einem simplen Fall in der Architektur auch hier wird zunächst die Zeile wieder im Hauptspeicher ausgewählt das kennen wir
- ja von dem Fall ohne KCH dann wird aber nicht in einen speziellen zwischenpuffer übertragen sondern dann erfolgt der Übertrag in den kech hier ist wichtig zu
- beachten dass der Übertrag in diesen zwischenpuffer im Prinzip für ein Wort genauso schnell stattfindet wie für acht die wir jetzt hier in unserem Beispiel
- haben das heißt hier spare ich schon sehr viel Zeit indem ich diese acht Worte quasi in der gleichen Zeit übertragen kann in den kech wie ich ein
- einziges kann das ist schon mal im hinbrig auf die räumliche Lokalität recht interessant da kann ich nämlich wenn ich jetzt alle acht Elemente
- ansprechen würde dann kann ich mir natürlich mit einem Achtel der Zeit diese Elemente in den Cash Laden im Cash erfolgt dann wieder mit den
- spaltendecodern die Auswahl des gewünschten speicherwortes jetzt hier wieder rot und das ganze wird dann natürlich wieder zurück in die in das
- CPU-Register geladen wichtig jetzt würde jetzt das nächste speicherwort gewünscht dann kann ich natürlich das unmittelbar nur durch äh Selektion im Cash Laden
- brauch nicht mehr den Übertrag aus dem Hauptspeicher
Zum Nachlesen
LokalitätseigenschaftSo können beispielsweise Speicherbereiche, auf die erst kürzlich zugegriffen wurde, in einem Cache-Speicher verwaltet werden. Der Cache ist ein relativ …
CacheCache ([kæʃ], auch [ kaʃ]) bezeichnet in der Informationstechnik einen schnellen Pufferspeicher, der (wiederholte) Zugriffe auf vergleichsweise langsame …
ArbeitsspeicherZugriffe auf den Arbeitsspeicher durch den Hauptprozessor werden zumeist über ein oder mehrere Pufferspeicher oder Cache-RAMs (kurz „Cache“) optimiert. Im Cache …
SpeicherhierarchieIn der Informatik bezeichnet Speicherhierarchie die Anordnung von Speichern in einer Rechnerarchitektur aus Sicht des Hauptprozessors, geordnet nach …