Pentium 4 a programování (aneb co je pod povrchem)

V době, kdy se bojovalo o "metu 1GHz" vznikla teorie, že zvyšování frekvence procesoru je výborným marketingovým tahem. Podle ní pak "běžným uživatelům" stačí, že jejich nový počítač má "vyšší číslo" než ten starý - bez ohledu na jeho efektivní výkon. Od této myšlenky je jen krůček k "rychlostnímu lobbování" (ze strany PR oddělení) u konstruktérů nových procesorů. Bylo tomu tak i u návrhu Pentia 4? Vše nasvědčuje tomu, že asi ano...
Kapitoly článku

Prozatím jsme byli zvyklí na to, že každá nová generace procesorů byla při stejné pracovní frekvenci rychlejší než předchozí - a to díky vylepšené architektuře, novým instrukcím a technologiím. Vliv na výkon měly hlavně tyto faktory:

  • použití a postupné zvětšování vyrovnávacích pamětí cache první a druhé úrovně,
  • paralelní chod části jádra,
  • pipelinig a s ním spjaté spekulativní provádění kódu a odhadování podmíněných skoků a přesunů.

Díky novým technologiím integrace bylo možno umístit na křemíkový substrát stále více tranzistorů při udržení stejné výrobní ceny. To dalo tvůrcům nové možnosti jak vytvářet efektivnější, více specializované, vnitřní bloky procesoru a snížit tak počet cyklů na provedení jedné instrukce.

Příkladem nechť bude instrukce "ROR registr, konstanta" (ROtate Right, cyklický posuv vpravo). Provedení této instrukce na procesoru 80286 trvá 5+konstanta cyklů, na 80386 3 cykly nezávisle na konstantě a na 80486 2 cykly. Tedy třeba instrukce ROR AX,5 získáme na 486 pětinásobné zrychlení oproti 286 při stejné frekvenci.

Insider: Vnitřní struktura procesoru Intel a Assembler

Registry slouží k uchování aktuálně zpracovávaných dat. V případě 80286 to jsou 16bitové registry pro obecné použití AX (Accumulator), CX (Counter), DX (Data), BX (Base), které lze rozdělit na 8mi bitové části (např. AH je horní a AL je dolní polovina registru AX). Indexové registry SP (Stack Pointer), BP (Base Pointer), SI (Source Index), DI (Destination Index), segmentové registry ES,CS,SS,DS, registr příznaků FLAGS, programový čítač IP a registry spjaté s chráněným režimem. Procesor 386 rozšířil registry pro obecné použití, indexové registry a FLAGS na 32 bitů. 32bitovou verzi registru AX značíme EAX. Přibyly nové segmentové registry FS a GS.

Dekodér čte instrukce z paměti, získává (z registru nebo paměti) jejich operandy a předává je ALU (aritmeticko-logická jednotka), která provádí jednotlivé příkazy a ukládá jejich výsledek do registrů či paměti a modifikuje příznaky procesoru. FPU je výpočetní jednotka specializovaná na zpracování čísel s pohyblivou řádovou čárkou.

Procesor rozumí pouze strojovému jazyku, ten je však pro člověka jen velmi obtížně čitelný. Lze se o tom snadno přesvědčit třeba otevřením souboru s příponou .com nebo .exe hexadecimálním editorem. Kompilátory programovacích jazyků vyšší úrovně slouží vlastně jako tlumočníci do strojového jazyka a zjednodušeně by se dalo říct, že čím vyšší úroveň jazyka tím více (v průměru) je potřeba instrukcí strojového jazyka k zapsání jedné jeho instrukce. Assembler, někdy je také nazývány jazykem symbolických adres, je jazykem nejnižší úrovně a příkazy v něm zapsané lze přímo převést na strojový kód v poměru 1:1. Příkazy Assembleru dělíme do několika skupin

  • Přesuny dat a vkládáni hodnot (MOV, IN, OUT...)
  • Aritmetické a logické operace (INC, ADD, MUL, AND...)
  • Posuvy a rotace (ROR, SHL,RCR...)
  • Operace pro práci s řetězci (MOVSB, STOSB...)
  • Skoky přerušení a návraty (JMP, INT, RET...)

Poznámka: Dále v textu budou všechny příklady v Assembleru dostatečně komentovány. Tento článek si v žádném případě neklade za cíl přesné vysvětlení struktury procesoru a už vůbec ne Assembleru. Je zde uveden jen přehled nejdůležitějších prvků a instrukcí důležitých pro další výklad.

Témata článku: Programování, Povrch, Kritická část, Jádro, Typický příklad, Procesor, Fines, Velká fronta, ISBN, Pointer, Velká pravděpodobnost, První argument, Paměť, Sara, PPG, Vnitřní struktura, Proud, Nuance, Častá operace, Vyrovnávací paměť, Mikrosvět, Pentium, Stará sada, Takt, Celý algoritmus


Určitě si přečtěte

Vyšel Windows 10 October 2020 Update. Poradíme, jak je stáhnout a co je nového
Vladislav Kluska
October 2020 UpdateWindows 10
Vybrali jsme 12 programovatelných hraček a stavebnic pro děti a jejich rodiče

Vybrali jsme 12 programovatelných hraček a stavebnic pro děti a jejich rodiče

** Získejte děti pro matematiku a základy techniky ** Kupte jim hračku nebo stavebnici, které vdechnou vlastní život ** Vybrali jsme stavebnice pro malé caparty i budoucí experty

Jakub Čížek | 10

Jakub Čížek
Stavebnice
Pozor na tyto doplňky pro Chrome a Edge. Mohou obsahovat malware, varuje Avast
Jakub Čížek
MalwareProhlížeče
Šéf Spotify: Budeme zdražovat. Náš obsah se zlepšil
Markéta Mikešová
PředplatnéSpotify
Lidl buduje chytrou domácnost, propojí všechno se vším
Lukáš Václavík
LidlChytrá domácnostIoT
Elon Musk podpořil Signal jako náhradu WhatsAppu. Aplikaci okamžitě zavalili uživatelé
Markéta Mikešová
WhatsAppElon MuskFacebook
Teď už Chromium ovládne Windows 10 úplně. Microsoft dokončil WebView2

Teď už Chromium ovládne Windows 10 úplně. Microsoft dokončil WebView2

** Před dvěma lety se Microsoft zasnoubil s Chromem ** Nový Edge není zdaleka jejich jediné dítě ** Ještě důležitější je komponenta WebView2

Jakub Čížek | 53

Jakub Čížek
Windows 10ChromeSoftware
Messenger a Instagram přicházejí v Evropě o funkce. Kvůli nové směrnici o soukromí
Vladislav Kluska
EvropaInstagramFacebook Messenger

Aktuální číslo časopisu Computer

Jak prodloužit výdrž notebooku

Velké testy: gamepady a inkoustové tiskárny

Důkladný test Sony Playstation 5