Was gibt die Öffnung des Caches Level 3. Prozessoren. Was ist Cache-Speicher und seine Struktur

Schönen Tag. Heute werden wir versuchen, Ihnen so etwas wie einen Cache zu erklären. Der Prozessor-Cache ist ein ultraschnelles Datenverarbeitungsarray, das 16- bis 17-mal schneller ist als Standard-RAM, wenn wir redenüber DDR4.

Aus diesem Artikel erfahren Sie:

Es ist die Menge an Cache-Speicher, die es der CPU ermöglicht, mit maximaler Geschwindigkeit zu arbeiten, ohne darauf zu warten, dass der RAM Daten verarbeitet und die Ergebnisse der abgeschlossenen Berechnungen zur weiteren Verarbeitung an den Chip sendet. Ein ähnliches Prinzip lässt sich bei der HDD nachvollziehen, dort wird nur ein Puffer von 8–128 MB verwendet. Eine andere Sache ist, dass die Geschwindigkeiten viel niedriger sind, aber der Prozess ist ähnlich.

Was ist ein Prozessor-Cache?

Wie funktioniert der Berechnungsprozess im Allgemeinen? Alle Daten werden gespeichert in Arbeitsspeicher, das für die vorübergehende Speicherung wichtiger Benutzer- und Systeminformationen konzipiert ist. Der Prozessor wählt für sich selbst eine bestimmte Anzahl von Aufgaben aus, die in einen ultraschnellen Block namens Cache-Speicher getrieben werden, und beginnt, seine direkten Aufgaben zu erledigen.

Die Berechnungsergebnisse werden erneut an das RAM gesendet, jedoch in viel geringerer Menge (statt tausend Ausgabewerten erhalten wir viel weniger), und es wird ein neues Array zur Verarbeitung genommen. Und so weiter, bis die Arbeit erledigt ist.

Die Arbeitsgeschwindigkeit wird durch die Effizienz des Arbeitsspeichers bestimmt. Aber kein einziges modernes DDR4-Modul, einschließlich Übertaktungslösungen mit Frequenzen unter 4000 MHz, kam den Fähigkeiten des am meisten verkümmerten Prozessors mit seinem „langsamen“ Cache nahe.

Dies liegt daran, dass die Geschwindigkeit der CPU die Leistung des Arbeitsspeichers im Durchschnitt um das 15-fache oder sogar mehr übersteigt. Und schauen Sie nicht nur auf die Frequenzparameter, darüber hinaus gibt es genügend Unterschiede.
Theoretisch stellt sich heraus, dass sogar die superstarken Intel Xeon und AMD Epyc in den Leerlauf gezwungen werden, aber tatsächlich arbeiten beide Serverchips am Limit. Und das alles, weil sie die erforderliche Datenmenge durch die Größe des Caches (bis zu 60 MB oder mehr) sammeln und die Daten sofort verarbeiten. RAM dient als eine Art Lagerhaus, aus dem Arrays für Berechnungen geschöpft werden. Die Rechenleistung des Computers steigt und alle sind glücklich.

Ein kleiner Ausflug in die Geschichte

Die erste Erwähnung von Cache-Speicher stammt aus dem Ende der 80er Jahre. Bis zu diesem Zeitpunkt waren die Geschwindigkeit von Prozessor und Speicher ungefähr gleich. Schnelle Entwicklung Chips mussten eine Art "Krücke" entwickeln, um die RAM-Geschwindigkeit zu erhöhen, aber es war sehr teuer, ultraschnelle Chips zu verwenden, und deshalb beschlossen sie, mehr zu tun wirtschaftliche Variante- die Einführung eines Hochgeschwindigkeits-Speicherarrays in der CPU.

Das Cache-Speichermodul tauchte erstmals im Intel 80386 auf. Damals lagen die DRAM-Latenzen bei etwa 120 Nanosekunden, während ein moderneres SRAM-Modul die Latenz damals auf beeindruckende 10 Nanosekunden reduzierte. Deutlicher zeigt sich ein ungefähres Bild bei der Gegenüberstellung von HDD und SSD.

Anfänglich wurden Cache-Speicher aufgrund des damaligen technischen Standes direkt auf Motherboards gelötet. Beginnend mit dem Intel 80486 wurden 8 kb Speicher direkt in den Prozessorchip integriert, wodurch die Leistung weiter gesteigert und die Chipfläche reduziert wurde.

