Uspořádání cache pamětí procesorů historie a současný stav



Podobné dokumenty
Paměťový podsystém počítače

Výkonnost mikroprocesoru ovlivňují nejvíce dvě hlediska - architektura mikroprocesoru a tzv. taktovací frekvence procesoru.

DUM č. 10 v sadě. 31. Inf-7 Technické vybavení počítačů

Mezipaměti počítače. L2 cache. L3 cache

Architektura Intel Atom

Paměti. Paměť je zařízení, které slouží k ukládání programů a dat, s nimiž počítač pracuje

Vícejádrový procesor. Dvě nebo více nezávislých jader Pro plné využití. podporovat multihreading

Parametry pamětí vybavovací doba (tj. čas přístupu k záznamu v paměti) = 10 ns ms rychlost toku dat (tj. počet přenesených bitů za sekundu)

Struktura a architektura počítačů (BI-SAP) 10

Struktura a architektura počítačů (BI-SAP) 11

Paměti cache. Cache může být realizována softwarově nebo hardwarově.

Paměti počítače ROM, RAM

Sběrnicová struktura PC Procesory PC funkce, vlastnosti Interní počítačové paměti PC

Paměti operační paměti

Cache paměť - mezipaměť

Pohled do nitra mikroprocesoru Josef Horálek

2.8 Procesory. Střední průmyslová škola strojnická Vsetín. Ing. Martin Baričák. Název šablony Název DUMu. Předmět Druh učebního materiálu

Roman Výtisk, VYT027

Cache paměti (2) Cache paměti (1) Cache paměti (3) Cache paměti (4) Cache paměti (6) Cache paměti (5) Cache paměť:

Základní deska (1) Parametry procesoru (2) Parametry procesoru (1) Označována také jako mainboard, motherboard

Cache paměti (1) Cache paměť: V dnešních počítačích se běžně používají dva, popř. tři druhy cache pamětí:

Využití ICT pro rozvoj klíčových kompetencí CZ.1.07/1.5.00/

Sběrnicová struktura PC Procesory PC funkce, vlastnosti Interní počítačové paměti PC

Profilová část maturitní zkoušky 2014/2015

Paměti Josef Horálek

Paměti EEPROM (1) 25/07/2006 1

Paměťové prvky. ITP Technika personálních počítačů. Zdeněk Kotásek Marcela Šimková Pavel Bartoš

Profilová část maturitní zkoušky 2015/2016

Vysoká škola báňská Technická univerzita Ostrava Fakulta elektrotechniky a informatiky. referát do předmětu: Pokročilé architektury počítačů.

Paměti EEPROM (1) Paměti EEPROM (2) Paměti Flash (1) Paměti EEPROM (3) Paměti Flash (2) Paměti Flash (3)

Pokročilé architektury počítačů

Paměti počítače 9.přednáška

Technické prostředky počítačové techniky

Referát (pokročilé architektury počítačů)

Paměť počítače. 0 (neprochází proud) 1 (prochází proud)

Procesory. Autor: Kulhánek Zdeněk

Cílem kapitoly je seznámit studenta s pamětmi. Jejich minulostí, současností a hlavnímu parametry.

VÝUKOVÝ MATERIÁL. 3. ročník učebního oboru Elektrikář Přílohy. bez příloh. Identifikační údaje školy

Zvyšování kvality výuky technických oborů

Pokročilé architektury počítačů

Způsoby realizace paměťových prvků

Gymnázium Vysoké Mýto nám. Vaňorného 163, Vysoké Mýto

Využití ICT pro rozvoj klíčových kompetencí CZ.1.07/1.5.00/

Paměti. Paměti. Rozdělení, charakteristika, druhy a typy pamětí. Banky

Informační a komunikační technologie

Sběrnicová struktura PC Procesory PC funkce, vlastnosti Interní počítačové paměti PC

PROCESOR. Typy procesorů

Ro R dina procesor pr ů Int In e t l Nehalem Šmída Mojmír, SMI108 PAP PA 2009

Identifikátor materiálu: ICT-1-08

architektura mostů severní / jižní most (angl. north / south bridge) 1. Čipové sady s architekturou severního / jižního mostu

Procesor Intel Pentium (1) Procesor Intel Pentium (3) Procesor Intel Pentium Pro (1) Procesor Intel Pentium (2)

