Procesor

Procesor též CPU (anglicky Central Processing Unit)[1] je základní součástípočítače; jde o velmi složitý sekvenční obvod, který vykonává strojový kóduložený v operační paměti počítače. Strojový kód je složen z jednotlivýchstrojových instrukcí počítačových programů nahraných do operační paměti. Často jde o operační systém nebo spuštěné programy, které se nahrávají do paměti z disku, jednoduché jednoúčelové počítače mohou přímo vykonávat program uložený výrobcem systému do nevolatilní paměti (např. FLASH).

V minulosti byl procesor realizován na jedné nebo spíše více deskách plošných spojů, které obsahovaly integrované obvody nízké nebo střední integrace. V současnosti se používají prakticky výlučně mikroprocesory, což jsou procesory realizované v jednom nebo v několika integrovaných obvodech s vysokou až extrémně vysokou integrací. Mikroprocesor může být také implementován jako firmware běžící v hradlovém poli. Jádro jednoduchých 8bitových mikroprocesorů se skládá z 5 až 10 tisíc hradel, současné procesory pro smartfony a PC mohou obsahovat desítky i stovky milionů hradel. První mikroprocesory byly vyvinuty okolo roku 1971.

Moderní procesory jsou rozsáhlé integrované obvody, které mohou zabírat několik centimetů čtverečních, mít stovky pinů a obsahovat desítky nebo stovky milionů hradel. V osobních počítačích a malých pracovních stanicích bývá procesor realizován jako integrovaný obvod umístěný na základní descepočítače.

Velké počítače mohou obsahovat celá procesorová pole. Používají sedistribuované výpočty, které řeší simulace a matematické problémy propojením většího počtu procesorů. Některé superpočítače používají vektorové procesory, skládající se z většího počtu paralelních výpočetních prvků, z nichž žádný není považován za centrální či hlavní.

Charakteristika

https://upload.wikimedia.org/wikipedia/commons/thumb/a/a3/AM486_DX2-80_and_i486_DX2-66.jpg/300px-AM486_DX2-80_and_i486_DX2-66.jpg

 

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

Procesor, který by vykonával program zapsaný ve vyššímprogramovacím jazykuby byl příliš složitý, a především omezený zaměřením daného jazyka. Proto se i při návrhu moderních procesorů stále zůstává u strojového kódu, tedy u nevelké sady instrukcí, které více odpovídají způsobu práce procesoru (např. přesun čísla z registru do registru) než způsobu práce programátora. Přesto každáarchitektura procesorů definuje svůj vlastní strojový jazyk. Například architektura Intelovská x86 používá jiný strojový kód než architektura ARM. Programy psané ve vyšších jazycích musí být přeloženy do strojového kódu dané architektury - ať už předem (pomoci tzv. překladače) nebo za běhu programu (pomoci tzv. interpretu).

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 mohl zabírat i několik skříní. Počátkem 70. let 20. stoletízapočala miniaturizace procesorů. Nejprve byly složeny z několika desítek nebo stovek integrovaných obvodů. Když se pak podařilo umístit základní obvody procesoru do jediného integrovaného obvodu, vznikl mikroprocesor.

V obecnějším pojetí může být pojem „procesor“ použit pro jakoukoli funkční jednotku schopnou provádět operace s daty nebo signály, například „obrazový procesor“, „přenosový procesor pro styk s periferiemi“, „audioprocesor“, atp.

CPU provádí základní aritmetické, logické, a vstupně/výstupní operace systému. Procesor má v počítači podobné postavení jako motor v autě, případně jako mozek v těle. Termín procesor (CPU) je v počítačovém průmyslu užíván již od počátku ranných šedesátých let. I když se technologie procesorů od jejich vzniku dramaticky změnila, jejich základní operace zůstávají téměř stejné.

Součásti procesoru

·         Řadič nebo řídicí jednotka, která zajišťuje řízení součinnosti jednotlivých částí procesoru dle prováděných strojových instrukcí (jejich dekódování, načítání operandů instrukcí z operační paměti a ukládání výsledků zpracování instrukcí).

·         Sada registrů pro uchování operandů a mezivýsledků. Přístup k registrům je mnohem rychlejší než přístup do operační paměti připojené k procesoru pomocí sběrnice. 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, anglicky Arithmetic-Logic Unit), které provádí nad daty aritmetické a logické operace.

·         Některé procesory obsahují jeden (nebo více) matematických koprocesorů(FPU, anglicky Floating Point Unit), které provádějí operace v plovoucí řádové čárce.

Procesory zpravidla obsahují mnoho dalších rozsáhlých funkčních bloků jako například paměť cache a různých periferií, které z ortodoxního hlediska nejsou součástí procesoru. Proto vznikl pojem „jádro procesoru“, aby bylo možné rozlišit mezi vlastním procesorem a integrovanými periferními obvody. Vzhledem k současné vysoké integraci tak mnohde dochází k rozmazávání hranice mezi pojmem mikroprocesor a mikropočítač. Příkladem jsou tzv. „systém na čipu“ (SoC - system on chip). Jde o integrované obvody, které obsahují kromě vlastního procesoru i další subsystémy, např. 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 vPDAherních konzolíchtenkých klientech, domácí elektronice, nebo v mobilních telefonech.

