Hardware pro trochu znalé – díl III. – Intelovy procesory rodiny x86

Série článků s titulem Hardware pro trochu znalé je určena všem, kteří se hardwarové problematice nevěnují naplno, nebo těm, kterým něco uniklo či některé věci zapomněli. Třetí díl je věnován srdci počítačů, procesorům, resp. rodině x86 firmy Intel

Série článků s titulem Hardware pro trochu znalé je určena všem, kteří se hardwarové problematice nevěnují naplno, nebo těm, kterým něco uniklo či některé věci zapomněli. Třetí díl je věnován srdci počítačů, procesorům, resp. rodině x86 firmy Intel.

Počátek procesorů x86 se datuje k 8. červnu roku 1978, kdy byl ohlášen první 16bitový procesor firmy Intel s označením i8086. Dokázal obsloužit až 1 MB RAM paměti (ovšem pouze po blocích po 64 KB – říká se tomu stránkování) a jeho původní takt byl 5 MHz. Bez jednoho týdne za rok (přesně 1. června 1979) byl ohlášen druhý procesor i8088, který vycházen z i8086, ovšem jeho vnější struktura byla 8bitová při zachování interní 16bitové struktury. Právě tento procesor, který spatřil světlo světa na den dětí (jako hračka?), byl vybrán firmou IBM jako procesor připravovaného osobního počítače. Jeho název byl IBM 5150 PC Personal Computer. Tento procesor vyhrál před konkurenčním 32bitovým procesorem Motorola M68000 díky vzájemné výměně mezi Intelem a IBM za právo na bublinkovou paměť (tato informace ovšem není potvrzena ani jednou stranou). Následník s názvem i80186 byl jen mírně výkonnější a nepředstavoval žádný výrazný posun kupředu. V počítačích řady IBM PC se prakticky neobjevil. Velkého rozšíření se však dočkal v průmyslové oblasti, pro kterou byl určen. Pro zajímavost tento procesor používala i firma 3COM na svých prvních síťových kartách.

Dne 1. února 1982 spatřil světlo světa procesor s označením i80286, který rozšiřoval možnosti předchozích i8086 a i8088 procesorů. Přímý adresový prostor se zvětšil z původní kapacity 1 MB na 16 MB. Poprvé se objevil pojem virtuální adresový prostor, který byl 1 GB. Díky tomu se nemusí obcházet adresování jiných zařízení kromě RAM paměti (která se musí adresovat přímo). To se týká hlavně pevného disku. Procesor mohl pracovat ve dvou režimech – první byl shodný s předchozím i8086 (tzv. reálný mód), druhý byl chráněný (protected) mód.

Pouzdra procesorů Intel řady x86

speciální název obecné poznačení počet vývodů použité procesory
nemá DIL 40 40 i8088, i8086 a kompatibilní
nemá68pin PGA 68 i80286 a kompatibilní
nemá100pin PQFP 100 i80386SX a kompatibilní
nemá 132pin PGA 132 i80386 (386DX) a kompatibilní
Socket 1 168pin PGA 168 i80486 (SX, DX, DX/2 - 5V) a kompatibilní
Socket 2 238pin PGA 238 Overdrive pro 5V procesory 486
Socket 3 237pin PGA 238 i80486 (DX/2, DX/4 - 3,3V) a kompatibilní
Socket 4 273pin PGA 273 Pentium 60/66 MHz (5V verze)
Socket 5 320pin PGA 320 Pentium (pod 5 voltů) a kompatibilní
Socket 6 235pin PGA 235 plánováno pro mezistupeň mezi 486 a Pentiem
Socket 7 321pin PGA 321 Pentium MMX a kompatibilní
Socket 8 387pin CBGA 387 Pentium Pro
Slot 1 S.E.C. 242 Pentium II, některé Pentium III a Celerony
Slot 2 S.E.C. 330 Pentium II Xeon a Pentium III Xeon
Socket 370 370pin BGA 370 Celeron a Pentium III FCPGA

Největší změna byla provedena 15. listopadu 1985, kdy byl uveden procesor i80386. Datová šířka procesoru se zvětšila z původních 16 na 32 bitů. To umožnilo zvětšení datové i adresové šířky – přímý adresový prostor se zvětšil na 4 GB a virtuální dokonce na 64 TB. Díky zdvojení šířky se tento procesor začal označovat jako i80386DX (Double-word eXternal). Jeho počáteční rychlost byla 16 MHz, maximální takt vyrobený firmou Intel byl 33 MHz. Procesor byl obohacen o velké množství instrukcí pro využití nového adresového prostoru či pro management a bezpečnost programů – vznikl např. chráněný mód. Pro využití nových vlastností však bylo nutné programy od základu přepsat. Ke dvěma pracovním režimům, převzatým z procesoru i80286 přibyl ještě třetí – virtuální 8086 mód. V tomto režimu je simulováno více procesorů i8086, pracujících současně.

