Hvað er þýðingarútlitsbufferinn?

Örgjörvar eru ótrúlega flókin dýr. Það er gríðarlegur fjöldi samtengdra hluta sem allir verða að vinna í fullkomnu samsteypu til að ná þeim frammistöðu sem við sjáum. Afköst minni er lykilatriði í frammistöðu nútíma örgjörva, sérstaklega sem takmarkandi þáttur.

Af hverju er minnishraði svona mikilvægur?

Örgjörvar eru ótrúlega hraðir, þar sem nýjustu kynslóðirnar keyra á 5,7GHz þegar þær eru nægilega kældar. Þetta gerir þeim kleift að ljúka 5,7 milljörðum aðgerða á hverri sekúndu. Margar af þessum aðgerðum framkvæma aðgerð á einhvers konar gögnum sem þarf að geyma í minni.

Aðalkerfisminni, þekkt sem vinnsluminni, er líka mjög hratt. Því miður er það mjög hratt miðað við allt annað en örgjörvann. Alger leynd á nútíma hágæða vinnsluminni er af stærðargráðunni 60 nanósekúndur. Því miður þýðir það um það bil 342 örgjörvalotur. Til að flýta fyrir minnisaðgangi er CPU skyndiminni notað sem vistar gögn á virkan hátt. Þetta skyndiminni er staðsett á örgjörvanum sjálfum og notar SRAM frumur frekar en DRAM frumur sem gerir það miklu hraðvirkara. Því miður er skyndiminni örgjörva líka miklu minna en vinnsluminni kerfisins, yfirleitt ekki einu sinni 100MB. Samt, þrátt fyrir smærri stærð, eykur þrepaskipt CPU skyndiminni kerfið verulega afköst kerfisins.

Hér kemur sýndarminni til að klúðra öllu

Nútíma tölvur nota kerfi sem kallast sýndarminni. Frekar en að úthluta líkamlegu minnisföngum til ferla eru sýndarminnisföng notuð. Hvert ferli hefur sitt eigið vistfangarými fyrir sýndarminni. Þetta hefur tvo kosti. Í fyrsta lagi veitir það auðveldan aðskilnað á milli minni sem tilheyrir einu ferli og minni sem tilheyrir öðru. Þetta hjálpar til við að koma í veg fyrir árásir þar sem illgjarn hugbúnaður les gögn úr minni annars hugbúnaðar og getur hugsanlega fengið aðgang að viðkvæmum upplýsingum. Það felur einnig líkamlega minni uppbyggingu frá ferlinu. Þetta gerir örgjörvanum kleift að færa sjaldan notaða minnisbita yfir í boðskrá á geymslu, án þess að taka hana endilega úr sýndarvinnsluminni. Þetta gerir tölvunni kleift að stjórna atburðarásum þar sem meira vinnsluminni er krafist en er líkamlega til staðar. Án sýndarminni,

Því miður, ef þú notar sýndarminnisföng þarf tölvan í raun að þýða þessi sýndarminnisföng yfir á líkamlegt minnisföng til að lesa gögnin. Þetta krefst töflu til að geyma allar þýðingar á sýndarminnisföngum yfir á líkamlegt minnisföng. Stærð þessa fer beint eftir því hversu mikið vinnsluminni er í notkun. Það er almennt frekar lítið, að minnsta kosti miðað við getu kerfisvinnsluminni. Því miður, ef þú geymir þýðinguna á milli sýndarvistfönga og líkamlegra heimilisfönga í vinnsluminni, þarftu að gera tvær beiðnir til vinnsluminni fyrir hverja beiðni um vinnsluminni. Einn til að finna heimilisfangið til að biðja um og svo annað til að fá aðgang að staðsetningunni.

Sláðu inn biðminni til hliðar við þýðingar

Lausnin á þessu vandamáli er að geyma þýðingartöfluna einhvers staðar hraðar. CPU skyndiminni myndi passa vel við reikninginn, að minnsta kosti frá hraðasjónarmiði. Vandamálið við það er hins vegar að CPU skyndiminni er pínulítið og þegar mikið notað. Taflan passar ekki aðeins í skyndiminni heldur myndi það trufla notkun þess sem þegar skilgreinir árangur.

Auðvitað, ef meginreglan um skyndiminni virkar nú þegar fyrir minnisaðgang, hvers vegna ekki að endurtaka það fyrir þýðingartöfluna? Og það er nákvæmlega það sem Translation Lookaside Buffer, eða TLB, er. Þetta er háhraða skyndiminni fyrir nýlegar þýðingar á heimilisfangi. Það er ekki nógu stórt til að geyma allt borðið, en smæð þess gerir það að verkum að það getur brugðist mjög hratt, innan einni klukkulotu.