Některé současné procesory obsahují více jader, takže v jednom pouzdru je obsaženo více samostatných procesorů.

Dělení procesorů                         

Procesory lze podle jejich charakteristik rozdělit na různé skupiny.

Podle délky operandu v bitech

Základní vlastností procesoru je délka slova (operandu). Délka slova vyjadřuje počet bitů, 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ů.

·         V minulosti se používaly 4bitové procesory. Jeden z prvních procesorů byl právě 4bitový procesor Intel 4004. 4bitové procesory se dnes používají již spíše výjimečně pro bateriová zařízení s extrémně nízkou spotřebou (digitální teploměry, měřicí přístroje, hodinky, časovače, případně kalkulačky). Viz. např. [1]

·         Pro jednoduché aplikace se používají převážně 8bitové nebo 16bitovéprocesory. To platí například pro zabudované systémy (embedded) např. vmikrovlnných troubáchkalkulačkáchpočítačových klávesnicích ainfračervených dálkových ovládáních.

·         Pro středně složité aplikace, jako jsou programovatelné automatymobilní telefonyPDA nebo přenosné videohry se už většinou používají 32bitovéprocesory. Postupující vývoj hardware (viz Mooreův zákon) a unifikacesoftware vedl i u středně složitých zařízení k přechodu na 32bitové procesory (typicky ARM).

·         Pro speciální účely se dříve používaly 24 bitové DSP procesory (Motorola 56000). Důvodem k použití délky slova 24 bitů bylo jejich primární určení pro zpracování audio signálů.

·         Současné osobní počítače již většinou obsahují vícejádrové 64bitovéprocesory. Protože zvyšování frekvence a rozšiřování počtu bitů jsou spojeny s řadou problémů, jde nyní vývoj směrem k vícejádrovým procesorům.

Podle struktury procesoru

Podle vnitřní architektury

Procesory RISC s menším počtem strojových instrukcí a CISC s velkým počtem instrukcí. 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. 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.[2]

Procesory podle schopnosti podpory skutečného operačního systému