Aby bylo možné využít velké množství součástek pro spolupráci s procesorem i80286, které byly levnější, než ty pro i80386, vytvořila firma Intel speciální verzi procesoru 386 s názvem i80386SX (SX ve významu Single-word eXternal). Procesor byl uveden 16. června 1988. Ten byl obdobou dřívějšího procesoru i8088 – oba mají vnější strukturu poloviční šířky, než interní. Procesor i80386SX byl stejně jako procesor 386 (nyní 386DX) 32bitový, ovšem externě byl 16bitový stejně jako předchozí procesor i80286.

Procesor i80486 vznikl 10. dubna 1989 urychlením jádra procesoru 386 a doplněním o matematický koprocesor a L1 cache. Dva roky poté, 22. dubna 1991 (neboli na výročí narození V.I.Lenina), byla uvedena verze bez koprocesoru s názvem i80486SX. Poprvé v historii Intelu vznikl zmatek v označování (rozdílný význam zkratky SX u 386 a 486). Původní verze byly plnohodnotné 486DX (neboli s koprocesorem), ovšem ten byl s chybami, proto byl umrtven. Pozdější verze procesorů 486SX se již vyráběly od začátku bez koprocesoru. V roce 1992 byl představen první procesor x86 světa, který měl interní takt jiný, než externí – vznikl tak první procesor i80486DX2/50 a vzápětí 66 MHz. Do té doby totiž pracoval celá základní deska na taktu procesoru a v té době byly dosahované kmitočty procesorů neúnosně vysoké. Procesory skupiny DX2 měly interní takt dvojnásobný proti externímu (neboli DX2/66 má interní takt 66 MHz, externí ovšem 33 MHz).

Porovnání velikosti čipu procesoru Pentium s prstem
Porovnání velikosti čipu procesoru Pentium s prstem

Dne 22. března 1993 byly uvedeny první procesory Pentium s taktem 60 a 66 MHz. Ty měly poprvé větší externí šířku než interní. Interně to byl stále 32bitový procesor, externí sběrnice se rozšířila na 64 bitů. Díky tomu se bez zvyšování externího taktu umožnil dvojnásobný datový průtok. Interní cache L1 byla rozdělena na datovou a instrukční. Jejich napájecí napětí bylo jako u posledních procesorů Intelu 5 voltů. Bylo to totiž právě vysoké napětí, které způsobovalo přehřívání prvních procesorů. Nebyl to ovšem jediný problém – první modely měly chybu ve výpočetní části. Intel nabídl bezplatnou výměnu procesoru, tuto možnost ovšem využilo jen menší množství uživatelů. Další verze již měly napájení nižší než 5 V (typicky 3,3 V).

Prvního listopadu 1995 firma Intel ohlásila procesor Pentium Pro, který byl prvním procesorem v x86 světě, který do jednoho pouzdra integroval více čipů. Do keramického pouzdra byl vedle vlastního procesoru integrována i cache L2 velikosti 256, 512 a později i 1024 KB podle verze. Myšlenka to byla dobrá, bohužel keramické pouzdro se pro dvoučipové provedení z finančních důvodů ukázalo jako naprosto nevhodné. Na rozdíl od předchozích verzí byl tento procesor určen výhradně pro servery a pracovní stanice a tato kategorie procesoru Pentium Pro zůstala. Procesor byl určen pro 32bitové aplikace a operační systémy, kterých v době uvedení zrovna moc nebylo (MS Windows NT či IBM OS/2 ano, v tomto roce uvedený MS Windows 95 je 32bitový jen částečně).

Procesor Intel Pentium s MMX zespodu a zvrchu
Procesor Intel Pentium s MMX zespodu a zvrchu

Další velkou změnou instrukční sady byl 5. ledna 1997 příchod procesoru Pentium MMX. Tento procesor obsahoval 57 nových instrukcí s názvem MultiMedia eXtension (MMX), určených pro audio, video a komunikace. Tato část procesoru umožňuje 64bitové operace a proto ji lze považoval za počátek přechodu od 32bitové k 64bitové architektuře. Podružnou změnou bylo dvojí napájení procesoru, kdy se oddělilo napájení jádra procesoru (nižší napětí – pod 3 volty) od napětí, potřebného pro komunikaci s okolím (3,3 V).

