Mi az a Fordítási Lookaside Buffer?

A CPU-k hihetetlenül összetett vadállatok. Rengeteg egymáshoz kapcsolódó alkatrész létezik, amelyeknek tökéletes összhangban kell működniük ahhoz, hogy elérjük az általunk látott teljesítményszintet. A memória teljesítménye kulcsfontosságú tényező a modern CPU-k teljesítményében, különösen korlátozó tényezőként.

Miért olyan fontos a memória sebessége?

A CPU-k hihetetlenül gyorsak, a legújabb generációk megfelelő hűtés mellett 5,7 GHz-en működnek. Ez lehetővé teszi számukra, hogy másodpercenként 5,7 milliárd műveletet hajtsanak végre. E műveletek közül sok olyan műveletet hajt végre bizonyos típusú adatokon, amelyeket a memóriában kell tárolni.

A fő rendszermemória, az úgynevezett RAM, szintén nagyon gyors. Sajnos a CPU-n kívül bármihez képest nagyon gyors. A modern csúcskategóriás RAM abszolút késleltetése 60 nanoszekundum nagyságrendű. Sajnos ez nagyjából 342 CPU-ciklust jelent. A memória-hozzáférés felgyorsítása érdekében CPU-gyorsítótárat használnak, amely dinamikusan gyorsítótárazza az adatokat. Ez a gyorsítótár magán a CPU-n található, és SRAM-cellákat használ DRAM-cellák helyett, így sokkal gyorsabb. Sajnos a CPU gyorsítótár is sokkal kisebb, mint a rendszer RAM, általában nem éri el a 100 MB-ot sem. Ennek ellenére kicsi mérete ellenére a többszintű CPU-gyorsítótár rendszer jelentősen növeli a rendszer teljesítményét.

Itt jön a virtuális memória, hogy mindent összezavarjon

A modern számítógépek egy virtuális memóriának nevezett rendszert használnak. Ahelyett, hogy fizikai memóriacímeket rendelnének a folyamatokhoz, virtuális memóriacímeket használnak. Minden folyamatnak megvan a saját virtuális memória címtere. Ennek két előnye van. Először is, könnyen elválasztja az egyik folyamathoz tartozó memóriát és a másikhoz tartozó memóriát. Ez segít megelőzni azokat a támadásokat, amelyek során a rosszindulatú szoftverek adatokat olvasnak ki más szoftverek memóriájából, és érzékeny információkhoz juthatnak hozzá. A fizikai memória szerkezetét is elrejti a folyamat elől. Ez lehetővé teszi a CPU számára, hogy a ritkán használt memória biteket áthelyezze a tárolón lévő lapozófájlba anélkül, hogy szükségszerűen lecsatolná a virtuális RAM-ról. Ez lehetővé teszi a számítógép számára, hogy óvatosan kezelje azokat a forgatókönyveket, amikor több RAM-ra van szükség, mint amennyi fizikailag rendelkezésre áll. Virtuális memória nélkül,

Sajnos, ha virtuális memóriacímeket használ, a számítógépnek ténylegesen le kell fordítania ezeket a virtuális memóriacímeket fizikai memóriacímekre az adatok olvasásához. Ehhez egy táblázatra van szükség, amely tárolja a virtuális memóriacímek összes fordítását fizikai memóriacímekre. Ennek mérete közvetlenül függ a használt RAM mennyiségétől. Általában meglehetősen kicsi, legalábbis a rendszer RAM kapacitásához képest. Sajnos, ha a virtuális címek és a fizikai címek közötti fordítást a RAM-ban tárolja, két kérést kell küldenie a RAM-nak minden RAM-hoz intézett kéréshez. Az egyik a kérendő fizikai cím megkeresésére, a másik pedig az adott hely tényleges eléréséhez.

Adja meg a fordítási kinézeti puffert

A probléma megoldása a fordítási tábla gyorsabb tárolása valahol. A CPU-gyorsítótár legalábbis sebesség szempontjából remekül passzolna a számlához. Ezzel azonban az a probléma, hogy a CPU gyorsítótár kicsi, és már erősen kihasznált. A tábla nemcsak hogy nem fér el a gyorsítótárban, de ez megzavarná a már amúgy is teljesítmény-meghatározó használatát.

Természetesen, ha a gyorsítótár elve már működik a memóriaelérésnél, miért ne ismételje meg a fordítási táblázatban? És pontosan ez a Translation Lookaside Buffer vagy a TLB. Ez egy nagy sebességű gyorsítótár a legutóbbi címfordításokhoz. Nem elég nagy ahhoz, hogy az egész táblázatot tárolja, de kis mérete miatt nagyon gyorsan, egyetlen órajelen belül képes reagálni.