Procesory a paměti Procesor

Výstavba PC. Vývoj trhu osobních počítačů

ODBORNÝ VÝCVIK VE 3. TISÍCILETÍ. MEIII Paměti konstant

Architektura počítačů

Základní deska (1) Označována také jako mainboard, motherboard. Deska plošného spoje tvořící základ celého počítače Zpravidla obsahuje:

Procesor. Hardware - komponenty počítačů Procesory

Rychlá vyrovnávací paměť v architektuře PC

Intel (2) Intel (1) Intel (3) Intel (4) Intel (6) Intel (5) Nezřetězené zpracování instrukcí:

2.9 Vnitřní paměti. Střední průmyslová škola strojnická Vsetín. Ing. Martin Baričák. Název šablony Název DUMu. Předmět Druh učebního materiálu

HW počítače co se nalézá uvnitř počítačové skříně

Ne vždy je sběrnice obousměrná

Procesor EU peníze středním školám Didaktický učební materiál

Témata profilové maturitní zkoušky

Paměti EEPROM (1) Paměti EEPROM (2) Paměti Flash (1) Paměti EEPROM (3) Paměti Flash (2) Paměti Flash (3)

ARCHITEKTURA PROCESORŮ

Historie počítačů. 0.generace. (prototypy)

Principy komunikace s adaptéry periferních zařízení (PZ)

Základní pojmy informačních technologií

Informatika teorie. Vladimír Hradecký

Gymnázium Vysoké Mýto nám. Vaňorného 163, Vysoké Mýto

Server je v informatice obecné označení pro počítač, který poskytuje nějaké služby nebo počítačový program, který tyto služby realizuje.

Systém adresace paměti

Úvod do architektur personálních počítačů

Využití ICT pro rozvoj klíčových kompetencí CZ.1.07/1.5.00/

Pokročilé architektury počítačů

Pojem architektura je převzat z jiného oboru lidské činnosti, než počítače.

Obsluha periferních operací, přerušení a jeho obsluha, vybavení systémových sběrnic

Intel Centrino 2 - Úvod a procesory

AGP - Accelerated Graphics Port

MATURITNÍ OTÁZKY ELEKTROTECHNIKA - POČÍTAČOVÉ SYSTÉMY 2003/2004 TECHNICKÉ VYBAVENÍ POČÍTAČŮ

Dělení pamětí Volatilní paměti Nevolatilní paměti. Miroslav Flídr Počítačové systémy LS /11- Západočeská univerzita v Plzni

INFORMAČNÍ A KOMUNIKAČNÍ TECHNOLOGIE

INFORMAČNÍ A KOMUNIKAČNÍ TECHNOLOGIE

Jak se procesory vyrábí

Procesory. Závěrečná práce. Základní škola sv. Voršily v Olomouci Aksamitova 6, Olomouc

Přidělování paměti II Mgr. Josef Horálek

Pokročilé architektury počítačů

Gymnázium Vysoké Mýto nám. Vaňorného 163, Vysoké Mýto

Hardware ZÁKLADNÍ JEDNOTKA

Historie a vývoj Intel Atom

Základní jednotka procvičování

Paměťová hierarchie. INP 2008 FIT VUT v Brně

ÚVOD DO OPERAČNÍCH SYSTÉMŮ. Správa paměti. Přímý přístup k fyzické paměti, abstrakce: adresový prostor, virtualizace, segmentace

Vlastnosti mikroprocesorů Josef Horálek

Paměti polovodičové. Jedná se o mikroelektronické obvody s velkou hustotou integrace.

Jako pomůcka jsou v pravém dolním rohu vypsány binární kódy čísel od 0 do 15 a binární kódy příkazů, které máme dispozici (obr.21). Obr.

Pravda leží v poušti odtamtud totiž

Využití ICT pro rozvoj klíčových kompetencí CZ.1.07/1.5.00/

Transkript:

Uspořádání cache pamětí procesorů historie a současný stav Stránka: 1 / 17

