6.6. Procesory


6.6.1. Typy procesorů

Pokud v následujícím textu bude používat pojem procesor, budeme mít na mysli mikroprocesor, tedy procesor integrovaný v jednom integrovaném obvodu, v jedné elektronické součástce.

Nejjednodušší skupinou procesorů jsou tzv. mikrořadiče často označované jako MCU (Micro Controller Unit), jejichž uplatnění je velmi široké, od běžné spotřební elektroniky až po výkonné počítače. Mezi výhody těchto čipů patří nízká cena, malé rozměry a nízká spotřeba energie. Tyto procesory jsou vyráběna pro přesně určenou specifickou činnost a mají jen malou možnost rozšíření. Rovněž ve výkonnosti nedosahují vysokých hodnot.

Procesory nesoucí označení CPU (Central Processor Unit) tvoří základní řídící jednotku počítače. Oproti předcházející skupině mají mnohem vyšší výkon, větší rozměry, je možné je díky jejich otevřené architektuře a velkému množství vyvedených signálů lépe rozšiřovat. Samozřejmě tyto výhody jsou zaplaceny vyšší spotřebou a ztrátovým výkonem, rovněž cena je vysoká.

DSP (Digital Signal Processor) je určitým kompromisem mezi oběma předcházejícími skupinami procesorů. Signálové procesory se většinou vyznačují vysokým výkonem v oblasti zpracování matematických výpočtů a schopností zpracovávat velké objemy dat. Součástí těchto procesorů jsou často i digitálně-analogové a analogově-digitální převodníky. Procesory se používají například ve zvukových kartách.


6.6.2. CISC a RISC procesory

Procesory se z hlediska své vnitřní stavby dají rozdělit na dva typy:

CISC (Complete Instruction Set Computing) - jsou procesory používané ve většině současných i dřívějších osobních počítačů. Hlavním rysem těchto procesorů je, že používají tzv. plnou instrukční sadu, neboli se snaží mít na každou úlohu jednu instrukci. Tyto instrukce jsou uloženy v mikrokódu, což je vlastně program vloženy do paměti procesoru. Tento systém vytváření je z hlediska technologického jednodušší, ale instrukce se provádějí pomaleji než u obvodového řešení. Příklady: i8086, i80486, Pentium, M68040 ...

RISC (Reduced Instruction Set Computing) - procesory s redukovanou instrukční sadou. Obsahují jen několik základních instrukcí. Každá z nich by se měla vykonávat co nejkratší dobu, pokud možno během jediného strojového cyklu. Instrukce jsou vytvořeny obvodově a tudíž se většinou provádějí rychleji než u mikrokódového řešení. Stejně jako je malý počet instrukcí i je malý počet způsobů adresování. Pro práci s pamětí se na rozdíl od CISC procesorů používají jen dvě instrukce (Load/Store). Všechny ostatní instrukce se vyhodnocují v registrech, kterých bývá většinou větší počet (obvykle 32). Příklady: PA-8000, Power PC, R 4200, UltraSparc II ...

V dnešní době se obě architektury přibližují. Mnohé procesory nesou rysy obou typů. Příklady:Pentium II, K6, Cyrix 6x86MX ...

6.6.3. Historie výroby mikroprocesorů

1971 - i 4004 - 4 bitový mikroprocesor, který mohl adresovat paměť 4 096 B.
1974 - i 8080 - 8 bitový, obsahoval 5 000 tranzistorů, 256 instrukcí, byl vyroben technologií N-MOS, adresoval 64 KB paměti. (i8008 - adresace 16 KB)
Další firmy: Zilog Z80, Motorola M6800, Texas Instrument TMS-1000, ...

6.6.3.1. Šestnácti bitové mikroprocesory

i 8086 - jeden z prvních 16 bitových mikroprocesorů (1978). Byl vyroben technologií HMOS. Na čipu o ploše 14,75 mm2 je 29 000 tranzistorů. Pouzdro má 40 vývodů. Obsahoval sdílenou adresovou i datovou sběrnici 16 b. Pracoval ve dvou režimech:

- minimální - zpětná kompatibilita s i8080, možnost adresovat 64 KB paměti. Procesor sám musel vytvářet řídící signály potřebné pro spolupráci s pamětí a obvody I/O.
- maximální - řízení obvodů přejímá řadič sběrnice i8288 (samostatný čip). Možnost adresovat 1 MB paměti. Počet adresovacích vodičů je 20. (220 = 1 M)

Procesor je vnitřně rozdělen na dvě jednotky:

- Bus Interface Unit (jednotka styku se sběrnicí)
- Execution Unit (výkonná jednotka)

Procesor má 14 šestnáctibitových registrů (vnitřních paměťových obvodů procesoru):
- všeobecné registry AX, BX, CX, DX jsou mají šířku 16 b a jsou vnitřně děleny na dva osmi bitové registry.
 
