Cache – Speicher (Cache, Kasse, Puffer- dt.) - wird in digitalen Geräten als Hochgeschwindigkeits-Zwischenablage verwendet. Cache-Speicher finden sich auf Computergeräten wie Prozessoren, Netzwerkkarten, CD-Laufwerken und vielen anderen.

Das Funktionsprinzip und die Architektur des Caches können stark variieren.

Beispielsweise kann ein Cache als regulärer Cache dienen Zwischenablage . Das Gerät verarbeitet die Daten und überträgt sie an einen Hochgeschwindigkeitspuffer, wo der Controller die Daten an die Schnittstelle überträgt. Ein solcher Cache soll Fehler verhindern, Hardwaredaten auf Integrität prüfen oder ein Signal von einem Gerät ohne Verzögerungen in ein für die Schnittstelle verständliches Signal umwandeln. Dieses System wird beispielsweise verwendet in CD/DVD CD-Laufwerke.

In einem anderen Fall kann der Cache dazu dienen Speichern häufig verwendeter Codes und dadurch die Datenverarbeitung beschleunigen. Das heißt, das Gerät muss die Daten nicht erneut berechnen oder nachschlagen, was viel länger dauern würde, als sie aus dem Cache zu lesen. Dabei spielt die Größe und Geschwindigkeit des Caches eine sehr wichtige Rolle.

Diese Architektur findet man am häufigsten auf Festplatten und Zentraleinheiten ( CPU).

Beim Betrieb von Geräten können spezielle Firmware- oder Dispatcher-Programme in den Cache geladen werden, die langsamer arbeiten würden ROM(Nur-Lese-Speicher).

Mehrheitlich modernes Gerät, verwenden gemischter Cache-Typ , das sowohl als Zwischenablage als auch zum Speichern häufig verwendeter Codes dienen kann.

Für den Cache von Prozessoren und Videochips sind mehrere sehr wichtige Funktionen implementiert.

Ausführungseinheiten zusammenführen . Zentraleinheiten und Videoprozessoren verwenden häufig einen schnellen gemeinsamen Cache zwischen Kernen. Wenn also ein Kern Informationen verarbeitet hat und diese sich im Cache befinden und ein Befehl für denselben Vorgang oder die Arbeit mit diesen Daten empfangen wird, werden die Daten nicht erneut vom Prozessor verarbeitet, sondern vom Prozessor übernommen Zwischenspeicher zur weiteren Verarbeitung. Der Kernel wird ausgelagert, um andere Daten zu verarbeiten. Dies erhöht die Leistung bei ähnlichen, aber komplexen Berechnungen erheblich, insbesondere wenn der Cache groß und schnell ist.

Geteilter Cache ermöglicht es Kerneln auch, direkt damit zu arbeiten und die langsame zu umgehen.

Cache für Anweisungen. Für Anweisungen und andere Operationen gibt es entweder einen gemeinsamen, sehr schnellen L1-Cache oder einen dedizierten Cache dafür. Je mehr Befehle in einem Prozessor gespeichert sind, desto größer ist der benötigte Befehlscache. Dies reduziert die Speicherlatenz und ermöglicht, dass der Befehlsblock nahezu unabhängig funktioniert. Wenn er voll ist, beginnt der Befehlsblock regelmäßig in den Leerlauf zu geraten, was die Berechnungsgeschwindigkeit verlangsamt.

Weitere Funktionen und Features.

Es ist bemerkenswert, dass in CPU(Zentraleinheiten), angewendet Hardware-Fehlerkorrektur (ECC), da ein kleiner Fehler im Cache zu einem fortlaufenden Fehler bei der weiteren Verarbeitung dieser Daten führen kann.

IN CPU Und GPU existiert Cache-Hierarchie , wodurch Sie Daten für einzelne Kerne und allgemeine Kerne trennen können. Obwohl fast alle Daten aus dem Second-Level-Cache immer noch in den dritten kopiert werden, allgemeines Niveau, aber nicht immer. Die erste Cache-Ebene ist die schnellste und jede weitere ist langsamer, aber größer.

Für Prozessoren gilt es als normal drei und weniger Cache-Level. Dies ermöglicht ein Gleichgewicht zwischen Geschwindigkeit, Cache-Größe und Wärmeableitung. Es ist schwierig, in Videoprozessoren mehr als zwei Cache-Ebenen zu finden.