Obsah 1Úvod...3 2Hierarchie pamětí počítače...4 2.1Pracovní registry procesoru...4 2.2L1 cache...4 2.3L2 cache...5 2.4Operační paměť počítače...5 2.5Virtuální paměť počítače...5 3Historie vyrovnávacích pamětí procesoru...6 3.1Bez vyrovnávacích pamětí procesoru...6 3.2Zavedení vyrovnávacích pamětí procesoru...6 4Princip funkčnosti vyrovnávacích pamětí procesoru...7 5Organizace vyrovnávajících cache pamětí procesoru...8 5.1Plně asociativní paměti...8 5.2Přímo mapované paměti...9 5.3n cestně asociativní...10 6Fyzická struktura vyrovnávajících pamětí procesoru...12 6.1SRAM...12 6.2Historie vývoje CMOS (Complementary Metal-Oxide-Semiconductor)...13 7Literatura...17 Stránka: 2 / 17

1 Úvod V práci se rozepíšeme o pamětích počítače, zvláště o vyrovnávacích pamětích tzv. cache pamětích. Ty byli a jsou zaváděny do počítačů, aby odstranili časové rozdíly mezi jednotlivými dvěma médii s rozdílnou rychlostí přenosu dat. Stránka: 3 / 17

2 Hierarchie pamětí počítače Paměti jsou rozděleny do určité hierarchie dle své rychlosti. Je tomu tak proto, že paměti, s kterými procesor bezprostředně pracuje, musí být rychlé, aby procesor při vykonávání instrukcí nebrzdili. Rovněž paměti blíže procesoru, nemusí být tak veliké, jako paměti, s nimiž procesor bezprostředně nepracuje. To je samozřejmě výhodné i cenově, jelikož čím rychlejší paměť, tím jsou na ni kladeny vyšší nároky a tudíž velmi roste i jejich cena na jeden bit. Pojďme si tedy jednotlivé hierarchické vrstvy popsat trochu blíže. 2.1 Pracovní registry procesoru Jde o vrcholek celého ledovce paměťové hierarchie. Jde o velmi rychlé paměti. Tyto paměti jsou velmi malé a cenově velmi nákladné na realizaci. Nárok na rychlost registrů většinou odpovídá jednomu taktu procesoru. Velikost pracovních registrů není omezena pouze cenou. Je i vcelku nevhodné, mít registry veliké. V případě přerušení, musí být paměť registrů vyprázdněna a uschována, toto by v případě paměťově obsáhlých registrů bylo zdlouhavé a tedy i reakce na přerušení by se nemístně prodlužovala. 2.2 L1 cache Když byla vyrovnávací paměť první úrovně zavedena, byla umístěna na samostatném čipu, tedy mimo čip s procesorem. Později, vlivem vyšších nároků na rychlost byla umístěna přímo na čip s procesorem. Umístění L1 cache přímo na čip s procesorem vedla i vyšší integrace obvodů. O L1 cache bude samozřejmě více pojednáno v následujících kapitolách. Stránka: 4 / 17

2.3 L2 cache Vyrovnávací paměť druhé úrovně má vyšší kapacitu než-li vyrovnávací paměť první úrovně. Rychlost této paměti může být mnohem menší, než L1 cache. L2 cache má často rychlost taktovánu na rychlost externí paměťové sběrnice. Opět o L2 cache bude pojednáno v následujících kapitolách tohoto referátu. 2.4 Operační paměť počítače Operační paměť z pohledu procesoru je velmi pomalá. Proto byli v historii zavedeny dvě úrovně vyrovnávacích pamětí mezi samotným procesorem(a jeho registry) a operační pamětí. To ovšem neznamená, že by se vývoj operačních pamětí a zvyšování jejich rychlostí nějak zanedbávalo. Zde samozřejmě dochází k prosazování nových technologií a postupů při výrobě, aby byla zvýšena kapacita, rychlost a taktéž snížena cena operačních pamětí. Typická technologie používaná při výrobě operačních pamětí je použití tranzistoru a kondenzátoru. Jde tedy o dynamickou paměť, která se neobejde bez pravidelného obnovení tzv. refresh. 2.5 Virtuální paměť počítače Tato virtuální paměť je podporována většinou procesorů. Paměti používané pro virtualizaci jsou většinou robustní(oproti operační paměti i 100 násobně i více), levné, ale na druhou stranu pomalé. Jedná se o pevné disky, pásky apod. Většina těchto velkých pamětí používá k uchování informace přímý fyzický záznam pomocí magnetické stopy. Přístup do virtuální paměti počítače během zpracování je nežádoucí, ale nutný. Proto se vhodné návrhy a algoritmy snaží o to, aby byla využita co nejvíce paměť operační. Z pohledu procesoru je samozřejmě nevýhodné vstupovat i do operační paměti, tomuto se ovšem nevyhneme. Stránka: 5 / 17