Diese Layout-Technologie blieb nur bis zur Veröffentlichung von Pentium MMX relevant, wonach der SRAM-Speicher durch fortschrittlicheres SDRAM ersetzt wurde.
Ja, und die Prozessoren sind viel kleiner geworden, und daher die Notwendigkeit externe Schaltungen fallen gelassen.

Cache-Ebenen

Auf der Kennzeichnung moderner CPUs finden Sie neben und auch eine Cache-Größe von 1,2 und 3 Ebenen. Wie wird sie definiert und was beeinflusst sie? Lassen Sie uns in einfachen Worten verstehen.

  • Der Cache der ersten Ebene (L1) ist der wichtigste und schnellste Chip in der CPU-Architektur. Ein Prozessor kann die Anzahl von Modulen aufnehmen, die der Anzahl von Kernen entspricht. Es ist bemerkenswert, dass die Mikroschaltung die gefragtesten und wichtigsten Daten nur von ihrem Kern im Speicher speichern kann. Die Größe des Arrays ist oft auf 32-64 KB begrenzt.
  • Cache der zweiten Ebene (L2) - Der Geschwindigkeitsabfall wird durch eine Vergrößerung des Puffers ausgeglichen, der 256 oder sogar 512 KB erreicht. Das Funktionsprinzip ist das gleiche wie das von L1, aber die Speicheranforderungshäufigkeit ist geringer, da dort Daten mit geringerer Priorität gespeichert werden.
  • Der Cache der dritten Ebene (L3) ist die langsamste und voluminöseste Partition unter allen aufgelisteten. Dennoch ist dieses Array viel schneller als RAM. Die Größe kann 20 und sogar 60 MB erreichen, wenn es um Serverchips geht. Der Nutzen des Arrays ist enorm: Es ist ein wichtiges Bindeglied beim Datenaustausch zwischen allen Kernen des Systems. Ohne L3 wären alle Elemente des Chips verstreut.

Im Angebot finden Sie sowohl zwei- als auch dreistufige Speicherstrukturen. Welches ist besser? Wenn Sie den Prozessor nur für Office-Programme und Gelegenheitsspiele verwenden, werden Sie keinen Unterschied spüren. Wird das System mit Blick auf aufwändige 3D-Spiele, Archivierung, Rendering und Grafik zusammengestellt, beträgt die Steigerung teilweise 5 bis 10 %.
Ein L3-Cache ist nur gerechtfertigt, wenn Sie beabsichtigen, regelmäßig mit Multithread-Anwendungen zu arbeiten, die regelmäßig komplexe Berechnungen erfordern. Aus diesem Grund verwenden Servermodelle häufig große L3-Caches. Obwohl dies manchmal nicht ausreicht, müssen Sie zusätzlich die sogenannten L4-Module installieren, die wie ein separater angeschlossener Mikroschaltkreis aussehen Hauptplatine.

Wie finden Sie die Anzahl der Ebenen und die Cache-Größe auf Ihrem Prozessor heraus?

Beginnen wir mit der Tatsache, dass dies auf 3 Arten geschehen kann:

  • durch Befehlszeile(nur L2- und L3-Cache);
  • durch Suchen nach Spezifikationen im Internet;
  • Verwendung von Dienstprogrammen von Drittanbietern.

Wenn wir davon ausgehen, dass L1 bei den meisten Prozessoren 32 KB groß ist und L2 und L3 stark schwanken können, benötigen wir die letzten 2 Werte. Um nach ihnen zu suchen, öffnen Sie die Befehlszeile über "Start" (geben Sie den Wert "cmd" über die Suchleiste ein).

Das System zeigt einen verdächtig hohen Wert für L2 an. Sie müssen es durch die Anzahl der Prozessorkerne teilen und das Endergebnis herausfinden.

Wenn Sie im Netzwerk nach Daten suchen, ermitteln Sie zunächst den genauen Namen der CPU. Klicken Sie mit der rechten Maustaste auf das Symbol „Arbeitsplatz“ und wählen Sie „Eigenschaften“. In der Spalte "System" wird ein Punkt "Prozessor" angezeigt, den wir tatsächlich benötigen. Schreiben Sie seinen Namen in dasselbe Google oder Yandex und sehen Sie sich den Wert auf den Websites an. Für verlässliche Informationen wählt man besser die offiziellen Portale des Herstellers (Intel oder AMD).
Die dritte Methode verursacht ebenfalls keine Probleme, erfordert jedoch die Installation zusätzlicher Software wie GPU-Z, AIDA64 und anderer Dienstprogramme, um die Spezifikationen des Steins zu studieren. Eine Option für Fans von Overclocking und Swarming im Detail.