Cachegröße, Auswirkungen auf die Leistung und andere Merkmale.

Natürlich, desto größer der Cache, desto mehr Daten können gespeichert und verarbeitet werden, aber es gibt ein ernstes Problem.

Großer Cache- Das großes Budget. In Serverprozessoren ( CPU), kann der Cache bis zu verwenden 80% Transistorbudget. Dies wirkt sich erstens auf die Endkosten aus, zweitens erhöht sich der Energieverbrauch und die Wärmeableitung, was nicht mit einer um mehrere Prozent gestiegenen Produktivität vergleichbar ist.

Guten Tag allerseits. Heute werden wir versuchen, Ihnen das Konzept des Caches zu erklären. Der Prozessor-Cache-Speicher ist ein ultraschnelles Datenverarbeitungsarray, dessen Geschwindigkeit die des Standard-RAM um das 16- bis 17-fache übertrifft, wenn wir reden darüberüber DDR4.

Aus diesem Artikel erfahren Sie:

Es ist das Volumen des Cache-Speichers, das es der CPU ermöglicht, mit maximaler Geschwindigkeit zu arbeiten, ohne darauf warten zu müssen, dass der RAM Daten verarbeitet und die Ergebnisse abgeschlossener Berechnungen zur weiteren Verarbeitung an den Chip sendet. Ein ähnliches Prinzip lässt sich bei der HDD beobachten, nur nutzt diese einen Puffer von 8–128 MB. Hinzu kommt, dass die Geschwindigkeiten deutlich geringer sind, der Arbeitsablauf aber ähnlich ist.

Was ist Prozessor-Cache?

Wie funktioniert der Berechnungsprozess generell? Alle Daten werden im RAM gespeichert, der für die vorübergehende Speicherung wichtiger Benutzer- und Systeminformationen ausgelegt ist. Der Prozessor wählt für sich eine bestimmte Anzahl von Aufgaben aus, die in einen ultraschnellen Block namens Cache-Speicher verschoben werden, und beginnt mit der Bearbeitung seiner direkten Aufgaben.

Die Berechnungsergebnisse werden erneut an den RAM gesendet, jedoch in viel geringeren Mengen (anstelle von tausend Ausgabewerten erhalten wir viel weniger) und ein neues Array wird zur Verarbeitung verwendet. Und so weiter, bis die Arbeit erledigt ist.

Die Betriebsgeschwindigkeit wird durch die Effizienz des RAM bestimmt. Aber nicht einer modernes Modul DDR4, einschließlich Übertaktungslösungen mit Frequenzen bis zu 4000 MHz, erreichte nicht einmal annähernd die Fähigkeiten des am stärksten verkümmerten Prozessors mit seinem „langsamen“ Cache.

Dies liegt daran, dass die Geschwindigkeit der CPU die Leistung des RAM im Durchschnitt um das 15-fache oder sogar mehr übersteigt. Und schauen Sie sich nicht nur die Frequenzparameter an; es gibt darüber hinaus noch viele Unterschiede.
Theoretisch stellt sich heraus, dass selbst die superstarken Intel Und das alles, weil sie rekrutieren benötigte Menge Daten basierend auf der Cache-Größe (bis zu 60 MB oder mehr) und verarbeiten Sie die Daten sofort. RAM dient als eine Art Lager, aus dem Arrays für Berechnungen gezogen werden. Die Rechenleistung des Computers steigt und alle sind zufrieden.

Ein kurzer Ausflug in die Geschichte

Die ersten Erwähnungen von Cache-Speichern stammen aus den späten 80er Jahren. Bis zu diesem Zeitpunkt waren die Geschwindigkeit von Prozessor und Speicher ungefähr gleich. Die rasante Entwicklung von Chips erforderte die Entwicklung einer Art „Krücke“, um die RAM-Leistung zu steigern. Die Verwendung ultraschneller Chips war jedoch sehr teuer, sodass wir uns entschieden, mit mehr auszukommen wirtschaftliche Option– Implementierung eines Hoin der CPU.

