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

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.