Pro jednoduché aplikace nebo pro jednoduché operační systémy nemusí procesor integrovat jednotku pro správu a ochranu paměti (MMU, anglickymemory management unit), například 16bitové procesory pro první IBM PC kompatibilní počítače (procesory 8088 až 80286 a jejich operační systémyDOS až Windows 3.0. Pro provoz plnohodnotných operačních systémů (například Windows NTLinuxMac OS X atd), které zajišťují ochranu paměti a současný chod více programů (preemptivní multitasking), současnou práci více uživatelů na jednom počítači nebo dokonce virtualizacije nutné, aby tyto možnosti procesor podporoval (v případě procesorů pro IBM PC jsou to architektura IA-32, tj. procesory 386 a novější).

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.

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. 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.

Procesor IBM Cell používaný např. v Sony Playstation 3 obsahuje jádro založené na architektuře PowerPC, které rozděluje práci šesti jednoduššímsignálovým procesorům vzájemně propojeným pomocí hradlového pole.

Základní parametry procesoru

Díky složitosti procesorů není mož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 rysy procesorů.

Rychlost procesoru

https://upload.wikimedia.org/wikipedia/commons/thumb/3/36/Intel_Celeron_D.jpg/220px-Intel_Celeron_D.jpg

 

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

Nejčastěji používaným vyjádřením rychlosti procesoru je takt procesoru(taktovací frekvence). V jednom taktu jsou uvnitř procesoru provedeny přesně definované operace. Kvůli různým technikám zvýšení výkonu však již dnes není frekvence rozhodujícím faktorem a nelze ji využít jako srovnání ani mezi kompatibilními procesory různých výrobců.

Skutečnou rychlost procesu je kombinace taktovací frekvence a dalších jeho vlastností. V procesorech typu RISC trvá každástrojová instrukce právě jeden takt, zatímco v procesorech typu CISC trvá každá strojová instrukce různý počet taktů (jeden až řádově desítky taktů), a proto nelze tyto dvě různé rodiny procesorů přímo porovnávat na základě taktovací frekvence.

Skutečná rychlost procesoru může být vyšší, než by se odvozovalo z jeho taktovací frekvence, když je procesor superskalární, protože může být paralelně vykonáno více strojových instrukcí díky faktu, že některé vnitřní součásti procesoru jsou duplikovány a úkolovány řadičem procesoru paralelně. Pokud je v procesoru implementován pipelining, je v procesoru více strojových instrukcí v různém stupni rozpracování a za dobu trvání zpracování jedné instrukce bude dokončeno více strojových instrukcí. Aby bylo dosaženo vyššího efektu, jsou vykonávané programy optimalizovány (řazení strojových instrukcí je pozměněno bez vlivu na výsledný výsledek tak).

Rychlost procesoru ovlivňuje též přítomnost cache, která urychluje přístupy dooperační paměti typu RAM. Pokud cache není přítomna, musí procesor při čtení nebo zápisu do paměti čekat na dokončení této operace, což je typicky několik taktů sběrnice, která paměť spojuje s procesorem. Rychlost této sběrnice je typicky nižší, než takt procesoru (ve většině současných procesorů je dokonce interní takt procesoru násobkem této frekvence), a proto je toto zdržení velmi významné. Vřazení rychlé cache mezi procesor a paměť může tyto čekací stavy omezit nebo dokonce úplně eliminovat, což závisí na úspěšnosti cache v predikci následujících operací s pamětí a také na celkové velikosti cache. Proto mají současné procesory integrovánu cache ve velikosti řádově jednotek MiB(mebibajtů). Cache může být několikastupňová (L1, L2, L3 – čím nižší číslo, tím blíže k procesoru) a může být umístěna i na základní desce počítače. Na výkonnost cache má též vliv optimalizace programu.

Rychlost procesoru je jen jedním z faktorů, které ovlivňují celkovou rychlost počítače. Mezi další faktory patří velikost dostupné operační paměti RAM, rychlost pevného disku, propustnost propojujících sběrnic, ale i rychlost dalšíchvstupně/výstupních součástí počítače (pro hraní her například grafická karta).

Patice procesoru

Patice neboli Socket či Slot je konektor na základní desce určený pro připojení procesoru. Původně osobní počítače IBM PC obsahovaly stejné patice pro procesory (tzv. sockety). V roce 1997 společnost Intel začala vyvíjet novou patici nazvanou Slot 1 a společnost AMD na základě koupě licencí k procesoruDEC Alpha vytvořila Slot A. Proto dnes není možné zaměňovat procesory zcela volně.

Poslední socket, který používaly všechny společnosti společně, byl Socket 7 do něhož šlo upevnit bezpočet procesorů, firmy jako Cyrix (MII), Intel (Pentium MMX), AMD (K6) nebo IBM vyráběly pro tento socket procesory s frekvencemi v rozmezí 75 - 266MHz, tou nejsilnější verzí pak bylo AMD K6 s frekvencí 300MHz. Socket 7 byl poté vylepšen a výsledná verze s názvem Super Socket 7 byla obohacena o vyšší frekvenci sběrnice tzv. FSB, ta byla zvýšena na 100MHz a dále podporovala slot AGP do kterého se dal vložit grafický adaptér. Poté začala společnost Intel vyrábět procesory pro Slot 1 (Pentium 2) a cesty se rozešly.

S příchodem Slotu 1 (Slotu A) se na krátkou dobu změnila podoba procesorů, tak jak je známe dnes. Až s nástupcem Slotu ASocketem A též nazývaným 462 (AMD) se procesory vrátily zpět přímo na základní desku a zde též započala myšlenka více jader. Ta byla realizována na Socketu 939. Na přelomu let 2012/2013 jsou nejrozšířenější patice AMD AM3+, G34(pro server) a Intel 1155 pro střední třídu a 2011 pro nejdražší desktopové i serverové procesory.

Historie 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 IICommodore 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í RISCarchitekturou dosahující vynikajícího výkonu

·         1980 - Intel 8051 - 8bitový mikroprocesor se základní sadou periferií pro embedded 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ě SunProcessor 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

·         1996 - Intel Pentium MMX 32bitový první se sadou instrukcí MMX pro podporu 2D grafiky

·         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

·         1997 - AMD K6-2 - 32bitový první se sadou instrukcí pro podporu 3D grafiky3DNow!

·         1999 - AMD K6-III - 32bitový poslední procesor do základní desky se super socket 7. Od této chvíle již nemá Intel a AMD procesory do stejného socketu.

·         1999 - Intel Pentium III - 32bitový mikroprocesor nové generace s novou sadou instrukcí SIMD známou jako SSE (9,5 milionu tranzistorů)

·         1999 - Intel Celeron - 32bitový mikroprocesor odvozený původně od Intel Pentium II pro nejlevnější PC

·         2000 - AMD Athlon K75 První procesor s frekvencí 1GHz

·         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

·         2001 - AMD Opteron - 64bitový mikroprocesor nové generace pro servery od AMD. Jedná se o historicky nejkvalitnější procesor, jaký kdy AMD vyrobilo.

·         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 procesoryCore DuoCore 2 DuoCore SoloCore 2 Quad

·         2007 - Společnost AMD uvádí novou řadu procesorů Phenom

·         2008 - Intel Core i7 - nová řada CPU od Intelu pod názvem Nehalem a AMDPhenom II, který staví na 45 nm výrobě

·         2010 - Intel vydává slabší a ořezanější procesory Core i3 a Core i5 postavené na architektuře Nehalem a AMD vydává svůj první šestijádrový procesorPhenom II X6

·         2011 - Intel vydává novou architekturu Sandy Bridge a AMD vydává první procesory s integrovanou grafikou

·         2012 - Intel vydává novou architekturu Ivy Bridge s tzv. "3D" (Tri-Gate) technologií tranzistorů ve 22nm výrobním procesu

·         2013 - Intel vydá architekturu Haswell vycházející z Ivy Bridge, která má velmi znatelně snížit spotřebu