Co je sdílená paměť?

Moderní počítače mají hodně paměti. Každý procesor má svou mezipaměť a každému spuštěnému programu je přidělena jeho část systémové paměti RAM. Existuje mnoho různých způsobů, jak lze tuto paměť použít a přiřadit. Sdílená paměť je koncept, který různými způsoby ovlivňuje jak mezipaměť CPU, tak využití systémové paměti RAM.

Sdílená paměť v hardwaru

Většina moderních CPU má tři úrovně mezipaměti, označované jako L1, L2 a L3. L1 je nejmenší a nejrychlejší mezipaměť, zatímco L3 je největší a nejpomalejší. Všechny jsou však rychlejší než přístup k hlavní paměti, takže návštěvnost je pro výkon kritická. Mnoho faktorů činí mezipaměť L1 rychlejší než L3. Za prvé, paměťové buňky L1 jsou fyzicky větší. Je jich také méně a jsou umístěny mnohem blíže k jádru CPU, často v něm.

Umístění bloku mezipaměti do oblasti matrice je u vícejádrových procesorů mimořádně složité. V tuto chvíli si můžete vybrat mezipaměť v každém jádru nebo mimo jádra, konkrétně mezi nimi. Každá má své výhody a nevýhody.

Umístění mezipaměti do jádra minimalizuje latenci přístupu, ale také to znamená, že každé jádro potřebuje svou mezipaměť. To znamená, že můžete skončit s duplicitními řádky mezipaměti v mezipaměti L1 různých jader, což snižuje efektivitu prostoru mezipaměti. Říká se tomu místní mezipaměť, a i když je to skvělé pro dobu přístupu, je méně efektivní při využití prostoru mezipaměti a vyžaduje další režii z hlediska koherence mezipaměti.

Sdílená mezipaměť je mezipaměť, která je dostupná pro více nebo všechna jádra ve vícejádrovém CPU. Sdílená mezipaměť znamená, že více jader může přistupovat k jedné instanci konkrétních dat, což omezuje plýtvání místem kvůli duplikaci. To také znamená, že jedno jádro si může dočasně nárokovat více, než je jeho spravedlivý podíl na mezipaměti, pokud to potřebuje, zatímco ostatní jádra ne. Je to za cenu delší přístupové doby.

Sdílené mezipaměti v praxi

Moderní CPU používají oba koncepty, přičemž každé jádro má lokální L1 cache. L3 cache má tendenci být sdílena mezi mnoha jádry, i když někdy ne všemi. L2 se liší, ale může být lokální nebo sdílený v závislosti na konkrétní architektuře generování CPU.

Tip: U čipletových procesorů, jako jsou špičkové modely AMD Ryzen, mohou být mezipaměti sdíleny mezi všemi jádry na čipletu spíše než se všemi jádry v celém CPU. Nezáleží na tom, mezi kolika jádry je mezipaměť sdílena; i když jsou to jen dvě, stále se jedná o sdílenou mezipaměť, i když stojí za to zdůraznit, že je sdílena pouze částečně.

Poznámka: Systémovou RAM lze také sdílet mezi více fyzickými CPU na jedné základní desce nebo mezi uzly v systému s více CPU.

Sdílená paměť v softwaru

V moderních počítačích se software nedostane k přímému adresování fyzické paměti. Místo toho je mu přiřazen segment virtuální adresy a počítač podle potřeby překládá tyto virtuální adresy na fyzické adresy. To pomáhá izolovat paměť pro jednotlivé procesy, což je užitečné pro bezpečnost.

V některých případech může být žádoucí přenášet data v paměti z jednoho procesu do druhého. Nejúčinnějším způsobem, jak toho dosáhnout, je umožnit dvěma procesům sdílet paměťový prostor. Oba procesy tak mohou číst stejná data a komunikovat spolu. To také pomáhá efektivně využívat systémovou RAM, protože data nejsou duplikována.

Softwarově sdílené paměti bude obvykle dosaženo uchováním jedné fyzické kopie dat a mapováním přístupu k nim prostřednictvím virtuální paměti pro každý proces, který k nim potřebuje přístup.

Závěr

Sdílená paměť je koncept, kdy jedna část paměti je přístupná více věcem. To lze implementovat jak hardwarově, tak softwarově. Mezipaměť CPU může být sdílena mezi více jádry procesoru. To platí zejména pro vyšší vrstvy mezipaměti CPU. Systémová paměť může být také sdílena mezi různými fyzickými CPU v jediném větším systému.

V softwaru může sdílená paměť umožnit meziprocesovou komunikaci IPC. Jeden proces alokuje paměť jako sdílenou s jedním nebo více specifickými procesy. Tyto další procesy pak mohou k tomuto umístění v paměti přistupovat prostřednictvím mapování virtuální paměti. Sdílená paměť pomáhá zajistit efektivní využití paměťového prostoru tím, že zabraňuje duplikaci dat v omezeném prostoru.


Jak klonovat pevný disk

Jak klonovat pevný disk

V moderním digitálním věku, kde jsou data cenným aktivem, může být klonování pevného disku v systému Windows pro mnohé zásadním procesem. Tento komplexní průvodce

Jak opravit selhání načtení ovladače WUDFRd v systému Windows 10?

Jak opravit selhání načtení ovladače WUDFRd v systému Windows 10?

Setkáváte se při spouštění počítače s chybovou zprávou, která říká, že se nepodařilo načíst ovladač WUDFRd do vašeho počítače?

Jak opravit kód chyby NVIDIA GeForce Experience 0x0003

Jak opravit kód chyby NVIDIA GeForce Experience 0x0003

Máte na ploše zkušenosti s chybovým kódem 0x0003 NVIDIA GeForce? Pokud ano, přečtěte si blog a zjistěte, jak tuto chybu rychle a snadno opravit.

Co je SMPS?

Co je SMPS?

Než si vyberete SMPS pro svůj počítač, zjistěte si, co je SMPS, a význam různých hodnocení účinnosti.

Proč se můj Chromebook nezapne

Proč se můj Chromebook nezapne

Získejte odpovědi na otázku Proč se můj Chromebook nezapíná? V této užitečné příručce pro uživatele Chromebooků.

Jak nahlásit phishingové podvody společnosti Google

Jak nahlásit phishingové podvody společnosti Google

V této příručce se dozvíte, jak nahlásit podvodníka společnosti Google a zabránit mu v podvádění ostatních.

Roomba se zastaví, přilepí a otočí – oprava

Roomba se zastaví, přilepí a otočí – oprava

Vyřešte problém, kdy se váš robotický vysavač Roomba zastaví, zasekne a stále se otáčí.

Jak změnit nastavení grafiky na Steam Deck

Jak změnit nastavení grafiky na Steam Deck

Steam Deck nabízí robustní a všestranný herní zážitek přímo na dosah ruky. Chcete-li však optimalizovat své hraní a zajistit to nejlepší možné

Co je zabezpečení založené na izolaci?

Co je zabezpečení založené na izolaci?

Chtěli jsme se ponořit do tématu, které je ve světě kybernetické bezpečnosti stále důležitější: zabezpečení založené na izolaci. Tento přístup k

Jak používat Auto Clicker pro Chromebook

Jak používat Auto Clicker pro Chromebook

Dnes jsme se chtěli ponořit do nástroje, který dokáže automatizovat opakované klikání na vašem Chromebooku: Auto Clicker. Tento nástroj vám může ušetřit čas a