Was ist Scratchpad-Speicher?

Der Datenzugriff ist ein kritischer Teil des CPU-Designs. CPUs arbeiten mit extrem hohen Geschwindigkeiten, verarbeiten mehrere Befehle pro Taktzyklus und benötigen daher Zugriff auf viele Daten. Die überwiegende Mehrheit dieser Daten wird auf den Speichermedien gespeichert. Speichergeräte sind jedoch im Vergleich zu einer CPU unglaublich langsam. Speichergeräte sind auch bei sequentiellen Lesevorgängen deutlich besser als bei zufälligen Lesevorgängen, obwohl SSDs in dieser Hinsicht (und vielen anderen) eine deutliche Verbesserung gegenüber HDDs bieten.

Der System-RAM ist so konzipiert, dass er mit allen Daten geladen werden kann, die die CPU möglicherweise für die aktuell ausgeführte Software benötigt. RAM hat eine deutlich niedrigere Latenz als Speicher und ist außerdem speziell auf eine hohe zufällige Leseleistung zugeschnitten. So schnell modernes RAM auch ist, es ist immer noch nichts im Vergleich zur CPU mit Latenzen in der Größenordnung von 400 Taktzyklen.

Um die Latenz weiter zu reduzieren, enthalten die meisten modernen CPUs Cache-Speicherebenen. Typischerweise werden diese als L1-, L2- und L3-Caches bezeichnet. L1 ist wirklich sehr schnell und benötigt typischerweise eine Größenordnung von 5 Taktzyklen für den Zugriff. L2 ist etwas langsamer, in der Größenordnung von 20 Zyklen. L3 ist mit etwa 200 Zyklen sogar noch langsamer. Während L1 unglaublich schnell ist, ist es auch winzig. Ein Großteil seiner Geschwindigkeit beruht auf der Tatsache, dass kleinere Caches weniger Zeit für die Suche benötigen. L2 ist größer als L1, aber kleiner als L3, das noch kleiner als System-RAM ist. Die Größe dieser Caches gut auszubalancieren ist entscheidend, um eine Hochleistungs-CPU zu erhalten. Cache-Trefferquoten sind wichtig, aber Sie müssen die Anzahl der Treffer mit der Zeit abwägen, die benötigt wird, um diesen Treffer zu erzielen, daher die Ebenen.

Scratchpad-Speicher

Beachten Sie, dass Scratchpad-Speicher nicht in die herkömmliche Speicherhierarchie passt. Das liegt daran, dass es in den meisten Consumer-CPUs nicht verwendet wird. Scratchpad-Speicher ist so konzipiert, dass er wie ein Scratchpad im wirklichen Leben verwendet werden kann. Sie notieren temporäre Informationen, die Sie sich merken müssen, aber nicht wirklich ablegen müssen. Die meiste Zeit verarbeitet eine CPU Daten und benötigt das Ergebnis dann sofort wieder. Es kann es in den Speicher kopieren, aber um schnell darauf zugreifen zu können, sollte es es auch im Cache behalten.

Scratchpad-Speicher füllt im Wesentlichen dieselbe Lücke wie der L1-Cache. Es ist so schnell wie möglich verfügbar, oft in einstelligen Zyklenzahlen. Um dies zu bewältigen, ist es auch relativ klein. Es gibt jedoch zwei wesentliche Unterschiede zwischen L1- und Scratchpad-Speicher. Erstens ist der Scratchpad-Speicher direkt adressierbar. Zweitens wird es von allen Kernen und Prozessoren geteilt.

Unterschiede zwischen Cache und Scratchpad

Der CPU-Cache ist für die CPU im Wesentlichen transparent, er kann dort keine Daten absichtlich ablegen und sein Inhalt kann nicht programmiert werden. Stattdessen fordert die CPU nur Daten aus dem RAM an und bekommt sie schneller zurück, manchmal deutlich schneller als erwartet. Das Zulassen, dass das Scratchpad adressierbar ist, bedeutet, dass der Code genau angeben kann, welche Daten sich im Scratchpad befinden sollen. Dies kann nützlich sein, obwohl moderne Caching-Algorithmen ausgezeichnet sind, da bei Standard-Workloads Trefferquoten von 95-97 % erwartet werden.

Der L1-Cache ist immer an einen einzelnen Verarbeitungskern gebunden. Kein anderer Prozessorkern kann darauf zugreifen. Das bedeutet, wenn mehrere Kerne dieselben Daten benötigen, können sie diese in ihren jeweiligen L1-Caches duplizieren. In einigen CPU-Architekturen ist L2 pro Kern, in anderen wird es von einer kleinen Anzahl oder sogar allen Kernen geteilt. L3 wird in der Regel von allen Kernen gemeinsam genutzt. Durch die gemeinsame Nutzung des Caches zwischen Kernen können zwei oder mehr Kerne auf dieselben Daten zugreifen, ohne sie zu duplizieren. Es ermöglicht auch einem Kern, mehr als seinen fairen Anteil zu nutzen, wenn er die Notwendigkeit hat und der Cache den Platz hat.

Scratchpad verhält sich in Bezug auf Geschwindigkeit und Kapazität ähnlich wie das L1, wird jedoch von allen Kernen geteilt. Dies ermöglicht einen sehr schnellen Zugriff auf bestimmte Daten, auf die in einer Multithread-Workload reagiert wird. Scratchpad-Speicher kann sogar von verschiedenen CPUs auf Multi-Socket-Motherboards gemeinsam genutzt werden.

