Č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

Všetko o iOS 26

Všetko o iOS 26

Spoločnosť Apple predstavila systém iOS 26 – významnú aktualizáciu s úplne novým dizajnom z matného skla, inteligentnejšími funkciami a vylepšeniami známych aplikácií.

Najlepšie notebooky pre študentov v roku 2025

Najlepšie notebooky pre študentov v roku 2025

Študenti potrebujú na štúdium špecifický typ notebooku. Mal by byť nielen dostatočne výkonný na to, aby dobre podával výkony v zvolenom odbore, ale aj dostatočne kompaktný a ľahký na to, aby ho bolo možné nosiť so sebou celý deň.

Ako obnoviť prístup k pevnému disku, opraviť chybu, že sa pevný disk nedá otvoriť

Ako obnoviť prístup k pevnému disku, opraviť chybu, že sa pevný disk nedá otvoriť

V tomto článku vám ukážeme, ako znovu získať prístup k pevnému disku, keď zlyhá. Poďme na to!

Ako používať funkciu Upozornenie na konverzáciu a Počúvanie naživo na AirPods

Ako používať funkciu Upozornenie na konverzáciu a Počúvanie naživo na AirPods

Na prvý pohľad vyzerajú AirPods ako akékoľvek iné bezdrôtové slúchadlá do uší. To všetko sa však zmenilo, keď sa objavilo niekoľko málo známych funkcií.

Ako pridať tlačiareň do systému Windows 10

Ako pridať tlačiareň do systému Windows 10

Pridanie tlačiarne do systému Windows 10 je jednoduché, hoci proces pre káblové zariadenia sa bude líšiť od procesu pre bezdrôtové zariadenia.

Ako skontrolovať RAM a skontrolovať chyby RAM v počítači s najvyššou presnosťou

Ako skontrolovať RAM a skontrolovať chyby RAM v počítači s najvyššou presnosťou

Ako viete, RAM je veľmi dôležitá hardvérová súčasť počítača, ktorá slúži ako pamäť na spracovanie údajov a je faktorom, ktorý určuje rýchlosť notebooku alebo počítača. V článku nižšie vám WebTech360 predstaví niekoľko spôsobov, ako skontrolovať chyby RAM pomocou softvéru v systéme Windows.

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.