Čo je to pamäťová bariéra?

Historicky boli CPU dokonale sekvenčné stroje. Je to veľmi logické a ľahko pochopiteľné, ale môže to byť problém s výkonom. V priebehu rokov došlo k mnohým dômyselným úpravám dizajnu CPU, aby sa z kremíkových doštičiek vyťažilo čo najviac výkonu. Jedným z najzaujímavejších je však exekúcia mimo objednávky. V CPU vykonávania mimo poradia inštrukcie nemusia byť nevyhnutne vykonávané v poradí, v akom boli vydané.

Zastavenie v poriadku

Hlavný problém s výkonom, na ktorý CPU v poradí narazí, sa nazýva zastavenie potrubia. Stáva sa to, keď je inštrukcia závislá od určitej pamäte, ale táto pamäť nie je priamo dostupná v registri. V tomto prípade musí CPU nájsť túto hodnotu v pamäti. Vyrovnávacia pamäť CPU sa kontroluje ako prvá, pretože ide o najrýchlejšiu pamäťovú vrstvu. Ak tam hodnota nie je, skontroluje sa systémová RAM. Počas tejto doby musí byť CPU nečinný, pretože inštrukcia závislá od pamäte musí byť dokončená v poradí pred nasledujúcimi pokynmi.

Vplyv zastavenia potrubia na výkon nemusí byť taký zlý, ale môže byť aj pomerne závažný. Napríklad vyrovnávacia pamäť L1 môže zvyčajne vrátiť výsledok rádovo 5 cyklov CPU. Cache L2 môže trvať 20 cyklov, L3 približne 200 cyklov a systémová RAM približne 400 cyklov. Vzhľadom na to, že CPU môže pracovať na frekvencii približne 5 GHz, čo je 5 miliárd hodinových cyklov za sekundu, ani 400 cyklov nie je až takých zlých (0,000008 %). Ak však máte veľa inštrukcií, ktoré potrebujú odkazovať na údaje nižšie na úrovniach vyrovnávacej pamäte, kumulatívny efekt môže spôsobiť výrazné spomalenie.

Vykonanie mimo objednávky a premenovanie registra

Vykonávanie mimo poradia je technika, ktorá umožňuje plánovaču zmeniť poradie pokynov vo svojom fronte. Prostredníctvom tohto preusporiadania sa môže rozhodnúť uprednostniť konkrétne vlákna pred ostatnými. Môže tiež posunúť pokyny späť do frontu, keď majú závislosť od údajov, ktorá ešte nebola splnená. Tým sa v maximálnej možnej miere predchádza zablokovaniu potrubia, čím sa minimalizujú cykly nečinnosti.

Spustenie mimo poradia vyžaduje funkciu nazývanú premenovanie registrov. CPU môže pristupovať k údajom uloženým v registroch v rámci jedného cyklu. Registre sa používajú na ukladanie dát, ktoré sa čítajú a zapisujú. Je však nevyhnutné zabezpečiť, aby počítač ako celok videl všetko, čo sa deje v logickom poradí, nie v poradí mimo prevádzky, v poradí optimalizovanom pre cyklus CPU. Aby to bolo možné, CPU majú oveľa viac logických registrov, než vyžaduje architektúra CPU.

Údaje, ktoré je potrebné zapísať, ale majú „staršiu“ inštrukciu, ktorá ešte nebola dokončená, sa umiestnia do registra. Keď sa objednávka sama vytriedi, tieto údaje sa neprenesú do inej evidencie. Namiesto toho sa názov registra zmení na názov registra, v ktorom by sa mal nachádzať. Je to niečo podobné, ako keď si pripravíte dezert pred hlavným jedlom, ale potom ho necháte v chladničke, kým nie je čas ho podávať.

Tieto logické registre sú úplne neadresné. CPU môže skutočne adresovať iba logické registre, ktoré momentálne zdieľajú názov architektonických registrov. CPU si ich však uvedomuje natoľko, že ak sa iné preusporiadané inštrukcie spoliehajú na údaje v logickom holdingovom registri, môžu ich použiť skôr ako „zastarané“ údaje v architektonickom registri v danom empirickom čase.

Pamäťové bariéry

Pamäťová bariéra – tiež označovaná ako membar, pamäťový plot alebo inštrukcia plotu – je inštrukcia v počítačovom kóde. Umožňuje programátorovi vynútiť objednávkové obmedzenie na operácie s pamäťou vydané pred a po pamäťovej bariére. Pamäťová bariéra dáva pokyn plánovaču CPU, aby zabezpečil, že všetky inštrukcie budú spracované pred akoukoľvek inštrukciou po prekážke. Deje sa tak, aby sa zabezpečilo, že dôležité operácie budú dokončené v správnom poradí.

