Procesor

Z Wikipedie, otevřené encyklopedie

Skočit na: Navigace, Hledání

Procesor (CPU – Central Processing Unit) je základní součástí počítače. Pokud bychom přirovnali počítač např. k automobilu, postavení procesoru by odpovídalo motoru. Někdy bývá také přirovnáván k "srdci" nebo "mozku" počítače. Procesor čte z paměti strojové instrukce a na jejich základě vykonává program. Protože procesor, který by vykonával program zapsaný v nějakém vyšším programovacím jazyku by byl příliš složitý, má každý procesor svůj vlastní jazyk - tzv. strojový kód, který se podle typu procesoru skládá z jednodušších nebo složitějších strojových instrukcí. Pod pojmem procesor se dnes téměř vždy skrývá elektronický integrovaný obvod, i když na samých počátcích počítačové éry byly realizovány procesory i elektromechanicky. Zpravidla se nachází na základní desce počítače. Rodina procesorů, které zpracovávají stejný strojový kód tvoří specifickou architekturu procesoru.

Procesory prvních počítačů se skládaly z obvodů obsahujících množství tzv. diskrétních součástek - elektronek nebo tranzistorů, rezistorů a kondenzátorů. Takový procesor obvykle zabíral velkou skříň, nebo i několik skříní. Teprve počátkem 70. let 20. století se s nástupem integrovaných obvodů začaly procesory miniaturizovat. Nejprve byly procesory stavěny z procesorových řezů - procesor byl pak složen z několika desítek nebo stovek integrovaných obvodů. Když se podařilo umístit základní obvody procesoru do jednoho integrovaného obvodu, vznikl mikroprocesor.

V obecnějším pojetí může být označení "procesor" použito pro jakékoli funkční jednotky schopné provádět operace s daty, například "obrazový procesor", "přenosový procesor pro styk s periferiemi", "audioprocesor", atp.

Srovnání lícových stran procesorů AM486 DX2-80 od AMD a i486 DX2-66 od Intelu

Obsah

[editovat] Součásti procesoru

  • řadič nebo řídicí jednotka, jejíž jádro zajišťuje řízení činnosti procesoru v návaznosti na povely programu, tj. načítání strojových instrukcí, jejich dekódování (zjištění typu strojové instrukce), načítání operandů instrukcí z operační paměti a ukládání výsledků zpracování instrukcí.
  • sada registrů (v řadiči) k uchování operandů a mezivýsledků. Přístup k registrům je mnohem rychlejší než přístup do rozsáhlých pamětí umístěných na externí sběrnici. Registry dělíme na obecné (pracovní, universální) a řídící (např. čítač instrukcí, stavové registry, registr vrcholu zásobníku, indexregistry). Bitová šířka pracovních registrů je jednou ze základních charakteristik procesoru.
  • jedna nebo více aritmeticko logických jednotek (ALU - Arithmetic-Logic Unit), které provádí s daty příslušné aritmetické a logické operace.
  • některé procesory obsahují jednu nebo několik jednotek plovoucí čárky (FPU), které provádí operace v plovoucí řádové čárce

Je třeba poznamenat, že současné procesory zpravidla obsahují mnoho dalších rozsáhlých funkčních bloků jako třeba paměť cache a různých periferií, které z ortodoxního hlediska nejsou součástí procesoru. Proto vzniknul pojem „jádro procesoru“, aby bylo možné rozlišit mezi vlastním procesorem a integrovanými periferními obvody. Pro úplnost dodejme, že integrované periferie bývají většinou velmi dobře sladěny s jádrem, takže je z tohoto hlediska lze chápat jako „součást procesoru“. Vzhledem k současné vysoké integraci tak mnohde dochází k rozmazávání hranice mezi pojmem mikroprocesor a mikropočítač.

Některé současné procesory obsahují „více jader“. Vícejádrový procesor je tedy integrovaný obvod obsahující několik jader procesorů, logiku sloužící k jejich vzájemnému propojení (a případně ještě další jednotky).

Dalším současným trendem je tzv. „systém na čipu“ (SoC - system on chip). Jde o integrované obvody, které obsahují kromě vlastního procesoru i další subsystémy pro zpracování grafiky, zvuku či připojení periferií (ty jsou v osobních počítačích obvykle v tzv. chipsetech nebo na samostatných kartách). „Systémy na čipu“ mohou být použity například v PDA, herních konzolích, thin-clientech, domácí elektronice, nebo v mobilních telefonech.