Ergebnisse

Jetzt verstehen Sie, was Cache-Speicher ist, wovon seine Größe abhängt und für welche Zwecke ein ultraschnelles Datenarray verwendet wird. Auf der dieser Moment die meisten interessante Lösungen Auf dem Markt in Bezug auf große Menge an Cache-Speicher können wir AMD Ryzen 5- und 7-Geräte mit ihren 16 MB L3 nennen.

In den folgenden Artikeln behandeln wir Themen wie Prozessoren, die Vorteile von Chips und mehr. und bleib bei uns. Bis wir uns wiedersehen, tschüss.

Cache - Zwischenpuffer mit Schneller Zugang A, das die Informationen enthält, die am wahrscheinlichsten angefordert werden. Der Zugriff auf Daten im Cache ist schneller als das Abrufen von Rohdaten aus dem RAM (RAM) und schneller als der externe Speicher (Festplatte oder Solid State Drive), wodurch die durchschnittliche Zugriffszeit abnimmt und zunimmt Gesamtleistung Computersystem.

Einige CPU-Modelle (Central Processing Unit) verfügen über einen eigenen Cache, um den Zugriff auf den Arbeitsspeicher (RAM) zu minimieren, der langsamer als Register ist. Cache-Speicher kann erhebliche Leistungssteigerungen bieten, wenn die RAM-Taktrate deutlich niedriger als die CPU-Taktrate ist. Die Taktrate für den Cache-Speicher ist normalerweise nicht viel kleiner als die CPU-Frequenz.

Cache-Ebenen

Zwischenspeicher Zentralprozessor in mehrere Ebenen unterteilt. In einem Prozessor für allgemeine Zwecke kann die Anzahl der Ebenen derzeit bis zu 3 betragen. Caches der Ebene N+1 sind typischerweise größer und langsamer im Zugriff und bei der Datenübertragung als Caches der Ebene N.

Der schnellste Speicher ist der First-Level-Cache – L1-Cache. Tatsächlich ist es ein integraler Bestandteil des Prozessors, da es sich mit ihm auf demselben Chip befindet und Teil der Funktionsblöcke ist. BEI moderne Prozessoren Normalerweise ist der L1-Cache in zwei Caches unterteilt, den Befehls- (Befehls-) Cache und den Daten-Cache (Harvard-Architektur). Die meisten Prozessoren ohne L1-Cache können nicht funktionieren. Der L1-Cache läuft mit der Prozessorfrequenz und in Allgemeiner Fall, kann in jedem Zyklus darauf zugegriffen werden. Oft ist es möglich, mehrere Lese-/Schreibvorgänge gleichzeitig durchzuführen. Die Zugriffslatenz beträgt typischerweise 2–4 Kernzyklen. Das Volumen ist normalerweise klein - nicht mehr als 384 KB.

Der zweitschnellste ist der L2-Cache - ein Cache der zweiten Ebene, der sich normalerweise auf einem Chip befindet, wie L1. Bei älteren Prozessoren schaltet der Chipsatz ein Hauptplatine, Mainboard, Motherboard. Das Volumen des L2-Cache beträgt 128 KB bis 1x12 MB. Im modernen Mehrkernprozessoren der Second-Level-Cache, der sich auf demselben Chip befindet, ist ein separat nutzbarer Speicher – bei einer Gesamtcachegröße von nM MB verfügt jeder Kern über nM / nC MB, wobei nC die Anzahl der Prozessorkerne ist. Typischerweise beträgt die Latenz des L2-Cache, der sich auf dem Kernchip befindet, 8 bis 20 Kernzyklen.

Der Third-Level-Cache ist am wenigsten schnell, kann aber sehr beeindruckend groß sein – mehr als 24 MB. Der L3-Cache ist langsamer als frühere Caches, aber immer noch deutlich schneller als RAM. In Mehrprozessorsystemen ist es weit verbreitet und dient dazu, Daten verschiedener L2 zu synchronisieren.

Manchmal gibt es auch einen Level-4-Cache, meist befindet er sich in einem separaten Chip. Die Verwendung eines Level-4-Cache ist nur für Hochleistungsserver und Mainframes gerechtfertigt.

