Mga Tutorial

Ano ang l1, l2 at l3 cache at paano ito gumagana?

Talaan ng mga Nilalaman:

Anonim

Nakarating na ba kayo narinig ng cache L1, L2, at L3 ? Tiyak na oo, ngunit kung hindi ka sigurado kung ano talaga ang ibig sabihin ng mga antas ng cache na ito, susubukan naming ipaliwanag ang lahat sa abot ng aming makakaya. Mula ngayon mas mahusay mong maunawaan ang mga katangian ng memorya ng isang processor.

Malalaman mo na ang isa sa mga pinakamahalagang sangkap ng isang computer ay ang memorya nito, nagsasalita kami siyempre ng memorya ng RAM, ang isa kung saan ang lahat ng mga programa at operating system ay na-load upang magamit ang mga ito ng processor o kailangang mag-access sa disk mahirap.

Ang RAM ay mas mabilis kaysa sa isang hard drive, lalo na kaysa sa mga mechanical drive. Ngunit mayroon pa ring isang mas mabilis na memorya sa aming computer, partikular sa loob ng aming processor, at ito ang memorya ng cache, na kung saan ay makikita natin ngayon.

Indeks ng nilalaman

Ano ang memorya ng cache ng isang CPU

Ang unang bagay na dapat nating malaman ay kung ano ang cache sa pangkalahatan. Tulad ng nasabi na namin, sa loob ng isang PC mayroong maraming mga uri ng memorya at tiyak na ang memorya ng cache ay ang pinakamabilis ng lahat.

Mga antas ng imbakan

Upang magsimula, sa unang hakbang magkakaroon kami ng pangunahing imbakan, na walang alinlangan ay mga hard drive. Sa kanila ang lahat ng impormasyon ay naka-imbak nang permanente, mula dito ang operating system ay gumagawa ng isang functional na PC. Ito ang pinakamabagal na memorya, mula sa halos 150MB / s sa isang HDD (mechanical hard drive) hanggang sa kahanga-hangang 3, 500MB / s ng pinakamabilis na SSD sa merkado.

Pangalawa, magkakaroon kami ng random na memorya ng pag-access o RAM. Ito ay isang mas maliit na solidong memorya ng estado, na kung saan ay hindi may kakayahang mag-imbak ng data nang permanente at kumikilos bilang isang gateway sa pagitan ng hard disk at ang processor. Nag-aalok ito ng isang bilis na mas malaki kaysa sa 30, 000 MB / s sa DDR4. Ang memorya ay tinatawag ding DRAM (Dynamic RAM) dahil kailangan itong patuloy na mai-update upang maiwasan ang pagkawala ng impormasyon.

Ang pangatlong antas, ang pinakamabilis

At sa wakas dumating kami sa isa sa tuktok, ang cache. Ito ay isang napakaliit na memorya na naka- install sa loob ng sarili nitong microprocessor at ng uri ng SRAM (Static RAM). Ito ay mas mahal sa paggawa kaysa sa normal na RAM, at maaaring humawak ng data nang hindi palaging ina-update.

Ang katotohanan na mai -install sa loob ng CPU ay ginagawang pinakamalapit sa mga cores ng pagproseso, at iyon ang dahilan kung bakit dapat itong mapahamak nang mabilis. Sa katunayan, umabot ito sa bilis ng higit sa 200 GB / s at mga latitude ng halos 10 o 11 ns (nanoseconds). Ang memorya ng cache ay namamahala sa pag-iimbak ng mga tagubilin na malapit na mapuproseso ng CPU, upang ma-access ito nang mabilis hangga't maaari.

Kaugnay nito, ang memorya ng cache ay nahahati sa maraming mga antas, ang bawat isa ay mas mabilis, mas maliit at mas malapit sa processor. Ang mga nagproseso ay kasalukuyang may kabuuang tatlong antas ng memorya ng cache sa loob. Bago natin mapasok ito, tingnan natin kung paano gumagana ang isang cache.

Paano gumagana ang caching

Maaaring hindi mo ito alam, ngunit halos lahat ng mga peripheral at elemento ng isang computer ay may sariling memorya ng cache, halimbawa, ang hard drive ang kanilang sarili, ang printer, at siyempre ang mga GPU ng mga graphics card. At ang pag-andar ng lahat ng mga ito, kasama na ang isang CPU ay pareho.

Tulad ng alam natin, ang isang computer ay "matalino" salamat sa operating system at mga programa nito. Ang bawat isa sa mga program na ito ay nilikha mula sa isang programming language, na naman ay isang hanay ng mga tagubilin na dapat isagawa sa maayos na paraan sa CPU. Sinabi namin sa isang maayos na paraan dahil sa puntong ito na ang pagtataguyod ng iba't ibang antas ng imbakan ay may katuturan.