Allar minnisbeiðnir fara í gegnum TLB. Ef það er TLB högg getur það gefið upp líkamlegt minnisfang fyrir raunverulega beiðni, venjulega bætt við einni lotu leynd. Ef það er TLB miss, þarf að fletta upp úr aðalminni. Það er lítil frammistöðu refsing fyrir TLB missi sem er um það bil 5 lotur, tap sem er meira en yfirskyggt af leynd minnisaðgangs. Þegar heimilisfangsþýðingin hefur verið sótt úr vinnsluminni kerfisins er henni ýtt inn í TLB og beiðnin er síðan endurtekin með tafarlausu TLB höggi.

Athugið: Það eru mismunandi kerfi fyrir brottrekstur TLB. Sumir kunna að nota First In, First Out eða FIFO kerfi. Aðrir kunna að nota kerfi sem minnst er notað eða LFU.

Í þeim sjaldgæfu tilfellum sem engin færsla er í veffangaþýðingartöflunni, stafar síðuvilla, þar sem umbeðin gögn eru ekki í vinnsluminni. Stýrikerfið verður þá að meðhöndla bilunina og flytja gögnin úr geymslu yfir í vinnsluminni áður en beiðnin getur haldið áfram.

Niðurstaða

Translation Lookaside Buffer, eða TLB, er háhraða CPU skyndiminni sem er tileinkað skyndiminni nýlegum þýðingum á heimilisfangi úr síðuskránni í vinnsluminni kerfisins. Þetta er nauðsynlegt þar sem sýndarminniskerfi, eins og þau eru útfærð í öllum nútímatölvum, krefjast tveggja beiðna um vinnsluminni fyrir hverja beiðni um vinnsluminni. Einn til að þýða sýndarminnisvistfangið yfir á líkamlegt minnisfang og annað til að fá raunverulega aðgang að líkamlegu heimilisfanginu. Með því að safna nýlegum þýðingum í skyndiminni er hægt að draga verulega úr minnisleynd fyrir TLB hits.

Gæta verður að því að þýðingar í skyndiminni séu viðeigandi fyrir núverandi ferli. Þar sem hvert ferli hefur mismunandi sýndarheimilisfang er ekki hægt að endurnýta þau. Að takmarka þetta ekki stranglega var orsökin á bak við Meltdown varnarleysið.


Hvernig á að klóna harðan disk

Hvernig á að klóna harðan disk

Í nútíma stafrænni öld, þar sem gögn eru dýrmæt eign, getur klónun á harða diskinum á Windows verið mikilvægt ferli fyrir marga. Þessi alhliða handbók

Hvernig á að laga bílstjóri WUDFRd tókst ekki að hlaðast á Windows 10?

Hvernig á að laga bílstjóri WUDFRd tókst ekki að hlaðast á Windows 10?

Stendur þú frammi fyrir villuboðunum þegar þú ræsir tölvuna þína sem segir að bílstjóri WUDFRd hafi ekki hlaðast á tölvuna þína?

Hvernig á að laga NVIDIA GeForce Experience villukóða 0x0003

Hvernig á að laga NVIDIA GeForce Experience villukóða 0x0003

Ertu með NVIDIA GeForce reynslu villukóða 0x0003 á skjáborðinu þínu? Ef já, lestu bloggið til að finna hvernig á að laga þessa villu fljótt og auðveldlega.

Hvað er SMPS?

Hvað er SMPS?

Lærðu hvað er SMPS og merkingu mismunandi skilvirknieinkunna áður en þú velur SMPS fyrir tölvuna þína.

Af hverju er ekki kveikt á Chromebook

Af hverju er ekki kveikt á Chromebook

Fáðu svör við spurningunni: Af hverju kveikir ekki á Chromebook? Í þessari gagnlegu handbók fyrir Chromebook notendur.

Hvernig á að tilkynna vefveiðar til Google

Hvernig á að tilkynna vefveiðar til Google

Lærðu hvernig á að tilkynna svindlara til Google til að koma í veg fyrir að hann svindli aðra með þessari handbók.

Roomba stoppar, stingur og snýr við – laga

Roomba stoppar, stingur og snýr við – laga

Lagaðu vandamál þar sem Roomba vélmenni ryksuga þín stoppar, festist og heldur áfram að snúa sér.

Hvernig á að breyta grafíkstillingum á Steam Deck

Hvernig á að breyta grafíkstillingum á Steam Deck

Steam Deckið býður upp á öfluga og fjölhæfa leikjaupplifun innan seilingar. Hins vegar, til að hámarka leikina þína og tryggja það besta mögulega

Hvað er einangrunarbundið öryggi?

Hvað er einangrunarbundið öryggi?

Ætluðum að kafa ofan í efni sem er að verða sífellt mikilvægara í heimi netöryggis: einangrunarbundið öryggi. Þessi nálgun við

Hvernig á að nota Auto Clicker fyrir Chromebook

Hvernig á að nota Auto Clicker fyrir Chromebook

Ætluðum í dag að kafa ofan í tól sem getur gert sjálfvirkt endurtekin smellaverkefni á Chromebook þinni: Auto Clicker. Þetta tól getur sparað þér tíma og