Das Problem der Synchronisation zwischen verschiedenen Caches (sowohl einem als auch mehreren Prozessoren) wird durch Cache-Kohärenz gelöst. Es gibt drei Optionen für den Informationsaustausch zwischen Caches verschiedener Ebenen oder, wie sie sagen, Cache-Architekturen: inklusive, exklusiv und nicht exklusiv.

Wie wichtig ist L3-Cache für AMD-Prozessoren?

In der Tat ist es sinnvoll, Mehrkernprozessoren mit dediziertem Speicher auszustatten, der von allen verfügbaren Kernen gemeinsam genutzt wird. In dieser Rolle kann ein schneller L3-Cache den Zugriff auf die am häufigsten angeforderten Daten erheblich beschleunigen. Dann müssen die Kerne, wenn es eine solche Möglichkeit gibt, nicht auf den langsamen Hauptspeicher (RAM, RAM) zugreifen.

Zumindest in der Theorie. AMD hat kürzlich den Athlon II X4-Prozessor angekündigt, bei dem es sich um ein Phenom II X4-Modell ohne L3-Cache handelt, und deutet an, dass dies nicht erforderlich ist. Wir haben uns entschieden, zwei Prozessoren (mit und ohne L3-Cache) direkt zu vergleichen, um zu sehen, wie sich der Cache auf die Leistung auswirkt.

Wie funktioniert der Cache?

Bevor wir in die Tests eintauchen, ist es wichtig, einige Grundlagen zu verstehen. Das Prinzip des Caches ist recht einfach. Der Cache puffert Daten so nah wie möglich an den Verarbeitungskernen des Prozessors, um CPU-Anforderungen an weiter entfernten und langsameren Speicher zu reduzieren. Auf modernen Desktop-Plattformen umfasst die Cache-Hierarchie bis zu drei Ebenen, die dem Zugriff auf RAM vorausgehen. Außerdem dienen die Caches der zweiten und insbesondere der dritten Ebene nicht nur der Datenpufferung. Ihr Zweck besteht darin, eine Überlastung des CPU-Busses zu verhindern, wenn die Kerne Informationen austauschen müssen.

Treffer und Fehlschläge

Die Effektivität der Cache-Architektur wird durch den Prozentsatz der Treffer gemessen. Datenanforderungen, die vom Cache erfüllt werden können, werden als Treffer betrachtet. Wenn ein Cache gegeben nicht die erforderlichen Daten enthält, dann wird die Anforderung weiter entlang der Speicherpipeline geleitet und ein Fehlschlag wird gezählt. Natürlich führen Fehlschläge dazu, dass es länger dauert, die Informationen zu erhalten. Als Ergebnis treten "Blasen" (Ausfallzeit) und Verzögerungen in der Berechnungspipeline auf. Hits hingegen ermöglichen es Ihnen, die maximale Leistung aufrechtzuerhalten.

Cache-Schreiben, Exklusivität, Kohärenz

Ersetzungsrichtlinien schreiben vor, wie Cache-Speicherplatz für neue Einträge verfügbar gemacht wird. Da Daten, die in den Cache geschrieben werden, früher oder später im Hauptspeicher erscheinen müssen, können Systeme dies gleichzeitig mit dem Schreiben in den Cache tun (Write-Through) oder den Datenbereich als "dirty" markieren (Write-Back). und in den Speicher schreiben, wenn er aus dem Cache entfernt wird.

Daten in mehreren Cache-Ebenen können exklusiv, also ohne Redundanz, gespeichert werden. Dann finden Sie keine identischen Datenzeilen in zwei verschiedenen Cache-Hierarchien. Oder Caches können inklusiv arbeiten, das heißt, die unteren Ebenen des Caches enthalten garantiert Daten, die in den oberen Ebenen des Caches (näher am Prozessorkern) vorhanden sind. AMD Phenom verwendet einen exklusiven L3-Cache, während Intel eine inklusive Cache-Strategie verfolgt. Kohärenzprotokolle halten Daten über Kerne, Cache-Schichten und sogar Prozessoren hinweg konsistent und aktuell.

Cache-Größe

Ein größerer Cache kann mehr Daten aufnehmen, erhöht aber tendenziell die Latenz. Darüber hinaus verbraucht ein großer Cache eine beträchtliche Anzahl von Prozessortransistoren, daher ist es wichtig, ein Gleichgewicht zwischen dem "Budget" der Transistoren, der Die-Größe, dem Stromverbrauch und der Leistung / Latenz zu finden.