AH AL
BH BL
CH CL
DH DL
AX accumulator (střadač)
BX base (báze)
CX counter (čítač)
DX data (data)

- indexové a ukazatelové registry :
SP - Stack pointer - ukazatel zásobníku pro práci se zásobníkem
BP - Base pointer - ukazatel bázový pro adresaci parametrů a lokálních proměnných na zásobníku
SI - Source index - indexový registr pro zdrojové adresy
DI - Destination index - indexový registr cílové adresy

- segmentové registry :
CS - code segment - segmentový registr programu
DS - data segment - segmentový registr dat
SS - stack segment - segmentový registr zásobníku
ES - extra segment - pomocný segmentový registr

- instrukční čitač - IP (instruction pointer)
- stavový registr - F (flags) má ze 16ti bitů využitých jen 9

Firma Intel vyráběla dále 16 bitové mikroprocesory i80186, i80286. Procesor i80286 již uměl pracovat v reálné nebo chráněném režimu a počet adresovacích vodičů byl 24. Může adresovat 16 MB (224 = 16.777.216 = 16 M).

Motorola 68000 - jedná se ve skutečnosti o částečně 32 bitový mikroprocesor zredukovaný na 16 bitů. Procesor měl možnost adresovat až 16 MB. (M 68008, M68010)

Z 8000 - tento procesor firmy Zilog nesl mnoho velmi moderních rysů, chyběla mu však zpětná kompatibilita s Z80 a málo se prosadil. (Z800)

6.6.3.2. Třicetidvou bitové mikroprocesory

i80386 - (1985) Procesor byl vyráběn technologií CH MOS III, 1.5 mikrónů a obsahoval 275 000 tranzistorů. Pouzdro má 132 vývodů. K podpoře své činnosti využíval další podpůrné samostatné integrované obvody: i82386 (DMA kontroler), i82385 (Cache kontroler), i80387 (matematický koprocesor) ... Procesor má možnost adresovat až 4 GB fyzické a 64 TB virtuální paměti. Pracuje ve dvou režimech:

real mod (reálný režim) - procesor se chová jako i8086 (tento režim umí i i80286). Z 32 adresových vodičů využívá je 20 a tudíž umožňuje adresovat jen 1 MB paměti. Skutečná fyzická adresa, která má 20 bitů, se vytváří součtem segmentové adresy posunuté o 4 bity doleva a offsetové adresy. Tento způsob adresace se u procesoru i8086 původně zavedl z důvody zjednodušení interní stavby čipu. Bohužel komplikuje vývoj rozsáhlejších programů. Segment je celistvý úsek paměti, v tomto případě o velikosti 64 KB. Offset je relativní adresa uvnitř daného segmentu.

fyzická adresa = (segmentová adresa * 16) + (offsetová adresa)

protected mod (chráněný režim). Adresace využívá všech 32 adresovacích registrů. Adresa se skládá ze dvou části : segment : offset. Část segmentová by se měla raději nazývat raději selektor segmentů, neboť neukazuje na určitý fyzický segment v paměti, ale ukazuje do speciální tabulky, která se nazývá tabulka deskriptorů. Každý z deskriptorů (popisovačů) obsahuje tři části: bázi a limit určitého segmentu a přístupová práva. Procesor v chráněném režimu umožňuje multitasking, tj. spouštět více aplikací současně. V systému se nacházejí tři tabulky:

- GDT - globální tabulka deskriptorů, ve které jsou deskriptory segmentů, jenž jsou k dispozici všem současně běžícím programům (úlohám, procesům)
- LDT - lokální tabulka deskriptorů - obsahuje deskriptory segmentů, které jsou potřebné jen pro danou úlohu. Jednotlivým úlohám se přiděluje paměť po segmentech dlouhých 64 KB až 4 GB.
- IDT - tabulka deskriptorů přerušení
Všechny tabulky jsou uloženy v paměti a adresy těchto tabulek jsou uloženy ve speciálních registrech (GDTR, LDTR, IDTR).

Swapping - je přechodné ukládání segmentů na disk, které umožňuje zpracovávat úlohy, jenž se do fyzické operační paměti nevejdou celé. Virtuální správa paměti - operační systém se musí postarat, aby potřebné části paměti byly vždy k dispozici.

V 86 - Virtuální režim 8086 - umožňuje v chráněném režimu vedle úloh pro tento režim spouštět také aplikace napsané pro reálný režim. Správu nad paměti má ovšem pořád režim chráněný.

