Co je to paměťová bariéra?

Historicky byly CPU dokonale sekvenční stroje. To je velmi logické a snadno pochopitelné, ale může to být problém s výkonem. V průběhu let došlo k mnoha důmyslným úpravám návrhů CPU, aby se z křemíkových waferů vytěžilo co nejvíce výkonu. Jedním z těch zajímavějších je však provedení mimo provoz. V CPU provádějících mimo pořadí instrukce nemusí být nutně prováděny v pořadí, ve kterém byly vydány.

Zastavení v pořádku

Hlavní problém s výkonem, na který CPU v pořadí narazí, se nazývá zablokování potrubí. K tomu dochází, když je instrukce závislá na nějaké paměti, ale tato paměť není přímo dostupná v registru. V tomto případě musí CPU najít tuto hodnotu v paměti. Mezipaměť CPU se kontroluje jako první, protože se jedná o nejrychlejší paměťovou vrstvu. Pokud tam hodnota není, zkontroluje se systémová RAM. Během této doby musí CPU zůstat nečinný, protože instrukce závislá na paměti musí být dokončena v pořadí před následujícími instrukcemi.

Dopad na výkon při zastavení potrubí nemusí být tak špatný, ale může být také poměrně závažný. Například mezipaměť L1 může obvykle vrátit výsledek v řádu 5 cyklů CPU. Mezipaměť L2 může trvat 20 cyklů, L3 přibližně 200 cyklů a systémová RAM přibližně 400 cyklů. Vzhledem k tomu, že CPU může pracovat na frekvenci kolem 5 GHz, což je 5 miliard hodinových cyklů za sekundu, ani 400 cyklů není tak špatných (0,000008 %). Ale pokud máte mnoho instrukcí, které potřebují odkazovat na data dále v úrovních mezipaměti, může kumulativní efekt způsobit znatelné zpomalení.

Exekuce mimo provoz a přejmenování registru

Provádění mimo pořadí je technika, která umožňuje plánovači změnit pořadí instrukcí ve své frontě. Prostřednictvím tohoto přeuspořádání se může rozhodnout upřednostnit konkrétní vlákna před ostatními. Může také posouvat instrukce zpět do fronty, pokud mají závislost na datech, která ještě nebyla splněna. Tím se maximálně zabrání zablokování potrubí a minimalizují se cykly nečinnosti.

Spuštění mimo pořadí vyžaduje funkci zvanou přejmenování registrů. CPU může přistupovat k datům uloženým v registrech během jediného cyklu. Registry slouží k ukládání čtených a zapisovaných dat. Je však nezbytné zajistit, aby počítač jako celek viděl vše, co se děje v logickém pořadí, nikoli v pořadí mimo pořadí, v pořadí optimalizovaném pro cyklus CPU. Aby to bylo možné, CPU mají mnohem více logických registrů, než vyžaduje architektura CPU.

Data, která je třeba zapsat, ale mají „dřívější“ instrukci, která ještě nebyla dokončena, se umístí do uchovávacího registru. Tato data se po vyřízení objednávky nepřenesou do jiné evidence. Místo toho se název rejstříku změní na název rejstříku, ve kterém by měl být. Je to trochu podobné, jako když si připravíte dezert před hlavním chodem, ale poté jej ponecháte v lednici, dokud nenastane čas podávat.

Tyto logické registry jsou zcela neadresné. CPU může skutečně adresovat pouze logické registry, které aktuálně sdílejí název architektonických registrů. To znamená, že CPU si je také dostatečně uvědomuje, že pokud jiné přeuspořádané instrukce spoléhají na data v logickém holdingovém registru, mohou je použít spíše než „zastaralá“ data v architektonickém registru v tom konkrétním empirickém čase.

Paměťové bariéry

Paměťová bariéra – také označovaná jako membar, paměťový plot nebo instrukce plotu – je instrukce v počítačovém kódu. Umožňuje programátorovi vynutit objednávkové omezení na paměťové operace vydané před a za paměťovou bariérou. Paměťová bariéra dává pokyn plánovači CPU, aby zajistil, že všechny instrukce budou zpracovány před jakoukoli instrukcí po zábraně. To se provádí, aby bylo zajištěno, že důležité operace jsou dokončeny ve správném pořadí.