Moderním trendem je rovněž kombinace procesorů s programovatelnými hradlovými poli, která dovoluje maximální přizpůsobení procesoru dané aplikaci. Prakticky to může vypadat například tak, že některé typy hradlových polí obsahují procesorové bloky, z kterých lze pomocí speciálních nástrojů sestavit procesor (nebo pole procesorů) podle požadavků aplikace. Výhodou je nový stupeň flexibility při dodatečných úpravách firmware.

[editovat] Dělení procesorů

Jak už jsme zmínili, když to velmi zjednodušíme procesor zastává v počítači podobnou úlohu jako motor v automobilu. Podobně jako se liší motor v motorce, miniautomobilu, automobilu vyšší třídy nebo v těžkém nákladním autě nebo v lodi se pro různé aplikace používají různé druhy procesorů.

[editovat] Dělení podle délky operandu v bitech

Základní vlastností procesoru je počet bitů, tj. šířka operandu, který je procesor schopen zpracovat v jednom kroku. Zjednodušeně se dá říci, že např. 8bitový procesor umí přímo počítat s čísly od 0 do 255, 16bitový s čísly od 0 do 65535 (tj. 0 až 216-1), atd. Operace s většími čísly musí být rozděleny do několika kroků.

  • Současné osobní počítače již většinou obsahují vícejádrové 64bitové procesory. Starší osobní počítače, laserové tiskárny, mobilní telefony střední a vyšší třídy a jiná komplikovaná zařízení většinou obsahují 32bitové procesory. Protože zvyšování frekvence a rozšiřování počtu bitů jsou spojeny s řadou problémů, jde vývoj směrem k vícejádrovým procesorům.

[editovat] Dělení podle struktury procesoru

Podle vnitřní architektury
Procesory RISC s menším počtem strojových instrukcí a CISC s velkým počtem intrukcí. Nedostatkem architektury RISC je větší spotřeba paměti pro program, procesory založené na architektuře CISC potřebují zase více času pro zpracování strojové instrukce. Současné procesory Intel a kompatibilní obcházejí nedostatky instrukční sady typu CISC tím, že vnitřně používají pro interpretaci strojového kódu architekturu RISC, čímž za cenu zesložitění procesoru dochází ke spojení výhod obou architektur. To je umožněno masivními investicemi firmy Intel umožněnými obrovským objemem výroby procesorů do osobních počítačů. Procesory RISC jsou velmi úspěšné např. v mobilních telefonech, nebo v superpočítačích, protože jednodušší architektura se projevuje nižší spotřebou energie. Srovnání výkonu RISC a CISC: [1]
Procesory umožňující / neumožňující plnohodnotný chod komplexních operačních systémů
Pro jednoduché aplikace nebo pro jednoduché operační systémy nemusí procesor integrovat jednotku pro správu a ochranu paměti (tzv. MMU - memory management unit). To byl případ osobních počítačů s procesorem do 80286 a s 16bitovou instrukční sadou, kde bylo možné provozovat operační systémy DOS až Windows 3.11. Pro efektivní provoz plnohodnotných operačních systémů, které zajišťují ochranu paměti, stránkování paměti, a umožňují současný chod více programů (preemptivní multitasking) a současnou práci více uživatelů na jednom počítači, nebo dokonce virtualizaci je nutné, aby tyto možnosti procesor podporoval. Takovými operačními systémy jsou například UNIX, většinu zmíněných rysů podporují i současné operační systémy Windows (Windows NT, 2000, XP, Vista, W7 ...).
Jednočipový mikropočítač nebo také mikrokontrolér (MCU)
Procesor s univerzálním jádrem, s kterým jsou současně zaintegrovány základní periferní obvody, takže je schopen samostatné funkce. Za průkopníky v této kategorii můžeme považovat 8bitový procesor Intel i8051, který poprvé integroval všechny základní periferie (jádro procesoru, paměť RAM, EEPROM, čítače a časovače) na jediném čipu a 16bitový technologický procesor Siemens SAB 80C166, který poprvé integroval A/D převodníky, komunikační linky a masivní systém čítačů/časovačů/přerušení (následníky řady 80166 dnes vyrábí Infineon (řada C167 a C166 SV2) a SGS Thomson (řada ST10)).
Digitální signálový procesor (DSP)
procesor zaměřený na zpracování signálu. DSP jsou optimalizovány na co nejrychlejší opakování jednoduchých matematických algoritmů zaměřených na zpracování signálu. Typickou aplikací DSP je filtrace signálu pomocí filtrů FIR a IIR nebo Fourierova analýza. DSP se dnes používají především ve spotřební elektronice a v telekomunikační technice. Současné DSP obsahují proti svým předchůdcům navíc také rychlé komunikační linky, aby bylo možné přenášet velký datový tok protékající těmito procesory. Často můžeme rovněž pozorovat snahu o spojení výhod DSP a jednočipových mikropočítačů ať už je to cestou rozšiřování DSP o periferie nebo rozšiřováním mikrokontrolérů o DSP jednotky.