Registry procesoru se rozdělují na systémové a uživatelské. Mezi uživatelské, jenž se dělí na tři skupiny patří:
1) 32 bitové registry EAX, EBX, ECX, EDX, ESI, EDI, EBP, ESP
2) CS, SS, DS, ES, FS, GS
3) 32 bitové registry EIP, EF
Mezi systémové registry, které se dělí na čtyři skupiny patří:
1) 32 bitové řídící registry CR0, CR2, CR3
2) registry tabulek deskriptorů GDTR, LDTR, IDTR a registr úlohy TR
3) 32 bitové registry pro ladící účely DR0,DR1, DR2, DR3, DR6, DR7
4) 32 bitové registry protestování TR6, TR7

i80486 - kromě dalších vylepšení obsahuje tento procesor navíc čtyřcestně asociativní cache první úrovně o velikosti 8 KB a matematický koprocesor (FPU), pro práci s čísly s pohyblivou řadovou čárkou. Instrukční soubor obsahuje všechny instrukce jako i80386 a koprocesoru i80387 a šest nových instrukcí určených ke zrychlení práce s programovými semafory a k vnitřnímu ladění. K systémovým registrům byly přidány tři nové testovací registry TR3, TR4, TR5 pro testování vnitřní cache paměti.

Jedná se o poslední procesor řady x86, který má pouze jednu výkonnou jednotku a není schopen paralelního zpracování instrukcí. Takovému jednoduchému zpracování instrukcí se říká skalární nebo jednokanálové. Procesor však již zvládá zřetězené zpracování instrukcí (pipelining), kdy instrukce se zpracovává postupně v několika za sebou umístěných jednotkách. Každá z jednotek má na starosti pouze určitou fázi instrukce (např. výběr instrukce z paměti, dekódování, vykonání, uložení výsledku). Série jednotek se nazývá datovod (pipeline).

Počítače PC jsou dnes většinou (asi 80% všech stolních a osobních počítačů) stavěny na procesorech, které jsou zpětně kompatibilní s procesorem i8086. Důvod neustálého zdokonalování řady x86 tkví hlavně ve velkém množství existujících softwarových aplikací. Kromě firmy Intel se na vývoji a výrobě těchto procesorů podílí i další firmy (AMD, Cyrix, IBM, Texas Instrument ...).

Prvním klonem byl v roce 1991 procesor 80386 od firmy AMD s frekvencí 40 MHz a byl téměř totožný z procesorem firmy Intel (stejné jádro, stejný mikrokód). Hlavně s procesory Am486DX - DX4 se podařilo firmě AMD dosti úspěšně konkurovat firmě Intel, což vedlo k soudním sporům mezi oběma výrobci.

Dalším výrobcem je firma Cyrix, která nešla cestou úplné kopie jako AMD, ale vyvíjela procesory trochu na jiných základech, což občas vedlo k problémům s kompatibilitou. Jako jedna z prvních však u svých klonů přešla firma Cyrix z pěti na tří voltovou technologii.

Ostatní firmy nabízející klony většinou cestou licence procesorů Intel a Cyrix.

Jiné platformy:

Zilog - Z80000, Z320 (1987)
National Semiconductor - NS32032
Motorola - MC 68020, MC 68030 (1987), MC 68040

6.6.3.3. Novější procesory řady x86

Intel
Pentium Overdrive - tento procesor měl být jakýmsi přechodem mezi řadou 486 a Pentiem. Nebyl příliš úspěšný (vysoká cena, problémy s kompatibilitou).

Pentium (P54C) - procesor páté generace řady x86. (konec roku 1993). Vnitřně je procesor 64 bitový. Obsahuje některé nové rysy, jako například superskalární architektura, která umožňuje vytvořit dvojici celočíselných front, neboť obsahuje dvě výkonné jednotky (dvě instrukce se paralelně zpracují v přirozeném pořadí). Jednotky se označují U a V. Jednotka U je univerzální, zatímco jednotka V umí provádět pouze jednoduché instrukce, tj. instrukce aritmeticko-logické jednotky s výjimkou posunů, přesun a práce se zásobníkem. Instrukce se provádí v 5 fázích - předvýběr, dekódování, generování adresy, vykonání instrukce a zpětný zápis. Z důvodů snížení počtu zbytečných vyprázdnění datovodu v důsledku podmíněných skoků, používá Pentium metodu předpovídání větvení. Kromě statického předpovídání větvení (např. podmínka bude splněna), používá procesor i dynamické metody, ke které využívá zvláštní vyrovnávací paměť výsledků větvení - branch target buffer. Do ní si systém ukládá cílové adresy a předpokládaný výsledek pro posledních 256 větvení. Toto se využívá většinou u smyček, které se obvykle opouštějí až po několika cyklech.

Pentuim 60 MHz, 66 MHz – 5 V, ztrátový výkon 13 W
Pentium 75, 90, 100, 120, 133, 150, 166, 200 MHz - 3.3 V, ztrátový výkon 4 – 6 W. Pentia s interní frekvencí 133, 166, 200 MHz pracují na sběrnici, která je taktována na 66 MHz, 150 MHz Pentia mají na sběrnici 60 MHz.

