Jak důležitá je L3 cache pro procesory AMD?

Skutečně má smysl vybavit vícejádrové procesory vyhrazenou pamětí, kterou budou sdílet všechna dostupná jádra. V této roli může rychlá L3 cache výrazně urychlit přístup k nejčastěji žádaným datům. Pak jádra, pokud je taková příležitost, nebudou muset přistupovat k pomalé hlavní paměti (RAM, RAM).

Alespoň teoreticky. Nedávno AMD oznámil procesor Athlon II X4, což je model Phenom II X4 bez L3 cache, což naznačuje, že to není tak nutné. Rozhodli jsme se přímo porovnat dva procesory (s a bez mezipaměti L3), abychom zjistili, jak mezipaměť ovlivňuje výkon.

Pro zvětšení klikněte na obrázek.

Jak cache funguje?

Než se vrhneme na testy, je důležité porozumět některým základům. Princip keše je celkem jednoduchý. Mezipaměť ukládá data do vyrovnávací paměti co nejblíže zpracovatelským jádrům procesoru, aby se omezily požadavky CPU na vzdálenější a pomalejší paměť. Na moderních desktopových platformách zahrnuje hierarchie mezipaměti až tři úrovně, které předcházejí přístupu paměť s náhodným přístupem. Kromě toho cache druhé a zejména třetí úrovně slouží nejen pro ukládání dat do vyrovnávací paměti. Jejich účelem je zabránit přetížení sběrnice CPU, když si jádra potřebují vyměňovat informace.

Zásahy a neúspěchy

Účinnost architektury mezipaměti se měří procentem zásahů. Požadavky na data, které může vyrovnávací paměť uspokojit, jsou považovány za přístupy. Pokud tato mezipaměť neobsahuje požadovaná data, je požadavek předán dále po paměťovém potrubí a je započítána chyba. Chyby samozřejmě vedou k delšímu času potřebnému k získání informací. V důsledku toho se ve výpočetním potrubí objevují „bubliny“ (prostoje) a zpoždění. Hity naopak umožňují udržet maximální výkon.

Zápis do mezipaměti, exkluzivita, koherence

Zásady nahrazení určují, jak bude prostor mezipaměti dostupný pro nové položky. Protože se data zapsaná do mezipaměti musí dříve nebo později objevit v hlavní paměti, mohou to systémy provést současně se zápisem do mezipaměti (zápis) nebo mohou označit datovou oblast jako „špinavou“ (zpětný zápis), a zapsat do paměti, když bude vyřazen z mezipaměti.

Data v několika úrovních mezipaměti mohou být uložena výhradně, tedy bez redundance. Pak nenajdete identické datové řádky ve dvou různých hierarchiích cache. Nebo mohou mezipaměti fungovat inkluzivně, to znamená, že nižší úrovně mezipaměti budou zaručeně obsahovat data přítomná v horních úrovních mezipaměti (blíže k jádru procesoru). AMD Phenom používá exkluzivní mezipaměť L3, zatímco Intel se řídí inkluzivní strategií mezipaměti. Koherenční protokoly udržují data konzistentní a aktuální napříč jádry, úrovněmi mezipaměti a dokonce i procesory.

Velikost mezipaměti

Větší mezipaměť pojme více dat, ale má tendenci zvyšovat latenci. Velká mezipaměť navíc spotřebovává značné množství tranzistorů procesoru, takže je důležité najít rovnováhu mezi „rozpočtem“ tranzistorů, velikostí matrice, spotřebou energie a výkonem / latencí.

Asociativnost

Záznamy v RAM mohou být přímo mapovány do mezipaměti, to znamená, že v mezipaměti existuje pouze jedna pozice pro kopii dat z RAM, nebo mohou být n-směrně asociativní, to znamená, že v mezipaměti je n možných umístění. kde mohou být tato data uložena. Více vysoký stupeň asociativita (až po plně asociativní mezipaměti) poskytuje nejlepší flexibilitu ukládání do mezipaměti, protože existující data v mezipaměti není nutné přepisovat. Jinými slovy, vysoký n-stupeň asociativnosti zaručuje vyšší četnost shody, ale zvyšuje latenci, protože otestování všech těchto přidružení zabere více času. Nejvyšší stupeň asociace je zpravidla přiměřený pro poslední úroveň mezipaměti, protože je zde k dispozici maximální kapacita a hledání dat mimo tuto mezipaměť způsobí, že procesor bude přistupovat k pomalé paměti RAM.