[editovat] Dělení podle počtu jader

V současnosti jde vývoj směrem k integraci více jader, tedy více procesorů do jediného čipu. Tento trend můžeme pozorovat u procesorů pro osobní počítače. Procesory se tedy dělí na jednojádrové a vícejádrové. Zvyšování počtu jader je v podstatě vynuceno fyzikálními omezeními. Ukazuje se, že integrací většího počtu jednodušších jader je teoreticky možné dosáhnout při stejné výrobní technologii na stejné ploše křemíku mnohem vyšší výpočetní výkon, než použitím jediného složitého jádra.

Není dosud zcela jasné, kterým směrem se bude ubírat vývoj. Systémy obsahující několik jader jsou zatím v podstatě jen konzervativním rozšířením současných procesorů. Otevřenou otázkou je, jakým způsobem bude řešena struktura, sdílení paměti a vzájemné vnitřní propojení např. u stojádrových procesorů. Dále jakým způsobem a jakými nástroji budou takové čipy programovány a v neposlední řadě vyvstává otázka, jak budou takové procesory obsluhovány operačním systémem.

Něco naznačuje např. architektura zakázkového procesoru IBM, který je používán v Sony Playstation 3, kdy hlavní „složité“ jádro založené na architektuře PowerPC rozděluje práci šesti jednodušším DSP, vzájemně propojeným pomocí hradlového pole. Se zvětšováním počtu jader pravděpodobně dojde k jejich specializaci.

[editovat] Základní parametry procesoru

Protože existují stovky architektur procesorů specializovaných pro různé aplikační oblasti, přičemž některé architektury mají stovky zástupců, je velmi obtížné stanovit několik jednoduše srozumitelných obecných parametrů, které by umožnily objektivní srovnání různých procesorů. Následující parametrizace umožňuje zhruba srovnat základní rysy procesorů.

Parametr Popis Jednotka běžný rozsah
Rychlost jádra Počet operací provedených za jednu sekundu MIPS (milonů operací za sekundu) 0 – 3000 MIPS (v budoucnu i více)
Šířka slova Maximální bitová šířka operandů instrukcí bit 4 – 128
Počet jader Počet a typ jader integrovaných v procesoru číslo 1 – 4
Počet instrukčních kanálů Maximální počet instrukcí proveditelných jedním jádrem v jednom taktu procesoru číslo 1 – 4
Efektivita strojového kódu počet instrukcí potřebných pro provádění běžných operací např. počet Dhrystone na MIPS  ?
Výkon FPU Přítomnost FPU/počet základních operací v jednoduché nebo dvojnásobné přesnosti, které zvládne provést jednotka FPU MFLOPS (megaflops) až desítky GFLOPS (gigaflops), podle architektury a počtu FPU
Šířka externí datové sběrnice Maximální počet bitů, které je možné během jediné operace přenést z (do) čipu bit 8 – 64
Frekvence datové sběrnice (FSB) Maximální frekvence přístupu do externí paměťi RAM MHz stovky MHz
Interní paměť cache Kapacita rychlé interní vyrovnávací paměti integrované přímo na čipu procesoru Byte i několik MiB
Velikost adresovatelné paměti Velikost externí paměti, kterou je procesor schopen přímo používat Byte u 80x86 4 GiB i více

[editovat] Rychlost procesoru

Procesor Intel Celeron D taktovaný na 2,53GHz.