Ang data ay naka-imbak sa isang nakapirming paraan sa hard drive, ngunit dahil ang mga ito ay napakabagal at "malayo" mula sa CPU, sila ay nai-load bago sa memorya ng RAM, mas mabilis na imbakan at ginagamit lamang para sa mga programa na sa operasyon.

Nagmumula ang memorya ng memorya

Ngunit hindi pa rin ito sapat, dahil ang mga CPU ngayon ay napakabilis at may kakayahang magsagawa ng milyun-milyong mga operasyon bawat segundo sa bawat pangunahing, pumapasok ang cache. Sa loob ng CPU mayroong isang controller ng memorya, na kung saan ay karaniwang tinatawag na north bridge o north bridge at isang chip na naka-install sa motherboard. Well, ang memorya ng controller na ito ay nasa loob ng CPU at pinangangasiwaan ang pagkuha ng mga tagubilin na isasagawa mula sa memorya ng RAM, at sa pagbabalik ng mga resulta ng pag-proseso ng pag-proseso.

Ngunit mayroon ding dalawang uri ng mga bus na namamahala sa pakikipag-usap sa CPU gamit ang memorya ng RAM, tinawag silang data bus at address bus:

  • Data bus: ang mga ito ay karaniwang ang mga track kung saan ang data at mga tagubilin ay kumakalat. Magkakaroon ng isang data bus na nakikipag-usap sa RAM, cache at cores sa bawat isa. Address bus: ito ay isang independiyenteng channel kung saan hinihiling ng CPU ang memorya ng memorya kung saan matatagpuan ang data. Ang mga tagubilin ay naka-imbak sa mga cell ng memorya, na mayroong isang address, at pareho ang RAM, cache at CPU ay dapat malaman ito upang hanapin ang data na pinag-uusapan.

L1, L2 at L3 cache

Sa ngayon, naiintindihan na namin kung paano gumagana ang imbakan sa isang PC, at kung paano gumagana ang caching. Ngunit dapat nating malaman na mayroong isang cache L1, L2 at L3 sa loob ng CPU, tila hindi kapani-paniwala na ang isang bagay na napakaliit na magkasya nang labis? Para sa mga tatlong antas ng memorya ng cache na umaangkop sa isang hierarchy ng bilis at syempre, ng kapasidad.

Memorya ng L1 cache

Ang L1 cache ay ang pinakamabilis na pagsasaayos, ang pinakamalapit sa mga cores. Inilalagay nito ang data na magagamit agad ng CPU, at iyon ang dahilan kung bakit ang mga bilis ay nasa paligid ng 1150 GB / s at ang latency ay 0.9 ns lamang.

Ang laki ng memorya ng cache na ito ay nasa paligid ng 256 KB sa kabuuan, kahit na depende sa lakas ng CPU (at gastos) magiging mas kaunti o higit pa, sa katunayan, ang mga processors ng Workstation tulad ng Intel Core i9-7980 XE ay mayroong ilang 1152 KB sa kabuuan.