Abychom uvedli několik příkladů, Core i5 a i7 používají 32 KB L1 cache s 8cestnou asociativitou pro data a 32KB L1 cache s 4cestnou asociativitou pro instrukce. Je pochopitelné, že Intel chce, aby byly instrukce dostupné rychleji a L1 cache pro data má maximální procento zásahů. L2 cache procesory Intel má 8cestnou asociativitu a mezipaměť Intel L3 je ještě chytřejší, protože implementuje 16cestnou asociativitu pro maximalizaci zásahů.

AMD však u procesorů Phenom II X4 sleduje jinou strategii, která využívá L1 cache s 2-cestnou asociativitou pro snížení latence. Pro kompenzaci možných chyb byla kapacita mezipaměti zdvojnásobena: 64 KB pro data a 64 KB pro instrukce. Mezipaměť L2 má 8cestnou asociativitu, stejně jako design Intel, ale AMD L3 cache pracuje s 48cestnou asociativitou. Ale rozhodnutí zvolit jednu nebo druhou architekturu mezipaměti nelze posoudit bez zvážení celé architektury CPU. Je zcela přirozené, že výsledky testů mají praktický význam a naším cílem bylo pouze praktické otestování celé této komplexní víceúrovňové struktury ukládání do mezipaměti.

Každý moderní procesor má vyhrazenou mezipaměť, ve které jsou uloženy instrukce a data procesoru a jsou téměř okamžitě připraveny k použití. Tato úroveň se běžně označuje jako první úroveň mezipaměti nebo L1 a byla poprvé představena s procesory 486DX. V poslední době se procesory AMD standardizovaly tak, že používají 64k L1 cache na jádro (pro data a instrukce), zatímco Intel procesory používají 32k L1 cache na jádro (také pro data a instrukce)

Mezipaměť první úrovně se poprvé objevila na procesorech 486DX, poté se stala složená funkce všechny moderní CPU.

Mezipaměť druhé úrovně (L2) se objevila na všech procesorech po vydání Pentia III, ačkoli její první implementace na balení byly v procesoru Pentium Pro (ale ne na čipu). Moderní procesory jsou vybaveny až 6 MB mezipaměti L2 na čipu. Takový objem je zpravidla rozdělen mezi dvě jádra na procesoru Intel Core 2 dua, například. Běžné konfigurace L2 poskytují 512 KB nebo 1 MB mezipaměti na jádro. Procesory s menší L2 cache bývají v nižší cenové vrstvě. Níže je schéma prvních implementací mezipaměti L2.

Pentium Pro mělo L2 cache v balení procesoru. Následující generace Pentium III a Athlon implementovaly L2 cache prostřednictvím samostatných SRAM čipů, což bylo v té době velmi běžné (1998, 1999).

Následné oznámení procesní technologie až 180 nm umožnilo výrobcům konečně integrovat L2 cache na matrici procesoru.


Dřívější dvoujádrové procesory jednoduše používaly stávající návrhy, když byly v balení instalovány dvě matrice. AMD představilo dvoujádrový procesor na monolitické matrici, přidalo paměťový řadič a přepínač a Intel jednoduše sestavil dvě jednojádrové matrice v jednom balení pro svůj první dvoujádrový procesor.


Poprvé se L2 cache začala sdílet mezi dvěma výpočetními jádry na Jádrové procesory 2 dua. AMD šlo dále a postavilo svůj první čtyřjádrový Phenom od nuly, zatímco Intel opět použil několik matric pro svůj první čtyřjádrový procesor, tentokrát dvě dvoujádrové Core 2 matrice, aby udržely nízké náklady.

L3 cache existuje od počátků procesoru Alpha 21165 (96 kB, představen v roce 1995) nebo IBM Power 4 (256 kB, 2001). V architekturách založených na x86 se však mezipaměť L3 poprvé objevila s modely Intel Itanium 2, Pentium 4 Extreme (Gallatin, oba procesory v roce 2003) a Xeon MP (2006).