Das Cache-Speichermodul erschien erstmals im Intel 80386. Damals schwankten die DRAM-Betriebslatenzen um etwa 120 Nanosekunden, während das modernere SRAM-Modul die Latenz für diese Zeiten auf beeindruckende 10 Nanosekunden reduzierte. Ein ungefähres Bild zeigt sich deutlicher bei der Konfrontation zwischen HDD und SSD.

Ursprünglich wurde der Cache-Speicher aufgrund des damaligen technischen Standes direkt auf die Hauptplatine gelötet. Beginnend mit dem Intel 80486 wurden 8 KB Speicher direkt in den Prozessorchip integriert, was die Leistung weiter steigerte und die Chipfläche reduzierte.

Diese Anordnungstechnologie blieb nur bis zur Veröffentlichung des Pentium MMX relevant, danach wurde der SRAM-Speicher durch fortschrittlicheres SDRAM ersetzt.
Und die Prozessoren sind viel kleiner geworden und daher auch der Bedarf externe Schaltkreise verschwunden.

Cache-Ebenen

Auf der Beschriftung moderner CPUs findet man neben und auch das Konzept der Cache-Größe der Stufen 1, 2 und 3. Wie wird es bestimmt und welche Auswirkungen hat es? Lassen Sie es uns in einfachen Worten verstehen.

  • Der Level 1 (L1) Cache ist der wichtigste und schnellste Chip in der CPU-Architektur. Ein Prozessor kann eine Anzahl Module aufnehmen, die der Anzahl der Kerne entspricht. Es ist bemerkenswert, dass der Chip nur aus seinem Kern heraus die beliebtesten und wichtigsten Daten im Speicher speichern kann. Die Array-Größe ist häufig auf 32–64 KB begrenzt.
  • Cache der zweiten Ebene (L2) – der Geschwindigkeitsabfall wird durch eine Erhöhung der Puffergröße ausgeglichen, die 256 oder sogar 512 KB erreicht. Das Funktionsprinzip ist das gleiche wie bei L1, jedoch ist die Häufigkeit der Speicheranforderungen aufgrund der Speicherung von Daten mit niedrigerer Priorität geringer.
  • Der Third-Level-Cache (L3) ist der langsamste und umfangreichste Abschnitt von allen. Und dennoch ist dieses Array viel schneller als RAM. Bei Serverchips kann die Größe 20 und sogar 60 MB erreichen. Die Vorteile des Arrays sind enorm: Es ist ein wichtiges Bindeglied im 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? Wer den Prozessor nur für Office-Programme und Gelegenheitsspiele nutzt, wird keinen Unterschied spüren. Wenn das System im Hinblick auf komplexe 3D-Spiele, Archivierung, Rendering und Arbeit mit Grafiken zusammengestellt wird, beträgt die Steigerung teilweise 5 bis 10 %.
Ein Cache der dritten Ebene ist nur dann gerechtfertigt, wenn Sie regelmäßig mit Multithread-Anwendungen arbeiten möchten, die eine regelmäßige Verwendung erfordern komplexe Berechnungen. Aus diesem Grund verwenden Servermodelle häufig große L3-Caches. Allerdings gibt es Fälle, in denen dies nicht ausreicht und Sie daher zusätzlich sogenannte L4-Module installieren müssen, die wie ein separater Chip aussehen, der mit dem Motherboard verbunden ist.

Wie kann ich die Anzahl der Ebenen und die Cachegröße meines Prozessors herausfinden?

Beginnen wir mit der Tatsache, dass dies auf drei Arten erfolgen kann:

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

Wenn wir davon ausgehen, dass L1 bei den meisten Prozessoren 32 KB beträgt und L2 und L3 stark schwanken können, sind die letzten beiden Werte genau das, was wir brauchen. Um danach zu suchen, öffnen Sie die Befehlszeile über „Start“ (geben Sie den Wert „cmd“ über die Suchleiste ein).

Das System wird verdächtig angezeigt großer Wert für L2. Sie müssen es durch die Anzahl der Prozessorkerne dividieren und das Endergebnis ermitteln.

Wenn Sie planen, im Netzwerk nach Daten zu suchen, dann 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 es einen Eintrag „Prozessor“ geben, den wir tatsächlich benötigen. Sie schreiben den Namen in Google oder Yandex um und sehen sich die Bedeutung auf den Websites an. Für verlässliche Informationen ist es besser, die offiziellen Portale des Herstellers (Intel oder AMD) zu wählen.
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 untersuchen. Eine Option für alle, die gerne übertakten und an Details basteln.