Čip obsahuje na ploše 295 mm2 3,3 miliónů tranzistorů. Pouzdro (patice Socket 7) má 296 vývodů. Patice je typu ZIF (Zero Input Force - zasunování nulovou silou). Pentium obsahuje interní cache paměť o velikosti 16 KB, která je rozdělená na 8 KB pro data a 8 KB pro instrukce a je dvoucestně asociativní. Datová sběrnice má šířku 64 bitů, adresová sběrnice je 32 bitová.

Pentium MMX (P55C) - jedná se vylepšené Pentium, které obsahuje navíc dvě jednotky pro zpracování nových multimediálních instrukcí, kterých je 57. Procesor obsahuje 8 nových registrů pro MMX instrukce. Cache L1 je dělená na dat a instrukce a má velikost 16 + 16 KB.

Pentium Pro - (P6) - se dostalo na trh na podzim 1995. První model byl taktován na frekvenci 133 MHz. Pouzdro procesoru obsahuje dva čipy. Jeden představuje samotný procesor a druhý je paměť cache, která má velikost 256 nebo 512 KB. Interní cache L1 je rozdělená na část datovou a instrukční. Obě části mají po 8 KB. Procesor obsahuje na ploše 306 mm2 5,5 miliónů tranzistorů, cache 15,5 miliónů tranzistorů . Napájecí napětí procesoru je 3,1 V (3,3 V). Interní datová sběrnice je široká 300 bitů, externí 64 bitů, adresová sběrnice je široká 32 bitů. Pouzdro (patice Socket 8) má 387 vývodů. Princip činnosti procesoru je podobný jako u Nx586 s vnitřním jádrem typu RISC, které zpracovává RISC instrukce Micro-OPS. Pentium Pro je optimalizováno pro 32 bitový kód, naopak u některých 16ti bitových aplikací dosahuje horších výsledků.

Procesor podporuje symetrický multiprocesing do počtu čtyř procesorů. Umí provádět instrukce mimo pořadí (Out of Order).

Pentium II - Procesor používá zcela nového pouzdra nesoucí označení SEC (Single Edge Contact). Dříve se používaly pouzdra typu PGA (Pin Grid Array). Obsahuje dvousběrnicovou architekturu DIB (Dual Independent Bus), která byla částečně použita již u Pentia Pro.Jedná se o zavedení samostatné sběrnice pro komunikaci procesoru a cache L2, která je rovněž v pouzdru. Tato sběrnice je taktována na poloviční kmitočet vzhledem k interní frekvenci procesoru. Sběrnice pracuje v režimu BURST, což znamená, že jednou operací může uspokojit vícenásobné požadavky na přesun dat do paměti. Systémová sběrnice pracuje s frekvencí 66 nebo 100 MHz a umí pracovat s více transakcemi současně. To přináší mnohdy až 3x větší propustnost dat než u běžných Pentií.

Procesor obsahuje 7,5 miliónů tranzistorů. První varianty s kódovým označením Klamath byly vyráběny při technologii 0,35 mikrónů. Novější varianty (označení Deschutes) jsou vyráběny s technologii 0,25 mikrónů. Cache L1 je rozdělena na data a instrukce a každá z nich má velikost 16 KB. Cache L2 má velikost 512 KB. Počet zpracovaných RISC instrukcí Micro OPS je až 4 v jednom taktu, pipelining je dvanácti úrovňový, úspěšnost předvídání je asi 90%, má všechny rysy moderního procesoru (superskalární architektura, Out of Order, přejmenování registrů, MMX instrukce ...). Označení pro patici je Slot 1. Procesor se zasouvá kolmo k základní desce. Xeon je výkonnější variantou s 1 MB cache L2. Podporuje symetrický multiprocesing až do osmi procesorů.

Celeron - tento procesor firmy Intel se od Pentia II lišil v prvních variantách absenci sekundární vyrovnávací paměti. Snížila se tak cena, ale i výkon při výpočtech s pevnou řadovou čárkou. Při práci s pohyblivou řadovou čárkou je jeho výkon srovnatelný s Pentiem II. Novější varianty Celeronů již mají cache L2 o velikosti 128 KB. Cache pracuje na stejném kmitočtu jako procesor. Výhodou těchto procesorů je nižší cena. Vyrábí se rovněž varianta s označením PPGA pro patici Socket 370.

Pentium III - jedná se vylepšený procesor Pentium II, který obsahuje 70 SSE instrukcí pro multimédia a 3D aplikace. Cache L1 má velikost 32 KB (16 KB pro data, 16 KB pro instrukce), L2 obsahuje 512 KB. Procesor je vytvořen s technologií 0,25 mikrónů. Firma Intel pracuje i na technologii 0,18 mikrónů.

