Procesory Co je to procesor? Procesor je integrovaný obvod, který zajišťuje funkce počítače a je tak jeho základním kamenem. Jeho prudký vývoj začal v 70tých letech a od té doby se počet tranzistorů obsažených v procesoru zdvojnásobí zhruba každých 18 měsíců. Procesory se mohou dělit podle různých hledisek do různých skupin. Tyto skupiny se samozřejmě dají dále rozdělit do různých podskupin podle mnoha dalších hledisek, jako je například architektura procesoru, koncepce apod. Asi nejdůležitější dělení je na: • CPU (Central Processor Unit), • MCU (Micro Controller Unit), • DSP (Digital Signal Procesor). CPU jsou klasické procesory v PC, MACech a ostatních stolních počítačích. MCU je vlastně mikrořadič, který najdete všude, kde je nějaká elektronika, např. v klávesnici, kde zajišťuje odesílání znaků do počítače nebo v autech, kde zajišťuje třeba vstřikování paliva. Mezi hlavní výhody patří nízká cena, malá spotřeba a rozměry. DSP je signálový procesor, který je určitým kompromisem mezi klasickým CPU a mikrořadičem.
Základní pojmy principu funkce procesorů. 1) Aritmeticko‐logická jednotka Jednotka procesoru, která provádí aritmetické (např. sčítání, násobení, dělení) a logické (např. posuvy, logické AND a OR) operace. 2) Registry Velmi rychlé paměťové místo malé kapacity (jednotky bytů) umístěné většinou uvnitř procesoru počítače. 3) Řadič Zařízení převádějící příkazy v symbolické formě (instrukce) na posloupnost signálů ovládajících připojené zařízení. Jedná se tedy o zařízení, které řídí činnost jiného zařízení. 4) Cache Dalším termínem je cache, což se v češtině vykládá jako rychlá vyrovnávací paměť. Je to RAM paměť, mnohokrát rychlejší, než operační paměť RAM. Poprvé se objevila v sálových počítačích koncem 60. let; vraťme se zpět k mikropočítačům. Mikroprocesor začal být i v nich v polovině 80. let natolik rychlý, že jej začala RAM paměť zpomalovat. První možností jak situaci vyřešit bylo zrychlení celé RAM paměti. To sice technicky možné je, ale za cenu mnohonásobného zdražení. A tak místo náhražky pomalé paměti za rychlou přidala k pomalé ještě malá rychlá. Tam jsou data naposledy zpracovávaná procesorem.
Původně se cache umisťovala vedle procesoru, později se s ním sloučila. Přestože se cache přemístila přímo do procesoru, v jeho okolí zůstala externí cache i nadále. Té integrované se začalo říkat cache první úrovně nebo též primární cache (cache L1), ta v okolí procesoru dostala označení sekundární cache, cache L2, cache druhé úrovně. Ta se ale přímo na čip procesoru dostala postupně také. Obecně platí, že cache L1 slouží ke zrychlení na nejnižší úrovni; musí být nejrychlejší, což znamená také co nejmenší. Obvyklá velikost je řádově v desítkách KiB. Cache L2 není tak rychlá, zato musí mít co největší velikost. Ta se dnes pohybuje ve stovkách KiB (pokud existuje L3 cache), případně v jednotkách MiB (pokud L3 cache není). Postupem času se zjistilo, že cache L1 nepodává takové výkony, jak bychom chtěli. Proto se rozdělila na dvě. Od té doby máme cache dělenou na L1 instrukční a L1 datovou (L1I + L1D). Obvykle jsou symetrické, neboli obě mají stejnou datovou kapacitu (například 32 + 32 KiB). V rodině x86 se poprvé objevila u procesorů Intel Pentium, jinde u Alpha 21064. Cache třetí úrovně nemá na první pohled smysl. Jestli je na čipu místo pro další cache, může se L2 cache prostě zvětšit. Poprvé se terciární cache objevila přímo na čipu u čtyřprocesorových serverů (viz Intel Xeon MP). Zatímco L1 a L2 slouží jen jedinému procesoru, cache L3 je největší. Zapisovat do ní může jen jeden procesor, ale číst mohou všechny ostatní. Začíná se využívat od dvou procesorů, velký smysl má od čtyř procesorů výše. L3 cache našla využití u procesorů Intel Itanium 2, IBM POWER4 a dalších. To vše platilo pro jednojádrové procesory. Dnes ale máme na jediném čipu třeba čtyři jádra. Potom vše k cache pamětem platí, pokud místo „procesor“ použijeme slovo „jádro“. Dnešní čtyřjádrové procesory typu AMD Phenom II nebo Intel Core i7 mají velmi podobnou filosofii. Na jediném čipu jsou čtyři jádra, kde každé má malou L1 cache a větší cache L2. Všechna čtyři jádra potom sdílejí cache třetí úrovně. Cache L1 lze přirovnat k ledničce, ke které máme nejblíže, ale je nejmenší. Za cache L2 lze považovat spíž, kam je sice delší cesta, ale více se tam vejde. A konečně cache L3 je společný sklad více kuchyní, kde nemusí být X‐krát pytel s moukou, ale stačí jeden společný.
Výroba procesoru Procesor je v podstatě polovodičová součástka tvořená především křemíkovou destičkou s několika příměsemi. Až doposud se používal hlavně hliník (Al), ale v současnosti se již objevují procesory (firmy IBM, AMD v továrně v Drážďanech) s mědí jako příměsí (měď je totiž mnohem lepší vodič el. proudu než hliník). Během výroby je u procesoru testována kompatibilita na spoustě hardwarových zařízení a tisících softwarových aplikací. Je totiž velice důležité, aby procesor uměl pracovat se stávajícím hardwarem na trhu a aby dokázal ovládat i současný software. V průběhu těchto testů je již hotový procesor montován do normálních počítačů a je testován zpravidla bez zásahu techniků. Procesory jsou samozřejmě podrobeny i různým výkonnostním testům benchmarkovými programy. I po zahájení výroby jsou procesory podrobeny celé sérii testů trvajících však jen 10 ‐ 20 sekund.
Trocha historie Všechno začalo na konci roku 1971, kdy firma Intel představila svůj první mikroprocesor 4004. Dnes se to zdá směšné, ale tento 4bitový procesor měl frekvenci 108 kHz a obsahoval 2300 tranzistorů. Po něm v roce 1972 následoval rychlejší 8bitový procesor 8008 s frekvencí 200 kHz. To ještě nebyly procesory používané v osobních počítačích, ale používaly se například v kalkulačkách nebo při řízení světelné signalizace. První procesor použitý v osobním počítači Altair 8800 firmy MITS (pro něj pánové Bill Gates a Paul Allen vyvinuli jazyk Basic) byl označen 8080 a byl vyroben poprvé v roce 1974. Pracoval již na frekvenci 2 MHz, obsahoval 6000 tranzistorů a byl asi 10krát rychlejší než jeho předchůdce. V roce 1978 následoval procesor 8086 s 29 000 tranzistory a frekvencí 8 a 10 MHz a v roce 1979 16bitový procesor 8088 (levnější verze procesoru 8086), který již možná někdo pamatuje z prvních osobních počítačů firmy IBM označených jako IBM PC. Frekvence tohoto procesoru byla 5 a 8 MHz. V roce 1982 byl uveden na trh procesor 80286 se 134 000 tranzistory a frekvencí od 6 do 12 MHz. Ten už začali používat i jiní výrobci tzv. klonů počítače IBM (například Compaq) a tyto počítače se pak označovaly jako 100% kompatibilní s IBM PC. Rychlost tohoto procesoru byla asi 3‐6 násobná oproti procesoru 8086. V roce 1985 byl uveden následník procesoru 80286 ‐ 32bitový procesor Intel386 DX s frekvencí od původních 16 MHz až po 33 MHz V roce 1989 uvedla firma Intel na trh procesor Intel486 DX, který byl asi 50krát výkonnější než procesor 8088 a obsahoval už přes milion tranzistorů a také matematický koprocesor (k procesorům 386 bylo možné koprocesor dokoupit). S nástupem procesorů 486 se více prosadil systém Windows firmy Microsoft a uživatelé přecházeli na grafické uživatelské prostředí, které do té doby na procesorech 386 nepracovalo uspokojivou rychlostí. Frekvence procesoru 486 byla postupně zvýšena z původních 25 MHz až na 50 MHz. Aby se společnost Intel mohla odlišit od konkurence, rozhodla se procesor nové generace označit jinak. Rozhodování o novém jméně nebylo vůbec jednoduché, protože do propagace procesorů 286, 386 a 486 věnovala firma nemalé prostředky, a logickým pokračovatelem měl tedy být procesor 586. Problém byl v tom, že jméno by opět mohly zadarmo využít i konkurenční firmy AMD a Cyrix. Nakonec se firma Intel rozhodla, že poprvé ve své historii označí svůj produkt jinak než číslem. Výběrovým řízením (jméno procesoru mohli navrhnout i zaměstnanci Intelu) nakonec prošli tři žhaví kandidáti, a přestože byl konečný výběr několikrát změněn, vyhrálo nakonec Pentium. I z tohoto jména je patrné, že jde o procesor 5‐té generace a tak trochu připomíná název 586. První procesory Pentium s frekvencí 60 a 66 MHz byly představeny v roce 1993 a dnes se možná již zapomnělo na aféru, která jejich uvedení provázela ? tyto procesory totiž v některých speciálních případech neuměly správně počítat. Procesory Pentium měly již přes 3 miliony tranzistorů a rychlost přes 100 MIPS (milionů instrukcí za sekundu). Po 60MHz a 66MHz procesoru Pentium byla uvedena jeho 75MHz verze, která se zasazovala do trochu jiné patice označené Socket 7. V roce 1994 následovalo 90MHz a 100MHz Pentium a postupně světlo světa spatřil i 200MHz procesor Pentium. Začátkem roku 1997 byly představeny 166MHz a 200MHz procesory Pentium s technologií MMX (označované také jako Pentium/MMX) a se 4,5 milionu tranzistorů. Od běžných procesorů Pentium se tento procesor liší některými konstrukčními změnami (například byl rozšířen o technologii SIMD (Single Instruction, Multiple Data), a především tím, že jeho
instrukční sada byla rozšířena o další instrukce (je jich 57) a datové typy podporující grafiku a multimédia. První procesory Pentium II představené v r1997 měly frekvence 233 MHz, 266 MHz a 300 MHz a byly tvořeny 7,5 milionu tranzistorů. Jedinou změnou oproti procesorům Pentium však nebyla pouze změna rozměrů a použitého slotu pro připojení. Procesory Pentium II jsou totiž vybaveny vyrovnávací pamětí druhé úrovně ve velikosti 512 KB (do té doby byla vyrovnávací paměť druhé úrovně na základní desce). Přístup k této paměti je mnohem rychlejší a k této paměti se přistupuje s frekvencí poloviční, než na jaké pracuje procesor. Procesory Pentium II mají sice slušný výkon, ale firma Intel je na trh uvedla v době, kdy se staly velice populárními levné počítače s cenou okolo 1000 dolarů. Konkurenti firmy Intel sice neměli tak výkonné procesory jako Pentium II, ale jejich produkty starší Pentia/MMX překonávaly, takže konkurenti začali získávat významnější podíl na trhu levných počítačů. To se firmě Intel nelíbilo, proto v dubnu roku 1998 uvedla na trh procesor Intel Celeron. Celeron nemá vyrovnávací paměť druhé úrovně a nemá také obal odvádějící teplo. Díky tomu se mohla podstatně snížit jeho cena a začal se dodávat do levných počítačů. Bohužel cena procesoru není všechno a Celeron se ukázal (především díky absenci vyrovnávací paměti) velice slabým hráčem, kterému se konkurence vysmála. Frekvence procesoru Kolem roku 2000 se architektura mikroprocesorů dostala do slepé uličky. Výše uvedené technologie se již rozšířily, nové ale nepřicházely tak rychle, aby to udrželo dosavadní velké zrychlování procesorů jen úpravou architektury. Mnozí výrobci se začali více a více soustředit na dvě strategie – vyšší frekvence a novější výrobní technologie. Nejznámější se stala mikroarchitektura NetBurst (Intel Pentium 4, Pentium D), která byla navržena pro takt až 10 GHz. Obecně platí, že čím vyšší frekvence procesoru, tím rychleji pracuje. Procesory ale nejsou stejné, a tak vyšší frekvence jednoho ještě neznamená, že je automaticky výkonnější než jiný. To byl také důvod někdejšího označení PR, porovnávajícího procesor s produkty Intelu. Například Cyrix 6x86MX PR200 měl mít výkon, odpovídající Pentiu s MMX na 200 MHz, i když pracoval jen na 188 MHz. Naposledy tuto techniku používala firma AMD v procesorech Athlon XP (např. Athlon XP 3200+, porovnávaný s procesorem Intel Pentium 4 na 3,2 GHz, pracoval jen na 2,2 GHz). Rozdílný vliv frekvence je způsoben jinou architekturou procesoru. Rostoucí frekvence však neměla jen kladné stránky. Začaly se tím nepříjemně zvětšovat problémy (vyšší produkce tepla, stále větší zdržení RAM pamětí). Produkce tepla totiž stoupá se čtvercem frekvence, jinými slovy když se 2x zvýší frekvence, procesor bude topit 4x tolik. Výpočetní výkon se ale zvýší maximálně dvakrát. Nastala tak krize jednojádrových procesorů. Intel ji částečně vyřešil vytvořením staronové mikroarchitektury (P6M + NetBurst), která nebyla postavena na vysoké frekvenci. Tak vznikla mikroarchitektura Core, kterou známe z dnešních procesorů (mezikrokem byly procesory Pentium M). Nové procesory tak mají vyšší výpočetní výkon, i když pracují na nižším taktu, než mnohé starší modely. Jádro
Mít výkonnější procesor je pěkné, ale stále obtížnější. Proto se začali výrobci zabývat myšlenkou vložit do počítače ještě více procesorů než doposud. Roku 2000 se povedlo dvěma firmám na jediný čip umístit procesory dva. Mít dva procesory místo jednoho znamená efektivnější zvýšení výpočetního výkonu počítače. A umístění na jediném čipu znamená výrazné snížení ceny a zvýšení efektivity. Jak ale takovému produktu říkat? Dvouprocesorový procesor? Proto se slovíčko „procesor“ vyměnilo za „jádro“ – a máme dvoujádrový procesor. Veřejnosti se vybaví pozdější modely AMD Athlon 64 X2 nebo Intel Pentium D 800. Dnes se v počítačích vyskytují procesory s jedním až osmi jádry (Sun UltraSPARC T2). Průmyslové procesory již mají až stovky jader (viz Ambric Am2045 s 360 jádry). Postupně se počet jader stává novým kritériem pro výkon procesorů (málo jader = malá cena a malý výkon, hodně jader = velký výkon za velké peníze). Vícejádrové procesory spadají do technologie CLP (Core‐Level Parallelism). Počet jader se může zvyšovat různě. Tradiční způsob je prosté umisťování více jader na jediný čip. To je případ všech uvedených modelů. Objevilo se také označení chip‐level multiprocessor (CMP). Hlavně v počátcích se jednalo o podměrně drahou záležitost, protože to znamená mít velkou plochu čipu. To zvyšuje cenu jak přímo, tak nepřímo zvyšující se pravděpodobností výskytu chyby. Pro dražší počítače se tento postup vyplatil a zřejmě ještě dobu vyplácet bude; dnes přestává být problémem ani pro stolní počítače či notebooky. Díky příliš velké ploše čipu se ve své době objevily i varianty, kdy se vytvořil malý čip s jedním či dvěma jádry. V jednom procesoru se k sobě dají dva takové čipy. Výsledný procesor se označuje jako Multi‐Chip Module (MCM). Tak vznikly procesory Intel Pentium D 900 nebo Core2 Quad, ale také řada procesorů rodiny IBM POWER. Pokud se použil jediný čip, vznikly modely Intel Pentium 4 nebo Core2 Duo. Tento postup může zlevnit výrobu, ovšem neumožňuje mít jedinou cache, společnou pro všechna jádra. To některé programy zpomaluje, hlavně při vyšším počtu procesorů či jader. Kam to spěje? Procesor se stejně jako další obvody vyrábí na křemíkovou destičku. Obvykle se pro popis výrobní technologie používá rozměr, a tak jsme měli v minulosti 3µm technologii, 1,5µm technologii, pak se postupně šlo až po 0,13 µm, kdy se začalo objevovat označení 130 nm. Dnešní procesory jsou vyráběny 45nm technologií, na podzim jsou ohlášeny nové modely vyráběné 32nm technologií. Kam to ještě půjde? Historie opakovaně dokazovala, že lidstvo je schopno vymýšlet nové a nové způsoby jak neustále zmenšovat tranzistory, aby se jich na stejnou plochu čipu vešlo více a více. Tato rychlost byla natolik stálá, že dala podnět k vytvoření tzv. Mooreova zákona. Gordon Moore roku 1965 předpověděl, že se složitost součástek bude každý rok zdvojnásobovat bez změny ceny. Ten platil zhruba deset let, roku 1975 nastal zlom a složitost se zdvojnásobuje jednou za dva roky. Kde to jednou skončí? Přece nejde zmenšovat tranzistory do nekonečna. Dokonce i sám Gordon Moore byl poněkud skeptický, například při překračování hranice 1 GHz a 0,13µm technologie. Dnes se vyrábí 45nm technologií, chystá masová produkce 32nm technologií (2009). V laboratořích se již vyrobily čipy pomocí 22 nm (masově 2011) či dokonce 16 nm
(masově 2013). Nyní se v laboratořích pokoušení vyrobit první vzorky pomocí 11nm technologie. Bude tedy 11 nm onou nepřekročitelnou hranicí? Fakt, že se mluví a píše maximálně o 11nm technologii neznamená, že jde o konečnou hranici. Vědci prostě uvádějí jen fakta, na další technologie zatím nedošlo. Až čas pokročí, dozvíme se další. Tak jako tak se pro dobu následujících 5 až 10 let není nutné obávat, že bychom narazili na nepřekročitelnou bariéru. Procesory tak budou mít více a více tranzistorů, což znamená stále větší množství výkonných jednotek v každém jádře, stále více jader i stále větší cache paměti.
Současná situace Nabídka procesorů je nacpaná k prasknutí, horší je to ale s jejich cenou. Od uvedení Phenomů II X4 na jaře letošního roku neohrožený Intel prakticky nezlevňoval (drobné slevy se dotkly jen několika modelů). Impulzem pro zlevňování starších modelů nebylo dokonce ani uvedení nové platformy LGA 1156. Cena nové generace Intel Core pro LGA 1156 začíná lehce pod pěti tisíci, daleko od částky, kterou je většina lidí ochotna do procesoru investovat. Až do uvedení dvoujádrových procesorů Core i3 a Core i5 Clarkdale tak budou zákazníci pokukovat po levnějších a přesto na většinu věcí dostatečně výkonných procesorech Core 2 Duo, Pentium či Celeron (případně specifickou kategorii procesorů Intel Atom, která se však prodává pohromadě se základní deskou). Zajímavá je i nabídka AMD, které sice nemůže Intelu konkurovat co do maximálního výkonu, ale po stránce provozních vlastností a výkonu je v segmentu levnějších procesorů více než jen srovnatelným konkurentem. Při vybírání ze starších Core 2 z levnějších modelových řad nezapomeňte pohlídat podporu virtualizační technologie. S uvedením Windows 7, které virtualizaci vyžadují pro spouštění aplikací v XP módu, už je zajímavá i pro běžné smrtelníky. U některých levných modelů (Pentium E5300, E5400, Core 2 Duo E7500) existuje několik revizí jediného modelu, z nichž některé vizualizaci podporují a některé ne. V případě, že u nich chcete mít jistotu, musíte dohledat specifikace podle označení revize na stránkách Intelu. Pro novější a dražší modely od Intelu i AMD už je podpora vizualizace samozřejmostí. Nové procesory s architekturou Nehalem nesou označení Core i5 a Core i7. Podporují hyperthreading (možnost současného zpracování dvou programových vláken na jediném jádru díky zdvojení některých částí), který se používal naposled u Pentií 4. Další novinkou je sdílená L3 cache a integrování paměťového řadiče DDR3 přímo k procesoru podobně, jako je tomu u AMD. Významným přínosem je i funkce TurboBoost, která pomáhá zvyšovat výkon jednoho či více jader jeho automatickým přetaktováním pomocí zvýšení násobiče. Hodnoty v tabulce udávají maximální navýšení násobiče v případě vytížení čtyř, tří, dvou a jednoho jádra (např. navýšení o 4 stupně znamená, že se frekvence zvedne o 4 × 133,3 = 533 MHz).