Vo všeobecnosti by to na moderných počítačoch nemalo byť potrebné. Spustenie mimo poradia a premenovanie registra sú dobre zavedené a vyspelé oblasti. Napriek tomu môže byť pamäťová bariéra užitočná pre staršie, menej sofistikované, nefunkčné procesory alebo používané pri kritických operáciách s pamäťou.

Pamäťové bariéry môžu spôsobiť určité zníženie výkonu. Je to preto, že aktívne bránia plánovaču CPU v optimalizácii konkrétnych častí toku inštrukcií. Tým sa zvyšuje pravdepodobnosť zaseknutia potrubia.

Záver

Pamäťová bariéra je inštrukcia, ktorá zabezpečuje obmedzenie zoradenia pri operáciách s pamäťou. Je to dôležité, pretože procesory vykonávania mimo poradia môžu zmeniť poradie konkrétnych pokynov. Aj keď je premenovanie registra dobre zavedené ako metóda na zabezpečenie integrity pamäte v tomto prostredí, môže byť užitočné zabezpečiť to manuálne.

Pamäťová bariéra núti plánovač CPU zabezpečiť, aby boli inštrukcie dokončené pred akoukoľvek inštrukciou po prekážke. Tým sa zabráni zmene poradia operácií s pamäťou. Tiež bráni CPU v optimalizácii toku inštrukcií, čo môže ovplyvniť výkon.


Leave a Comment

Canon Pixma MG5220: Skener bez atramentu

Canon Pixma MG5220: Skener bez atramentu

Ako povoliť skenovanie na Canon Pixma MG5220, keď vám došiel atrament.

Ako opraviť chybu GeForce Now s kódom 0xC272008F

Ako opraviť chybu GeForce Now s kódom 0xC272008F

Chystáte sa na večer hrania hier a bude to veľké – práve ste si zakúpili “Star Wars Outlaws” na streamovacej službe GeForce Now. Objavte jediné známe riešenie, ktoré vám ukáže, ako opraviť chybu GeForce Now s kódom 0xC272008F, aby ste mohli opäť začať hrať hry od Ubisoftu.

Čo robiť, ak sa Powerbeats Pro nenabíjajú v puzdre

Čo robiť, ak sa Powerbeats Pro nenabíjajú v puzdre

Ak sa vaše Powerbeats Pro nenabíjajú, použite iný zdroj energie a vyčistite svoje slúchadlá. Nechajte puzdro otvorené počas nabíjania slúchadiel.

Základy 3D tlače: Nevyhnutný kontrolný zoznam údržby

Základy 3D tlače: Nevyhnutný kontrolný zoznam údržby

Udržiavanie vašich zariadení v dobrom stave je nevyhnutné. Tu sú niektoré užitočné tipy, ako váš 3D tlačiar udržiavať v top stave.

Ako nainštalovať SSD na desktopových a prenosných počítačoch

Ako nainštalovať SSD na desktopových a prenosných počítačoch

Kúpili ste si SSD s nádejou na upgrade interného úložiska vášho počítača, ale neviete, ako nainštalovať SSD? Prečítajte si tento článok teraz!

Ako nájsť IP adresu tlačiarne

Ako nájsť IP adresu tlačiarne

Máte problém nájsť IP adresu, ktorú vaša tlačiareň používa? Ukážeme vám, ako ju nájsť.

Ako pripojiť notebook s Windows 11 k projektoru/TV

Ako pripojiť notebook s Windows 11 k projektoru/TV

Prečítajte si tento článok a dozviete sa jednoduchý, krok za krokom popísaný proces pripojenia notebooku k projektoru alebo TV na operačných systémoch Windows 11 a Windows 10.

5 Dôvodov, Prečo Sa Váš Notebook Prehrieva

5 Dôvodov, Prečo Sa Váš Notebook Prehrieva

Zistite niektoré možné dôvody, prečo sa váš notebook prehrieva, spolu s tipmi a trikmi, ako sa vyhnúť tomuto problému a udržať vaše zariadenie chladné.

Základy 3D tlače: Tipy na údržbu vašej 3D tlačiarne

Základy 3D tlače: Tipy na údržbu vašej 3D tlačiarne

Údržba vašich 3D tlačiarní je veľmi dôležitá na dosiahnutie najlepších výsledkov. Tu sú niektoré dôležité tipy, na ktoré by ste mali myslieť.

10 Najlepších NAS úložných zariadení pre domáce a profesionálne použitie

10 Najlepších NAS úložných zariadení pre domáce a profesionálne použitie

Či už hľadáte NAS pre svoj domov alebo kanceláriu, pozrite si tento zoznam najlepších NAS úložných zariadení.