Itanium (původní název Merced) - jedná se vyvíjený 64 bitový procesor, tedy procesor , který bude zařazen do skupiny IA-64. Dosavadní procesory patří do skupiny IA-32. Itanium je určeno pro výkonné pracovní stanice a servery.

AMD
Firmě AMD se nepodařilo zopakovat obchodní úspěch s klony řady 486 a vyvíjený procesor označený K5 se nepodařilo vyvinout v určeném termínu. Proto firma nabízela z počátku alespoň alternativy Am486DX4 na frekvenci 120 a 133 MHz, které měly podobný výkon jako Pentium 75 a 90 MHz.

K5 (písmeno K znamená "Kryptonie" viz. Superman) je superskalární mikroprocesor, který podobně jako Nx586 a Pentium Pro CISC instrukce řady x86 rozkládá na RISC mikroinstrukce označené ROP (RISC operation). Dále nabízí některé podobné vlastnosti jako Pentium Pro a RISC procesory: předpověď větvení programu, dynamické přejmenování registrů, spekulativní provádění a provádění mimo pořadí, mikroinstrukce mohou být prováděny paralelně. Pouzdro je naopak shodné s Pentiem (296 pinové), což vedlo k jednoduššímu rozšíření počítače (nebyla nutná výměna motherboardu). Procesor byl postaven na 0,35 mikronové technologii a obsahoval 4,3 miliónů tranzistorů, 16 KB interní cache paměti pro instrukce a 8 KB pro data. Byl schopen v jednom taktu dokončit až čtyři instrukce. Procesory měly přibližně stejný výkon jako Pentia. Zřetězené zpracování instrukcí se provádělo v pěti (respektive v šesti) fázích: výběr, dvoustupňové dekódování, vykonání instrukce a zpracování výsledků, šestým stupněm je odebírání výsledků. Překlad instrukcí probíhal ve čtyřech kanálech. Proudové zpracování bylo dvoustupňové. Procesor používá 40 dočasných registrů.

Na podzim 1995 zakoupila firma AMD firmu NexGen, aby společně vytvořila ještě dokonalejší procesor s označením K6.

AMD K6 - je kompatibilní s paticí Socket 7. Procesor je vyroben pětivrstvou technologií, 0,35 nebo 0,25 mikrónů a obsahuje 8,8 miliónů tranzistorů. Datová i instrukční interní cache mají 32 KB a obě jsou dvoucestně asociativní write back. Při výrobě byla použitá technologie firmy IBM s názvem “Flip Chip” (vývody jsou vedeny nejkratší cestou a ne jen z okrajů čipu).

Výkonná část procesoru obsahuje 7 jednotek: náčítací (Load Unit), ukládací (Store Unit), dvě celočíselné (Integer X Unit, Integer Y Unit), pro multimediální instrukce (Multimedia Unit), koprocesor (Floating-Point Unit) a jednotku větvení (Branch Unit). Pro dekódování instrukci x86 na RISC 86 používá zdvojený dekodér pro krátké a často používané instrukce, dekodér pro dlouhé instrukce a vektorový dekodér pro složité instrukce. Proudové zpracování je šesti stupňové. Procesor využívá 48 fyzických registrů, z nichž 24 slouží k možnosti přejmenování. Šířka lokální sběrnice je podobně jako u Pentia II 528 MB/s. Varianta AMD K6-2 obsahuje sadu 21 speciálních instrukcí 3DNow, které slouží pro zpracování multimediálních a 3D aplikací. Rovněž obsahuje vylepšené CXT jádro. Procesor umí spolupracovat s 100 MHz sběrnicí a podporuje AGP. Napětí jádra bývá 2,2 nebo 2,4 V. Stejně jako předcházející typy, má i tento procesor cache L2 umístěnou na základní desce. Zde o velikosti 512 KB až 2 MB.

AMD K6-III - jak je vidět s názvu, má procesor konkurovat procesoru Pentiu III. Procesor má integrovanou cache L2 o velikosti 256 KB v pouzdru. Dosavadní cache L2 nacházející se na desce se pak stává vlastně L3.

Athlon (AMD K7) - procesor je osazován do speciální patice s názvem Slot A, který připomíná Slot 1 procesoru Pentium II. Oba jsou však navzájem nekompatibilní. Plocha čipu je 187 mm2, počet tranzistorů je 22 miliónů. Procesor obsahuje 9 výkonných jednotek, z toho jsou tři celočíselné, tři multimediální a tři adresové jednotky. Na rozdíl od K6 je u Athlonu FPU plně proudovou jednotkou. Počet stupňů v pipelingu je 10 pro celočíselné jednotky a 15 pro FPU. Tabulka provedených větvení si uchovává 4 096 záznamů a zásobník předpovědí skoků může obsahovat až v 2 048 záznamů (Pentium III má 512 a 0). Úspěšnost předpovědí je až 95 %. Cache L1 je dvoucestně asociativní, 64 KB je použito pro data a dalších 64 KB je pro instrukce. Řadič pro cache L2 je integrován přímo na čipu a podporuje velikost od 512 KB do 8 MB.

