Was ist der Translation Lookaside Buffer?

CPUs sind unglaublich komplexe Bestien. Es gibt eine riesige Anzahl miteinander verbundener Teile, die alle perfekt im Einklang arbeiten müssen, um das Leistungsniveau zu erreichen, das wir sehen. Die Speicherleistung ist ein Schlüsselfaktor für die Leistung moderner CPUs, insbesondere als begrenzender Faktor.

Warum ist Speichergeschwindigkeit so wichtig?

CPUs sind unglaublich schnell, wobei die neuesten Generationen bei angemessener Kühlung mit 5,7 GHz laufen. Damit können sie jede Sekunde 5,7 Milliarden Operationen durchführen. Viele dieser Operationen führen eine Aktion mit einem Datentyp aus, der im Speicher gespeichert werden muss.

Der Hauptsystemspeicher, bekannt als RAM, ist ebenfalls sehr schnell. Leider ist es im Vergleich zu etwas anderem als der CPU sehr schnell. Die absolute Latenz bei modernem High-End-RAM liegt in der Größenordnung von 60 Nanosekunden. Leider entspricht das ungefähr 342 CPU-Zyklen. Um den Speicherzugriff zu beschleunigen, wird ein CPU-Cache verwendet, der Daten dynamisch zwischenspeichert. Dieser Cache befindet sich auf dem CPU-Die selbst und verwendet SRAM-Zellen anstelle von DRAM-Zellen, was ihn viel schneller macht. Leider ist der CPU-Cache auch viel kleiner als der System-RAM und beträgt im Allgemeinen nicht einmal 100 MB. Trotz seiner geringen Größe erhöht das abgestufte CPU-Cache-System die Systemleistung massiv.

Hier kommt der virtuelle Speicher, um alles durcheinander zu bringen

Moderne Computer verwenden ein System, das als virtueller Speicher bezeichnet wird. Anstatt Prozessen physische Speicheradressen zuzuweisen, werden virtuelle Speicheradressen verwendet. Jeder Prozess hat seinen eigenen virtuellen Speicheradressraum. Dies hat zwei Vorteile. Erstens bietet es eine einfache Trennung zwischen Speicher, der zu einem Prozess gehört, und Speicher, der zu einem anderen gehört. Dies trägt dazu bei, Angriffe zu verhindern, bei denen bösartige Software Daten aus dem Speicher anderer Software liest und möglicherweise auf vertrauliche Informationen zugreift. Es verbirgt auch die physische Speicherstruktur vor dem Prozess. Dadurch kann die CPU selten verwendete Speicherbits in eine Auslagerungsdatei im Speicher verschieben, ohne sie unbedingt aus dem virtuellen RAM zu trennen. Dadurch kann der Computer Szenarien, in denen mehr RAM erforderlich ist, als physisch vorhanden ist, sanft verwalten. Ohne virtuellen Speicher

Wenn Sie virtuelle Speicheradressen verwenden, muss der Computer leider diese virtuellen Speicheradressen tatsächlich in physische Speicheradressen übersetzen, um die Daten zu lesen. Dies erfordert eine Tabelle zum Speichern aller Übersetzungen von virtuellen Speicheradressen in physische Speicheradressen. Die Größe davon hängt direkt von der Menge des verwendeten Arbeitsspeichers ab. Es ist im Allgemeinen ziemlich klein, zumindest im Vergleich zur Kapazität des System-RAM. Wenn Sie die Übersetzung zwischen virtuellen Adressen und physikalischen Adressen im RAM speichern, müssen Sie leider für jede Anforderung an das RAM zwei Anforderungen an das RAM stellen. Eine, um die anzufordernde physische Adresse zu finden, und eine andere, um tatsächlich auf diesen Standort zuzugreifen.

Geben Sie den Lookaside-Puffer für die Übersetzung ein

Die Lösung für dieses Problem besteht darin, die Übersetzungstabelle an einem schnelleren Ort zu speichern. Der CPU-Cache würde zumindest aus Geschwindigkeitsgründen gut ins Bild passen. Das Problem dabei ist jedoch, dass der CPU-Cache winzig und bereits stark ausgelastet ist. Die Tabelle passt nicht nur nicht in den Cache, sondern würde auch ihre bereits leistungsbestimmende Verwendung stören.

Wenn das Prinzip des Caches bereits für den Speicherzugriff funktioniert, warum sollte man es natürlich nicht für die Übersetzungstabelle wiederholen? Und genau das ist der Translation Lookaside Buffer oder TLB. Es ist ein Hochgeschwindigkeits-Cache für aktuelle Adressübersetzungen. Es ist nicht groß genug, um die gesamte Tabelle zu speichern, aber seine geringe Größe bedeutet, dass es innerhalb eines einzigen Taktzyklus sehr schnell reagieren kann.

Jede Speicheranforderung geht über den TLB. Wenn es einen TLB-Treffer gibt, kann er die physische Speicheradresse für die eigentliche Anfrage bereitstellen, was normalerweise einen einzelnen Latenzzyklus hinzufügt. Wenn es einen TLB-Fehltreffer gibt, muss die Suche aus dem Hauptspeicher durchgeführt werden. Bei einem TLB-Fehlschlag gibt es eine kleine Leistungseinbuße von etwa 5 Zyklen, ein Verlust, der durch die Speicherzugriffslatenz mehr als in den Schatten gestellt wird. Sobald die Adressübersetzung aus dem System-RAM abgerufen wurde, wird sie in den TLB geschoben und die Anforderung wird dann mit einem sofortigen TLB-Treffer wiederholt.

Hinweis: Es gibt verschiedene Schemata für die TLB-Räumung. Einige verwenden möglicherweise ein First-In-, First-Out- oder FIFO-Schema. Andere können ein am wenigsten häufig verwendetes oder LFU-Schema verwenden.

In dem seltenen Fall, dass es keinen Eintrag in der Adressübersetzungstabelle gibt, wird ein Seitenfehler verursacht, da die angeforderten Daten nicht im RAM sind. Das Betriebssystem muss dann den Fehler behandeln und die Daten vom Speicher in den RAM übertragen, bevor die Anforderung fortgesetzt werden kann.

Abschluss

Der Translation Lookaside Buffer oder TLB ist ein Hochgeschwindigkeits-CPU-Cache, der dazu bestimmt ist, die letzten Adressübersetzungen aus der Auslagerungsdatei im System-RAM zwischenzuspeichern. Dies ist notwendig, da virtuelle Speichersysteme, wie sie in allen modernen Computern implementiert sind, zwei RAM-Anforderungen für jede RAM-Anforderung erfordern würden. Eine zum Übersetzen der virtuellen Speicheradresse in eine physische Speicheradresse und eine andere zum tatsächlichen Zugreifen auf die physische Adresse. Durch Zwischenspeichern der letzten Übersetzungen kann die Speicherlatenz für TLB-Treffer stark reduziert werden.

Es muss darauf geachtet werden, dass zwischengespeicherte Übersetzungen für den derzeit aktiven Prozess relevant sind. Da jeder Prozess einen anderen virtuellen Adressraum hat, können sie nicht wiederverwendet werden. Dies nicht strikt einzuschränken, war die Ursache für die Meltdown-Schwachstelle.



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.