První implementace poskytovaly jen další úroveň v hierarchii mezipaměti, ačkoli moderní architektury používají mezipaměť L3 jako velkou a sdílenou vyrovnávací paměť pro výměnu dat mezi jádry v vícejádrové procesory. To je také zdůrazněno vysokým n-stupeňem asociativnosti. Je lepší hledat data v mezipaměti o něco déle, než se dostat do situace, kdy několik jader používá velmi pomalý přístup k hlavní RAM. AMD poprvé představilo L3 cache na desktopovém procesoru spolu s již zmíněnou řadou Phenom. 65nm Phenom X4 obsahoval 2 MB sdílené L3 cache, zatímco současný 45nm Phenom II X4 má 6 MB sdílené L3 cache. Procesory Intel Core i7 a i5 využívají 8 MB mezipaměti L3.

Moderní čtyřjádrové procesory mají vyhrazené mezipaměti L1 a L2 pro každé jádro a také velkou mezipaměť L3, kterou sdílejí všechna jádra. Obecná mezipaměť L3 také umožňuje výměnu dat, na kterých mohou jádra pracovat paralelně.


Při provádění různých úkolů přijímá procesor vašeho počítače potřebné bloky informací z paměti RAM. Po jejich zpracování zapisuje CPU výsledky výpočtů do paměti a přijímá následné bloky dat ke zpracování. Toto pokračuje, dokud není úkol dokončen.

Výše uvedené procesy se provádějí velmi vysokou rychlostí. Rychlost i té nejrychlejší paměti RAM je však výrazně nižší než rychlost jakéhokoli slabého procesoru. Každá akce, ať už je to zápis informací do ní nebo čtení z ní, zabere spoustu času. Rychlost paměti RAM je desetkrát nižší než rychlost procesoru.

Přes takový rozdíl v rychlosti zpracování informací procesor PC nezahálí a nečeká, až RAM vydá a přijme data. Procesor vždy funguje a to vše díky přítomnosti mezipaměti v něm.

Cache je speciální druh paměti RAM. Procesor používá mezipaměť k ukládání těch kopií informací z hlavní RAM počítače, ke kterým bude pravděpodobně v blízké budoucnosti přistupováno.

Mezipaměť v podstatě funguje jako vysokorychlostní vyrovnávací paměť, která ukládá informace, které může procesor potřebovat. Procesor tak dostává potřebná data desetkrát rychleji než při jejich čtení z RAM.

Hlavním rozdílem mezi vyrovnávací pamětí a běžnou vyrovnávací pamětí jsou vestavěné logické funkce. Vyrovnávací paměť ukládá náhodná data, která se obvykle zpracovávají podle schématu „první přijato, první vydáno“ nebo „první přijato, naposledy vydáno“. Mezipaměť obsahuje data, ke kterým se pravděpodobně v blízké budoucnosti přistoupí. Díky „smart cache“ tedy může procesor běžet naplno a nečekat na načtení dat z pomalejší RAM.

Hlavní typy a úrovně mezipaměti L1 L2 L3

Mezipaměť je vyrobena ve formě čipů statické paměti s náhodným přístupem (SRAM), na kterých jsou instalovány systémová deska nebo zabudované v procesoru. Ve srovnání s jinými typy pamětí může statická paměť pracovat velmi vysokou rychlostí.

Rychlost cache závisí na objemu konkrétního čipu, čím větší objem čipu, tím obtížnější je dosáhnout vysoká rychlost za její práci. Vzhledem k této vlastnosti se při výrobě procesoru cache paměť provádí ve formě několika malých bloků, nazývaných úrovně. Nejběžnější je dnes tříúrovňový systém cache L1, L2, L3:

Mezipaměť první úrovně L1 - objemově nejmenší (jen několik desítek kilobajtů), ale nejrychlejší a nejdůležitější. Obsahuje data nejčastěji používaná procesorem a běží bez zpoždění. Typicky se počet paměťových čipů L1 rovná počtu procesorových jader, přičemž každé jádro přistupuje pouze ke svému vlastnímu čipu L1.

L2 cache rychlost je nižší než paměť L1, ale vítězí v objemu, který se již měří v několika stovkách kilobajtů. Slouží k dočasnému uložení. důležitá informace pravděpodobnost přístupu, která je nižší než pravděpodobnost informací uložených v L1 cache.