NexGen
Malá americká firma NexGen přišla jako první s konkurencí pro procesor Pentium. Svůj výrobek nazvala Nx586. Tento superskalární procesor byl schopen dokončit až jednu operaci za jeden hodinový takt, neboť jeho jádro není už typu CISC, ale RISC. CISCové instrukce architektury x86, které procesor přijme nejprve rozdělí na mikroinstrukce, které může vykonávat najednou v několika jednotkách procesoru. Touto architekturou se již podobá Pentiu Pro. Obsahuje 32 KB vyrovnávací paměť. Oproti Pentiu na stejné frekvenci je asi o 10 až 20% výkonnější (u výpočtů, které nepracují s plovoucí řadovou čárkou). Nevýhodou je jiný tvar pouzdra vyžadující speciální motherboard a absence koprocesorové jednotky.
Cyrix
Po vývoji vlastních klonů 486 se tato firma zaměřila na konkurenci Pentia s projektem nazvaným M1. Prvním procesorem tohoto projektu je 5x86 (říjen 1995). Jednalo se supeskalární procesor s 16 KB nerozdělené vyrovnávací paměti. Jeho pouzdro bylo stejné jako u Cx486. Mělo tedy jen 32 bitovou vnější datová sběrnici (Pentium 64 bitovou).

Procesor 6x86 obsahoval zlepšené prvky procesoru Pentium a rovněž některé rysy Pentia Pro (superskalární superzřetězený procesor, přejmenování registrů, zpracování mimo pořadí, spekulativní provádění a předpověď větvení, paralelní provádění instrukcí ). Mohl provádět až dvě instrukce během jednoho hodinového cyklu. Pro snadnější orientaci vzhledem k Pentiu používá firma tzv. P-rating, který označuje přibližně stejně výkonné Pentium. Např. Cyrix 6x86 P166+ má přibližně stejný výkon jako Pentium 166 MHz, ač jeho vnitřní frekvence byla pouze 133 MHz. Procesory Cyrix používají pouze techniku vnitřního zdvojení frekvence, což u některých typů vyžaduje speciální nastavení základní desky, které se odlišuje od Pentií. Stejně jako Pentium obsahuje dvě výkonné jednotky, ale na rozdíl od svého konkurenta jsou tyto jednotky téměř ekvivalentní a mohou prováděn současně více instrukcí. Nelze párovat jen některé instrukce (násobení a dělení, stringové instrukce, vzdálené skoky a volání). Datovod je sedmistupňový: jednotka výběru, dvoustupňové dekódování, dvoustupňové zjišťování adres operandů, vykonání instrukce a zpětný zápis. Proti zahlcení datovodu se používá několik technik. Například přejmenování registrů, kdy procesor kopíruje obsah programových registrů do zvláštních dočasných registrů, kterých je 32. Na rozdíl od Pentia může Cyrix při čekání na dokončení instrukce v jednom kanálu dokončit výpočet další instrukce v druhém kanálu (out-of-order execution). Procesor rovněž ovládá spekulativní provádění (speculative execution), kdy v druhém kanálu se mohou dopředu provádět výpočty i za instrukci, která se zatím vyhodnocuje v prvním kanále. Mezivýsledky spekulativního provádění se uchovávají ve zvláštní vyrovnávací paměti. Cyrix je schopen až čtyřúrovňového spekulativního provádění (může odhadnout výsledek až čtyř po sobě následujících větvení během zpracovávání prvního větvení).

Nevýhodou uvedených procesorů je větší ztrátový výkon, podle frekvence 20 - 24W. Proto musí být zajištěn dostatečný odvod tepla.

Cyrix 6x86MX (IBM 6x86MX) - O návrh nového procesoru se postarala firma Cyrix, výrobu zajišťuje ve svých továrnách firma IBM. Procesor je vyráběn v 0,35 mikrónové, pětivrstvá CMOS technologii. Vkládá se do patice Socket 7 (kompatibilita s Pentiem MMX P55C). Umí zpracovávat MMX instrukce. Napájení jádra je 2,9 V a komunikační části 3,3 V. Cache L1 je společná pro data a instrukce a má velikost 64 KB. Procesor je superskalární, umí superpiling, přejmenování registrů, spekulativní provádění instrukcí, Out-of-Order, obsahuje 80 bitový FPU. Typy: 6x86MX-PR166GP s frekvencí sběrnice/procesor 66/133 nebo 60/150 MHz, 6x86MX-PR200GP 75/150 nebo 66/166 MHz, 6x86MX-PR166GP 75/188MHz. Další typy: PR-233 (vnitřní frekvence 188 MHz), PR-266 (207, 225 MHz), PR-300(263 MHz). Procesory dosahují vysokých výkonů v pevné řadové čárce, naopak při práci s pohyblivou řadovou čárkou jsou slabší než konkurence.