3 Historie vyrovnávacích pamětí procesoru 3.1 Bez vyrovnávacích pamětí procesoru Vyrovnávací paměť slouží k překlenu mezi rychlým a pomalým médiem. Dříve ale nebyla potřeba, jelikož doba provedení typické instrukce byla delší, než přístup do operační paměti. V tomto duchu pracovali osmibitové procesory např Intel 8080. 3.2 Zavedení vyrovnávacích pamětí procesoru Změna oproti 8-i bitovým procesorům přišla s procesory 16-ti bitovými. Již na počítačích s procesory 386, tedy platformě x86, byli vyrovnávací paměti procesoru zavedeny. Jednalo se o L1 cache paměť. Tato paměť byla od čipu s mikroprocesorem oddělena. Důvodem byla nižší míra integrace. L1 cache byla poprvé obsažena na čipu s procesorem až s příchodem počítače vybaveného procesory 486 a to ve velikosti 8 kb. S mikroprocesory Intel Pentium přišla rovněž velká změna. V cache paměti byl oddělen program a data. Po zavedení L1 cache paměti, byla zavedena i L2 cache paměť. Tato paměť byla zprvu opět na základní desce, poté se integrovala do čipu s mikroprocesorem. Došlo k zavedení i L3 cache, např. procesor od společnosti AMD Phenom II nebo Intel Core i7. Konkrétně u procesoru Intel Core i7 je L3 cache velká 8MB. Stránka: 6 / 17

4 Princip funkčnosti vyrovnávacích pamětí procesoru Nyní by jsme se mohli podívat na to, k čemu je nám vlastně vyrovnávací paměť procesoru dobrá a popsat základní princip její funkčnosti. Fyzicky je vyrovnávací paměť umístěna na sběrnici mezi procesorem a operační pamětí. Paměť je rozdělena do bloků s konstantní velikostí. Tyto bloky jsou plněny daty z operační paměti, které si ke své práci vyžaduje procesor. Ten nemusí samotné přemísťování bloků mezi operační pamětí a vyrovnávací pamětí řídit. Práce vyrovnávací paměti vychází ze skutečnosti, že program má tendenci zdržovat se na určitém místě a pracovat s určitými daty. Proto když je požadována nějaká informace z paměti, je první oslovena vyrovnávající paměť. V případě, že data potřebná pro další zpracování mikroprocesorem jsou ve vyrovnávající paměti obsažena, jsou vybrána a zpracování pokračuje dále. Toto zpracování je například až 10-ti násobné. V případě, že tato data nejsou ve vyrovnávající paměti obsažena, je nutné je přemístit z operační paměti do vyrovnávající. Kromě vybrané informace je do vyrovnávající paměti rovněž přenesen celý blok operační paměti. Toto zvyšuje pravděpodobnost, že při žádosti o další data se výběr dat do budoucna trefil. Kromě popsaných dvou případů, že data ve vyrovnávající paměti jsou a případně nejsou, existuje ještě třetí varianta. Data ve vyrovnávající paměti nejsou, ale paměť je plná. V tomto případě se pomocí různých kritérií jeden blok vyřadí. Volba bloku paměti k vyřazení bývá často ošetřeno pomocí LRU(Least Recently Used) algoritmu, který vyřadí nejdéle nepoužívaný blok. Stránka: 7 / 17