Assoziativität

Datensätze im RAM können direkt dem Cache zugeordnet werden, d. h. es gibt nur eine Position im Cache für eine Kopie von Daten aus dem RAM, oder sie können n-fach assoziativ sein, d. h. es gibt n mögliche Speicherorte im Cache wo diese Daten gespeichert werden könnten. Eine höhere Assoziativität (bis hin zu vollständig assoziativen Caches) bietet die beste Caching-Flexibilität, da vorhandene Daten im Cache nicht überschrieben werden müssen. Mit anderen Worten, ein hoher n-Assoziativitätsgrad garantiert eine höhere Trefferquote, erhöht jedoch die Latenz, da es länger dauert, alle diese Assoziationen auf einen Treffer zu testen. Für die letzte Caching-Ebene ist in der Regel der höchste Zuordnungsgrad sinnvoll, da dort die maximale Kapazität zur Verfügung steht und die Suche nach Daten außerhalb dieses Cache dazu führt, dass der Prozessor auf langsames RAM zugreift.

Um nur einige Beispiele zu nennen: Core i5 und i7 verwenden 32 KB L1-Cache mit 8-Wege-Assoziativität für Daten und 32 KB L1-Cache mit 4-Wege-Assoziativität für Anweisungen. Es ist verständlich, dass Intel will, dass Anweisungen schneller verfügbar sind, und der L1-Cache für Daten hat eine maximale Trefferquote. Der L2-Cache von Intel verfügt über eine 8-Wege-Assoziativität, während der L3-Cache von Intel noch intelligenter ist, da er eine 16-Wege-Assoziativität implementiert, um Treffer zu maximieren.

Allerdings verfolgt AMD mit den Phenom II X4 Prozessoren eine andere Strategie, die L1-Cache mit 2-Wege-Assoziativität nutzt, um die Latenz zu reduzieren. Um mögliche Fehler auszugleichen, wurde die Cache-Kapazität verdoppelt: 64 KB für Daten und 64 KB für Anweisungen. Der L2-Cache hat eine 8-Wege-Assoziativität, wie das Intel-Design, aber der L3-Cache von AMD arbeitet mit einer 48-Wege-Assoziativität. Aber die Entscheidung, die eine oder andere Cache-Architektur zu wählen, kann nicht beurteilt werden, ohne die gesamte CPU-Architektur zu berücksichtigen. Es ist ganz natürlich, dass Testergebnisse von praktischer Bedeutung sind, und unser Ziel war nur ein praktischer Test dieser gesamten komplexen mehrstufigen Caching-Struktur.

Bei der Ausführung verschiedener Aufgaben werden die erforderlichen Informationsblöcke aus dem RAM vom Prozessor Ihres Computers empfangen. Nach ihrer Verarbeitung schreibt die CPU die Ergebnisse der Berechnungen in den Speicher und empfängt nachfolgende Datenblöcke zur Verarbeitung. Dies wird fortgesetzt, bis die Aufgabe abgeschlossen ist.

Die obigen Prozesse werden mit sehr hoher Geschwindigkeit ausgeführt. Die Geschwindigkeit selbst des schnellsten RAM ist jedoch erheblich weniger Geschwindigkeit irgendein schwacher Prozessor. Jede Aktion, ob es nun darum geht, Informationen darauf zu schreiben oder daraus zu lesen, nimmt viel Zeit in Anspruch. Die Geschwindigkeit des Arbeitsspeichers ist zehnmal niedriger als die Geschwindigkeit des Prozessors.

Trotz eines solchen Unterschieds in der Geschwindigkeit der Informationsverarbeitung befindet sich der PC-Prozessor nicht im Leerlauf und wartet nicht darauf, dass der RAM Daten ausgibt und empfängt. Der Prozessor arbeitet immer und das alles dank des darin enthaltenen Cache-Speichers.

Cache ist eine spezielle Art von RAM. Der Prozessor verwendet den Cache-Speicher, um die Kopien von Informationen aus dem Haupt-RAM des Computers zu speichern, auf die wahrscheinlich in naher Zukunft zugegriffen wird.

Im Wesentlichen fungiert der Cache-Speicher als Hochgeschwindigkeits-Speicherpuffer, der Informationen speichert, die der Prozessor möglicherweise benötigt. So erhält der Prozessor die notwendigen Daten zehnmal schneller als beim Lesen aus dem RAM.