Procesor Intel Pentium II byl představen 7. května 1997 a již na první pohled bylo znát, že je skutečně jiný, než jeho předchůdci. Byl totiž v umělohmotném pouzdru velikosti 12,7 x 5,08 x 1,67 cm. Vzhledem k rozměrům zvolil Intel poměrně originální řešení – přímý konektor procesoru s názvem Single Edge Connector (S.E.C.). V praxi se vžil název Slot 1. První modely byly taktovány na 233, 266 a 300 MHz. Obdobně jako Pentium Pro obsahuje L2 cache na zvláštním čipu – zde kapacity 512 KB. Na rozdíl od procesoru Pentium Pro je takt cache L2 poloviční v porovnání s jádrem procesoru a rovněž čipy nejsou vsazeny do drahého keramického pouzdra, ale připájeny na tištěný spoj a s ním zapouzdřeny do krytu.

Procesor Intel Pentium II bez krytu

Čip procesoru Intel Pentium II bez krytu

Odlehčená verze procesoru Intel Pentium II s názvem Intel Celeron a taktem 266 MHz byla ohlášena 15. dubna 1998. Celeron neměl L2 cache a neměl tak velké pouzdro, ale rovněž podporoval Slot 1. Právě absence L2 cache byla důvodem překvapivě nízké rychlosti. Intel proto urychleně (24. srpna téhož roku, za 4 měsíce) uvedl procesor Intel Celeron 300A, který přímo na čip procesoru integroval cache L2 velikosti 128 KB. Ta byla na rozdíl od Pentia II na plné rychlosti procesoru.

Procesor Intel Celeron
Procesor Intel Celeron

Pro nejvýkonnější použití již procesor Pentium Pro nestačil, proto byl 29. června 1998 uveden nástupce pod názvem Intel Pentium II Xeon s taktem 400 MHz. Byl to první člen nové rodiny Xeon.

Překvapení nastalo 4. ledna 1999, kdy byly procesory Intel Celeron 366 a 400 MHz ohlášeny v novém pouzdru zvaném PPGA (též jako Socket 370). Ten byl opět návratem ke klasickým keramickým pouzdrům procesoru.

Další rozšíření instrukční sady nastalo 26. února 1999 uvedením procesoru Intel Pentium III a dne 17. března roku 1999 uvedením procesoru Intel Pentium III Xeon. Novým 70 instrukcím se postupně říkalo MMX-2, KNI (Katmai New Instructions – procesor Pentium III měl kódové jméno Katmai) a konečným názvem je SSE (Streaming SIMD Extensions). Sada je určena především pro 3D grafiku a jiné aplikace s obdobnou náročností. Procesory přinesly i další novinku zvanou Intel Processor Serial Number. Znamenalo to, že každý procesor má mít své jedinečné sériové číslo, které lze programem přečíst. Tento užitečný nápad bohužel sklidil vlnu nepochopení a v další generaci se již neobjevil. Přesun k patici Socket 370 pro hlavní kategorii nastal 25. října 1999, kdy byly uvedeny první procesory Intel Pentium III 500 až 733 MHz nejen v pouzdru S.E.C.C. 2 pro Slot 1, ale též v pouzdru FCPGA (Flip Chip Pin Grid Array) pro Socket 370. Procesor již byl umístěn do jediného čipu, ovšem velikost cache L2 se z 512 KB zmenšila na 256 KB. Výhodou ovšem byla větší interní šířka (256 bitů místo dosavadních 64 bitů). Tato skutečnost dostala obchodní název Advanced Transfer Cache.

Změna jádra procesoru řady Celeron začala 29. března 2000, kdy místo jádra z Pentia II s L2 cache 128 KB procesor dostal jádro z procesoru Pentium III (tj. včetně SSE instrukcí). Celek se obdobně jako nové procesory Intel Pentium III pouzdřil do FCPGA. Díky tomu jde snadno rozpoznat nové a starší verze procesoru řady Celeron.

Čip procesoru Intel Pentium III s vyznačenými částmi

Čip procesoru Intel Pentium III s vyznačenými částmi

Popis jádra procesoru Intel Pentium III

