Zum Inhalt springen
L

Das Video kommt von YouTube: erst beim Abspielen verbindet sich die Seite mit YouTube (Google).

Cache und Hauptspeicher (Teil 1)

Rainer Gerhards6:47 10.394 Aufrufe veröffentlicht Auf YouTube

Das Wichtigste aus dem Video

Tipp auf eine Zeit – das Video springt genau dorthin.

Transkriptautomatisch erstellt · 44 Zeilen
Herunterladen
  1. 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
  2. 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
  3. drum zu zeigen wie KCH und hauptspeicherorganisation zusammenwirken und wie man ermitteln kann was in den kech geladen wird und vor allen Dingen
  4. 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
  5. CPUs einfach viel zu langsam und die große Bremse der Verarbeitungsgeschwindigkeit die caschspeicher sind sehr
  6. 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
  7. 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
  8. Teilmenge die im KCH gehalten wird da gibt es zum einen die zeitliche Lokalität wenn wir Algorithmen betrachten dann laufen
  9. die Programme im Regelfall ja in Schleifen und innerhalb einer Schleife wird zeitlich sehr nah immer und immer wieder auf dieselben Speicherelemente
  10. 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
  11. 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
  12. Speicherelemente benutzt werden sass also wenn ich einen gewissen Teil des käches lade dann eben auf benachtbarte stellen
  13. auch sehr sehr schnell zugreifen kann kurz ein paar Worte zuur Organisation des Hauptspeichers ich gehe von einem Modell
  14. 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
  15. 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
  16. 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
  17. Spalten ja genau eine beispielarchitektur wir haben einen konzeptionell linearen Adressraum das heißt Adressen fangen bei
  18. 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
  19. üblicherweise bei der Hausnummer 1 an und gehen bis zur Hausnummer ja wie viel auch immer 471 und es ist auf Adresse 0 folgt
  20. 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
  21. es gibt sogenannte adressdecoder wenn ich jetzt diese Hauptspeicher Matrix auslesen möchte dann gibt es schaltnetze die das machen
  22. 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
  23. 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
  24. organisiert äh auch Zeilen und spaltenweise äh wobei natürlich die äh zur Verfügung stehende Anzahl Zeilen kleiner bzw sogar
  25. 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
  26. realisieren hätten dann aber eben das Kostenproblem daher muss der Käch natürlich deutlich kleiner sein die Anzahl der Spalten entspricht allerdings
  27. meines Wissens nach im Regelfall immer dem der Anzahl der Spalten im Hauptspeicher
  28. Entschuldigung wie wird nun auf ein Datum zugegriffen man beachtet das Datum hier jetzt nicht als Tagesdatum gemeint ist sondern eben die Einzahl von
  29. Daten zunächst wird mit Hilfe der adressdecoder die jeweilige Zeile ausgewählt hier jetzt blau oder grau eingezeichnet wir wissen jetzt schon
  30. 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
  31. muss nicht zwingend ein Register sein das kann auch anders realisiert sein ist aber oft so dass eben aus dem Hauptspeicher aus der
  32. hauptspeichermatrix die Zeile in einen zwischen ein zwischenpuffer ausgeführt übertragen wird und in diesem zwischen Puffer gibt es dann eben die
  33. spaltendecoder die das gewünschte speicherwort dann letztlich auswählen das was wir jetzt hier äh rot eingezeichnet haben das ganze wird dann
  34. 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
  35. zwischenpuffern das ist dann in Ergebnis das matrixelement äh was gewünscht wird und was geladen wurde oder geladen werden kann
  36. 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
  37. 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
  38. 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
  39. 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
  40. 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
  41. 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
  42. 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
  43. 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
  44. brauch nicht mehr den Übertrag aus dem Hauptspeicher

Zum Nachlesen