Ein Nachteil des Scratchpad-Speichers besteht darin, dass man sich möglicherweise zu stark auf ihn verlässt. In der Lage zu sein, direkt darauf zuzugreifen, kann sich Software auf seine Präsenz in bestimmten Mengen verlassen. In diesem Fall wäre es dann auf CPUs ohne so viel Scratchpad-Speicher nicht lauffähig. Cache-Ebenen leiden einfach nicht unter diesem Problem und sind daher besser für den allgemeinen Gebrauch geeignet.

Anwendungsfälle

Scratchpad-Speicher ist am häufigsten in Multi-Socket-Serversystemen zu finden, die für HPC (High-Performance Computing) ausgelegt sind. Dort macht es seine Kombination aus Geschwindigkeit und gemeinsamem Zugriff für hochgradig parallele Workloads nützlich.

Scratchpad-Speicher wird auch in viel kleineren Prozessoren verwendet. Eingebettete Prozessoren, oft MPSoCs. Ein eingebetteter Prozessor ist oft relativ stromsparend und auf eine bestimmte Aufgabe spezialisiert. Diese Spezialisierung ist häufig in Hardwareoptimierungen vertreten. Insbesondere in einem Mehrprozessorsystem auf einem Chip kann gemeinsam genutzter Hochgeschwindigkeitsspeicher für mehrere unterschiedliche Prozessoren erhebliche Latenzverbesserungen bereitstellen. Diese Art von CPUs sind oft sehr starr im Design. Spielekonsolen zum Beispiel sehen bereits viele Optimierungen für das Hardwaredesign und können daher solche Funktionen gut nutzen, ohne sich um Abwärts- oder Aufwärtskompatibilität kümmern zu müssen.

Abschluss

Scratchpad-Speicher ähnelt dem L1-Cache, weist jedoch eine Reihe von Unterschieden auf, die seine Anwendungsfälle ändern. Anstatt ein Cache zu sein, ist er direkt adressierbar, sodass Daten gezielt einem besonders schnellen Speicher zugewiesen werden können. Es wird auch von allen Prozessorkernen und Prozessoren gemeinsam genutzt, was es besonders nützlich bei stark multithreaded Arbeitslasten macht.



Leave a Comment

Fix: Chromebook „Fehler beim Konfigurieren des Netzwerks“

Fix: Chromebook „Fehler beim Konfigurieren des Netzwerks“

Wenn auf Ihrem Chromebook beim Konfigurieren des Netzwerks ein Fehler aufgetreten ist, aktivieren Sie die Netzwerkfreigabe, starten Sie Ihren Laptop neu und trennen Sie Ihren Router.

Grundlagen des 3D-Drucks: Was ist MSLA 3D-Druck?

Grundlagen des 3D-Drucks: Was ist MSLA 3D-Druck?

Maskiertes Stereolithographiegerät (MSLA) ist eine modifizierte Form des SLA-Drucks und bietet zahlreiche Vorteile, einschließlich schnelleren Druckzeiten.

So finden Sie die IP-Adresse eines Druckers

So finden Sie die IP-Adresse eines Druckers

Erfahren Sie, wie Sie die IP-Adresse Ihres Druckers einfach und schnell herausfinden können.

Hinzufügen von Blink-Kameras von zwei Standorten aus

Hinzufügen von Blink-Kameras von zwei Standorten aus

Erfahren Sie, wie Sie Blink-Kameras zur Heimsicherheit von zwei Standorten aus hinzufügen können. Flexibles System mit einfacher Installation und Integration mit Alexa.

Grundlagen des 3D-Drucks: Wie man Filament neu spoolt

Grundlagen des 3D-Drucks: Wie man Filament neu spoolt

Erfahren Sie, wie Sie Filament neu spoolen können, um Probleme wie Unterextrusion und Verwicklungen zu vermeiden. Hier sind einige nützliche Tipps und Techniken.

So ändern Sie das Zifferblatt einer Fitbit Versa 4

So ändern Sie das Zifferblatt einer Fitbit Versa 4

Ändern Sie das Zifferblatt Ihrer Fitbit Versa 4 einfach und kostenlos. Entdecken Sie neue Designs und gestalten Sie Ihre Uhr ganz nach Ihrem Geschmack.

Chromebook: Feststelltaste aktivieren/deaktivieren – 3 einfache Schritte

Chromebook: Feststelltaste aktivieren/deaktivieren – 3 einfache Schritte

Erfahren Sie, wie Sie die Feststelltaste auf Ihrem Chromebook aktivieren und deaktivieren können. Mit 3 einfachen Schritten und nützlichen Tipps zur Tastaturkonfiguration.

PETG-Drucke glätten: 5 bewährte Methoden für perfekte Oberflächen

PETG-Drucke glätten: 5 bewährte Methoden für perfekte Oberflächen

Erfahren Sie, wie Sie PETG-3D-Drucke in 5 Schritten professionell glätten – von Schleifen bis Chemische Behandlung. Praxistipps mit Sicherheitshinweisen und Werkzeugempfehlungen.

5 Anzeichen: So erkennen Sie, ob Ihr Arbeitgeber Ihren Computer überwacht [2025]

5 Anzeichen: So erkennen Sie, ob Ihr Arbeitgeber Ihren Computer überwacht [2025]

Erfahren Sie, wie Sie Überwachungssoftware auf Arbeitsgeräten identifizieren + Tipps zum Schutz Ihrer Privatsphäre. Inklusive aktuellem Rechtsrahmen gemäß BDSG & DSGVO.

Grundlagen des 3D-Drucks: Was ist eine Krempe? | 5 Vorteile & Tipps

Grundlagen des 3D-Drucks: Was ist eine Krempe? | 5 Vorteile & Tipps

Erfahren Sie, was eine Krempe beim 3D-Druck ist, warum sie nützlich ist und wie sie Ihnen hilft, das Verziehen von Filamenten zu vermeiden. Jetzt mit 5 praktischen Tipps zur optimalen Nutzung.