Ergebnisse

Jetzt verstehen Sie, was Cache-Speicher ist, wovon seine Größe abhängt und für welche Zwecke ein ultraschnelles Datenarray verwendet wird. Im Moment am meisten interessante Lösungen Was den großen Cache-Speicher auf dem Markt angeht, 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 bleiben Sie dran. Bis zum nächsten Mal, tschüss.

Es geht nicht um Bargeld, sondern um Cache-Prozessorspeicher und mehr. Von der Lautstärke Cache-Speicherhändler haben einen weiteren kommerziellen Fetisch geschaffen, insbesondere mit dem Cache von Zentralprozessoren und Festplatten (Grafikkarten haben ihn auch – aber sie sind noch nicht dazu gekommen). Es gibt also einen XXX-Prozessor mit 1 MB L2-Cache und genau den gleichen XYZ-Prozessor mit 2 MB Cache. Ratet mal, welches besser ist? Ah – tu es nicht gleich!

Cache-Speicher ist ein Puffer, der speichert, was für später beiseite gelegt werden kann und/oder muss. Der Prozessor erledigt die Arbeit und es entstehen Situationen, in denen Zwischendaten irgendwo gespeichert werden müssen. Na ja, natürlich im Cache! - schließlich ist es um Größenordnungen schneller als RAM, weil... Es befindet sich im Prozessorchip selbst und läuft normalerweise mit der gleichen Frequenz. Und dann, nach einiger Zeit, wird er diese Daten wieder herausfischen und sie erneut verarbeiten. Grob gesagt ist es wie ein Kartoffelsortierer am Fließband, der jedes Mal, wenn er etwas anderes als Kartoffeln (Karotten) findet, es in eine Kiste wirft. Und wenn es voll ist, steht er auf und holt es heraus sein V nächstes Zimmer. In diesem Moment steht das Förderband still und es ist eine Stillstandszeit zu beobachten. Das Volumen der Box beträgt Cache in dieser Analogie. UND Wie viele sein Benötigen Sie 1 MB oder 12? Es ist klar, dass wenn sein Das Volumen ist klein, Sie müssen zu viel Zeit mit dem Entfernen verbringen und es wird einfach sein, aber ab einem bestimmten Volumen sein Eine weitere Erhöhung bringt nichts. Nun, der Sortierer wird eine Kiste für 1000 kg Karotten haben – aber so viel wird er während seiner gesamten Schicht nicht haben und das wird ihn nicht ZWEIMAL SCHNELLER machen! Es gibt noch eine weitere Feinheit – groß Cache kann erstens zu einer Zunahme der Verzögerungen beim Zugriff führen und gleichzeitig steigt die Wahrscheinlichkeit von Fehlern darin, beispielsweise beim Übertakten – zweitens. (darüber, WIE man in diesem Fall die Stabilität/Instabilität des Prozessors ermittelt und herausfindet, dass der Fehler konkret auftritt sein Cache, Test L1 und L2 - Sie können hier lesen.) Drittens - Cache frisst eine ordentliche Menge an Chipfläche und das Transistorbudget der Prozessorschaltung. Das Gleiche gilt für Cache Festplattenspeicher. Und wenn die Prozessorarchitektur stark ist, wird in vielen Anwendungen ein Cache von 1024 KB oder mehr benötigt. Wenn Sie über eine schnelle Festplatte verfügen, sind 16 MB oder sogar 32 MB angemessen. Aber keine 64 MB Cache reichen aus sein schneller, wenn es sich um eine Trimmversion namens grüne Version (Green WD) mit einer Geschwindigkeit von 5900 statt der erforderlichen 7200 handelt, auch wenn letztere 8 MB hat. Dann nutzen Intel- und AMD-Prozessoren dies unterschiedlich Cache(Im Allgemeinen ist AMD effizienter und ihre Prozessoren sind oft mit niedrigeren Werten zufrieden.) Darüber hinaus Intel Cache allgemein, aber für AMD ist es für jeden Kern persönlich. Der Schnellste Cache L1 für AMD-Prozessoren beträgt 64 KB für Daten und Anweisungen, was doppelt so viel ist wie für Intel. Cache Die dritte Ebene L3 ist normalerweise in Top-Prozessoren vorhanden AMD Phenom II 1055T X6 Sockel AM3 2,8GHz oder ein Mitbewerber Intel Core i7-980X. Erstens lieben Spiele große Cache-Volumina. UND Cache Viele professionelle Anwendungen mögen es NICHT (siehe Computer für Rendering, Videobearbeitung und professionelle Anwendungen). Genauer gesagt sind ihm diejenigen, die die höchsten Ansprüche stellen, im Allgemeinen gleichgültig. Was Sie jedoch auf keinen Fall tun sollten, ist, einen Prozessor basierend auf der Cache-Größe auszuwählen. Der alte Pentium 4 verfügte in seinen letzten Erscheinungsformen über 2 MB Cache bei Betriebsfrequenzen deutlich über 3 GHz – vergleichen Sie sein Leistung mit einem günstigen Dual-Core-Celeron E1***, der mit Frequenzen von etwa 2 GHz arbeitet. Er wird nichts unversucht lassen, um dem alten Mann gegenüberzutreten. Ein aktuelleres Beispiel ist der Hochfrequenz-Dual-Core-Prozessor E8600, der fast 200 US-Dollar kostet (anscheinend aufgrund des 6 MB Cache) und der Athlon II X4-620 2,6 GHz, der nur 2 MB hat. Das hindert Athlone nicht daran, seinen Konkurrenten in Stücke zu reißen.

