Čo je mikrooperácia?

Počítače sú naprogramované pomocou programovacích jazykov. Tieto jazyky sú vo všeobecnosti čitateľné a umožňujú programátorovi konfigurovať, čo počítač robí. Tento kód je potom potrebné skompilovať do počítačových inštrukcií. Presné podrobnosti sa líšia v závislosti od architektúry súboru inštrukcií alebo ISA, ktorý zamýšľaný počítač používa. To je dôvod, prečo existujú rôzne odkazy na stiahnutie pre x86 CPU od Intel a AMD a ARM CPU, ktoré sa používajú v moderných zariadeniach Apple. ISA x86 a ARM sú odlišné; softvér musí byť zostavený samostatne. Ako Apple ukázal, je možné vytvoriť efektnú prekladovú vrstvu; jednoducho to nie je bežné.

Môžete si myslieť, že CPU vidí inštrukcie, ktoré sú mu prezentované, a potom ich vykonáva v poradí. Existuje mnoho trikov, ktoré moderné CPU robia, vrátane spustenia mimo poradia, ktoré umožňuje CPU meniť poradie vecí za behu, aby sa optimalizoval výkon. Šikovnou časťou, ktorá je však celkom dobre skrytá, sú mikrooperácie.

Potrubie k mikroprevádzke

Jednotlivé inštrukcie v strojovom kóde možno nazvať inštrukcie alebo operácie; pojmy sú zameniteľné. Jednou z ťažkostí s Complex Instruction Set Computing alebo architektúrami CISC ako x86 je, že inštrukcie sa môžu líšiť v dĺžke. To konkrétne odkazuje na to, koľko údajov je potrebné reprezentovať. V x86 môže byť inštrukcia krátka ako jeden bajt alebo dlhá až 15. Porovnajte to so štandardnou architektúrou RISC-V používanou modernými procesormi ARM s pevnou dĺžkou 4-bajtových inštrukcií.

Tip: RISC znamená Reduced Instruction Set Computing.

Jedným z dôsledkov tohto rozdielu v štruktúre je, že architektúry RISC majú tendenciu byť oveľa jednoduchšie efektívne prepojiť. Každá inštrukcia má niekoľko fáz svojej činnosti, ktoré využívajú odlišný hardvér. Pipelining spúšťa viacero inštrukcií cez tieto fázy súčasne, pričom v každej fáze je presne jedna inštrukcia. Potrubie ponúka značné zvýšenie výkonu, ak sa používa efektívne. Jedným z kľúčových faktorov efektívneho využívania potrubia je zabezpečiť, aby sa každý stupeň používal súčasne. Vďaka tomu všetko plynule prechádza potrubím.

Keďže všetky inštrukcie majú rovnakú dĺžku, inštrukcie RISC zvyčajne vyžadujú rovnaký čas spracovania ako ostatné. V CISC, ako je x86, však môže dokončenie niektorých inštrukcií trvať oveľa dlhšie ako iných. To vytvára veľký problém s efektívnosťou pri pipeline CPU. Zakaždým, keď príde dlhší pokyn, zasekne sa v potrubí na dlhšie. To spôsobí bublinu a zadrží všetko za ňou. Riešením sú mikrooperácie.

Efektívne mikrooperácie

Namiesto toho, aby sa každá inštrukcia považovala za jedinú úroveň operácie, ktorú možno vykonať, mikrooperácie zavádzajú novú nižšiu vrstvu. Každá operácia môže byť rozdelená do mnohých mikrooperácií. Starostlivým navrhovaním mikrooperácií môžete optimalizovať potrubie.

Zaujímavé je, že to ponúka novú výhodu. Zatiaľ čo celkový ISA, povedzme x86, zostáva rovnaký medzi mnohými rôznymi generáciami CPU, mikrooperácie môžu byť prispôsobené pre každú generáciu hardvéru. Dá sa to urobiť s hlbokým pochopením toho, koľko výkonu je možné vytlačiť z každého štádia potrubia pre každú mikrooperáciu.

V začiatkoch mikrooperácií to boli pevné spojenia, ktoré aktivovali alebo deaktivovali špecifické funkcie v závislosti od mikrooperácie. V modernom dizajne CPU sa do vyrovnávacej pamäte na zmenu poradia pridáva mikrooperácia. Je to práve táto vyrovnávacia pamäť, vďaka ktorej môže CPU vykonávať preskupenie orientované na efektivitu. Sú to mikrooperácie, nie skutočné pokyny, ktoré sa menia.

