Co je mikrooperace?

Počítače jsou naprogramovány pomocí programovacích jazyků. Tyto jazyky jsou obecně čitelné pro člověka a umožňují programátorovi konfigurovat, co počítač dělá. Tento kód je pak potřeba zkompilovat do počítačových instrukcí. Přesné podrobnosti se liší v závislosti na architektuře Instruction Set Architecture nebo ISA, které zamýšlený počítač používá. To je důvod, proč existují různé odkazy ke stažení pro procesory x86 od Intel a AMD a procesory ARM používané v moderních zařízeních Apple. ISA x86 a ARM se liší; software musí být zkompilován samostatně. Jak Apple ukázal, je možné vytvořit efektní překladovou vrstvu; prostě to není běžné.

Možná si myslíte, že CPU vidí instrukce, které jsou mu předloženy, a pak je provádí v pořadí. Existuje mnoho triků, které moderní CPU dělají, včetně spouštění mimo pořadí, které umožňuje CPU měnit pořadí věcí za chodu, aby se optimalizoval výkon. Chytrou částí, která je však docela dobře skrytá, jsou mikrooperace.

Potrubí k mikroprovozu

Jednotlivé instrukce ve strojovém kódu lze nazvat instrukcemi nebo operacemi; termíny jsou zaměnitelné. Jednou z potíží s Complex Instruction Set Computing nebo architekturami CISC, jako je x86, je to, že instrukce se mohou lišit v délce. To konkrétně odkazuje na to, kolik dat potřebují k reprezentaci. V x86 může být instrukce krátká až jeden bajt nebo až 15. Porovnejte to se standardní architekturou RISC-V používanou moderními procesory ARM se 4bajtovými instrukcemi s pevnou délkou.

Tip: RISC je zkratka pro Reduced Instruction Set Computing.

Jedním z důsledků tohoto rozdílu ve struktuře je to, že RISC architektury mají tendenci být mnohem snazší efektivně propojit. Každá instrukce má několik fází své činnosti, které využívají jiný hardware. Pipelining spouští více instrukcí v těchto fázích současně, přičemž v každé fázi je přesně jedna instrukce. Pipelining nabízí značné zvýšení výkonu při efektivním použití. Jedním z klíčových faktorů efektivního využití potrubí je zajistit, aby se každý stupeň používal současně. Díky tomu vše plynule běží potrubím.

Vzhledem k tomu, že všechny instrukce mají stejnou délku, instrukce RISC obvykle vyžadují stejnou dobu zpracování jako každá jiná. V CISC, jako je x86, však některé instrukce mohou trvat mnohem déle než jiné. To vytváří velký problém s efektivitou při zřetězení CPU. Pokaždé, když přijde delší instrukce, uvízne v potrubí na delší dobu. To způsobí bublinu a zadrží vše za ní. Řešením jsou mikrooperace.

Efektivní mikroprovozy

Namísto toho, aby byla každá instrukce považována za jedinou úroveň operace, kterou lze provést, zavádějí mikrooperace novou nižší vrstvu. Každá operace může být rozdělena do mnoha mikrooperací. Pečlivým navržením mikrooperací můžete optimalizovat potrubí.

Zajímavé je, že to nabízí novou výhodu. Zatímco celkový ISA, řekněme x86, zůstává stejný mezi mnoha různými generacemi CPU, mikrooperace mohou být navrženy na míru pro každou generaci hardwaru. To lze provést s hlubokým pochopením toho, kolik výkonu lze vytlačit z každého stupně potrubí pro každou mikrooperaci.

V počátcích mikrooperací to byla pevně připojená připojení, která aktivovala nebo deaktivovala konkrétní funkce v závislosti na mikrooperaci. V moderním designu CPU je do vyrovnávací paměti pro změnu pořadí přidána mikrooperace. Je to právě tato vyrovnávací paměť, kterou může CPU provádět přeskupení orientované na efektivitu. Jsou to mikrooperace, ne skutečné instrukce, které jsou přeskupeny.

V některých případech, zejména u pokročilejších CPU, lze udělat ještě více. Mikrooperační fúze je tam, kde je více mikrooperací kombinováno do jedné. Například sekvence jednoduchých mikrooperací může provádět akci, kterou lze provést pomocí jediné, složitější instrukce. Snížením počtu prováděných mikrooperací může být proces dokončen rychleji. To také snižuje počet změn stavu a snižuje spotřebu energie. Úplné instrukce mohou být dokonce analyzovány a kombinovány do efektivnějších mikrooperačních struktur.

Některé procesory využívají mezipaměť mikro operací. Zde jsou uloženy plně dekódované mikrooperační sekvence, které mohou být znovu použity, pokud jsou znovu volány. Velikost takové mezipaměti se obvykle určuje podle počtu mikrooperací, které může uložit, spíše než podle kapacity bajtů.

Závěr

Mikrooperace je implementace instrukční sady specifická pro CPU. Instrukce jsou dekódovány do řady mikrooperací. Tyto mikrooperace se výrazně snáze a efektivněji propojují a tím lépe využívají zdroje CPU. Protože mikrooperace nejsou pevně zakódovány do instrukční sady, lze je přizpůsobit specifickému hardwaru každé generace CPU. Mikrooperace se často zkracují na mikrooperace nebo dokonce μops. To používá řecké písmeno μ ( vyslovuje se Mu ), symbol SI pro mikro předponu.


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