Der Hauptunterschied zwischen einem Cache-Speicher und einem regulären Puffer ist der eingebaute logische Funktionen. Der Puffer speichert Zufallsdaten, die normalerweise nach dem Schema "zuerst empfangen, zuerst ausgegeben" oder "zuerst empfangen, zuletzt ausgegeben" verarbeitet werden. Der Cache enthält Daten, auf die wahrscheinlich in naher Zukunft zugegriffen wird. Daher kann der Prozessor dank des „intelligenten Caches“ mit voller Geschwindigkeit laufen und nicht darauf warten, dass Daten aus langsamerem RAM abgerufen werden.

Haupttypen und Ebenen des L1-L2-L3-Cache

Der Cache-Speicher besteht aus SRAM-Chips (Static Random Access Memory), die auf der Systemplatine installiert oder in den Prozessor integriert sind. Im Vergleich zu anderen Speichertypen kann ein statischer Speicher mit sehr hohen Geschwindigkeiten arbeiten.

Die Cache-Geschwindigkeit hängt vom Volumen eines bestimmten Chips ab, je größer das Volumen des Chips ist, desto schwieriger ist es, es zu erreichen schnelle Geschwindigkeit für ihre Arbeit. In Anbetracht Dieses Feature Bei der Herstellung besteht der Cache-Speicher des Prozessors aus mehreren kleinen Blöcken, die als Ebenen bezeichnet werden. Am gebräuchlichsten ist heute das dreistufige Cache-System L1, L2, L3:

Cache-Speicher der ersten Ebene L1 - das kleinste Volumen (nur einige zehn Kilobyte), aber das schnellste und das wichtigste. Es enthält die vom Prozessor am häufigsten verwendeten Daten und läuft ohne Verzögerung. Typischerweise entspricht die Anzahl der L1-Speicherchips der Anzahl der Prozessorkerne, wobei jeder Kern nur auf seinen eigenen L1-Chip zugreift.

L2-Cache Er ist dem L1-Speicher in der Geschwindigkeit unterlegen, gewinnt aber an Volumen, das bereits in mehreren hundert Kilobyte gemessen wird. Es dient der vorübergehenden Aufbewahrung. wichtige Informationen, die Wahrscheinlichkeit des Zugriffs, die niedriger ist als die der im L1-Cache gespeicherten Informationen.

L3-Cache der dritten Ebene - hat das größte Volumen der drei Ebenen (es kann mehrere zehn Megabyte erreichen), hat aber auch die langsamste Geschwindigkeit, die immer noch deutlich höher ist als die Geschwindigkeit des Arbeitsspeichers. Der L3-Cache wird von allen Prozessorkernen gemeinsam genutzt. Die Speicherebene L3 dient der Zwischenspeicherung derjenigen wichtigen Daten, deren Zugriffswahrscheinlichkeit etwas geringer ist als die der in den ersten beiden Ebenen L1, L2 gespeicherten Informationen. Es sorgt auch für das Zusammenspiel der Prozessorkerne untereinander.

Einige Prozessormodelle werden mit zwei Cache-Speicherebenen hergestellt, in denen L2 alle Funktionen von L2 und L3 kombiniert.

Wenn eine große Menge Cache nützlich ist.

Sie werden einen erheblichen Effekt einer großen Menge an Cache spüren, wenn Sie Archivierungsprogramme, in 3D-Spielen, während der Videoverarbeitung und -codierung verwenden. In relativ "leichten" Programmen und Anwendungen ist der Unterschied praktisch nicht wahrnehmbar ( Office-Programme, Spieler usw.).

Computerprozessoren haben in den letzten Jahren erhebliche Fortschritte gemacht. Die Größe der Transistoren wird jedes Jahr kleiner und die Leistung wächst. Gleichzeitig wird das Mooresche Gesetz bereits irrelevant. Was die Leistung von Prozessoren betrifft, sollte man nicht nur die Anzahl der Transistoren und die Frequenz, sondern auch die Menge des Caches berücksichtigen.

Sie haben vielleicht schon von Cache-Speicher gehört, als Sie nach Informationen über Prozessoren gesucht haben. Aber normalerweise schenken wir diesen Zahlen nicht viel Aufmerksamkeit, sie fallen nicht einmal in der Werbung für Prozessoren auf. Mal sehen, was der Prozessor-Cache beeinflusst, welche Arten von Cache es gibt und wie das alles funktioniert.