L3 cache třetí úrovně - má největší objem ze tří úrovní (může dosáhnout desítek megabajtů), ale také má nejpomalejší rychlost, která je stále výrazně vyšší než rychlost RAM. Mezipaměť L3 je sdílena všemi jádry procesoru. Paměťová úroveň L3 je určena pro dočasné uložení těch důležitých dat, jejichž pravděpodobnost přístupu je mírně nižší než u informací uložených v prvních dvou úrovních LI, L2. Zajišťuje také vzájemnou interakci procesorových jader.

Některé modely procesorů jsou vyráběny se dvěma úrovněmi vyrovnávací paměti, ve které L2 kombinuje všechny funkce L2 a L3.

Když je užitečné velké množství mezipaměti.

Výrazný efekt z velkého množství mezipaměti pocítíte při používání archivačních programů, ve 3D hrách, při zpracování a kódování videa. V relativně „lehkých“ programech a aplikacích není rozdíl prakticky patrný ( kancelářské programy, hráči atd.).

Všichni uživatelé jsou si dobře vědomi takových prvků počítače, jako je procesor zodpovědný za zpracování dat, stejně jako paměť s náhodným přístupem (RAM nebo RAM), která je odpovědná za jejich ukládání. Ne každý ale asi ví, že existuje i mezipaměť procesoru (Cache CPU), tedy operační paměť samotného procesoru (tzv. super-RAM paměť).

Jaký je důvod, který přiměl vývojáře počítačů k použití speciální paměti pro procesor? RAM pro počítač nestačí?

Opravdu, na dlouhou dobu osobní počítače se obešly bez jakékoli mezipaměti. Ale jak víte, procesor je nejrychlejší zařízení v osobním počítači a jeho rychlost rostla s každou novou generací CPU. V současné době se jeho rychlost měří v miliardách operací za sekundu. Standardní RAM přitom v průběhu svého vývoje nijak výrazně nezvýšila svůj výkon.

Obecně lze říci, že pro paměťové čipy existují dvě hlavní technologie – statická paměť a dynamická paměť. Aniž bychom se pouštěli do detailů jejich struktury, řekneme pouze, že statická paměť na rozdíl od dynamické paměti nevyžaduje regeneraci; navíc se ve statické paměti používá 4-8 tranzistorů pro jeden bit informace, zatímco v dynamické paměti 1-2 tranzistory. V souladu s tím je dynamická paměť mnohem levnější než statická paměť, ale zároveň mnohem pomalejší. V současné době jsou čipy RAM vyráběny na bázi dynamické paměti.

Přibližný vývoj poměru rychlosti procesorů a RAM:

Pokud by tedy procesor neustále bral informace z RAM, pak by musel čekat na zpomalení dynamická paměť a byl by celou dobu nečinný. Ve stejném případě, pokud by byla jako RAM použita statická paměť, náklady na počítač by se několikrát zvýšily.

Proto byl vyvinut rozumný kompromis. Hlavní část RAM zůstala dynamická, zatímco procesor dostal vlastní rychlou cache založenou na statických paměťových čipech. Jeho objem je poměrně malý – například objem L2 cache je jen pár megabajtů. Zde je však třeba připomenout, že všechna RAM prvního Počítače IBM PC mělo méně než 1 MB.

Kromě toho je účelnost zavádění technologie ukládání do mezipaměti ovlivněna také faktorem, že různé aplikace, které jsou v paměti RAM, zatěžují procesor různými způsoby a v důsledku toho existuje mnoho dat, která vyžadují prioritní zpracování ve srovnání se zbytkem.

Historie keše

Přísně vzato, než se vyrovnávací paměť přesunula do osobních počítačů, byla několik desetiletí úspěšně používána v superpočítačích.

Poprvé se v PC založeném na procesoru i80386 objevila cache paměť o velikosti pouhých 16 KB. Dnešní procesory využívají různé úrovně mezipaměti, od první (nejrychlejší mezipaměť nejmenší velikosti - obvykle 128 KB) až po třetí (nejpomalejší mezipaměť největší velikosti - až desítky MB).

Nejprve byla externí cache paměť procesoru umístěna na samostatném čipu. Postupem času to však vedlo k tomu, že sběrnice umístěná mezi cache a procesorem se stala úzkým hrdlem, zpomalujícím výměnu dat. U moderních mikroprocesorů je první i druhá úroveň vyrovnávací paměti umístěna v samotném jádře procesoru.

