Computerhardware Artikelreihe
Diese Artikelreihe soll einen Einblick in die Interna bzw. die Hardware von Computern vermitteln, die ich während meiner Ausbildung zum Fachinformatiker gelernt aber auch seit meiner Kindheit beim Basteln an PCs mitgenommen habe. Kurz: Warum der Computer so funktioniert, wie er funktioniert. Dieser Teil schließt den CPU-Cache ab. Nun wissen wir schon einmal, was der Cache ist und wo er sich in aktuellen Systemen befindet. Doch das war nicht immer so, denn die ersten CPUs hatten nicht einmal einen Cache, geschweige denn war die Technik so weit, ihn direkt auf dem Prozessor zu integrieren.
Sein Debut feierte der schnelle Zwischenspeicher in Intels 386er. Er befand sich jedoch noch auf dem Mainboard, denn die Transistoren waren zu der Zeit noch nicht klein genug, um alle auf den Prozessor zu passen. Seit dem 486er allerdings war der Cache schon direkt im Prozessor integriert, wodurch sich (neben der generell höheren Taktung) alleine schon die Geschwindigkeit erhöhte. Natürlich waren auch technische Fortschritte gemacht worden.
Da die Kosten jedoch, wie im vorherigen Artikel beschrieben, relativ hoch sind, wurde der Zwischenspeicher einfach mehrstufig angeordnet. Es entwickelten sich im Laufe der Zeit ein L2 und ein L3 Cache, welche in einer Hierarchie angeordnet und durchsucht werden. Der schnellste und kleinste wurde mit L1 bezeichnet, die wenigen KByte. Der L2-Cache ist etwas langsamer aber dafür größer (im dreistelligen KByte-Bereich). Der L3-Speicher ist analog dazu noch langsamer, aber mehrere MByte groß. Der Hierarchie entsprechend wird zuerst im L1-Cache gesucht, danach aufsteigend durch die weiteren Speicher.
Wie funktioniert aber nun der Cache und wer entscheidet über die enthaltenen Daten? Die Antwort ist kompliziert, aber man kann es sich anhand einiger Fragen gut vorstellen. Der Prozessor „lernt" während er ein Programm ausführt. So ergibt sich zur Laufzeit z.B. ein Hinweis darauf, welche Daten als nächstes angefordert werden könnten, weil sie in letzter Zeit (den letzten Millisekunden) häufig benutzt wurden. Diese werden dann nebenbei schon einmal in den Cache geladen, bevor sie benötigt werden. Das klappt natürlich nicht immer, aber immer öfter. Die Hersteller arbeiten an immer ausgefeilteren Algorithmen dafür. Weiterhin muss die CPU entscheiden, welche Daten wahrscheinlich nicht mehr benutzt und aus dem Cache entfernt werden können.
Eine weitere sinnvolle Funktion ist das Speichern der vom Prozessor gerade errechneten Ergebnisse im Cache. Denn häufig wird eben mit diesen Ergebnissen weitergerechnet.
Damit schließt sich das Kapitel über den CPU-Cache. Der nächste Artikel wird von Mainboards handeln.
Siehe auch:
Computerhardware - Verständlich vermittelt - Teil 1: Einführung
Computerhardware - Verständlich vermittelt - Teil 2: Die wirklichen Innovationen
Computerhardware - Verständlich vermittelt - Teil 3: Zahlensysteme
Computerhardware - Verständlich vermittelt - Teil 4: Zahlensysteme 2
Computerhardware - Verständlich vermittelt - Teil 5: Binärzahlen
Computerhardware - Verständlich vermittelt - Teil 6: Codierungsstandards
Computerhardware - Verständlich vermittelt - Teil 7: Der Personal Computer
Computerhardware - Verständlich vermittelt - Teil 8: Der Grundaufbau der CPU
Computerhardware - Verständlich vermittelt - Teil 9: Die Taktfrequenz
Computerhardware - Verständlich vermittelt - Teil 10: Der CPU-Cache
Der Autor Michael Sander schreibt in seiner Freizeit ebenfalls Artikel für Seiten, auf denen man z.B. Sofas günstig finden kann.