V niektorých prípadoch, najmä s pokročilejšími CPU, sa dá urobiť ešte viac. Mikrooperačná fúzia je tam, kde sa viaceré mikrooperácie kombinujú do jednej. Napríklad postupnosť jednoduchých mikrooperácií môže vykonávať činnosť, ktorú možno vykonať pomocou jedinej zložitejšej inštrukcie. Znížením počtu vykonaných mikrooperácií sa proces môže dokončiť rýchlejšie. To tiež znižuje počet zmien stavu, čím sa znižuje spotreba energie. Úplné inštrukcie môžu byť dokonca analyzované a kombinované do efektívnejších mikrooperačných štruktúr.

Niektoré CPU využívajú mikrooperačnú vyrovnávaciu pamäť. Toto ukladá plne dekódované mikrooperačné sekvencie, ktoré je možné pri opätovnom volaní znova použiť. Veľkosť takejto vyrovnávacej pamäte sa zvyčajne určuje podľa počtu mikrooperácií, ktoré môže uložiť, a nie podľa kapacity bajtov.

Záver

Mikrooperácia je implementácia inštrukčnej sady špecifická pre CPU. Inštrukcie sú dekódované do série mikrooperácií. Tieto mikrooperácie sa podstatne jednoduchšie a efektívnejšie prepájajú a tým lepšie využívajú zdroje CPU. Keďže mikrooperácie nie sú pevne zakódované v inštrukčnej sade, možno ich prispôsobiť špecifickému hardvéru každej generácie CPU. Mikrooperácie sa často skracujú na mikrooperácie alebo dokonca μops. Používa grécke písmeno μ ( vyslovuje sa Mu ), symbol SI pre mikro predponu.


Ako klonovať pevný disk

Ako klonovať pevný disk

V modernom digitálnom veku, kde sú údaje cenným aktívom, môže byť klonovanie pevného disku v systéme Windows pre mnohých zásadným procesom. Tento komplexný sprievodca

Ako opraviť načítanie ovládača WUDFRd v systéme Windows 10?

Ako opraviť načítanie ovládača WUDFRd v systéme Windows 10?

Zobrazuje sa vám pri zavádzaní počítača chybové hlásenie, ktoré hovorí, že sa nepodarilo načítať ovládač WUDFRd do vášho počítača?

Ako opraviť kód chyby NVIDIA GeForce Experience 0x0003

Ako opraviť kód chyby NVIDIA GeForce Experience 0x0003

Máte na pracovnej ploche skúsenosti s kódom chyby 0x0003 NVIDIA GeForce? Ak áno, prečítajte si blog a zistite, ako rýchlo a jednoducho opraviť túto chybu.

čo je SMPS?

čo je SMPS?

Pred výberom SMPS pre váš počítač si prečítajte, čo je SMPS a čo znamenajú rôzne hodnotenia účinnosti.

Prečo sa môj Chromebook nezapne

Prečo sa môj Chromebook nezapne

Získajte odpovede na otázku Prečo sa môj Chromebook nezapne? V tejto užitočnej príručke pre používateľov Chromebookov.

Ako nahlásiť phishing spoločnosti Google

Ako nahlásiť phishing spoločnosti Google

V tejto príručke sa dozviete, ako nahlásiť podvodníka spoločnosti Google, aby ste mu zabránili v podvádzaní iných.

Roomba sa zastaví, prilepí a otočí – oprava

Roomba sa zastaví, prilepí a otočí – oprava

Vyriešte problém, kedy sa váš robotický vysávač Roomba zastaví, zasekne a stále sa otáča.

Ako zmeniť nastavenia grafiky na Steam Deck

Ako zmeniť nastavenia grafiky na Steam Deck

Steam Deck ponúka robustný a všestranný herný zážitok priamo na dosah ruky. Aby ste však optimalizovali svoje hranie a zabezpečili to najlepšie možné

Čo je bezpečnosť založená na izolácii?

Čo je bezpečnosť založená na izolácii?

Chceli sme sa ponoriť do témy, ktorá sa vo svete kybernetickej bezpečnosti stáva čoraz dôležitejšou: bezpečnosť založená na izolácii. Tento prístup k

Ako používať Auto Clicker pre Chromebook

Ako používať Auto Clicker pre Chromebook

Dnes sme sa chceli ponoriť do nástroja, ktorý dokáže automatizovať úlohy opakovaného klikania na Chromebooku: Auto Clicker. Tento nástroj vám môže ušetriť čas a