Zásadním parametrem, který je procesoru důležitý je frekvence práce jeho jádra. Zdánlivě jde o banální záležitost, protože stačí spočítat kolik milionů či miliard instrukcí je procesor schopen vykonat za sekundu, tj. počet MIPS. Ovšem z praktického hlediska je počet MIPS např. u 8bitového procesoru PIC a u procesoru Intel Pentium zcela nesrovnatelnou veličinou, protože instrukční sady těchto procesorů jsou zásadně odlišné a na výpočet v plovoucí čárce, který udělá Pentium v jediném taktu může PIC potřebovat několik tisíc operací, zatímco jednoduché bitové operace zvládnou oba procesory v několika taktech.

Zdálo by se, že tedy alespoň srovnání výkonu v rámci jedné řady procesorů je snadné, ale není tomu vždy tak. Moderní procesory jsou totiž podstatně rychlejší než externí operační paměť, takže reálný výkon značně závisí také na rychlosti a šířce externí paměti a na velikosti a uspořádání vyrovnávacích pamětí cache uvnitř procesoru.

V této souvislosti je vhodné rovněž připomenout, že celkový výkon systému je určen výkonem procesoru pouze z jedné části. Rychlost je vždy určena úzkým místem v systému. Pokud je např. malá operační paměť, operační systém se ji pokusí nahradit odkládáním na řádově pomalejší pevný disk a chod paměťově náročných aplikací bude výrazně zpomalen. Taková situace se dá přirovnat k postupnému převážení mnoha předmětů v autě s malým kufrem - vyšší maximální rychlost ani vyšší výkon motoru nevyváží nedostatek prostoru. Rovněž vhodně navržená struktura periferií může výrazně odlehčit zátěž procesoru.

[editovat] Dnešní procesory osobních počítačů

Dnešní osobní počítače používají až na výjimky v řádu procent procesory architektury x86 výrobců AMD a Intel. Dlouhou dobu byly procesory obou značek v osobních počítačích záměnné (podobně i dalších značek, jako byl například Cyrix nebo IDT), protože se osazovaly do identických patic, označovaných též jako sockety. V roce 1997 ale společnost Intel začala vyvíjet novou patici nazvanou Slot 1 a vývoj procesorů obou nejvýznamnějších výrobců se od té doby ubíral odlišně. Dnešní procesory se proto obvykle dělí podle patic, přičemž doba trvání výroby těchto řad je stále kratší. Patice se označují často podle počtu pinů nebo kódovým označením, dnes jsou na trhu například:

Integrovaný řadič operační paměti má dnes všechny procesory AMD (Socket 754, Socket 939, Socket 940, Socket AM2, Socket AM2+, Socket AM3) a nová rodina procesorů Intel Core ix (postavených na jádru Nehalem).

Nejvíce zákazníky sledovaným parametrem je frekvence procesoru, která je významným faktorem jeho výkonu. Vzhledem k odlišné konstrukci výpočetních jednotek procesorů a vnitřní paměti se obtížně porovnávají výkony konkurenčních procesorů AMD a Intel podle jejich frekvence. Navíc v současné době vyrábějí oba největší výrobci jedno-dvou i čtyřjádrové(AMD i tříjádrové) procesory s poměrně velkým rozpětím frekvence. Důležitým faktorem celkového výkonu procesoru je tedy nyní i velikost vyrovnávací paměti procesoru, která se označuje cache. Ta bývá několikaúrovňová, cache s nejrychlejším přístupem má nyní velikost 32-128 kB na jádro (Level 1 cache), další úroveň má nyní 256kb-8MB na jádro (Level 2 cache), Intel má sdílenou L2 cache, AMD zase oddělenou pro každé jádro. Nakonec L3 cache má velikost 2-6MB. Na výkon procesoru má vliv i frekvence sběrnice (Front Side Bus), kterou komunikuje procesor se zbytkem počítače prostřednictvím tak zvaného chipsetu. AMD místo Front Side Bus používá Hyper Transport a Intel u nových CPU Core i7 přešel na QuickPath. Výrobci nabízejí své prakticky identické procesory v různých typových řadách s různou dostupnou velikostí Level 2 cache a i různou frekvencí FSB.

[editovat] Významné architektury procesorů

[editovat] Architektury mikropočítačů a osobních počítačů

[editovat] Architektury mikročipů

[editovat] Architektury procesorů pracovních stanic a serverů

[editovat] Malé/střední/velké architektury procesorů

[editovat] Nadcházející architektury procesorů

[editovat] Historicky významné procesory

[editovat] Historie mikroprocesorů

[editovat] Související články

[editovat] Reference

  1. SPEC CPU2006 Results