Procesor
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.
NAHOŘE - AMD Athlon X2
DOLE - Intel Core i5
OBSAH
2.1 Dělení podle délky operandu v bitech
2.2 Dělení podle struktury procesoru
2.3 Dělení podle počtu jader
2.4 Základní parametry procesoru
5.1 Architektury mikropočítačů a osobních počítačů
5.2 Architektury mikročipů
5.3 Architektury procesorů pracovních stanic a serverů
5.4 Malé/střední/velké architektury procesorů
ř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.
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ů.
- 2.1 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ů.
Pro velmi
jednoduché aplikace se používají 4bitové nebo 8bitové procesory. To platí
například pro zabudované systémy (embedded) např. v mikrovlnných troubách,
kalkulačkách, počítačových klávesnicích a infračervených dálkových ovládání.
Pro středně
složité aplikace, jako jsou programovatelné automaty, jednoduché mobilní
telefony, PDA nebo přenosné videohry se používají zpravidla 8bitové nebo
16bitové procesory.
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.
- 2.2 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: SPEC CPU2006 Results
Srovnání výkonu RISC a CISC: SPEC CPU2006 Results
- Procesory umožňující / neumožňující plnohodnotný chod komplexních operačnich 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.
- 2.3 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.
2.4 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ů.
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.
Integrovaný
řadič operační paměti mají 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.
AMD u Phenom
II použila frekvence okolo 3 GHz a rozdíly u modelů dané řady se někdy liší i o
pouze 300 MHz.
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í 256 kB - 8 MB 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-6
MB. 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.
Patice
neboli Socket či Slot je konektor na základní desce určený pro připojení
procesorů. 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:
Socket 462 (Socket A, AMD Athlon,
Duron, výběhový)
- Socket 478 (Intel Pentium III, Pentium 4 (Northwood), Celeron Pentium 4, výběhový)
- Socket 479 (Intel, původně pro mobilní počítače, výběhový)
- Socket 604 (Intel pro servery, výběhový)
- Socket 754 (AMD, výběhový)
- Socket 771 (Intel pro servery)
- Socket 775 (Intel)
- Socket 939 (AMD, výběhový)
- Socket 940 (AMD pro servery, výběhový)
- Socket AM2 (AMD, 1 a 2 jádrový)
- Socket AM2+ (AMD, 3 a 4 jádrový (Phenom))
- Socket AM3 (AMD, 3 a 4 jádrový (Phenom II))
- Socket 1156 (Intel Core i5 4 jádrový)
- Socket 1366 (Intel Core i7 4 jádrový)
- Socket 1567 (Intel Core i7 NEHALEM-EX (XEON 5500) 8 jádrový pro servery)
- Socket F (AMD pro servery)
5.1 Architektury mikropočítačů a osobních počítačů
- Intel: x86
- AMD: x86-64
- Motorola (dnes Freescale): 6800, 6809 a 68000
- MOS Technology 6502
- Zilog Z80
- IBM a později AIM alliance: PowerPC
5.2 Architektury mikročipů
- PowerPC 440 firmy IBM
- 8051
- Atmel AVR
- PIC firmy Microchip
- ARM
5.3 Architektury procesorů pracovních stanic a serverů
- SPARC firmy Sun Microsystems
- POWER firmy IBM
- Architektura MIPS od MIPS Computer Systems Inc. a její instrukční sada je nosnou částí knihy Davida A. Pattersona a Johna L. Hennessyho Computer Organization and Design ISBN 1-55860-428-6 1998 (2. vydání)
- PA-RISC od HP
- Alpha od DEC
- Advanced RISC Machines (původně Acorn) architektury ARM a StrongARM/XScale
- Procesor LEON2
5.4 Malé/střední/velké architektury procesorů
- System/360 od IBM
- PDP-11 od DEC a jeho následníci, architektura VAX
- SuperH od SuperH
- UNIVAC série 1100/2200 (momentálně používaná v počítačích ClearPath IX od Unisysu)
- AP-101 – počítač raketoplánu
- Cell od IBM (Sony/IBM/Toshiba)
- EDSAC – první praktický počítač s uloženým programem
- Navigační počítač Apollo použitý při letech na měsíc
- MIPS R4000 – první 64bitový mikroprocesor
- Intel 4004 – první mikroprocesor
- 1971 - Intel 4004 - první mikroprocesor - 4bitový
- 1972 - Intel 8008 - 8bitový mikroprocesor
- 1974 - Intel 8080 - 8bitový mikroprocesor, který se stal základem prvních 8bitových osobních počítačů
- 1975 - MOS Technology 6502 - 8bitový mikroprocesor, montovaný do Apple II, Commodore 64 a Atari
- 1975 - Motorola 6800 - první procesor firmy Motorola
- 1975 - AMD nastupuje na trh s řadou Am2900
- 1976 - TI TMS 9900 - 16bitový mikroprocesor
- 1976 - Zilog Z80 - 8bitový mikroprocesor, s rozšířenou instrukční sadou Intel 8080, frekvence až 10 MHz
- 1978 - Intel 8086 - 16bitový mikroprocesor, první z architektury x86
- 1978 - Intel 8088 - 16bitový mikroprocesor s 8bitovou sběrnicí, který byl použit v prvním IBM PC v roce 1981
- 1979 - Motorola 68000 - 32/16bitový mikroprocesor
- 1979 - Zilog Z8000 - 16bitový mikroprocesor
- 1980 - IBM 801 - 24bitový experimentální procesor s revoluční RISC architekturou dosahující vynikajícího výkonu
- 1980 - Intel 8051 - 8bitový mikroprocesor se základní sadou periferií pro emebedded systémy
- 1982 - Intel 80286 - 16bitový mikroprocesor
- 1983 - TMS32010 - první DSP firmy Texas Instruments
- 1985 - Intel 80386 - 32bitový mikroprocesor (měl 275 000 tranzistorů)
- 1986 - Acorn ARM - 32bitový RISC mikroprocesor, z Advanced RISC Machine, původně Acorn RISC Machine, použit i v domácích počítačích
- 1989 - Intel 80486 - 32bitový mikroprocesor s integrovaným matematickým koprocesorem
- 1989 - Sun SPARC - 32bitový RISC mikroprocesor, z Scalable (původně Sun Processor ARChitecture)
- 1992 - DEC Alpha - 64bitový RISC mikroprocesor
- 1992 - Siemens 80C166 - 16bitový mikroprocesor pro průmyslové embedded systémy s bohatou sadou periferií
- 1993 - Intel Pentium - 32bitový mikroprocesor nové generace (3,3 milionu tranzistorů)
- 1995 - Intel Pentium Pro - 32bitový mikroprocesor nové generace pro servery a pracovní stanice (5,5 milionu tranzistorů)
- 1995 - Sun UltraSPARC - 64bitový RISC mikroprocesor
- 1997 - Intel Pentium II - 32bitový mikroprocesor nové generace s novou sadou instrukcí MMX (7,5 milionu tranzistorů)
- 1997 - Sun picoJava - mikroprocesor pro zpracování Java bytekódu
- 1999 - Intel Celeron - 32bitový mikroprocesor odvozený původně od Intel Pentium II pro nejlevnější PC
- 1999 - Intel Pentium III - 32bitový mikroprocesor nové generace s novou sadou instrukcí SIMD (9,5 milionu tranzistorů)
- 2000 - Intel Pentium 4 - 32bitový mikroprocesor s řadou technologií orientovaných na dosažení vysoké frekvence
- 2001 - Intel Itanium - 64bitový mikroprocesor nové generace pro servery
- 2003 - AMD Athlon 64 - 64bitový mikroprocesor nové generace pro desktopy s instrukční sadou AMD64, zpětně kompatibilní s x86
- 2006 - Intel Core - 64bitová architektura, na které jsou postaveny procesory Core Duo, Core 2 Duo, Core Solo, Core 2 Quad
- 2007 - AMD uvádí novou řadu procesorů Phenom
- 2008 - Intel Core i7 - nová řada CPU od Intelu