Dlouhou dobu byly v procesorech pouze dvě úrovně mezipaměti, ale poprvé se v CPU Intel Itanium objevila mezipaměť třetí úrovně, společná pro všechna jádra procesoru. Existuje také vývoj procesorů se čtyřúrovňovou mezipamětí.

Architektury a principy fungování cache

Dosud jsou známy dva hlavní typy organizace cache paměti, které pocházejí z prvního teoretického vývoje v oblasti kybernetiky – architektury Princeton a Harvard. Princetonská architektura předpokládá jeden paměťový prostor pro ukládání dat a příkazů, zatímco harvardská má samostatný paměťový prostor. Většina procesorů osobní počítačeŘádek x86 používá samostatný typ mezipaměti. Kromě toho v moderní procesory objevil se také třetí typ cache - tzv. asociativní překladový buffer, určený k urychlení překladu adres virtuální paměť operační systém na adresy fyzické paměti.

Zjednodušeně lze schéma interakce mezi vyrovnávací pamětí a procesorem popsat následovně. Nejprve je přítomnost informací potřebných pro procesor zkontrolována v nejrychlejší - mezipaměti první úrovně, poté - v mezipaměti druhé úrovně atd. Li nezbytné informace v žádné úrovni není žádná cache, pak se říká o chybě nebo chybě mezipaměti. Pokud v mezipaměti nejsou vůbec žádné informace, musí si je procesor vzít z RAM nebo dokonce z externí paměť(S pevný disk).

Pořadí, ve kterém procesor vyhledává informace v paměti:

Takto procesor vyhledává informace

Pro řízení provozu mezipaměti a její interakce s výpočetními jednotkami procesoru a také RAM existuje speciální řadič.

Schéma organizace interakce jádra procesoru, mezipaměti a paměti RAM:

Řadič mezipaměti je klíčovým spojením mezi procesorem, RAM a mezipamětí.

Je třeba poznamenat, že ukládání do mezipaměti je složitý proces, který využívá mnoho technologií a matematických algoritmů. Mezi základními koncepty používanými při ukládání do mezipaměti lze vyčlenit metody zápisu mezipaměti a architekturu asociativity vyrovnávací paměti.

Metody zápisu do mezipaměti

Existují dva hlavní způsoby zápisu informací do mezipaměti:

  1. Metoda zpětného zápisu (reverzní zápis) - data jsou zapsána nejprve do mezipaměti a poté, kdy jisté podmínky a v paměti RAM.
  2. Metoda zápisu (přes zápis) - data se zapisují současně do RAM a mezipaměti.

Architektura asociativity mezipaměti

Architektura asociativity mezipaměti definuje způsob, jakým jsou data z RAM mapována do mezipaměti. Existují následující hlavní varianty architektury asociativity ukládání do mezipaměti:

  1. Přímo mapovaná mezipaměť - konkrétní oblast mezipaměti je zodpovědná za konkrétní oblast paměti RAM
  2. Plně asociativní mezipaměť – jakákoli oblast mezipaměti může být spojena s jakoukoli oblastí RAM
  3. Smíšená mezipaměť (set-asociativní)

Na různých úrovních mezipaměti lze obvykle použít různé architektury asociativity mezipaměti. Přímé ukládání do mezipaměti mapované do paměti RAM je nejrychlejší možností ukládání do mezipaměti, takže tato architektura se obvykle používá pro velké mezipaměti. Plně asociativní mezipaměť má zase méně chyb mezipaměti (chybí).

Závěr

V tomto článku jste se seznámili s konceptem mezipaměti, architekturou mezipaměti a metodami ukládání do mezipaměti, dozvěděli jste se, jak ovlivňuje výkon moderního počítače. Přítomnost mezipaměti může výrazně optimalizovat výkon procesoru, zkrátit jeho nečinnost a následně zvýšit výkon celého systému.

Všechny procesory od konce 90. let mají interní cache (nebo jen cache). Cache je vysokorychlostní paměť, která přenáší instrukce a data přímo zpracovávaná procesorem.

Moderní procesory mají vestavěnou mezipaměť dvou úrovní – první (L1) a druhou (L2). S obsahem L1 cache je procesor poněkud rychlejší a L2 cache bývá o něco větší. K vyrovnávací paměti se přistupuje bez čekání, tzn. Mezipaměť první úrovně (mezipaměť na čipu) běží na stejné frekvenci jako procesor.

