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í, Mikrosvět, Celý algoritmus, Složitá část, Nuance, Sara, Takt, Typický příklad, Paměti, Pentium, Častá operace, Counter, Stejný tvůrce, Jádro, Kritická část, Povrch, Procesor, Vnitřní struktura, Velká pravděpodobnost, Proud, Pointer, Vyrovnávací paměť, Velká fronta, Move, První argument


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

USA rozdávají chudým dotované telefony s Androidem. Jsou z Číny a plné virů

USA rozdávají chudým dotované telefony s Androidem. Jsou z Číny a plné virů

** Chudí Američané mohou dosáhnout na dotovaný mobil ** Jeden takový rozdává třeba tamní Virgin Mobile ** Má to jeden háček. Je prošpikovaný malwarem

Jakub Čížek | 42

Biblická potopa Česka: Jak bychom dopadli, kdyby nás zatopil oceán

Biblická potopa Česka: Jak bychom dopadli, kdyby nás zatopil oceán

** Představte si biblickou potopu ** Nejprve zaniknou Děčín a Břeclav, pak i Brno a Praha ** Hlavním městem se stane Jihlava a zbytky Čechů přežijí na Kvildě

Jakub Čížek | 93

Antivir zdarma: 8 bezplatných řešení, která zatočí s havětí v počítači

Antivir zdarma: 8 bezplatných řešení, která zatočí s havětí v počítači

** Součástí Windows 10 je integrovaný antivirový program. Stačí to? ** Představíme vám sedm aplikací na boj proti virům a malwaru ** Všechny jsou k dispozici zdarma a některé ani nemusíte instalovat

Karel Kilián | 31

Pozor, na Česko v těchto dnech útočí falešné Tesco, Penny Market a Lidl

Pozor, na Česko v těchto dnech útočí falešné Tesco, Penny Market a Lidl

** Máme tu další českou phishingovou vlnu ** Podle průzkumů máme stále problém s kybernetickou gramotností ** Nebezpečím jsou děti, které opouštějí rodiče

Jakub Čížek | 37



Aktuální číslo časopisu Computer

Test 9 bezdrátových reproduktorů

Jak ovládnout Instagram

Test levných 27" herních monitorů

Jak se zbavit nepotřebných věcí na internetu