IDT
IDT C6 - vnitřní struktura procesoru firmy IDT je oproti konkurenci jednodušší, což vede sice k nižším cenám, ale zároveň i k nižšímu výkonu. Tento čip není schopen paralelně zpracovávat instrukce, naopak má relativně velkou vyrovnávací paměť přímo na čipu.

6.6.3.4. Procesory typu RISC

Alpha
Mikroprocesory Alpha vyrábí firma DEC (Digital). Jedná se o první 64 bitové procesory, které byly na trhu. Jejich hlavní předností je možnost pracovat velmi vysokou vnitřní frekvencí (jaro 1997 – 600 MHz). Jedná se o procesor postavený důsledně na architektuře RISC, bohužel nevyužívající dokonale všech svých potenciálních možností. Přesto patří mezi momentálně nejvýkonnější procesory vůbec. Procesor má optimalizaci pro více operačních systémů PAL (Privileng Architecture Library). Alpha je postaven na superskalární architektuře, obsahuje čtyři samostatné jednotky, z níž každá je specializována pro vlastní třídu operací. Označení procesorů je Alpha 21164 a Alpha 21264, ve vývoji jsou procesory Alpha 21364. Tento nový čip bude vyráběn pomoci technologie 0,18 mikronů a hodinový kmitočet by měl dosahovat hodnoty 1 GHz.
PowerPC
V roce 1991 se firmy Motorola a IBM (později i Apple) dohodly na společném postupu při vývoji nového typu procesoru. Nová otevřená řada procesorů nesoucí označení PowerPC navazuje na velmi výkonné procesory řady POWER (Perfomance Optimized With Enhanced RISC) firmy IBM, doplněné zkušenostmi firmy Motorola. Nejnovější procesory řady POWER3 patři mezi nejvýkonnější procesory a umožňují víceprocesorovou architekturu SMP. Momentálně se jedná po technické stránce o nejlépe propracovanou architekturu mikroprocesorů. Struktura procesorů je navržená jako paralelní systém s možností obsahovat téměř neomezený počet jednotek, s výkonnou cache pamětí, s extrémně širokou interní sběrnicí (stovky bitů).

První modelem byl třiceti dvou bitový procesor PowerPC 601. Obsahoval tři jednotky (Integer Unit, Floating-point Unit, Branch-processing Unit - jednotka pro řízení skoků), obsahoval 2,8 miliónů tranzistorů a pracoval na frekvenci 50-80 MHz, varianta PowerPC 601+ na frekvenci 100-110 MHz. Šířka adresové sběrnice je 32 bitů (možnost adresovat fyzickou paměť do 4 GB), šířka datové sběrnice je 64 bitů. Typ označený číslem 602 je charakteristický nízkou spotřebou a je určen pro přenosné počítače (palmtopy, PDA). Pracuje pouze na frekvenci 66 MHz a menší výkon. PowerPC 603 má rovněž sníženou spotřebu energie (méně než u 602) a používá se u přenosných počítačů. Obsahuje čtyři nezávislé jednotky. Model 603e je vylepšená verze s větší cache pamětí. Modely PowerPC 604 a 620 obsahují šest paralelně pracujících jednotek. Typ 620 má již plně 64 bitovou vnitřní strukturu (64bitová datová i adresová sběrnice). Obsahuje 7 miliónů tranzistorů na ploše 331 mm2. Pouzdro má 482 vývodů. Cache L1 má 32 KB pro data a 32 KB pro instrukce. Je určen pro velmi výkonné multiprocesorové systémy. Procesory PowerPC umožňují práci s daty v libovolném pořadí bytů.

PA-RISC
Procesory firmy Hewlett-Packard patří dne s mezi špičku z hlediska výkonnosti. Jedná se o třiceti dvou bitové procesory pracující relativně na nízké taktovací frekvenci. Většina modelů používá pouze externí cache paměť. Vysokého výkonu dosahují procesory PA-RISC důkladně propracovanou superskalární architekturou a mimořádně efektivní jednotkou pro výpočty v pohyblivé řadové čárce. Stejně jako PowerPC umožňují práci s daty v libovolném pořadí bytů.

Modely: PA-7150 je procesor s taktovací frekvencí až 125 MHz, dvoucestnou superskalární architekturou. PA-7200 je srovnatelný s PA-7150, navíc obsahuje podporu pro spolupráci více procesorů. Doposud nejvýkonnějšími procesory této řády jsou modely PA-8200 a PA-RISC 8500. Dalším očekávaným typem je PA-RISC 8600.