To znamená, že pokud jsou data potřebná pro procesor v mezipaměti, nedochází ke zpoždění ve zpracování. V opačném případě musí procesor získávat data z hlavní paměti, což výrazně snižuje výkon systému.

Abychom kvalitativně porozuměli principu fungování mezipaměti obou úrovní, uvažujme na příkladu domácí situaci.

Do kavárny přicházíte na oběd každý den, ve stejnou dobu a vždy sedíte u stejného stolu. Vždy objednávejte standardní sada ze tří kurzů.

Číšník běží do kuchyně, kuchař je naloží na tác a pak vám přinesou objednávku. A tak vás dejme tomu třetího dne čeká obsluha, aby ještě jednou neutíkala do kuchyně, ve stanovený čas s hotovým teplým obědem na tácu.

Nečekáte na objednávku a ušetříte spoustu času. Podnos s nádobím je mezipaměť první úrovně. Ale čtvrtý den najednou chcete přidat další jídlo, řekněme dezert.

V určený čas na vás sice již čekal tác s objednávkou, ale i tak musel číšník odběhnout do kuchyně pro dezert.

A na páté - opět nabídka tří položek. Na šesté - opět dezert, ale jiný než ten předchozí. A číšník, který neví, jaký dezert si chcete objednat (a vůbec neví, zda si něco objednáte), se rozhodne pro další krok: vedle vašeho stolu postaví skříňku s několika druhy dezertů.

A pokud vyjádříte touhu, vše je po ruce, nemusíte běžet do kuchyně. Skříňka na dezerty je mezipaměť druhé úrovně.

Velikost mezipaměti L1 (od 16 do 128 KB) a L2 (od 64 KB do 512 KB, až 4 MB u Pentium III Cheop a AMD Opteron) výrazně ovlivňuje výkon procesoru.

Procesory Intel Pentium III a na něm založené procesory Celeron mají velikost mezipaměti L1 32 KB. Intel Pentium 4, stejně jako verze Celeron a Cheop na něm založené, mají pouze 20 KB. Procesory AMD Duron, Athlon (včetně XP/MP) a Opteron, stejně jako VIA S3 obsahují 128 KB L1 cache.

Moderní dvoujádrové procesory mají mezipaměť první úrovně pro každé jádro zvlášť, takže občas můžeme v popisu cache vidět číslo 128x2. To znamená, že každé jádro procesoru má 128 KB L1 cache.

Velikost mezipaměti L1 je důležitá pro dosažení vysokého výkonu ve většině běžných úloh ( kancelářské aplikace, hry, většina serverových aplikací atd.). Jeho účinnost je zvláště výrazná u výpočtů streamování (například zpracování obrazu videa).

To je jeden z důvodů, proč je Pentium 4 pro většinu běžných aplikací poměrně neefektivní (i když je to kompenzováno vysokým taktem). L1 cache vždy funguje (vyměňuje si informace s jádrem procesoru) na vnitřní frekvenci procesoru.

Naproti tomu L2 cache in různé modely procesory pracují na různých frekvencích (a podle toho i výkonu). Počínaje procesorem Intel Pentium II používalo mnoho procesorů mezipaměť L2 běžící na poloviční vnitřní frekvenci procesoru.

Toto řešení se používá v zastaralých procesorech Intel Pentium III (až 550 MHz) a zastaralých procesorech AMD Athlon (u některých z nich pracovala interní L2 cache na třetinové frekvenci jádra procesoru). Množství mezipaměti L2 se také u různých procesorů liší.

Starší a některé novější procesory Intel Pentium III mají 512 KB L2 cache, zatímco ostatní Pentium III mají 256 KB. Procesor Intel Celeron na bázi Pentium III byl dodáván se 128 a 256 KB L2 cache, zatímco procesor na bázi Pentium 4 měl pouze 128 KB. Různé varianty Xeon verze Intel Pentium 4 mají až 4 MB L2 cache.

Nové procesory Pentium 4 (některé řady s frekvencí 2000 MHz a všechny pro frekvence vyšší) mají 512 KB L2 cache, zbytek Pentia 4 má 256 KB. Procesory Cheop (založené na Pentiu 4) mají 256 nebo 512 KB L2 cache.

Kromě toho mají také vyrovnávací paměť třetí úrovně L3. Integrovaná mezipaměť L3 v kombinaci s rychlou systémovou sběrnicí tvoří vysokorychlostní datové spojení do systémové paměti.

