Procesor – centrálny mozog ľudstva
Výrobcovia i predajcovia procesorov alebo počítačov nás zaplavujú mnohými pojmami, ktorých navyše pribúda. Je to dnes samé jadro, vlákno, cache, SSE a ďalšie termíny a skratky. Čo to vlastne znamená a do akej miery je potrebné tomu venovať pozornosť?
Začneme s pojmom procesor. Ten je niekedy nazývaný srdcom počítača, pretože “myslí”. Je to ale otrok programátora, ktorý len slepo vykonáva jeho príkazy. Keď sa celý procesor vošiel na jediný čip, vznikol mikroprocesor; to sú všetky súčasné procesory, a preto sa predpona mikro-prestala používať. Tradičný mikroprocesor mával príkazy “zadrátované”, čiže mal pevné zapojenie (pozri Intel 486). To bolo náročné pri navrhovaní procesora; jeho oprava pre výrobu ďalších procesorov bola zložitá. Navyše už
vytvorený procesor sa nemohol dodatočne opraviť.

Výrobcovia sa preto rozhodli pod príkazy vložiť ešte jednu vrstvu – každý príkaz sa bude skladať z niekoľkých menších príkazov zvaných mikroinstrukce. Priamo v procesore je prekladová tabuľka medzi inštrukciami a mikroinstrukcemi. To malo napríklad Intel Pentium Pro (a od tej doby snáď všetky mikroprocesory). Verejnosť
sa o nich prvýkrát dozvedela trochu viac v spojitosti s procesormi Intel Pentium 4, ktorých inštrukčná cache L1 si pamätala práve mikroinstrukce.
Výrobca procesora môže dokonca opravovať procesory priamo u zákazníka, ak ide o drobnejšie chybu. Prekladová tabuľka mikroinstrukcí je totiž súčasťou BIOSu, z ktorého sa posiela do procesora. Novšie BIOS tak znamená možnosť drobných opráv procesora, prípadne zvýšenie efektivity jeho práce.
Samotný procesor dokáže všeličo, ale na zložité matematické operácie zrovna vhodný nie je. Začali tak vznikať pomocné špecializované procesory, ktorým sa začalo hovoriť koprocesor. Pre výpočty s plávajúcou desatinnou čiarkou sa vytvorila pomocná súčiastka nazývaná matematický koprocesor. Síce nie prvý, ale rozhodne najznámejší bol Intel 8087, predobraz normy IEEE 754 (okrem iného zapríčinil, že si IBM vybrala pre PC práve procesor Intel 8088). Koprocesor bol vtedy voliteľnou
súčasťou počítača.
Rozšírené inštrukcie
SIMD je akademický názov pre postup, keď sa dokáže jediným príkazom manipulovať s väčším množstvom dát (Single Instruction Multiple Data). Jednotky SIMD nenahrádzajú procesor úplne, ale preberajú náročnú opakujúcu sa prácu. Samotné jadro procesora je využívané hlavne pre chod programu. Je to svojím spôsobom prvý pokus mať viac jadier.
Výrobcovia procesorov začali procesory dopĺňať SIMD jednotkou v polovici 90. rokov. Prvá SIMD sadou síce bol MAX-1 od HP, ale známou sa stala až súprava MMX od Intelu. Ta je 64 bitová a dokáže sa tváriť ako jeden zjednodušený 64-bitový procesor, dva 32-bitové, štyri 16-bitové, alebo osem 8-bitových. Práve MMX výrazne zrýchľuje napríklad prácu s bitmapou (pozri Adobe Photoshop a ďalšie).
Rovnako ako celočíselné SIMD sady typu MMX začali svojim spôsobom nahrádzať procesor, iné, zamerané na desatinné čísla začali nahrádzať matematický koprocesor.
Sem patrí 3DNow!, Celá rodina SSE (od SSE po SSE4 alebo SSE4.2) / Altivec / VMX a veľa ďalších. Zmienka o 3D je úplne na mieste – jedným z prvých využití bolo práve vo vektorovej 3D grafike. Preto sú zvyčajne 128-bitové. Po zrýchlení grafiky prišlo na rad mnoho ďalších veľmi náročných úloh, ako je vyhľadávanie, šifrovanie, kompresia dát typu MPEG-4 a ďalšie. Práve šifrovanie sa bude používať pri novej 256-bitové sady AVX v procesoroch Intel od roku 2010.
Rozdielne kešovanie
Pôvodne sa vyrovnávacia pamäť umiestňovala vedľa procesora, neskôr sa s ním zlúčila. Po tejto zmene zostala v jeho okolí externá cache aj naďalej. Tej integrovanej sa začalo hovoriť cache prvej úrovne alebo tiež primárna cache (cache L1), ta v okolí procesora dostala označenie sekundárna cache, cache L2 alebo cache druhej úrovne. Tá sa ale priamo na čip procesora dostala postupne tiež (AMD K6-III alebo Intel Pentium III pre Socket 370). Všeobecne platí, že cache L1 slúži na zrýchlenie na najnižšej úrovni, musí byť najrýchlejšia, čo znamená aj čo najmenšia. Zvyčajná veľkosť je rádovo v desiatkach kB. Cache L2 nie je tak rýchla, zato musí mať čo najväčšiu veľkosť. Tá sa dnes pohybuje v stovkách kB (ak existuje L3 cache), prípadne v jednotkách MB (ak L3 cache nie je).
Cache tretej úrovne nemá na prvý pohľad zmysel. Ak je na čipe miesto pre ďalšie cache, môže sa L2 cache jednoducho zväčšiť. Prvýkrát sa terciárna cache objavila priamo na čipe u štvor-socketových serverov (Intel Xeon MP). Kým L1 a L2 slúži len jednému procesoru, cache L3 je najväčší.
Zapisovať do nej môže len jeden procesor, ale čítať môžu všetky ostatné. Začína sa využívať od dvoch procesorov, veľký zmysel má od štyroch procesorov vyššie. L3 cache našla využitie u procesorov Intel Itanium 2, IBM POWER4 a ďalších.
Samozrejme platilo a platí, že čím je väčšia cache, tým je vyšší výkon procesora. Preto majú lacné modely malou cache (za málo peňazí málo muziky), čo možno vidieť
u modelov AMD Duron / Sempron, Intel Celeron a podobne. Drahšie a najdrahšie procesory s najvyššími výkonmi majú cache čo najväčšiu.
Vlákna
Jednoliaty tok príkazov sa nazýva vláknom. Pôvodne vedeli procesory spracovávať jediné vlákno. Potom sa objavil termín multithreading, čo je skupina technológií umožňujúcich zvýšiť počet vlákien v jednom procesore. Procesor je stále jeden, ale predstiera, že ich je viac.
VMT alebo vertikálny multithreading je postup, keď sa zaťaženie procesora zvyšuje zmenšením čakacích časov. Procesor síce spracováva v jednom okamihu jediné vlákno, avšak ďalšie čaká na príležitosť. Ak aktuálne vlákno na niečo čaká, procesor prepína na ďalšie, doteraz čakajúce vlákno.
Frekvencia procesora
Okolo roku 2000 sa architektúra mikroprocesorov dostala do slepej uličky. Vyššie uvedené technológie sa už rozšírili, nové ale neprišli tak rýchlo, aby to udržalo doterajšie veľké zrýchľovanie procesorov len úpravou architektúry. Mnohí výrobcovia sa začali viac a viac sústrediť na dve stratégie – vyššia frekvencia a novšie výrobné technológie. Najznámejšia sa stala mikroarchitektúra NetBurst (Intel Pentium 4, Pentium D), ktorá bola navrhnutá pre takt až 10 GHz. Všeobecne platí, že čím vyššia frekvencia procesora, tým rýchlejšie pracuje. Procesory ale nie sú rovnaké, a tak vyššia frekvencia jedného ešte neznamená, že je automaticky výkonnejší ako iný. To bol aj dôvod niekdajšieho označenia PR, porovnávajícího procesoru s produktami Intelu. Napríklad Cyrix 6x86MX PR200 mal mať výkon zodpovedajúci Pentiu s MMX na 200 MHz, aj keď pracoval len na 188 MHz. Naposledy túto techniku používala firma AMD v procesoroch Athlon XP (napr. Athlon XP 3200 + porovnávaný s procesorom Intel Pentium 4 na 3,2 GHz pracoval len na 2,2 GHz). Rozdielny vplyv frekvencie je spôsobený inou architektúrou procesora.
Rastúca frekvencia však nemala len kladné stránky. Začali sa tým nepríjemne zväčšovať problémy (vyššia produkcia tepla, čoraz väčšie zdržanie RAM pamäťou). Produkcia tepla totiž stúpa s plochou frekvencie, inými slovami, keď sa 2 × zvýši frekvencia, procesor bude kúriť 4 × toľko; výpočtový výkon sa však zvýši maximálne dvakrát. Nastala tak kríza jednojadrových procesorov. Intel ju čiastočne vyriešil vytvorením staronovej mikroarchitektúry (P6M + NetBurst), ktorá nebola postavená na vysokej frekvencii. Tak vznikla mikroarchitektúra Core, ktorú poznáme z dnešných procesorov (predbežné kroky boli procesory Pentium M). Nové procesory tak majú vyšší výpočtový výkon, aj keď pracujú na nižšom takte ako mnohé staršie modely.