5 Organizace vyrovnávajících cache pamětí procesoru Zde je možné několik přístupů, jak vyrovnávající paměť organizovat. Popišme si tři. První dvě krajní řešení a třetí kompromisní mezi dvěma popsanými. 5.1 Plně asociativní paměti U plně asociativních pamětí je brána celá adresa jako tag. Tento tag se přivádí na vstup komparátorů, které mají za úkol porovnat tag na vstupu s tagy v tabulce. V případě shody jsme nalezli požadovanou adresu a můžeme data použít, pokud nedojdeme ke shodě po porovnání každého řádku tabulky, víme, že požadovaná data ve vyrovnávající paměti nenalezneme. Tato metoda má velké nevýhody. Je třeba velké množství komparátorů a hlavně tabulka, obsahující všechny tagy, je vcelku obsáhlá a to velmi zvyšuje cenu takovýchto pamětí. Tento druh organizace paměti se takřka nepoužívá. Obr. 1: Plně asociativní paměti (http://www.fi.muni.cz/usr/pelikan/archit/texty/cache.html) Stránka: 8 / 17

5.2 Přímo mapované paměti Přímo mapovaná vyrovnávající paměť je implementačně nejjednodušší organizace paměti. Zde již z nejvyšších bitů adresy lze zjistit, ve kterém bloku paměti se budou data nacházet, poté se porovnávají tagy. Mezi velkou nevýhodu této organizace paměti patří její nízký výkon. To je způsobeno vysokým počtem nutných dotazů na operační paměť. To je způsobeno tím, že pokud máme 128x větší operační paměť, tak se o jednu pozici v cache paměti uchází 128 bloků. Toto nám zapřičiňuje to, že ve vyrovnávající paměti může být vždy pouze jeden blok ze 128 bloků. Nemohou být současně. Obr. 2: Přímo mapovaná paměť (http://www.fi.muni.cz/usr/pelikan/archit/texty/cache.html) Stránka: 9 / 17

5.3 n cestně asociativní Jedná se o kompromisní řešení mezi plně asociativní a přímo mapovanou pamětí(což je případ 1 cestně asociativní paměti). Tyto paměti pracují tak, že se adresa rozdělí na tag a adresu třídy. Adresa třídy je přivedena na n dekodérů. Dekodér v každé tabulce vybere jeden řádek. Tag na vstupu se pak porovnává s každým tagem vybraným z n tabulek. Tyto paměti jsou v dnešní době nejvíce používány. Obr. 3: 2 cestně asociativní paměti (http://www.fi.muni.cz/usr/pelikan/archit/texty/cache.html) Na dalším obrázku je vyobrazena organizace vyrovnávací paměti počítačů vybavených mikroprocesorem 80486. Stránka: 10 / 17

Obr. 4: Schéma funkce interní cache paměti procesoru 80486 (4-cestně asociativní) (http://www.fi.muni.cz/usr/pelikan/archit/texty/cache.html) Stránka: 11 / 17

6 Fyzická struktura vyrovnávajících pamětí procesoru 6.1 SRAM Vyrovnávající cache paměti jsou realizovány pomocí bistabilních klopných obvodů. Tyto obvody se nacházejí vždy v jednom ze dvou stavů. Pro udržení hodnoty je nutné mít tento bistabilní klopný obvod pod napětím. Jedná se o statickou paměť, to znamená, že zde není použit žádný dynamický prvek jako je například kondenzátor. Obvod je složen z 6-ti tranzistorů. Tento obvod tvoří jednu paměťovou buňku paměti, tedy jeden bit. Obr. 5: SRAM v technologii MOS (http://www.fi.muni.cz/usr/pelikan/archit/texty/intpam.html#sram) technologie TTL. Na další stránce se podívejme na bistabilní klopný obvod pomocí Stránka: 12 / 17

Obr. 6: SRAM v technologii TTL (http://www.fi.muni.cz/usr/pelikan/archit/texty/intpam.html#sram) Rovněž si pro srovnání uveďme buňku dynamické pamětí DRAM. Obr. 7: DRAM v technologii TTL (http://www.fi.muni.cz/usr/pelikan/archit/texty/intpam.html#sram) 6.2 Historie vývoje CMOS (Complementary Metal-Oxide-Semiconductor) Výše jsme uvedli nějaké ukázky technologií pro řešení SRAM. Přesto nejlepším řešením se jeví technologie MOS a z ní vycházející technologie CMOS. Tato technologie docílila vysoké přístupové rychlosti cca 15-20 ns. Od toho se samozřejmě odvíjí rychlost vyrovnávacích pamětí procesoru. U CMOS lze využít vysokého stupně integrace a velmi malých spojů. Od toho se vyvíjí i výsledný příkon, a rovněž i rychlost. Pojďme se podívat na historii a v jakých technologií byli dříve a nyní jsou realizovány SRAM. Stránka: 13 / 17

10 µm 3 µm 1.5 µm 1 µm 800 nm (0,80 µm) Používá se například na Intel 80486. 600 nm (0,60 µm) 350 nm (0,35 µm) 250 nm (0,25 µm) 180 nm (0,18 µm) První technologie menší než vlnová délka použitého světla (193 nm). Používá se například na většinu Intel Pentium III. 130 nm (0,13 µm) 90 nm 65 nm V roce 2007 nejčastěji používaná technologie. Používá se světlo vlnových délek 193 nm a 248 nm. Šířka elektrody je pouhých 1,2 nm, což je jen několik atomů - dochází tedy ke kvantovému tunelování. Používá se například na Intel Pentium IV nebo AMD Athlon 64. 45 nm 32 nm 22 nm 16 nm Výše vypsaný seznam pořízen na www stránkách http://cs.wikipedia.org/wiki/cmos. CMOS obvody vynalezl v roce 1963 panem Frankem Wanlassem ze společnosti Fairchild Semiconductor. Stránka: 14 / 17

Obr. 8: vliv velikosti cache u Core 2 Duo (http://www.extrahardware.cz/vliv-cache-u-core-2-duo) Na obrázku výše je vidět přehled testovaných Core 2 Duo na vliv velikosti cache paměti. Rovněž je vidět rozdíl v použitých technologiích. Níže vkládám popis testu čerpaného z http://www.extrahardware.cz/vliv-cache-u-core-2-duo. Popis autora článku: Skvělý test vlivu velikosti cache (512 kb, 1, 2, 3, 4 a 6 MB) u procesorů Core 2 Duo udělal německý PC Games Hardware. V testu je skryto i takové porovnání 65 a 45nm architektury Core 2 Duo, neboť se jej zúčastnilo celkem sedm procesorů: Intel Celeron Dual-Core E1400 Intel Pentium Dual-Core E2180 Stránka: 15 / 17

Intel Core 2 Duo E4400 Intel Pentium Dual-Core E5200 Intel Core 2 Duo E6700 Intel Core 2 Duo E7300 Intel Core 2 Duo E8600 Všechny procesory měly nastaveny násobič na hodnotu 10 a FSB na 200 MHz (800 MHz efektivně, je to QDR), ve výsledku tedy pracovaly na 2 GHz. Zastoupena jsou jak jádra Allendale (65 nm, 512 kb a 1 MB L2 cache), tak Conroe (65 nm, 2 a 4 MB L2 cache) a Wolfdale (45 nm, 2, 3 a 6 MB L2 cache). Test jednoznačně ukázal, že velký rozdíl je mezi 512 a 1024 kb L2 cache (rozdíl mezi Celeronem Dual-Core E1x00 a Pentiem Dual-Core E21x0). Naopak v případě 3 MB L2 cache a 4 MB L2 cache (Core Duo E7x00 vs. Core 2 Duo E6xx0) není o 1 MB menší (a vícecestná) cache 45nm dvoujádra Wolfdale takovou brzdou a díky vylepšením architektury Penryn (např. rychlejší dělení) je E7x00 ve většině testů o něco rychlejší než E6xx0. Srovnávat přínos jádra z rodiny Penryn (45 nm) oproti starším 65nm procesorům Core 2 můžete i na příkladu podtaktovaných E4400 a E5200 se stejně velkou (2 MB) L2 cache. Celý test pak jednoznačně prokázal, že na cache u Core 2 Duo záleží a Intel díky ní může škálovat výkon a tím i ceny. Velikost však není vše a je potřeba vnímat i vylepšení, jež Core 2 Duo zaznamenaly při přechodu na 45nm výrobní proces. Stránka: 16 / 17

7 Literatura http://www.root.cz/clanky/architektury-vyrovnavacich-pameti/ http://www.fi.muni.cz/usr/pelikan/archit/texty/cache.html http://www.fi.muni.cz/usr/pelikan/archit/texty/intpam.html#sram http://en.wikipedia.org/wiki/cpu_cache http://cs.wikipedia.org/wiki/cmos http://www.extrahardware.cz/vliv-cache-u-core-2-duo Stránka: 17 / 17