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

Was tun, wenn Powerbeats Pro nicht im Ladecase aufgeladen werden?

Was tun, wenn Powerbeats Pro nicht im Ladecase aufgeladen werden?

Wenn Ihre Powerbeats Pro nicht aufgeladen werden, verwenden Sie eine andere Stromquelle und reinigen Sie Ihre Ohrhörer. Lassen Sie das Ladecase geöffnet, während Sie Ihre Ohrhörer aufladen.

3D-Druck Grundlagen: Eine unverzichtbare Wartungscheckliste

3D-Druck Grundlagen: Eine unverzichtbare Wartungscheckliste

Die Wartung Ihrer Geräte ist ein Muss. Hier finden Sie nützliche Tipps, um Ihren 3D-Drucker in Top-Zustand zu halten.

Canon Pixma MG5220: Scannen ohne Tinte

Canon Pixma MG5220: Scannen ohne Tinte

Wie man das Scannen mit dem Canon Pixma MG5220 aktiviert, wenn die Tinte ausgeht.

5 Gründe, warum Ihr Laptop überhitzt

5 Gründe, warum Ihr Laptop überhitzt

Erfahren Sie mehr über einige mögliche Ursachen, warum Ihr Laptop überhitzt, sowie Tipps und Tricks zur Vermeidung dieses Problems und zur Kühlung Ihres Geräts.

So beheben Sie den GeForce Now Fehlercode 0xC272008F

So beheben Sie den GeForce Now Fehlercode 0xC272008F

Sie machen sich bereit für eine große Gaming-Nacht – Sie haben gerade “Star Wars Outlaws” auf dem GeForce Now Streaming-Dienst erworben. Entdecken Sie die einzige bekannte Lösung, die Ihnen zeigt, wie Sie den GeForce Now Fehlercode 0xC272008F beheben können, damit Sie wieder Ubisoft-Spiele spielen können.

3D-Druck Grundlagen: Wartungstipps für Ihren 3D-Drucker

3D-Druck Grundlagen: Wartungstipps für Ihren 3D-Drucker

Die Wartung Ihrer 3D-Drucker ist sehr wichtig, um die besten Ergebnisse zu erzielen. Hier sind einige wichtige Tipps, die Sie beachten sollten.

So finden Sie die IP-Adresse eines Druckers

So finden Sie die IP-Adresse eines Druckers

Haben Sie Schwierigkeiten herauszufinden, welche IP-Adresse Ihr Drucker verwendet? Wir zeigen Ihnen, wie Sie sie finden.

So verwenden Sie AirPods mit Samsung-Handys

So verwenden Sie AirPods mit Samsung-Handys

Wenn Sie sich unsicher sind, ob Sie AirPods für Ihr Samsung-Handy kaufen sollen, kann dieser Leitfaden Ihnen auf jeden Fall helfen. Die offensichtlichste Frage ist, ob die beiden kompatibel sind, und die Antwort lautet: Ja, das sind sie!

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.