Čo je to zoznam pokynov?

Čo je to zoznam pokynov?

Každá inštrukcia procesora má niekoľko fáz svojej činnosti. Dokončenie každej z týchto fáz trvá jeden cyklus CPU. Tieto fázy sú načítanie inštrukcie, dekódovanie inštrukcie, vykonanie, prístup do pamäte a spätný zápis. Respektíve dostanú inštrukciu, ktorú je potrebné dokončiť, oddelia operáciu od prevádzkovaných hodnôt, vykonajú proces, otvoria register, do ktorého sa zapíše výsledok, a zapíšu výsledok do otvoreného registra.

Historické procesory v poradí

V skorých počítačoch CPU nepoužíval inštrukčný kanál. V týchto CPU sa každá jednocyklová operácia musela uskutočniť pre každú inštrukciu. To znamenalo, že trvalo päť hodinových cyklov, kým bola priemerná inštrukcia úplne spracovaná, kým sa mohla spustiť ďalšia. Niektoré operácie nemusia zapísať žiadny výsledok do registra, čo znamená, že fázy prístupu do pamäte a spätného zápisu možno preskočiť.

Čo je to zoznam pokynov?

V subskalárnom procesore bez pipeline sa každá časť každej inštrukcie vykonáva v poradí.

Problém však číha pri spustení kompletnej inštrukcie v poradí pred tým, ako budete môcť prejsť na ďalšiu inštrukciu. Problém je v cache miss. CPU ukladá dáta, ktoré aktívne spracováva, do registra. To je možné dosiahnuť s jednocyklovou latenciou. Problém je, že register je malý, pretože je zabudovaný do jadra procesora. CPU musí prejsť do väčšej, ale pomalšej vyrovnávacej pamäte L1, ak údaje ešte neboli načítané. Ak tam nie je, musí ísť znova do väčšej a pomalšej vyrovnávacej pamäte L2. Ďalším krokom je vyrovnávacia pamäť L3; posledná možnosť je systémová RAM. Kontrola každej z týchto možností vyžaduje viac a viac cyklov CPU.

Teraz môže byť táto dodatočná pridaná latencia veľkým problémom v systéme, ktorý musí dokončiť každú inštrukciu v plnom poradí pred spustením ďalšej inštrukcie. To, čo bolo predtým 5-cyklovým procesorom na inštrukciu, môže zrazu zavesiť na jednu inštrukciu na desiatky alebo stovky hodinových cyklov. Po celú dobu sa na počítači nemôže stať nič iné. Technicky sa to dá trochu zmierniť tým, že máme dve nezávislé jadrá. Nič im však nebráni v tom, aby robili to isté, potenciálne súčasne. Takže ísť viacjadrovou cestou to nevyrieši.

Klasický RISC Pipeline

RISC je skratka pre Reduced Instruction Set Computer . Je to štýl dizajnu procesora, ktorý optimalizuje výkon tým, že uľahčuje dekódovanie každej inštrukcie. To je v porovnaní s počítačom CISC alebo Complex Instruction Set Computer, ktorý navrhuje komplexnejšie inštrukčné sady, ktoré umožňujú menej inštrukcií potrebných na vykonanie rovnakých úloh.

Klasický dizajn RISC obsahuje potrubie s pokynmi. Namiesto spustenia ktorejkoľvek z piatich etáp inštrukcie v danom cykle, pipeline umožňuje vykonať všetkých päť etáp. Samozrejme, nemôžete spustiť všetkých päť etáp jednej inštrukcie v cykle. Môžete však zaradiť päť po sebe idúcich pokynov s posunom každej jednej fázy. Týmto spôsobom môže byť dokončená nová inštrukcia každý cyklus hodín. Ponúka potenciálne 5-násobné zvýšenie výkonu pre relatívne nízky nárast zložitosti jadra.

Čo je to zoznam pokynov?

V skalárnom zreťazenom procesore môže byť každá fáza vykonávania inštrukcie vykonaná raz za cyklus hodín. To umožňuje maximálnu priepustnosť jednej dokončenej inštrukcie na cyklus.

Procesory, ktoré nemajú pipeline, môžu byť vždy iba subskalárne, pretože nedokážu vykonať jednu úplnú inštrukciu za cyklus. Pomocou tohto primárneho päťstupňového potrubia môžete vytvoriť skalárny procesor, ktorý dokáže dokončiť inštrukciu pre každý proces. Vytvorením ešte ďalekosiahlejších potrubí môžete vytvoriť superskalárne procesory, ktoré dokážu vykonať viac ako jednu inštrukciu za cyklus hodín. Samozrejme, stále existujú potenciálne problémy.

Stále sekvenčné

Nič z toho nerieši problém čakania na odpoveď počas mnohých cyklov pri potrebe dotazu na rôzne úrovne vyrovnávacej pamäte a pamäte RAM. Prináša tiež nový problém. Čo ak sa jedna inštrukcia spolieha na výstup predchádzajúcej inštrukcie? Tieto problémy sú samostatne riešené pokročilým dispečerom. Starostlivo plánuje poradie vykonávania tak, aby žiadne pokyny, ktoré sa spoliehajú na výstup iného, ​​neboli príliš blízko seba. Rieši aj vynechanie vyrovnávacej pamäte tak, že zaparkuje inštrukciu a nahradí ju v potrubí inými inštrukciami, ktoré sú pripravené na spustenie a nevyžadujú jej výsledok, pričom inštrukcia pokračuje, keď je pripravená.

Tieto riešenia môžu pracovať na nezreťazených procesoroch, ale sú potrebné pre superskalárny procesor, ktorý beží viac ako jednu inštrukciu na takt. Prediktor vetvy je tiež veľmi užitočný, pretože sa môže pokúsiť predpovedať výsledok inštrukcie s viac ako jedným potenciálnym výsledkom a naďalej predpokladať, že je správny, pokiaľ sa nepreukáže opak.

Záver

Pipeline umožňuje využitie všetkých odlišných schopností procesora v každom cykle. Robí to tak, že súčasne spúšťa rôzne fázy rôznych inštrukcií. To ani nepridáva veľa zložitosti dizajnu CPU. Tiež pripravuje cestu k tomu, aby viac ako jedna inštrukcia vykonala jednu fázu na cyklus.


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