Minden memóriakérelem a TLB-n keresztül megy. Ha TLB-találat érkezik, az megadhatja a tényleges kérés fizikai memóriacímét, általában egyetlen késleltetési ciklus hozzáadásával. Ha TLB hiányzik, a keresést a fő memóriából kell végrehajtani. A TLB körülbelül 5 ciklusos kihagyása esetén egy kis teljesítménybüntetés jár, amely veszteséget több mint elhomályosít a memóriaelérési késleltetés. Amint a címfordítás lekérésre került a rendszer RAM-ból, a TLB-be kerül, majd a kérés azonnali TLB találattal megismétlődik.

Megjegyzés: Különféle sémák léteznek a TLB kilakoltatására. Néhányan First In, First Out vagy FIFO sémát használhatnak. Mások a legkevésbé gyakran használt vagy LFU sémát használhatnak.

Abban a ritka esetben, amikor nincs bejegyzés a címfordítási táblázatban, oldalhiba keletkezik, mivel a kért adatok nincsenek a RAM-ban. Az operációs rendszernek ezután kezelnie kell a hibát, és át kell vinnie az adatokat a tárolóból a RAM-ba, mielőtt a kérés folytatódhat.

Következtetés

A Translation Lookaside Buffer vagy TLB egy nagy sebességű CPU gyorsítótár, amely a legutóbbi címfordítások gyorsítótárazására szolgál a rendszer RAM-jában lévő oldalfájlból. Erre azért van szükség, mert a virtuális memóriarendszerek, amint azt minden modern számítógépben megvalósítják, két kérést tesznek szükségessé a RAM felé minden RAM-kéréshez. Az egyik a virtuális memória címének fizikai memóriacímmé való lefordításához, a másik pedig a fizikai cím tényleges eléréséhez. A legutóbbi fordítások gyorsítótárazásával a memória késleltetése jelentősen csökkenthető a TLB találatoknál.

Gondoskodni kell arról, hogy a gyorsítótárazott fordítások relevánsak legyenek az éppen aktív folyamat szempontjából. Mivel minden folyamatnak más virtuális címtere van, nem használhatók fel újra. Ennek szigorú korlátozása volt az oka a Meltdown sebezhetőségének.


Merevlemez klónozása

Merevlemez klónozása

A modern digitális korban, ahol az adatok értékes eszközök, a merevlemez klónozása Windows rendszeren sokak számára döntő fontosságú folyamat lehet. Ez az átfogó útmutató

Hogyan javítható a WUDFRd illesztőprogram betöltése a Windows 10 rendszeren?

Hogyan javítható a WUDFRd illesztőprogram betöltése a Windows 10 rendszeren?

A számítógép indításakor a hibaüzenet azt jelzi, hogy nem sikerült betölteni a WUDFRd illesztőprogramot a számítógépére?

Az NVIDIA GeForce Experience hibakód 0x0003 kijavítása

Az NVIDIA GeForce Experience hibakód 0x0003 kijavítása

Az NVIDIA GeForce tapasztalati hibakód 0x0003 az asztalon? Ha igen, olvassa el a blogot, hogy megtudja, hogyan javíthatja ki ezt a hibát gyorsan és egyszerűen.

Mi az SMPS?

Mi az SMPS?

Mielőtt SMPS-t választana számítógépéhez, ismerje meg, mi az SMPS és mit jelent a különböző hatékonysági besorolások.

Miért nem kapcsol be a Chromebookom?

Miért nem kapcsol be a Chromebookom?

Válaszokat kaphat a következő kérdésre: Miért nem kapcsol be a Chromebookom? Ebben a Chromebook-felhasználóknak szóló hasznos útmutatóban.

Az adathalász csalások bejelentése a Google-nak

Az adathalász csalások bejelentése a Google-nak

Ebből az útmutatóból megtudhatja, hogyan jelentheti be a csalókat a Google-nak, hogy megakadályozza, hogy átverjenek másokat.

A Roomba megáll, kiáll és megfordul – Javítás

A Roomba megáll, kiáll és megfordul – Javítás

Javítsa ki azt a problémát, amikor a Roomba robotporszívója leáll, beragad, és folyamatosan megfordul.

Grafikai beállítások módosítása a Steam Decken

Grafikai beállítások módosítása a Steam Decken

A Steam Deck robusztus és sokoldalú játékélményt kínál az Ön keze ügyében. Azonban a játék optimalizálása és a lehető legjobb biztosítása érdekében

Mi az elszigetelésen alapuló biztonság?

Mi az elszigetelésen alapuló biztonság?

Egy olyan témában készültek elmélyülni, amely egyre fontosabbá válik a kiberbiztonság világában: az elszigeteltségen alapuló biztonsággal. Ez a megközelítés a

Az Auto Clicker használata Chromebookhoz

Az Auto Clicker használata Chromebookhoz

Ma egy olyan eszközzel készültünk, amely képes automatizálni az ismétlődő kattintási feladatokat a Chromebookon: az Automatikus klikkelőt. Ezzel az eszközzel időt takaríthat meg és