Ang L1 cache na ito ay nahahati sa dalawang uri, ang L1 data cache at ang L1 na cache ng pagtuturo, ang una ay responsable sa pag-iimbak ng data na maproseso at ang pangalawang mag-iimbak ng impormasyon sa operasyon na isasagawa (karagdagan, pagbabawas, pagdaragdag, atbp.

Bilang karagdagan, ang bawat core ay may sariling mga L1 cache, kaya kung mayroon kaming isang 6-core processor, magkakaroon kami ng 6 na L1 cache na nahahati sa L1 D at L1 I. Sa mga processor ng Intel bawat isa ay 32 KB, at sa Ang mga processors ng AMD ay 32 KB o 64 KB din sa L1 I. Siyempre mag-iiba sila ayon sa kalidad at kapangyarihan, tulad ng dati.

Memorya ng L2 cache

Ang susunod na makikita namin ay ang L2 o antas 2 cache. Ito ay may higit na kapasidad ng imbakan, kahit na ito ay magiging isang maliit na mabagal, tungkol sa 470 GB / s at 2.8 ns latency. Ang laki ng imbakan ay karaniwang nag-iiba sa pagitan ng 256 KB at 18 MB. Nakita na natin na ang mga ito ay sapat na mga kapasidad para sa mga bilis na hawakan namin.

Ang mga tagubilin at data ay nakaimbak sa loob nito at malapit nang magamit ng CPU, at sa kasong ito hindi nahahati sa Mga Tagubilin at data. Ngunit mayroon kaming isang L2 cache para sa bawat pangunahing, hindi bababa sa ito ang kaso sa mga pinaka may-katuturang mga processors. Para sa bawat pangunahing, karaniwang may 256, 512, o hanggang sa 1024 KB.

Memorya ng L3 cache

Sa wakas ay makikita namin ang L3 cache, na may nakalaang puwang para dito sa processor chip. Ito ang magiging pinakamalaking at din ang pinakamabagal, pinag-uusapan natin ang higit sa 200 GB / s at 11 ns ng latency.

Sa kasalukuyan ang isang karapat-dapat na processor ay magkakaroon ng hindi bababa sa 4MB ng L3 cache, at makikita hanggang sa 64MB ang makikita. Ang L3 ay karaniwang kumakalat sa halos 2MB bawat pangunahing, ngunit sabihin lamang na hindi ito sa loob ng bawat pangunahing, kaya mayroong isang data bus upang makipag-usap sa kanila. Ang solvency at bilis ng isang CPU higit sa lahat ay nakasalalay sa bus na ito at ang memorya ng RAM mismo, at ito ay kung saan nakuha ng Intel ang kapangyarihan nito mula sa AMD.

Paano malalaman ang cache L1, L2 at L3 ng aking processor

Kaya, ang isa sa pinakamabilis na paraan upang malaman ang impormasyong ito ay upang i- download ang tool na CPU-Z, na ganap na libre at magbibigay sa iyo ng kumpletong impormasyon tungkol sa iyong CPU. Kahit na ang tatlong mga antas at ang halaga ng imbakan para sa bawat isa. Maaari mong i-download ito mula sa opisyal na website.

Maaari mo ring ilagay ang gumawa at modelo sa browser at tumungo sa pahina ng tagagawa, kahit na karaniwang nagbibigay lamang sila ng impormasyon tungkol sa L3 cache. Siyempre, sa lahat ng aming pagsusuri ng mga processor ay nagbibigay kami ng kumpletong impormasyon tungkol sa cache ng bawat CPU at benchmark namin ang pagganap nito.

Kakayahan, lapad ng bus at kawalan ng cache

Naunawaan namin na ang data ay dumadaloy mula sa hard drive hanggang sa core ng pagproseso sa lahat ng mga antas ng memorya. Kung saan hahanapin muna ng processor ang susunod na pagtuturo upang maproseso, nasa memorya ng cache, dapat malaman ng isang sistema ng kalidad kung paano tama mahanap ang data batay sa kahalagahan nito upang mabawasan ang mga oras ng pag-access sa kanila, na kung saan ay tinatawag na latency.

Ang latency ay pagkatapos ang oras na kinakailangan upang ma-access ang data mula sa memorya. Ang mas malayo at mabagal, mas mataas na latency at mas mahaba ang CPU ay kailangang maghintay para sa susunod na pagtuturo. Kaya kung ang isang tagubilin ay hindi matatagpuan sa memorya ng cache, dapat na hanapin ito ng processor nang direkta sa memorya ng RAM, ito ay tinatawag na kakulangan ng cache o miss cache, ito ay kapag ang isang mabagal na PC ay nakaranas.

Ang lapad ng bus ay may kahalagahan din para sa bilis, dahil minarkahan nito ang kakayahang maglipat ng mas malaking mga bloke ng data mula sa memorya sa CPU. Parehong CPU at RAM ay 64 bits, ngunit ang pag-andar ng Dual Channel ay may kakayahang pagdoble ang kapasidad na ito sa 128 bit upang ang paglipat sa pagitan ng mga elementong ito ay may higit na kapasidad.

Konklusyon tungkol sa memorya ng L1, L2 at L3 cache

Kami ay palaging tumingin ng maraming sa bilang ng mga cores at ang bilis ng isang processor, malinaw na higit sa lahat ito ay tinutukoy ang kabuuang bilis nito. Ngunit ang isang elemento na kung minsan ay hindi karaniwang isinasaalang-alang ay ang memorya ng cache, at ito ay mahalaga pagdating sa pagkakaroon ng isang malakas na processor.

Ang pagkakaroon ng isang 6-core na CPU na may 4 o 16 MB ng L3 cache halimbawa, ay magiging napaka makabuluhan pagdating sa pagsukat sa pagganap nito, lalo na kung mayroon kaming maraming mga bukas na programa. Kaya, mula ngayon, tingnan ang seksyon na ito kapag nagpasya kang bumili ng isang processor, sapagkat hindi lahat ay nakasalalay sa dalas.

Mayroon kaming mas kawili-wiling mga tutorial sa paksang ito, kaya't iniiwan namin ang mga ito:

Inirerekumenda din namin ang aming na-update na mga gabay sa hardware:

Inaasahan namin na ang lahat ng impormasyong ito ay naging kapaki-pakinabang sa iyo upang malaman ang higit pa tungkol sa mga processors at memorya ng cache. Kung mayroon kang mga katanungan maaari kang magtanong sa amin sa kahon ng komento. Makita ka sa susunod na tutorial!

Mga Tutorial

Pagpili ng editor

Back to top button