MIPS
Procesory MIPS se používají v pracovních stanicích Silicon Graphics, na kterých se zpracovává většina animovaných sekvencí pro filmový průmysl. Jedná se procesory typu RISC, které nesou označení např. R4200, R8000, R10000, R12000. Procesory jsou stavěny na architektuře cc-NUNA, která umožňuje systém Origin 2000 jednoduše rozšířit až na 128 CPU R10000.
SPARC
Otevřená architektura SPARC charakterizuje procesory RISC, které se nejčastěji používají v pracovních stanicích firmy SUN Microsystem. Mezi nejznámější a nejpoužívanější modely patří MicroSPARC. Tento 32 bitový procesor se používá u méně výkonných pracovních stanic. SuperSPARC a SuperSPARC II jsou výkonnější procesory umožňující multiprocessing. Nejvýkonnějším typem je model UltraSPARC II a UltraSPARC IIi. Mikroprocesory jsou vyvíjeny ve třech skupinách: S – pro víceprocesorové servery, I – pro pracovní stanice s vazbou na sběrnici PCI, E – mikroprocesory pro OEM aplikace.

6.6.3.5. Některé rysy moderních procesorů

Pipelining (zřetězené zpracování instrukcí) - instrukce se zpracovávají v několika funkčních blocích. Jakmile se jeden funkční blok uvolní, načte se do něj další instrukce. V jednom okamžiku může být rozpracováno více instrukcí.

Superskalární architektura - procesor má více prováděcích jednotek, proto může vykonat více instrukcí najednou.

Out-of-Order (provádění instrukcí mimo pořadí) - instrukce mohou být prováděny i v jiném pořadí, než ve kterém byly umístěny do instrukční fronty.

Speculative execution (spekulativní provádění instrukcí) - procesor si spekulativně provádí některé instrukce předem.

Register renaming (přejmenování registrů) - procesor má více fyzických než logických registrů a může stejným jménem označit více fyzických registrů.

Mechanizmus přerušení - kromě aktuálně běžícího programu musí mikroprocesor reagovat na podněty jiných zařízení nebo programů. Například reakce na stisk klávesy, informace o tisku a podobně. Toho se dá docílit dvěma způsoby:

Procesor tedy komunikuje s okolím třemi základními způsoby: pomocí sběrnic, přerušením (IRQ) a přes kanály přímého přístupu do paměti (DMA - Direct Memory Access). Přerušení probíhá na následujícím principu:
  1. Zařízení, které potřebuje obsluhu vyvolá přerušení. To může být hardwarové nebo softwarové. Procesor dokončí probíhající instrukci a uloží si dosažené hodnoty a číslo následující instrukce do paměti.
  2. Vektor přerušení spustí na příslušné adrese v paměti program pro obsluhu přerušení. Pro zpracování přerušení je určen speciální obvod - interrupt controler (řadič přerušení).
  3. Po obsluze zařízení, které vyvolalo přerušení, se z paměti se vezmou dočasné hodnoty a následující instrukce přerušeného programu a pokračuje se v jeho provádění.
Linky, kterými proudí signály přerušení jsou součásti sběrnice a označují se IRQ0, IRQ1,... Jednu linku IRQ může používat pouze jedna periferie. Seznam používaných IRQ u sběrnice ISA: IRQ 0 - přerušení systémových hodin, IRQ 1 - přerušení od klávesnice, IRQ 2 -přerušení druhého řadiče přerušení, kaskádní propojení, IRQ 3 - Přerušení od COM 2, IRQ 4 - přerušení od COM 1, IRQ 5 - obvykle přerušení od portu LPT 2, síťové karty, modemu, IRQ 6 - přerušení od disketové jednotky, IRQ 7 - přerušení od portu LPT 1, zvuková karta, IRQ 8 - reálné hodiny a kalendář, IRQ 9 - grafická karty, IRQ 10 - zvuková karta, IRQ 11 - SCSI řadič, IRQ 13 - matematický koprocesor, IRQ 14 - pevný disk. Jako volné přerušovací kanály jsou obvykle IRQ 5, IRQ 10, IRQ 11, IRQ 12 a IRQ 15. Kromě ISA slotu dnešní desky obsahují tři až čtyři sloty PCI. Pro rozlišení přerušení jednotlivých desek, se přerušení od ISA karet označují IRQ a od karet PCI jako INT (INTA, INTB, INTC, INTD). Modernější základní desky umožňují přiřadit všem PCI slotům pouze jedno INT (INTA), které je obsluhováno různými IRQ (IRQ10, IRQ11 a IRQ15) - hladinové spouštění.
 Další kapitola