Wie Sie den Grafiken entnehmen können, ist dies nicht der Fall Cache ersetzt keine zusätzlichen Kerne. Athlon mit 2 MB Cache (rot) schlägt Cor2Duo mit 6 MB Cache deutlich, selbst bei niedrigerer Frequenz und fast der Hälfte der Kosten. Das vergessen auch viele Cache ist in Grafikkarten vorhanden, da diese im Allgemeinen auch über Prozessoren verfügen. Ein aktuelles Beispiel ist die GTX460-Grafikkarte, bei der es gelingt, nicht nur den Bus und die Speicherkapazität zu reduzieren (was der Käufer vermuten wird), sondern auch CACHE Shader jeweils von 512 KB auf 384 KB (was der Käufer NICHT erraten wird). Und dies wird auch einen negativen Beitrag zur Produktivität leisten. Es wird auch interessant sein, die Abhängigkeit der Leistung von der Cache-Größe herauszufinden. Lassen Sie uns am Beispiel desselben Prozessors untersuchen, wie schnell es mit zunehmender Cache-Größe wächst. Wie Sie wissen, unterscheiden sich Prozessoren der Serien E6***, E4*** und E2*** nur in der Cache-Größe (jeweils 4, 2 und 1 MB). Beim Betrieb mit der gleichen Frequenz von 2400 MHz zeigen sie die folgenden Ergebnisse.

Wie Sie sehen, sind die Ergebnisse nicht allzu unterschiedlich. Ich sage noch mehr: Wenn ein Prozessor mit einer Kapazität von 6 MB beteiligt gewesen wäre, wäre das Ergebnis noch etwas höher ausgefallen, denn Prozessoren erreichen die Sättigung. Bei Modellen mit 512 KB wäre der Rückgang jedoch spürbar. Mit anderen Worten: 2 MB reichen sogar für Spiele. Zusammenfassend können wir folgendes Fazit ziehen: Cache Es ist gut, wenn es von allem anderen BEREITS viel gibt. Es ist naiv und dumm, bei gleichen Kosten die Geschwindigkeit einer Festplatte oder die Anzahl der Prozessorkerne für die Cache-Größe zu ändern, denn selbst der größte Sortierkasten ersetzt keinen anderen Sortierer. Aber es gibt ihn auch gute Beispiele.. Beispielsweise verfügte der Pentium Dual-Core in der frühen Revision des 65-nm-Prozesses über 1 MB Cache für zwei Kerne (E2160-Serie und ähnliches), und die spätere 45-nm-Revision der E5200-Serie verfügt über 2 MB. Wenn alle anderen Dinge gleich sind (und vor allem der PREIS). Natürlich sollten Sie sich für Letzteres entscheiden.