Wenn zu sprechen in einfachen Worten, dann ist der CPU-Cache nur ein sehr schneller Speicher. Wie Sie bereits wissen, verfügt ein Computer über mehrere Arten von Speicher. Dies ist ein Nur-Lese-Speicher, der zum Speichern von Daten verwendet wird, Betriebssystem und Programme, wie eine SSD bzw Festplatte. Der Computer verwendet auch RAM. Dies ist ein Direktzugriffsspeicher, der viel schneller ist als ein konstanter. Und schließlich verfügt der Prozessor über noch schnellere Speicherblöcke, die zusammen als Cache bezeichnet werden.

Wenn Sie sich den Arbeitsspeicher eines Computers in Bezug auf seine Geschwindigkeit als eine Hierarchie vorstellen, steht der Cache an der Spitze dieser Hierarchie. Außerdem ist es den Rechenkernen am nächsten, da es Teil des Prozessors ist.

Der Prozessor-Cache-Speicher ist ein statischer Speicher (SRAM) und wurde entwickelt, um die Arbeit mit RAM zu beschleunigen. Anders als beim Dynamic Random Access Memory (DRAM) können hier Daten gespeichert werden, ohne ständig aktualisiert zu werden.

Wie funktioniert der Prozessor-Cache?

Wie Sie vielleicht bereits wissen, ist ein Programm eine Reihe von Anweisungen, die ein Prozessor ausführt. Wenn Sie ein Programm ausführen, muss der Computer diese Anweisungen aus dem Nur-Lese-Speicher an den Prozessor übertragen. Hier kommt die Speicherhierarchie ins Spiel. Zuerst werden die Daten in den RAM geladen und dann an den Prozessor übertragen.

Heutzutage kann ein Prozessor eine riesige Anzahl von Anweisungen pro Sekunde verarbeiten. Um seine Fähigkeiten optimal nutzen zu können, benötigt der Prozessor einen superschnellen Speicher. Deshalb wurde der Cache entwickelt.

Der Speichercontroller des Prozessors übernimmt die Aufgabe, Daten aus dem RAM zu holen und an den Cache zu senden. Abhängig von dem in Ihrem System verwendeten Prozessor befindet sich dieser Controller möglicherweise in der Northbridge des Motherboards oder im Prozessor selbst. Der Cache speichert auch die Ergebnisse der Ausführung von Anweisungen im Prozessor. Außerdem hat der Prozessor-Cache selbst auch seine eigene Hierarchie.

Prozessor-Cache-Ebenen - L1, L2 und L3

Der gesamte Prozessor-Cache ist in drei Ebenen unterteilt: L1, L2 und L3. Diese Hierarchie basiert auch auf der Geschwindigkeit des Caches sowie auf seiner Größe.

  • L1-Cache (Cache der ersten Ebene) ist der schnellste Cache-Typ im Prozessor. In Bezug auf die Zugriffspriorität enthält dieser Cache alle Daten, die ein Programm möglicherweise benötigt, um eine bestimmte Anweisung auszuführen.
  • L2 Cache (Cache der zweiten Ebene des Prozessors)- langsamer als L1, aber größer. Sein Volumen kann zwischen 256 Kilobyte und acht Megabyte liegen. Der L2-Cache enthält Daten, die der Prozessor möglicherweise in Zukunft benötigt. In den meisten modernen Prozessoren sind die L1- und L2-Caches auf den Prozessorkernen selbst vorhanden, wobei jeder Kern seinen eigenen Cache erhält.
  • L3-Cache (Third-Level-Cache) ist der größte und langsamste Cache. Seine Größe kann im Bereich von 4 bis 50 Megabyte liegen. In modernen CPUs wird dem L3-Cache ein separater Platz auf dem Chip zugewiesen.

Im Moment sind dies alles Prozessor-Cache-Ebenen, Intel hat versucht, einen L4-Cache zu erstellen, diese Technologie hat sich jedoch noch nicht durchgesetzt.

Wozu dient der Cache im Prozessor?

Es ist an der Zeit, die Hauptfrage dieses Artikels zu beantworten: Was beeinflusst der Prozessor-Cache? Daten fließen vom RAM zum L3-Cache, dann zu L2 und dann zu L1. Wenn der Prozessor Daten benötigt, um eine Operation auszuführen, versucht er, sie im L1-Cache zu finden, und wenn er sie findet, wird diese Situation als Cache-Treffer bezeichnet. Andernfalls wird die Suche in den L2- und L3-Caches fortgesetzt. Konnten die Daten auch jetzt nicht gefunden werden, erfolgt eine Anfrage an das RAM.