ALLOC Allocator vyhrazování místa pro jednotky ROB, MOB a RS
BAC Branch Address Calculator jednotka pro výpočet fyzické adresy pro jednotku BTB
BBL Back-side Bus Logic řídící jednotka pro sběrnici mezi procesorem a L2 cache
BTB Branch Target Buffer předvídání chodu při větvení programu
CLK Clocking jednotka pro taktování procesoru
DCU Data Cache Unit datová cache L1 velikosti 16 KB
DTLB Data Translation Look-aside Buffer překlad lineární do fyzické adresy pro podporu virtuální paměti
EBL External Bus Logic jednotka pro komunikaci s okolím procesoru (externí sběrnice procesoru)
FEU Floating point Execution Unit jednotka pro výpočty v pohyblivé řádové čárce - matematický koprocesor
ID Instruction Decoder dekodér instrukcí
IEU Integer Execution Unit aritmetickologická jednotka (též ALU)
IFU Instruction Fetch Unit instrukční cache L1 velikosti 16 KB
L2 Level 2 Cache cache L2 velikosti 256 KB
MIU Memory Interface Unit paměťové rozhraní
MOB Memory Order Buffer mezipaměť pro instrukce (jednotka má více funkcí)
MS Micro-instruction Sequencer ROM paměť pro mikrokód a řadič pro tok instrukcí
PIC Programmable Interrupt Controller programovatelný řadič přerušení
PMH Page Miss Handler jednotka pro případy, že požadovaná data v cache chybí
RAT Register Alias Table jednotka pro přejmenovávání registrů
ROB Re-Order Buffer pomocná paměť pro vykonávání příkazů mimo pořadí
RS Reservation Station odsud se rozesílají mikroinstrukce a data do výkonných jednotek
SIMD Single Instruction Multiple Data jednotka pro zpracování SIMD instrukcí podle MMX
TAP Testability Access Port pomocná brána pro testování a ladění programů
Za zmínku stojí porovnání velikostí cache bloků. Cache druhé úrovně má velikost 256 KB a cache první úrovně dohromady 32 KB, přitom zabírají zhruba stejnou plochu čipu. Důvodem jsou jiné vlastnosti obou vyrovnávacích pamětí.

Ve své době se snažil Intel prodlužovat životnost základních desek procesory s názvem Overdrive (hlavně procesory řady 486 a Pentium). Byly to novější procesory ve starším pouzdře, které kombinovaly výkon a možnosti novějšího procesoru s vývodovou kompatibilitou s procesorem starším. Rozšiřování však nebylo takto přímočaré, například základní desky kategorie 486 umožňující procesory Overdrive musely mít patici Socket 2, která byla nadřazená Socketu 1. Overdrive pro řadu 486 ovšem znamenal též jádro procesoru Pentium, umístěné díky systému Overdrive do základní desky 486.

V dnešní době o těchto procesorech nejsou žádné informace a zřejmě se již nepodporují. Obdobnou strategii zvolila firma Evergreen, která umisťuje nové procesory do speciálních modulů, které se podobně jako Intel Overdrive osadí do starší patice. Obě firmy však své produkty směřují především na trh v USA.

Příloha – porovnání výkonů procesorů Intel

Procesory, testované pomocí iCOMP index

procesor takt (MHz) FSB takt iCOMP
i80386SX/20 20 20 32
i80386SX/25 25 25 39
i80386DX/25 25 25 49
i80386DX/33 33 33 68
i80486DX/25 25 25 122
i80486SX2/50 50 25 180
i486DX2/50 50 25 231
i486DX2/66 66 33 297
i80486DX4/75 75 25 319
i80486DX4/100 100 33 435
Pentium 60 60 60 510
Pentium 66 66 66 567
Pentium 75 75 50 610
Pentium 90 90 60 735
Pentium 100 100 66 815
Pentium 120 120 60 1000
Pentium 133 133 66 1110
Pentium 150 150 60 1195
Pentium 166 166 66 1340

Procesory, testované pomocí iCOMP index 2.0

procesor takt (MHz) FSB takt iCOMP 2.0 SPECint95 SPECfp95 IMB
Pentium 75 75 50 67
Pentium 90 90 60 81
Pentium 100 100 66 90
Pentium 120 120 60 100
Pentium 133 133 66 111
Pentium 150 150 60 114
Pentium 166 166 66 121
Pentium MMX 166 166 66 160
Pentium MMX 200 200 66 182
Pentium MMX 233 233 66 203
Celeron 266 266 66 213 305,36
Celeron 300 300 66 226
Celeron 300A 300 66 296
Celeron 333 333 66 318
Pentium II 233 233 66 267 9,38 7,4 364,13
Pentium II 266 266 66 303 10,7 8,17 412,31
Pentium II 300 300 66 332 12,9 8,82 459,08
Pentium II 333 333 66 366 14 9,55 498,79
Pentium II 350 350 100 386 14,9 11,2 534,61
Pentium II 400 400 100 440 16,9 12,4 601,1
Pentium II 450 450 100 483 18,5
IMB = Intel Multimedia Benchmark

Procesory, testované pomocí iCOMP index 3.0

procesor takt (MHz) FSB takt iCOMP 3.0
Pentium II 350 350 100 1000
Pentium II 400 400 100 1130
Pentium II 450 450 100 1240
Pentium III 450 450 100 1500
Pentium III 500 500 100 1650
Pentium III 550 550 100 1780
Pentium III 600 600 100 1930
Pentium III 600E 600 100 2110
Pentium III 650 650 100 2270
Pentium III 667 667 133 2320
Pentium III 700 700 100 2420
Pentium III 733 733 133 2510

Určitě si přečtěte

Články odjinud