Alle Benutzer kennen Computerelemente wie den Prozessor, der für die Datenverarbeitung verantwortlich ist, sowie den Arbeitsspeicher (RAM oder RAM), der für deren Speicherung verantwortlich ist. Aber nicht jeder weiß wahrscheinlich, dass es auch einen Prozessor-Cache-Speicher (Cache CPU) gibt, also den Arbeitsspeicher des Prozessors selbst (das sogenannte Ultra-RAM).

Was ist der Grund, der Computerdesigner dazu veranlasst hat, dedizierten Speicher für den Prozessor zu verwenden? Reicht die RAM-Kapazität des Computers nicht aus?

Wirklich, für eine lange Zeit Personalcomputer kamen ohne Cache-Speicher aus. Aber wie Sie wissen, ist der Prozessor das schnellste Gerät in einem Personalcomputer und seine Geschwindigkeit hat mit jeder neuen CPU-Generation zugenommen. Derzeit wird seine Geschwindigkeit in Milliarden Operationen pro Sekunde gemessen. Gleichzeitig hat der Standard-RAM im Laufe seiner Entwicklung seine Leistung nicht wesentlich gesteigert.

Im Allgemeinen gibt es zwei Hauptspeicherchiptechnologien: statischen Speicher und dynamischen Speicher. Ohne auf die Details ihres Designs einzugehen, können wir nur sagen, dass statischer Speicher im Gegensatz zu dynamischem Speicher keine Regeneration erfordert; Darüber hinaus verwendet der statische Speicher 4–8 Transistoren für ein Informationsbit, während der dynamische Speicher 1–2 Transistoren verwendet. Dementsprechend ist dynamischer Speicher deutlich günstiger als statischer Speicher, aber gleichzeitig auch deutlich langsamer. Derzeit werden RAM-Chips auf Basis dynamischer Speicher hergestellt.

Ungefähre Entwicklung des Verhältnisses der Geschwindigkeit von Prozessoren und RAM:

Wenn der Prozessor also ständig Informationen aus dem RAM beziehen würde, müsste er auf langsamen dynamischen Speicher warten und wäre die ganze Zeit im Leerlauf. Im gleichen Fall würden sich die Kosten des Computers um ein Vielfaches erhöhen, wenn statischer Speicher als RAM verwendet würde.

Deshalb wurde ein vernünftiger Kompromiss entwickelt. Der Großteil des Arbeitsspeichers blieb dynamisch, während der Prozessor einen eigenen schnellen Cache-Speicher auf Basis statischer Speicherchips erhielt. Sein Volumen ist relativ klein – beispielsweise beträgt die Größe des Second-Level-Cache nur wenige Megabyte. Es ist jedoch zu bedenken, dass der gesamte Arbeitsspeicher der ersten IBM PC-Computer weniger als 1 MB groß war.

Darüber hinaus wird die Zweckmäßigkeit der Einführung der Caching-Technologie auch dadurch beeinflusst, dass verschiedene Anwendungen, die sich im RAM befinden, den Prozessor unterschiedlich belasten und es daher viele Daten gibt, die im Vergleich zu anderen eine Prioritätsverarbeitung erfordern.

Cache-Verlauf

Genau genommen wurde der Cache-Speicher bereits mehrere Jahrzehnte lang erfolgreich in Supercomputern eingesetzt, bevor er auf Personalcomputer übertragen wurde.

Erstmals erschien in einem PC auf Basis des i80386-Prozessors ein Cache-Speicher von nur 16 KB. Heutzutage verwenden moderne Prozessoren unterschiedliche Cache-Ebenen, von der ersten (der schnellste Cache mit der kleinsten Größe – normalerweise 128 KB) bis zur dritten (der langsamste Cache mit der größten Größe – bis zu mehreren zehn MB).

Der externe Cache des Prozessors befand sich zunächst auf einem separaten Chip. Dies führte jedoch mit der Zeit dazu, dass der Bus zwischen Cache und Prozessor angeordnet wurde Engpass, was den Datenaustausch verlangsamt. In modernen Mikroprozessoren befinden sich sowohl die erste als auch die zweite Ebene des Cache-Speichers im Prozessorkern selbst.

Lange Zeit verfügten Prozessoren nur über zwei Cache-Ebenen, aber die Intel Itanium-CPU war die erste, die über einen Cache der dritten Ebene verfügte, der allen Prozessorkernen gemeinsam war. Es gibt auch Entwicklungen von Prozessoren mit vierstufigem Cache.