L3 cache pamětí jsou zpravidla vybaveny pouze procesory pro serverová řešení nebo speciální modely "desktopových" procesorů. L3 cache paměť mají například takové procesorové řady jako Xeon DP, Itanium 2, Xeon MP.

Procesor AMD Duron má 128 KB L1 cache a 64 KB L2 cache. Procesory Athlon (kromě starších), Athlon MP a většina variant Athlon XP mají 128 KB L1 cache a 256 KB L2 cache a nejnovější Athlon XP (2500+, 2800+, 3000+ a vyšší) mají 512 KB L2 cache . AMD Opteron obsahuje 1 MB mezipaměti L2.

Nejnovější modely procesorů Intel Pentium D, Intel Pentium M, Intel Core 2 Duo jsou dodávány s 6 MB L2 cache a Core 2 Quad s 12 MB L2 cache.

Nejnovější procesor Intel Core i7 v době psaní tohoto článku má 64 KB L1 cache pro každé ze 4 jader a 256 KB L2 paměti pro každé jádro. Kromě cache paměti první a druhé úrovně má procesor také společnou cache pro všechna jádra třetí úrovně, rovných 8 MB.

Pro procesory, které mohou mít různé velikosti mezipaměti L2 (nebo v případě Intel Xeon MP - L3) u stejného modelu musí být tato velikost uvedena při prodeji (od toho se samozřejmě odvíjí cena procesoru). Pokud se procesor prodává v „krabicovém“ balení (dodávka v krabici), většinou to udává velikost cache.

Pro běžné uživatelské úkoly (včetně her) je rychlost L2 cache důležitější než její velikost; u serverových úloh je naopak důležitější objem. Nejproduktivnější servery, zejména ty s velkým množstvím paměti RAM (několik gigabajtů), vyžadují maximální nejvyšší rychlost L2 cache.

Cheop verze procesorů Pentium III zůstávají v těchto parametrech nepřekonané. ( procesor Xeon MP je stále produktivnější v serverových úlohách než Pentium III Xeon díky vyšší taktovací frekvenci samotného procesoru a paměťové sběrnice a také vám umožňuje minimalizovat čekací doby, ke kterým dochází při zpracování dat. Rozhodující roli v tom hraje mezipaměť druhé úrovně umístěná v čipu procesoru.

Jaké je nejšpinavější místo na počítači? Myslíš košík? Uživatelské složky? Chladící systém? Nehádal jsem! Nejšpinavější místo je cache! Koneckonců, musí se neustále čistit!

Ve skutečnosti je v počítači mezipamětí mnoho a neslouží jako skládka odpadu, ale jako akcelerátory pro zařízení a aplikace. Odkud pochází jejich pověst „systémového skluzu na odpadky“? Podívejme se, co je to cache, jak k ní dochází, jak funguje a proč.

Koncepce a typy vyrovnávací paměti

Esh neboli cache paměť je speciální úložiště často používaných dat, ke kterému se přistupuje desítky, stovky a tisíckrát rychleji než RAM nebo jiná paměťová média.

Aplikace (webové prohlížeče, přehrávače zvuku a videa, editory databází atd.), součásti operačního systému (mezipaměť náhledů, mezipaměť DNS) a hardware (mezipaměť CPU L1-L3, framebuffer GPU atd.) mají vlastní vyrovnávací paměť. vyrovnávací paměti jednotky). Implementuje se různými způsoby – softwarově i hardwarově.

  • Mezipaměť programu je jen samostatná složka nebo soubor, kam se stahují například obrázky, menu, skripty, multimediální obsah a další obsah navštívených stránek. Toto je složka, do které se prohlížeč poprvé ponoří, když znovu otevřete webovou stránku. Výměna nějakého obsahu z místní úložiště zrychluje jeho načítání a .

  • Zejména u pevných disků je mezipaměť samostatný čip RAM s kapacitou 1-256 Mb umístěný na desce elektroniky. Přijímá informace načtené z magnetické vrstvy a dosud nenačtené do RAM a také data, která jsou nejčastěji požadována operační systém.

  • Moderní procesor obsahuje 2-3 základní úrovně vyrovnávací paměti (říká se jí také superrychlá paměť), umístěné ve formě hardwarových modulů na stejném čipu. Nejrychlejší a objemově nejmenší (32-64 Kb) je cache Level 1 (L1) – běží na stejné frekvenci jako procesor. L2 je rychlostí a kapacitou na střední pozici (od 128 Kb do 12 Mb). A L3 je nejpomalejší a nejobjemnější (až 40 Mb), u některých modelů chybí. Rychlost L3 je pouze nízká ve srovnání s rychlejšími protějšky, ale je také stokrát rychlejší než nejproduktivnější RAM.