Na moderních počítačích by to obecně nemělo být nutné. Spouštění mimo pořadí a přejmenování registru jsou dobře zavedená a vyzrálá pole. Paměťová bariéra však může být užitečná pro starší, méně sofistikované, nefunkční procesory nebo používané v kritických operacích s pamětí.

Paměťové bariéry mohou přinášet určité snížení výkonu. Je to proto, že aktivně brání plánovači CPU v optimalizaci konkrétních částí toku instrukcí. Zvyšuje se tak možnost zablokování potrubí.

Závěr

Paměťová bariéra je instrukce, která zajišťuje omezení řazení paměťových operací. To je důležité, protože procesory pro provádění mimo pořadí mohou změnit pořadí konkrétních instrukcí. I když je přejmenování registru dobře zavedené jako metoda k zajištění integrity paměti v tomto prostředí, může být užitečné zajistit jej ručně.

Paměťová bariéra nutí plánovač CPU zajistit, aby byly instrukce dokončeny před jakoukoli instrukcí po zábraně. Tím se zabrání změně pořadí operací s pamětí. Také to brání CPU v optimalizaci toku instrukcí, což může ovlivnit výkon.


Leave a Comment

10 Nejlepších NAS zařízení pro ukládání dat pro domácí a profesionální použití

10 Nejlepších NAS zařízení pro ukládání dat pro domácí a profesionální použití

Ať už hledáte NAS pro váš domov nebo kancelář, podívejte se na tento seznam nejlepších NAS zařízení pro ukládání dat.

Základy 3D tisku: Tipy na údržbu vaší 3D tiskárny

Základy 3D tisku: Tipy na údržbu vaší 3D tiskárny

Údržba vašich 3D tiskáren je velmi důležitá pro dosažení nejlepších výsledků. Zde jsou některé důležité tipy, které je dobré mít na paměti.

Jak připojit notebook s Windows 11 k projektoru/TV

Jak připojit notebook s Windows 11 k projektoru/TV

Přečtěte si tento článek, abyste se dozvěděli jednoduchý krok za krokem proces, jak připojit notebook k projektoru nebo TV v OS Windows 11 a Windows 10.

Jak opravit kód chyby GeForce Now 0xC272008F

Jak opravit kód chyby GeForce Now 0xC272008F

Připravujete se na večer her a bude to velké - právě jste si pořídili hru „Star Wars Outlaws“ na streamovací službě GeForce Now. Objevte jediný známý způsob, jak opravit kód chyby GeForce Now 0xC272008F, abyste mohli znovu hrát hry od Ubisoftu.

5 Důvodů, Proč Se Váš Notebook Přehřívá

5 Důvodů, Proč Se Váš Notebook Přehřívá

Zjistěte některé možné důvody, proč se váš notebook přehřívá, spolu s tipy a triky, jak tento problém vyřešit a udržet své zařízení v chladu.

Základy 3D tisku: Kontrolní seznam údržby, který si musíte přečíst

Základy 3D tisku: Kontrolní seznam údržby, který si musíte přečíst

Udržování vašeho vybavení v dobrém stavu je nezbytné. Zde jsou některé užitečné tipy, jak udržet váš 3D tiskárnu v nejlepším stavu.

Jak nainstalovat SSD na desktop a notebooky

Jak nainstalovat SSD na desktop a notebooky

Právě jste zakoupili SSD a chtěli byste upgradovat interní úložiště svého počítače, ale nevíte, jak SSD nainstalovat? Přečtěte si tento článek nyní!

Canon Pixma MG5220: Skenování bez inkoustu

Canon Pixma MG5220: Skenování bez inkoustu

Jak povolit skenování na Canon Pixma MG5220, když dojde inkoust.

Jak najít IP adresu tiskárny

Jak najít IP adresu tiskárny

Máte problémy s nalezením IP adresy tiskárny? Ukážeme vám, jak ji najít.

Jak používat AirPods s telefony Samsung

Jak používat AirPods s telefony Samsung

Pokud si nejste jisti, zda koupit AirPods pro váš telefon Samsung, tento průvodce vám může pomoci. Nejvíce evidentní otázka je, zda jsou obě zařízení kompatibilní, a odpověď je: Ano, jsou!