Cache-Architekturen und -Prinzipien

Heute sind zwei Haupttypen der Cache-Speicherorganisation bekannt, die aus den ersten theoretischen Entwicklungen auf dem Gebiet der Kybernetik stammen – Princeton- und Harvard-Architekturen. Die Princeton-Architektur impliziert einen einzigen Speicherraum zum Speichern von Daten und Befehlen, während die Harvard-Architektur separate Speicherplätze bedeutet. Die meisten Prozessoren Personalcomputer Die x86-Reihe verwendet einen separaten Typ von Cache-Speicher. Darüber hinaus ist in modernen Prozessoren auch eine dritte Art von Cache-Speicher aufgetaucht – der sogenannte assoziative Übersetzungspuffer, der die Konvertierung virtueller Speicheradressen beschleunigen soll Betriebssystem zu physischen Speicheradressen.

Ein vereinfachtes Diagramm der Interaktion zwischen Cache-Speicher und Prozessor kann wie folgt beschrieben werden. Zuerst prüft der Prozessor, ob die vom Prozessor benötigten Informationen im schnellsten Cache der ersten Ebene, dann im Cache der zweiten Ebene usw. vorhanden sind. Wenn die erforderlichen Informationen in keinem Cache-Level gefunden werden, spricht man von einem Fehler oder einem Cache-Miss. Befinden sich überhaupt keine Informationen im Cache, muss der Prozessor diese aus dem RAM oder sogar aus dem externen Speicher (von der Festplatte) beziehen.

Die Reihenfolge, in der der Prozessor nach Informationen im Speicher sucht:

Auf diese Weise sucht der Prozessor nach Informationen

Um den Betrieb des Cache-Speichers und seine Interaktion mit den Recheneinheiten des Prozessors sowie des RAM zu steuern, gibt es einen speziellen Controller.

Schema zur Organisation des Zusammenspiels von Prozessorkern, Cache und RAM:

Der Cache-Controller ist Schlüsselelement Kommunikation zwischen Prozessor, RAM und Cache-Speicher

Es ist zu beachten, dass das Zwischenspeichern von Daten ein komplexer Prozess ist, der viele Technologien und mathematische Algorithmen verwendet. Unter Grundkonzepte Beim Caching können wir Cache-Schreibmethoden und Cache-Assoziativitätsarchitekturen unterscheiden.

Cache-Schreibmethoden

Es gibt zwei Hauptmethoden zum Schreiben von Informationen in den Cache-Speicher:

  1. Rückschreibmethode – Daten werden zuerst in den Cache und dann, wenn bestimmte Bedingungen eintreten, in den RAM geschrieben.
  2. Durchschreibmethode – Daten werden gleichzeitig in RAM und Cache geschrieben.

Cache-Assoziativitätsarchitektur

Die Cache-Assoziativitätsarchitektur definiert die Art und Weise, wie Daten aus dem RAM dem Cache zugeordnet werden. Die Hauptoptionen für die Caching-Assoziativitätsarchitektur sind:

  1. Direkt zugeordneter Cache – ein bestimmter Abschnitt des Caches ist für einen bestimmten Abschnitt des RAM verantwortlich
  2. Voll Assoziativer Cache– Jeder Teil des Caches kann jedem Teil des RAM zugeordnet werden
  3. Gemischter Cache (satzassoziativ)

Verschiedene Cache-Ebenen können typischerweise unterschiedliche Cache-Assoziativitätsarchitekturen verwenden. Direkt zugeordnetes RAM-Caching ist die schnellste Caching-Option, daher wird diese Architektur typischerweise für große Caches verwendet. Ein vollständig assoziativer Cache weist wiederum weniger Cache-Fehler (Misses) auf.

Abschluss

In diesem Artikel haben Sie das Konzept des Cache-Speichers, die Cache-Speicher-Architektur und die Caching-Methoden kennengelernt und erfahren, wie sich diese auf die Leistung eines modernen Computers auswirken. Das Vorhandensein eines Cache-Speichers kann den Betrieb des Prozessors erheblich optimieren, seine Leerlaufzeit reduzieren und somit die Leistung des gesamten Systems steigern.