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

So klonen Sie eine Festplatte

So klonen Sie eine Festplatte

Im modernen digitalen Zeitalter, in dem Daten ein wertvolles Gut sind, kann das Klonen einer Festplatte unter Windows für viele ein entscheidender Prozess sein. Dieser umfassende Leitfaden

Wie behebt man, dass der Treiber WUDFRd unter Windows 10 nicht geladen werden konnte?

Wie behebt man, dass der Treiber WUDFRd unter Windows 10 nicht geladen werden konnte?

Wird beim Booten Ihres Computers die Fehlermeldung angezeigt, dass der Treiber WUDFRd nicht auf Ihren Computer geladen werden konnte?

So beheben Sie den NVIDIA GeForce Experience-Fehlercode 0x0003

So beheben Sie den NVIDIA GeForce Experience-Fehlercode 0x0003

Tritt auf Ihrem Desktop der NVIDIA GeForce-Fehlercode 0x0003 auf? Wenn ja, lesen Sie den Blog, um herauszufinden, wie Sie diesen Fehler schnell und einfach beheben können.

Warum lässt sich mein Chromebook nicht einschalten?

Warum lässt sich mein Chromebook nicht einschalten?

Erhalten Sie Antworten auf die Frage: Warum lässt sich mein Chromebook nicht einschalten? In diesem hilfreichen Leitfaden für Chromebook-Benutzer.

So ändern Sie das Zifferblatt einer Fitbit Versa 4

So ändern Sie das Zifferblatt einer Fitbit Versa 4

Ändere das Zifferblatt deiner Fitbit Versa 4, um deiner Uhr jeden Tag kostenlos ein anderes Aussehen zu verleihen. Sehen Sie, wie schnell und einfach es geht.

Roomba stoppt, bleibt hängen und dreht sich um – Reparieren

Roomba stoppt, bleibt hängen und dreht sich um – Reparieren

Beheben Sie ein Problem, bei dem Ihr Roomba-Roboterstaubsauger anhält, hängenbleibt und sich ständig umdreht.

So ändern Sie die Grafikeinstellungen auf Steam Deck

So ändern Sie die Grafikeinstellungen auf Steam Deck

Das Steam Deck bietet ein robustes und vielseitiges Spielerlebnis direkt auf Knopfdruck. Allerdings, um Ihr Spiel zu optimieren und das bestmögliche zu gewährleisten

Was ist isolationsbasierte Sicherheit?

Was ist isolationsbasierte Sicherheit?

Wir werden uns mit einem Thema befassen, das in der Welt der Cybersicherheit immer wichtiger wird: Isolationsbasierte Sicherheit. Dieser Ansatz zu

How to Use Auto Clicker for Chromebook

How to Use Auto Clicker for Chromebook

Today, were going to delve into a tool that can automate repetitive clicking tasks on your Chromebook: the Auto Clicker. This tool can save you time and

Was ist SMPS?

Was ist SMPS?

Erfahren Sie, was SMPS ist und welche Bedeutung die verschiedenen Effizienzbewertungen haben, bevor Sie sich für ein SMPS für Ihren Computer entscheiden.