Zápisníková paměť procesoru se používá k ukládání neustále používaných dat čerpaných z paměti RAM a instrukcí strojového kódu. Čím je větší, tím je procesor rychlejší.

Dnes již nejsou limitem tři úrovně ukládání do mezipaměti. S příchodem architektury Sandy Bridge Intel implementoval do svých produktů další cache L0 (určenou pro ukládání dešifrovaných mikroinstrukcí). A nejvýkonnější CPU mají také mezipaměť čtvrté úrovně, vyrobenou ve formě samostatného mikroobvodu.

Schématicky vypadá interakce úrovní mezipaměti L0-L3 takto (například Intel Xeon):

Lidská řeč o tom, jak to všechno funguje

Abyste pochopili, jak funguje mezipaměť, představte si člověka pracujícího u stolu. Složky a dokumenty, které neustále používá, jsou na stole ( v mezipaměti). Chcete-li se k nim dostat, stačí natáhnout ruku.

Papíry, které potřebuje méně často, jsou uloženy poblíž na policích ( v RAM). Abyste je získali, musíte vstát a jít pár metrů. A to, s čím člověk aktuálně nepracuje, bylo archivováno ( nahrané na pevném disku).

Čím širší je stůl, tím více dokumentů se na něj vejde, což znamená, že zaměstnanec bude moci přijímat rychlý přístup k více informacím čím větší je kapacita mezipaměti, tím rychleji program nebo zařízení teoreticky pracuje).

Občas dělá chyby – nechává si na stole papíry, které obsahují nesprávné informace a využívá je ve své práci. V důsledku toho se snižuje kvalita jeho práce ( chyby mezipaměti vedou k selhání softwaru a hardwaru). K nápravě situace musí zaměstnanec vyhodit dokumenty s chybami a umístit na jejich místo správné ( vymazat mezipaměť).

Stůl má omezenou plochu ( paměť cache je omezená). Někdy ji lze rozšířit, například přesunem druhé tabulky, a někdy ne (velikost mezipaměti lze zvýšit, pokud takovou příležitost poskytuje program; hardwarovou mezipaměť nelze změnit, protože je implementována v hardwaru) .

Další možností, jak urychlit přístup k většímu množství dokumentů, než se na stůl vejde, je najít si asistenta, který bude pracovníkovi papír podávat z police (operační systém může alokovat část nevyužité paměti RAM do mezipaměti dat zařízení). Ale pořád je to pomalejší, než je sundat ze stolu.

Dostupné dokumenty by měly být relevantní pro aktuální úkoly. To je odpovědností samotného zaměstnance. Papíry je potřeba pravidelně čistit (vytlačování nepodstatných dat z mezipaměti padá „na bedra“ aplikací, které ji využívají, některé programy mají funkci automatického vymazání mezipaměti).

Pokud zaměstnanec zapomene udržovat pořádek na pracovišti a aktualizovat dokumentaci, může si sám nakreslit rozvrh úklidu stolu a použít jej jako připomínku. Jako poslední možnost to svěřte asistentovi (pokud se aplikace závislá na vyrovnávací paměti zpomalila nebo často načítá zastaralá data, použijte nástroje pro plánované čištění mezipaměti nebo to provádějte každých pár dní ručně).

Na „funkce ukládání do mezipaměti“ vlastně narážíme všude. Jedná se o nákup produktů do budoucna a různé úkony, které provádíme jen tak mimochodem, ve stejnou dobu atd. To je vlastně vše, co nás ušetří zbytečnosti a zbytečných pohybů těla, zefektivní život a usnadní práci. Počítač dělá to samé. Jedním slovem, kdyby neexistovala mezipaměť, fungovalo by to stokrát a tisíckrát pomaleji. A to by se nám nelíbilo.

Více na webu:

Co je to cache, proč je potřeba a jak funguje aktualizováno: 25. února 2017 uživatelem: Johnny Mnemotechnický prostředek