Jetzt wissen wir, dass der Cache die Übertragung von Informationen zwischen RAM und Prozessor beschleunigen soll. Die Zeit, die benötigt wird, um Daten aus dem Speicher zu bekommen, wird Latenz genannt. L1-Cache hat die niedrigste Latenz, ist also die schnellste, L3-Cache ist die höchste. Wenn sich keine Daten im Cache befinden, erleben wir eine noch höhere Latenz, da der Prozessor auf den Speicher zugreifen muss.

Früher wurden beim Design von Prozessoren die L2- und L3-Caches außerhalb des Prozessors verschoben, was zu einer hohen Latenz führte. Die Reduzierung des Herstellungsprozesses, mit dem Prozessoren hergestellt werden, ermöglicht es Ihnen jedoch, Milliarden von Transistoren auf viel kleinerem Raum als zuvor unterzubringen. Dadurch wird Speicherplatz frei, um den Cache so nah wie möglich an den Kernen zu platzieren, wodurch die Latenz weiter reduziert wird.

Wie wirkt sich der Cache auf die Leistung aus?

Die Auswirkung eines Caches auf die Leistung eines Computers hängt direkt von seiner Effizienz und der Anzahl der Cache-Treffer ab. Situationen, in denen keine Daten im Cache vorhanden sind, verringern die Gesamtleistung erheblich.

Stellen Sie sich vor, der Prozessor lädt 100 Mal hintereinander Daten aus dem L1-Cache. Wenn der Cache-Trefferprozentsatz 100 % beträgt, benötigt der Prozessor 100 Nanosekunden, um diese Daten zu erhalten. Sobald der Trefferprozentsatz jedoch auf 99 % sinkt, muss der Prozessor Daten aus dem L2-Cache holen, und es gibt bereits eine Verzögerung von 10 Nanosekunden. Sie erhalten 99 Nanosekunden für 99 Anfragen und 10 Nanosekunden für 1 Anfrage. Wenn Sie also den Prozentsatz der Cache-Treffer um 1 % reduzieren, wird die Prozessorleistung um 10 % reduziert.

In Echtzeit liegt der Prozentsatz der Treffer im Cache zwischen 95 und 97 %. Aber wie Sie verstehen, beträgt der Leistungsunterschied zwischen diesen Indikatoren nicht 2 %, sondern 14 %. Denken Sie daran, dass wir in dem Beispiel davon ausgehen, dass sich die begnadigten Daten immer im L2-Cache befinden. Im wirklichen Leben können die Daten aus dem Cache entfernt werden, was bedeutet, dass sie aus dem RAM abgerufen werden müssen, der eine Latenz von hat 80-120 Nanosekunden. Hier ist der Unterschied zwischen 95 und 97 Prozent noch deutlicher.

Schlechte Cache-Leistung AMD-Prozessoren Bulldozer und Piledriver waren einer der Hauptgründe, warum sie verloren haben Intel-Prozessoren. Bei diesen Prozessoren wurde der L1-Cache von mehreren Kernen gemeinsam genutzt, was ihn sehr ineffizient machte. Moderne Ryzen-Prozessoren haben dieses Problem nicht.

Daraus lässt sich schließen, dass je größer der Cache ist, desto höher die Leistung ist, da der Prozessor in mehr Fällen schneller an die benötigten Daten kommen kann. Es lohnt sich jedoch, nicht nur auf die Größe des Prozessorcaches, sondern auch auf seine Architektur zu achten.

Schlussfolgerungen

Jetzt wissen Sie, wofür der Prozessor-Cache zuständig ist und wie er funktioniert. Das Cache-Design entwickelt sich ständig weiter, und Speicher wird schneller und billiger. AMD und Intel haben bereits viele Experimente mit Cache durchgeführt, und Intel hat sogar versucht, L4-Cache zu verwenden. Der Prozessormarkt wächst schneller denn je. Die Cache-Architektur wird mit der ständig steigenden Leistung der Prozessoren Schritt halten.

Darüber hinaus wird viel getan, um die Engpässe moderner Computer zu beseitigen. Die Reduzierung der Speicherlatenz ist einer der wichtigsten Teile dieses Jobs. Die Zukunft sieht sehr vielversprechend aus.

Ähnliche Einträge.