Střední škola, Havířov – Šumbark , Sýkorova 1/613, příspěvková organizace
ORGANIZAČNÍ A VÝPOČETNÍ TECHNIKA PROCESORY
Ing. Bouchala Petr
2010
Vytištěno pro vnitřní potřebu školy
PROCESORY 1.Úvod – základní pojmy Procesor - CPU (Central Processor Unit), základní jednotka počítače, určující jeho výkonnost. Je to logický automat na zpracování informací obsahující hlavně řadič a aritmeticko-logickou jednotku. Je vyráběný technologií velmi vysoké integrace (nanotechnologií). Jeho hlavní úkol je řídit a koordinovat činnost celého systému, vykonávat matematické a logické operace. Řadič - CU(Control Unit) výkonový obvod zpracovávající instrukce, generuje řídící signály, je součástí CPU, nebo to jsou podpůrné obvody CPU (DMA,IRQ,IDE……). Řadič obsahuje zejména registr instrukcí, dekodér instrukcí, generátor adres, generátor řídících signálů. Registry - vnitřní málokapacitní paměti, slouží ke krátkodobému uchování zpracovávané instrukce. Vnitřní frekvence - viz. rychlost procesoru Vnější frekvence - kmitočet, kterým se taktují ostatní zařízení MB (základní desky). Instrukce - příkaz,část programu zpracovávaného řadičem, na základě instrukce vyhledává ve své paměti mikrokód, který spouští . Mikrokód - program složený z mikroinstrukcí, je uložen v ROM řadiče, pomocí mikrokódu provede řadič funkci zadanou instrukcí. Adresa - označení místa v paměti ROM nebo RAM, na němž se nachází hledaná instrukce nebo mikroinstrukce Adresování - proces při němž se generuje adresa paměťového místa, a paměťové místo se vyhledává. Základní operace - procesor vykonává tyto základní operace: 1.) výběr instrukce z operační paměti 2.) interpretace instrukce (dekódování, generování řídících signálů) 3.) výběr operandů a jejich zpracování 4.) případné uložení výsledků do operační paměti
Ing.Petr Bouchala
strana 2
2.Parametry procesoru 1) rychlost CPU – udává se v Hz. CPU je číslicový sekvenční synchronní obvod řízený taktovacím kmitočtem, generovaným krystalem na základní desce. Během jednoho taktu provede procesor jednu operaci. Je-li taktovací kmitočet 1 GHz, pak za jednu sekundu provede miliardu operací. Rychlost je jedním z ukazatelů výkonnosti procesoru. Overclocking – možnost přetaktování procesoru 2) šířka slova – šířka vnitřní datové sběrnice v bitech. Nebo, jak velké číslo dokáže procesor zpracovat během jedné operace. Podle šířky datové sběrnice se říká, že procesor je 8 mi bitový, 16 ti bitový ….. 3) šířka přenosu dat – šířka vnější datové sběrnice. Parametr udává kolika bitové číslo lze přenést do (z) CPU během jedné operace. Udává se rovněž v bitech. Čím větší šířka přenášeného slova, tím větší množství dat se přenese v daném čase. 4) velikost adresovatelné paměti – udává velikost operační paměti, kterou je procesor schopen používat (adresovat). Maximální velikost adresovatelné paměti jsou 4 GB pro 32 bitovou adresovou sběrnici. 5) účinnost mikrokódu – je to počet kroků, které procesor musí vykonat pro provedení jedné instrukce (např. vynásobení nebo sečtení dvou čísel). 6) MIPS (Milion Instructions Per Second) - jednotka označující počet instrukcí vykonaných procesorem za jednu sekundu v násobku miliónů. 7) FLOPS (Floating Point Operations Per Second) - jednotka označující počet operací s pohyblivou řádovou čárkou za jednu sekundu. 8) Počet jednotek FPU (Floating Point Unit) – jednotka zpracovávající operace s reálnými čísly (viz. zobrazení reálných čísel pomocí pohyblivé řádové čárky). Čím více jednotek tím vyšší FLOPS. 9) Instrukční sada (RISC,CISC) – počet a druh instrukcí, které je procesor v rámci své činnosti schopen vykonávat. Čím větší je instrukční soubor, tím rychleji procesor pracuje. Instrukční sady procesorů jsou v jejich vývoji stále doplňovány (MMX, SSE…2,3,4) 10) Počet instrukčních kanálů – maximální počet instrukcí proveditelných v jednom taktu. 11) Interní cache – realizovaná pomocí rychlých statických pamětí. Zajišťuje rychlejší komunikaci procesoru s operační pamětí.K parametrům patří počet vyrovnávacích pamětí, velikost a technologie přístupu k nim. 12) Počet jader – architektura s větším počtem jader, zvyšuje počet instrukčních kanálů a tím zvyšuje multiparalelismus. 13) Architektura – určuje způsob zpracování instrukcí, počet a druh prováděcích jednotek, je provázená novými technologiemi směřující k vyššímu výkonu. 14) Thermal Design Power (TDP) - údaj vystihující tepelný výkon procesoru ve wattech. Společnost AMD udává TDP jakožto maximální dosažitelný tepelný výkon, přičemž Intel jako typický. U procesorů AMD lze hodnoty TDP dosáhnout jen velmi obtížně, u procesorů Intel je to hodnota, které bude při zátěži s jistotou dosažena. V případě překročení TDP zasáhne ochranný mechanismus Thermal Monitor, tj. vynucené snížení výkonu. Z TDP a napájecího napětí procesoru se vypočítá proudový odběr.
Ing.Petr Bouchala
strana 3
3.Typy procesorů 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. NPU (Network Processors Units) –j sou nedílnou součástí všech přepínačů, směrovačů a dalších síťových zařízení. Na rozdíl od počítačových procesorů nejste vůbec upozorňováni na jejich výrobce, typ, kmitočet, výkon atd., i když stejně jako u PC tvoří srdce celého zařízení. Vedoucí pozici ve výrobě síťových procesorů má společnost Broadcom. Nové čipy společnosti Broadcom by měly umožnit výrobu levných přepínačů s porty Gigabit Ethernetu. 4.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í je i 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: PA8000, Power PC, R 4200, UltraSparc II ... V dnešní době se obě architektury přibližují. Mnohé procesory nesou rysy obou typů. Kontrolní otázky 1. Jaký je rozdíl mezi instrukcí a mikroinstrukcí? 2. Jeké základní kroky vykonává procesor? 3. Nauč se a vysvětli parametry procesoru (kap.2. body 1 až 7). 4. Vysvětli parametry procesoru (kap.2. body 8 až 14). 5. Jaké znáš typy procesorů. 6. Jaké je rozdělení procesoru podle instrukční sady, uveď rozdíly.
Ing.Petr Bouchala
strana 4
5.Základní části a činnost procesoru Řadič Každý procesor musí obsahovat dvě základní jednotky: řadič CU a aritmeticko logickou jednotku ALU. data z OP CPU
Aritmeticko logická jednotka ALU
ŘADIČ CU řídící signály
výstup adres
data do OP
Řadič CU – je aktivní část procesoru, která zahajuje a řídí všechny činnosti ALU – provádí pouze operace s daty a je řízená řadičem. Na obrázku jsou nejdůležitější vstupní a výstupní vodiče (sběrnice). Řadič má tyto hlavní úkoly: - řídí pořadí v němž jsou prováděny instrukce programů, dekóduje instrukce, vysílá do ostatních části počítače řídící signály, čímž instrukce provádí. Popis částí řadiče: 1.Registr adres instrukci(RAI) – obsahuje číslo od nuly až do hodnoty adresy poslední paměťové buňky v OP. Touto hodnotou je omezena velikost OP, kterou lze k CPU připojit. Dnes 32 bitový registr – 2 na 32 = 4GB. Při zapnutí počítače se RAI nastaví na výchozí hodnotu, zpravidla nulu. Tímto nulovým obsahem se na výstupu RAI objeví číslo, které odpovídá adrese první instrukce uložené v OP. Výstup RAI je spojen s adresovou sběrnicí. 2.Registr instrukce – do tohoto registru se po datové sběrnici přivádí z OP instrukce (nalezená pomocí adresy). Zde se uloží až do okamžiku, než je přepsaná instrukcí následující. 3.Dekodér instrukce – instrukce je přivedena z registru na dekodér, kde se dekóduje a postupuje do generátoru řídících impulsů (GŘI). Procesem dekódování se rozumí nalezení mikrokódu k vykonání instrukce. 4.GŘI – spuštěním mikrokódu se v určité časové posloupnosti generují řídící impulsy do ostatních jednotek počítače.
Ing.Petr Bouchala
strana 5
Blokové schéma řadiče Vstup dat
Registr adresy instrukce
Registr instrukce
Dekodér instrukce Generátor řídících impulsů
Výstup adres
Řízení ALU
řídící signály
Princip činnosti: po zapnutí počítače nebo restartu se RAI nastaví na výchozí hodnotu a na výstupu RAI se objeví kódové číslo adresy paměťového místa OP s první instrukcí. Toto místo se připojí na datovou sběrnici a instrukce se přenese do řadiče CPU. Zapíše se do RI. Doba zápisu stačí k tomu, aby se kódovaná instrukce dekódovala v DI. Dekódováním se vygenerovala vnitřní adresa pro spuštění mikrokódu a generují se řídící signály. Je-li instrukce ukončena nebo vyžadují-li se data k vykonání instrukce, vyšle GŘI impuls do RAI, obsah RAI se zvýší o 1 a na výstupu se objeví kód nové adresy s následující instrukcí nebo daty. Příslušná paměťová buňka se zase napojí na datovou sběrnici a celý proces se opakuje. V programu můžeme provádět skoky tím, že příslušnou instrukcí (např.go to) zvýšíme obsah RAI o více než 1. Aritmeticko logická jednotka ALU je část CPU, která provádí matematické a logické operace s daty. Popis částí ALU 1.Operační blok – zpracovává operandy přiváděné na dva vstupy a výsledek se předává jedním výstupem k dalšímu zpracování. 2.Střadač – je registr, v němž se uchovávají data – 1.operand, mezivýsledky, výsledky. 3.Registr příznaků – stavový registr. Skládá se z řady jednobitových pamětí, ve kterých je uložena 0 nebo 1, podle výsledků. Obsah stavových registrů kontroluje řadič, který na ně příslušně reaguje. Nejčastější příznaky: CARRY – příznak přenosu – signalizuje přeplnění střadače – přenos do vyššího řádu. ZERO – příznak nuly – nastaví se na hodnotu 1 je-li výsledek operace nula. SIGN – signum – příznak znaménka (+,-)
Ing.Petr Bouchala
strana 6
Blokové schéma ALU Vstup dat
ALU
řadič
Registr příznaků
Střádač
Operační blok
Výstup dat Princip činnosti ALU Činnost ALU je řízena řadičem na základě instrukcí přijatých z OP. ALU pracuje ve většině případu na základě jedno adresových instrukcí. Chceme-li např. sečíst dvě čísla, musíme k tomu uvést více než jednu instrukci.. CPU potřebuje znát: - adresu prvního sčítance - adresu druhého sčítance - adresu, kde se uloží výsledek U počítačů s jedno adresovými instrukcemi se první sčítanec načte do střadače, odtud do operačního bloku na první vstup a druhý sčítanec se další instrukcí načte přímo z operační paměti na druhý vstup operačního bloku. Výsledek se uloží do střadače. Ze střadače se další instrukcí výsledek uloží na příslušnou adresu v OP. Kontrolní otázky: 1. Jaké jsou dvě základní části procesoru, popiš vstupy a výstupy procesoru. 2. Nakresli a popiš blokové schéma řadiče, k čemu slouží jednotlivé bloky. 3. Vysvětli princip činnosti řadiče. 4. Nakresli a popiš blokové schéma ALU, k čemu slouží jednotlivé bloky. 5. Vysvětli princip činnosti ALU
Ing.Petr Bouchala
strana 7
6.Historie výroby mikroprocesorů Intel 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) Vnitřní struktura procesoru vytváří velkou časovou prodlevu mezi zpracováním jednotlivých instrukcí. Ta je způsobena: generováním adresy, přesunem adresy, dekódováním adresy, napojení datové buňky na datovou sběrnici, přesun instrukce z OP do CPU, zápis do registru instrukce a dekódování instrukce. Šestnácti bitové procesory Procesor i 8086 - jeden z prvních 16 bitových mikroprocesorů (1978). Procesor je vnitřně rozdělen na dvě jednotky(první skalární architektura): - Bus Interface Unit (jednotka styku se sběrnicí)- stará se o všechny operace souvísející se sběrnicí (čtení instrukcí, čtení a zápis operandů do paměti nebo V/V zařízení…)Její součástí je čtyř bytová fronta instrukcí, do které BIU v okamžicích, kdy není jiný požadavek na sběrnicový cyklus, připravuje následné instrukce z paměti. - Execution Unit (výkonná jednotka) – dekóduje a provádí instrukce jejichž kód čte z instrukční fronty. Do BIU zasílá relativní adresy operandu ( pro čtení nebo zápis ). Výpočet adresy a vlastní přenos operandu zajišťuje opět BIU. Oba autonomní funkční bloky představují proudový způsob zpracování instrukcí (pipelining), který práci procesoru urychluje I 8086 ŘÍDÍCÍ SIGNÁLY
BIU EU
ADRESY FRONTA INSTRUKCÍ
DATA
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). Struktura tohoto procesoru je tvořená čtyřmi na sobě nezávisle pracujícími subprocesory. Výkon procesoru se zvyšuje taktovací frekvencí a proudovým zpracování dat. Bus Unit – BU – sběrnicová jednotka – zajišťuje styk a spolupráci s ostatními částmi počítačového systému. Instruction Unit – IU – instrukční jednotka – dekóduje instrukce uložené ve frontě BU a dekódované instrukce ukládá do své fronty. Procesor po ukončení instrukce může okamžitě načítat již dekódovanou instrukci – zrychlení. Execution Unit – EU – výkonová jednotka – zde se provádějí instrukce dle programu. Její součástí je CU a ALU. Jednotka spolupracuje s AU, zejména při potřebě dalších operandů z OP pro probíhající operace. Adress Unit – AU – adresová jednotka – dle pokynů EU vypočítává adresu, kterou předá BU. Kromě toho zajišťuje ochranu dat při zpracování více úloh – multitasking.
Ing.Petr Bouchala
strana 8
I 80286 AU
LOGIKA OCHRANY
FYZICKÁ ADRESA
BU ADRESOVÝ REGISTR A BUDIČ
ADRESY
ŘÍZENÍ SBĚRNIC STYK S KOPROCESOREM DATOVÉ BUDIČE
ŘÍDÍCÍ SIGNÁLY
DATA
PŘEDVÝBĚR INSTRUKCÍ FRONTA ŠESTI INSTRUKCÍ
EU IU ALU CU
FRONTA DEKÓD. INSTR.
DEKODÉR INSTR.
MNI,INTR,ERROR
Třicetidvou bitové procesory (označované jako řada x86) 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 paměti. Skalární architektura se rozrostla o další obvody.BIU (Bus Interface Unit) jednotka pro styk se sběrnicí. IPU (Instruction Prefetch Unit) jednotka pro předvýběr instrukcí. IDU (Instruction Decode Unit) jednotka pro dekódování instrukcí.EU (Execution Unit) jednotka provádění instrukcí, výkonná jednotka. SU (Segmentation Unit) jednotka segmentace, adresuje. PU (Paging Unit) stránkovací jednotka souvisí s adresováním paměti. i80486 - kromě dalších vylepšení obsahuje tento procesor navíc cache první úrovně o velikosti 8 KB a matematický koprocesor (FPU), pro práci s čísly s pohyblivou řadovou čárkou. Intel® Pentium® processor family 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í, jednotka V umí provádět pouze jednoduché instrukce. 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. Ing.Petr Bouchala
strana 9
PENTIUM
Instrukční Cache
Predikace skoků
Dekodér instrukcí Řadič 64 bit data bus control
Rozhraní sběrnice
32 bit adress bus
Data 64 bit bus Adress 32 bit bus
Generátor adres U
Generátor adres V
Celočíselná ALU U
Celočíselná ALU V
ROM řadiče
Floating Point Unit
Data cache
Pentium 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) (Matrix Math Extensions) - 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 data a instrukce a má velikost 16 + 16 KB.. Používá techniku SIMD (Single Instruction Multiple Data), která dovoluje zpracovat mnoho informací během jedné instrukce. 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 je 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. Používá techniky: out-of-order execution (vykonání instrukce mimo pořadí), register renaming (přejmenování registrů). Dynamic Execution (dynamické vykonávání instrukcí – viz rysy moderních procesorů). Ing.Petr Bouchala
strana 10
Obr. Blokové schéma Pentium Pro
Pentium II - obsahuje dvousběrnicovou architekturu DIB (Dual Independent Bus). Jedná se o zavedení samostatné sběrnice pro komunikaci procesoru a cache L2, která je rovněž v pouzdru. Cache L1 je rozdělena na data a instrukce a každá z nich má velikost 16 KB. Cache L2 má velikost 512 KB. Má všechny rysy moderního procesoru (superskalární architektura, Out of Order, přejmenování registrů, MMX instrukce ...). Podporuje ECC na L2 cache i systémové sběrnici. 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. 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. 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 technologií 0,25 mikrónů. Pentium M – procesor vyvíjený pro mobilní technologie, stavěl na původní architektuře Pentia III.. Pentium IV (níže) se do notebooku nehodil pro svůj velký ztrátový výkon. Jelikož byl procesor postaven na starší architektuře, nepodporoval multiparalelismu tak, jako P IV a jeho výpočetní výkon byl slabý, to se projevilo zejména v multimediálních aplikacích.
Ing.Petr Bouchala
strana 11
Pentium IV - První 65nm procesor pro stolní počítače s novou architekturou nazvanou NetBurst, která je optimalizována pro vyšší frekvence. Procesor používá technologie HT(Hyperthreading), která se využívá u více vláknových úlohách. Procesor podporuje 400, 533, 800 MHz lokální sběrnici (a vyšší). Pentium 4 podporuje nové instrukce nazvané Streaming SIMD Extensions 2. Vedle instrukcí MMX a SSE jde o další instrukce (je jich 144), které mají (stejně jako starší instrukce SSE) zajišťovat zpracování více dat v jednom cyklu (SSE – single instruction multiple data) a zrychlí především výpočty v plovoucí desetinné čárce. U těchto procesorů Intel předpokládal nárůst kmitočtu až na 10GHz. Obsahovaly 3 ALU a 2 FPU. Značnou nevýhodou byl velký ztrátový výkon. Šedesátičtyř bitové procesory Výkon 64 bitových procesorů bude plně využit a s příchodem 64 bitového operačního systému Windows Vista, který bude podporovat 64 bitové aplikace. Dvoujádrové procesory Pentium D - první dvoujádrový procesor Intelu, který však není od základů konstruován jako dvoujádrový, namísto toho se v podstatě jedná o dva nezávislé čipy Prescott (Pentium4 na technologii Net Burst) spojené přes FSB, přesně jako u dvouprocesorových systémů. Neumí tedy těžit z možných výhod dvoujádrových procesorů. Má nejvyšší spotřebu u dosud vyrobených stolních počítačů. Nepodporuje HyperThreading. Podporuje EM64T, No-eXecute aVirtualizaci (ne u všech modelů)
Pentium eXteme Edition - jádro Presler.Druhá generace dvoujádrového procesoru. Tento však není plnohodnotným dvoujádrovým čipem, jedná se totiž o dvě jádra Cedar Mill (Pentium4) připevněná k jedné destičce plošného spoje. Podporuje HyperThreading, EM64T, No-eXecute aVirtualizaci.
Intel® CoreTM processor family Intel Core 2 Duo - jádro Conroe. Nová konstrukce dvoujádrového procesoru. Na rozdíl od P4 nebo core duo plně podporuje 64 bitové instrukce a výpočty. Může v jednom taktu zpracovat až čtyři instrukce. Paměť cache sdílejí obě jádra, v případě jednovláknové úlohy, využívá jedno jádro celou cache. Podporuje EM64T, No-eXecute aVirtualizaci.Cache 2 až 4 MB
Intel Core 2 Extreme – jádro Conroe Podporuje EM64T, No-eXecute aVirtualizaci. Cache 4 MB.
Ing.Petr Bouchala
strana 12
Vícejádrové procesory
Core i3, Core i5, Core i7 Jedná se o čtyřjádrové procesory (vyjma Core i3) s novou koncepcí a čipovou sadou, určené především pro víceprocesorové systémy = výkonné servery (především Core i7). Charakteristická je nová architektura Nehalem, která se vyznačuje zejména integrovaným řadičem pamětí do CPU, náhrada FSB s technologii QPB sběrnici QPI, i nadále se uplatňuje HyperThreading, TM je doplněn o režim Turbo Boost a další.
Kontrolní otázky: 1. U kterého procesoru byla poprvé použita skalární architektura? 2. U kterého procesoru byla poprvé použita superskalární architektura? 3. Vysvětli pojem SIMD, u kterého procesoru byla technologie SIMD poprvé použita? 4. Které procesory patří do Intel® Pentium® processor family? 5. Které procesory patří do Intel® CoreTM processor family? 6. Který procesor použil poprvé dvousběrnicovou architekturu DIB ? 7. Který procesor byl jako první postaven na architektuře Net Burst? 8. Čím jsou charakteristické procesory s označením Core i ?
Ing.Petr Bouchala
strana 13
7.Architektura procesorů Architekturou se rozumí vnitřní struktura procesoru a nové technologie, které změnu struktury provázejí.Každá změna architektury vede ke zvýšení výpočetního výkonu. Základními jednotkami, které tvoří vnitřní strukturu procesorů jsou: řadič, který má za úkol číst operandy (data, čísla) a instrukce z operační paměti, dekódovat je a na základě provádění mikrokódu, generovat řídící signály, tedy řídit činnost ostatních jednotek v procesoru a počítači. ALU, mající za úkol na základě řídících signálů z řadiče CPU provádět matematické a logické operace. Pro práci s reálnými čísly s plovoucí (pohyblivou) řádovou čárkou jsou v procesoru integrovány výpočetní jednotky FPU (Floating Point Unit). Nejstarší procesory řady x86 (8086, 80186, 80286, 80386) obsahovaly pouze jednotku ALU, která pracovala jak s celými, tak reálnými čísly s pohyblivou řádovou čárkou. Pro zvýšení výkonu byla na základní desce patice pro připojení tzv. numerického koprocesoru, který se využíval pro aritmetické operace s reálnými čísly s pohyblivou řádovou čárkou (zvýšení výpočetního výkonu). Tento specializovaný procesor nesl označení podobné hlavnímu procesoru (např. Intel 80287). ALU a FPU nazýváme výkonné jednotky (Execution Units) registry, jsou rychlé statické paměti typu RAM (čtení/zápis) malé kapacity uvnitř jádra procesoru, které slouží k uchování aktuálních instrukcí, adres v paměti, operandů, mezivýsledků a výsledků matematických a logických operací. Ve vnitřní struktuře současných procesorů však existují další jednotky podporované novými technologiemi pro práci s instrukcemi a daty, jejichž úkolem je co možná nejoptimálněji zvýšit jeho operační rychlost a stabilitu bez nutnosti použít „hrubé síly“, tedy zvyšovat základní pracovní kmitočet a napětí jádra procesoru. Vždy je nutná podpora operačního systému a aplikace! Veškeré jednotky uvnitř procesoru včetně technologií optimalizujících práci s instrukcemi a daty pak tvoří tzv. architekturu (resp. mikroarchitekturu) procesoru, určující jeho vlastnosti. Přehled architektur dvou významných výrobců procesorů pro osobní a mobilní počítače: Firma INTEL: 8088, 8086, 80286, 80386, 80486 Pentium (Pentium Pro, Pentium MMX) Pentium II, Pentium III + odlehčené verze označované Celeron (snížena kapacita paměti cache) NetBurst (Pentium 4, Pentium D, Xeon) Core (Core Duo, Core 2 Duo, Core 2 Extreme, Core 2 Quad, Celeron) Atom (procesory optimalizované výhradně na co nejnižší spotřebu elektrické energie) Nehalem (řada procesorů Core i7, Core i5, Core i3)
Ing.Petr Bouchala
strana 14
Firma AMD:
Am286, Am386, Am486 AMD K5, AMD K6, AMD K6-2, K6-III AMD K7 (Athlon, Athlon XP, Athlon MP + odlehčené verze Duron, Sempron) AMD K8 (Athlon 64, athlon 64 X2, Turion 64, Turion 64 X2, Sempron) AMD K10 (4-jádrové procesory Phenom, Opteron) AMD K11 (nabídne integraci GPU1 či jeho části do jádra CPU. GPU zde bude pracovat jako jednotka provádějící výpočetní operace, neboť GPU umí některé druhy výpočtů, především s reálnými čísly, provádět mnohem efektivněji a rychleji než současné procesory a jejich výkonné jednotky)
Skalární architektura (Intel 8086 až Intel 80486) Skalární architektura vede k efektivnějšímu využití strojového času procesoru. Snaží se odstranit „prostoje“ výkonové jednotky, které vznikají po dokončení instrukce a před spuštěním následující. Procesor je složen z více funkčních bloků, které pracují samostatně a umí se předzásobit instrukcemi a tím zvýšit rychlost přísunu instrukcí výkonové jednotce. V jednom taktu mohla být dokončena pouze jedna instrukce. Skalární architektura umožňuje pipelining – zřetězené zpracování instrukcí. Pipeline – datovod, čím je datovod delší a čím více má stupňů, tím je lepší zpracování etap instrukcí. V případě, že dojde v programu ke skoku, musí se celý datovod (fronta instrukcí) vyprázdnit a načíst s dlouhým zdržením instrukce nové. Superskalární architektura P6 (Pentium až Pentium3) Má více prováděcích jednotek v jednom procesoru, které jsou schopné paralelního zřetězení. V jednom taktu může být dokončeno více instrukcí - superpipelining. První superskalární architektura byla použita u Pentia, které mělo dva datovody. U-pipe a V-pipe. V jednom taktu mohly být dokončeny dvě instrukce, pokud byla dodržena pravidla pro řetězení instrukcí. Řetězení instrukcí kontroluje scheduler. Aby se odstranilo vyprazdňování datovodu z důvodu skoku v programu, začalo se používat odhadování skoků a spekulativní vykonávání instrukcí. Architektura Net Burst (Pentium 4, Pentium D) Pod tímto souhrnným názvem se skrývá celá řada nových technologií. Jsou to zejména: a) Hyperpipelined Technology – technologie podporující hyperpipelining. Net Burst je technologie umožňující zvyšování taktovacího kmitočtu. Čím je kmitočet vyšší, tím kratší je doba zpracování jedné instrukce, doba je tak krátká, že tvoří pouze zlomek času potřebný k přenosu další instrukce z operační paměti. Aby měly výkonové jednotky procesoru nepřerušený přísun instrukcí, provádí se vícenásobné zřetězení hyperpipelining. Jedna instrukce je podávána z operační paměti, druhá dekódována, třetí zpracovávána atd. Hloubka tohoto "potrubí" u procesoru Pentium 4 je 20 rozpracovaných instrukcí. Jestliže dojde k větvení programů, zdvojí se datovod a načtou se instrukce pro obě možná pokračování programu. Podle výsledku podmínky se zvolí instrukce z vhodného datovodu a instrukce špatného datovodu se vymažou. b) Hyperthreading Technology - technologie umožňující programovému vybavení „vidět“ dva procesory. Dovoluje procesoru spouštět dvě výpočtová vlákna (threads) ve stejný okamžik. 1
GPU = Graphic Processing Unit, tedy grafický procesor, nebo též grafické jádro
Ing.Petr Bouchala
strana 15
c) QPB (Quad Pumped Bus) - podpora QDR (Quad Data Rate) sběrnice FSB, v některých momentech umožňuje až čtyři datové přenosy najednou. d) Execution Trace Cache - cache paměť dovolující uložit 12 dekódovaných mikrooperací (micro-ops), u předchozích systému se v cache ukládaly pouze nedekódované instrukce. e) Rapid Execution Engine - dvě ALU, s dvojnásobným taktem oproti vnitřní frekvenci procesoru f) Advanced Dynamic Execution – nové dynamické zpracování instrukcí s větší hloubkou spekulativního provádění a dokonalejším předvídáním větvení. g) EIST ( Enhanced Intel SpeedStep Technology) - technologie dovolující (v závislosti na vytížení systému) dynamicky přizpůsobovat napájecí napětí a frekvenci procesoru, umožňuje snížit spotřebu elektrické energie a dochází k menšímu zahřívání procesoru. h) EM64T (Extended Memory 64 Technology) – rozšíření adresace operační paměti s 32 bitů na 64 bitů. Padla hranice omezení operační paměti na 4GB. i) XD (eXecute Disable) bit - umožňuje zakázat spouštění kódu z některých paměťových stránek (těch, které se označí za datové). Tímto se předchází spouštění kódu, u kterého to není cílené - např. některých typů virů. j) Intel Virtualization Technology - slouží k hardwarové podpoře provozu více operačních systémů na jednom fyzickém počítači současně. Možnosti této technologie jsou široké: • testování a ladění programů a aplikací bez nutnosti instalovat testovací verze operačního systému na dodatečném hardwaru • prezentace na akcích, kdy na jednom notebooku můžete předvádět Linux i Windows zároveň • provoz zastaralých verzí operačních systémů a aplikací, pro které se již ani nedá koupit podporované hardware
Poznámka: Procesory P IV se vyráběly v mnoha modelech, ne všechny podporovaly uvedené technologie. Architektura Dual core (Pentium D – Intel Core 2 Duo) Na jednom čipu jsou integrována dvě jádra, dva samostatné procesory. Jeden čip se fakticky chová jako dvouprocesorový počítač. Pro dosažení optimálního výkonu vyžaduje dvoujádrový procesor spuštění více zátěžových programů současně nebo programu speciálně upraveného na tzv. multithreaded zpracování. Architektura využívá tyto technologie: a) microachitektura core jejíž základní rysy jsou: -
Wide Dynamic Execution - technika dovolující, aby každé jádro během jednoho taktu mohlo dokončit až čtyři instrukce.K tomu používá techniku MacroFusion a Micro-Fusion. Techniky umožňující sloučení více instrukcí nebo mikroinstrukcí do jedné.
-
Smart Memory Access - zdokonalená množina algoritmů pro předvídání, která data budou zapotřebí a mají být tudíž zavedena z operační paměti do paměti cache
-
Advanced Smart Cache -umožňuje jednomu jádru využít celou vyrovnávací paměť, když druhé jádro právě nepracuje, dovoluje přenášet data přímo mezi L1 cache paměťmi obou jader.
Ing.Petr Bouchala
strana 16
-
b) c) d) e)
Advanced Digital Media Boost zdvojnásobuje reálnou rychlost zpracování instrukcí využívaných především v multimediálních a grafických aplikacích, zvýšení výkonu je dosaženo pomocí 128bitového zpracování instrukcí SSE, SSE2 a SSE3 (dříve byly tyto instrukce zpracovávány po 64 bitech). EM64T Intel Virtualization Technology EIST dual core
Architektura Nehalem - Core i7, Core i5, Core i3
Integrovaný řadič paměti – paměťový řadič je integrován přímo do pouzdra procesoru. Výhodou je velmi rychlá výměna dat mezi operační pamětí a výpočetními jednotkami procesoru. U víceprocesorových systémů (např. servery) má každý procesor vlastní paměťový prostor. S každým novějším procesorem lze vylepšovat také paměťový řadič. QPI systémová sběrnice (QuickPath Interconnect) – Vysokorychlostní sériová sběrnice skládající se ze dvou 20 bitových spojů (z toho 16 bitů pro data) pro propojení procesoru se severním mostem čipové sady. U víceprocesorových systémů navíc umožňuje propojit přímo jednotlivé procesory mezi sebou. Je to náhrada stávající systémové sběrnice FSB (více viz téma „Čipové sady“). Pozn.: obdoba sběrnice HyperTransport u procesorů AMD. HyperThreading – viz „HyperThreading“ u architektury NetBurst. HyperThreading umožní ze čtyř fyzických jader procesoru, učinit až osm virtuálních. Architektura Core tuto technologii z důvodu složitosti nepodporovala. Nově se označuje jako SMT (Simultaneous Multi-Threading). Režim Turbo Boost (resp. Turbo Mode) – technologie, hlídající TDP procesoru a zároveň vytížení jader procesoru. Pokud program nevyužívá všechna jádra procesoru, přepínají se nepoužívaná jádra do úsporného nebo spánkového režimu nebo jsou kompletně odpojena od napájení. Výsledkem je nejen úspora energie, ale hlavně snížení teploty vyzařované procesorem. Jelikož v tu chvíli je chlazení procesoru naddimenzované, mohou být aktivní jádra automaticky přetaktována změnou násobiče na vyšší kmitočet. U nové verze funkce Turbo Boost má každé jádro vlastní násobič, může tedy dojít k situaci, kdy dvě jádra budou vypnutá a zbylá dvě poběží každé na jiné frekvenci.
Ing.Petr Bouchala
strana 17
Rozšíření instrukční sady SSE 4.2 – doplnění instrukční sady SSE4 o nové SIMD instrukce (usnadnění rozpoznávání řeči, výpočet kontrolních součtů při přenosech dat - CRC32, atd.) Rozšíření Smart Cache o L3 cache Architektura Nehalem využívá paměť cache o třech úrovních, přičemž zde je L2 (256 kB) oddělená pro každé jádro a L3 je sdílená pro všechna jádra. Velikost L3 cache je 8 MB (Core i7 a i5) nebo 4 MB (Core i3).
Ing.Petr Bouchala
strana 18
Procesor Core i7 Procesor je určen především pro výkonné víceprocesorové servery a výkonné stolní počítače. Severní most se označuje jako obvod IOH (Input Output Hub). Obsahuje pouze řadič grafické sběrnice PCI Express 2.0 x16 s až 36 linkami. Řadič pamětí DDR3 je umístěn přímo na čipu procesoru a je tříkanálový. Na kanál je možné osadit dva moduly, celkem tedy na procesor šest modulů.
Procesor Core i5 Určen především pro střední třídu počítačů, především levné jednoprocesorové servery a běžné stolní počítače. Přímo v procesoru je integrován pouze dvoukanálový řadič pamětí DDR3 a zároveň se zde nachází integrovaný řadič PCI Express 2.0 x16 se 16 linkami (2x 8 linek nebo 1x 16 linek). U některých modelů Core i5 je uvnitř procesoru navíc integrováno přímo grafické jádro (GPU). Pro komunikaci s čipovou „sadou“ (pouze jižní most - PCH) procesoru stačí pomalé rozhraní DMI.
Ing.Petr Bouchala
strana 19
Procesor Core i3 Vychází ze specifikací Core i5, obsahuje však pouze dvě jádra, poloviční L3 cache (4 MB) a má vypnutý režim „Turbo Boost“. Uvnitř procesoru se nachází integrované grafické jádro (GPU). Svou výbavou je nejslabší z procesorů architektury Nehalem a je určen pro „levnější“ stolní počítače s jedním procesorem a notebooky.
Pozn.: Většinu zde popsaných technologií lze nalézt také u procesorů firmy AMD (pod jiným názvem a s mírně odlišnou specifikací), proto se jimi tento výukový materiál nezabývá. Jedná se pouze o ukázku technologií, jejichž úkolem je zvýšit rychlost zpracování instrukcí procesorem bez nutnosti zvyšovat taktovací kmitočet a napájecí napětí jádra (větší nároky na napájecí zdroj, větší zahřívání procesoru = problém chlazení), popřípadě snížit spotřebu elektrické energie (vhodné především pro mobilní počítače).
Kontrolní otázky: 1. Vysvětli pojmy skalární architektura a pipelining. V čem spočívá lepší využití strojového času procesoru. Jak jsou ošetřeny skoky a větvení v programu? 2. Vysvětli pojmy supeskalární architektura a superpipelining. V čem spočívá lepší využití strojového času procesoru. Jak jsou ošetřeny skoky a větvení v programu? K čemu slouží scheduler? 3. Nauč se a vysvětli pojmy Hyperpipelined Technology, hyperpipelining, Hyperthreading Technology a QPB. 4. Ostatní pojmy s architektury Net Burst se nauč vysvětlit. 5. Jaké jsou základní rysy microarchitektury core? Vysvětli jednotlivé pojmy. 6. Jaké jsou základní rysy architektury Nehalem? Vysvětli jednotlivé pojmy. 7. Srovnej jednotlivé architektury a zjisti, jakým způsobem se zvyšuje výpočetní výkon procesorů? Ing.Petr Bouchala
strana 20
8.Některé rysy moderních procesorů Paralelní zpracování dat – superpipelining, hyperpipelininig, hyperthreading, dual core, dual core + hyperthreading. 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. 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ů. Dynamické vykonávání instrukcí (dynamic Execution) -Tento způsob zpracování instrukcí zvyšuje výkonnost procesoru tím,že data jsou zpracovávána spíše na základě logiky než na základě pouhého seznamu instrukcí. Dynamické vykonávání instrukcí je kombinace těchto tří metod pro zpracování dat : 1.) Vícenásobné větvení -předpovídá průchod programu několika větvemi.Tzn. procesor je schopen předpovídat skoky nebo větvení v programu. Na základě toho pak dokáže vyhledat místo v paměti, kde se nalézá další instrukce. 2.) Analýza toku dat - slouží k logické kontrole instrukcí a k jejich seřazení do optimálního pořadí, bez ohledu na to, jak jsou zapsány v původním programu. Procesor si nejprve prohlédne dekódované instrukce programu a určí, zda mohou být vykonány, či zda jsou závislé na dokončení jiných instrukcí. Následně procesor seřadí instrukce do optimálního pořadí a co nejúčinnějším způsobem je vykoná. 3.) Spekulativní vykonávání instrukcí - procesor si prohlíží instrukce následující za aktuálně vykonávanou a snaží se vykonat ty z nich, které budou v blízké době potřebné. Protože instrukce programu jsou vykonávány na základě předpovězeného větvení, jejich výsledky jsou uloženy do společné oblasti, ze které jsou posléze načítány. Jakmile pak má být některá z provedených instrukcí vykonána výsledným programem, jsou její výsledky načteny do hlavních registrů procesoru a to v pořadí daném původním programem.Tento způsob provádění instrukcí vlastně umožňuje vykonávání instrukcí dopředu a následné použití jejich výsledků. 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 v pravidelných časových intervalech prochází všechna zařízení a kontroluje, zda pro něj nemají nějaký signál, který by zpracoval. Tento mechanizmus je samozřejmě nevhodný pro svou časovou náročnost a mnohdy zcela zbytečné operace. Je vytvořen systém přerušení IRQ. To znamená, že každá operace, která potřebuje provést zastavení aktuálního procesu, má své číslo přerušení. V operační paměti je tabulka vektorů přerušení, který ukazuje na adresu v paměti, kde je uložen obslužný program požadovaného přerušení. Tento systém využívají téměř všechny mikroprocesory. 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). Quad Pumped Bus (QPB) - procesory Pentium 4 (a výše) podporují QDR (Quad Data Rate) sběrnici, kterou Intel označuje zkratkou QPB.Tzn., že data přenášená mezi procesorem a Northbridgem (MCH) jsou přenášeny 4x rychleji než tomu bylo u Pentií 3. Tento rychlý přenos je způsoben tím, že procesor využívá pro přenos dat jak náběžnou, tak sestupnou hranu signálu časovače a navíc na místo jednoho datového kanálu používá dva – jeden pro čtení a druhý pro zápis.Tuto rychlost přenosu dat použije však procesor pouze tehdy bude-li v jedné chvíli provádět operace čtení i zápis (viz obrázek).V praxi to tedy znamená, že kmitočet FSB procesorů (od Pentium 4) je ve skutečnosti 4x menší než je uváděná. Ing.Petr Bouchala
strana 21
Obr .princip přenosu dat po QDR sběrnici
Správa napájení Díky obvodům pro správu napájení SMM (System management mode) je možno zmenšit spotřebu procesoru.Tuto funkci obsahují všechny procesory Pentium a výše. Tepelná ochrana Čím je procesor výkonnější,tím vyšší má spotřebu a tím více tepla produkuje. K tomu, aby bylo teplo z procesoru dobře a spolehlivě odváděno, slouží chladiče. Někdy však může nastat porucha chlazení procesoru a v takovém případě se uplatní tepelná ochrana, která zabrání zničení procesoru. Intel zavedl dvě technologie, které mohou stav kritické teploty odvrátit. Jsou to tepelný monitor a tepelná dioda. Tepelný monitor (Thermal monitor TM) – za použití přesného tepelného čidla na čipu procesoru, je obvod tepelné ochrany (TCC - Thermal Control Circuit) schopen udržet teplotu procesorového čipu v rozsahu továrních specifikací. Tepelný monitor řídí teplotu procesoru pomocí modulace interních hodin jádra procesoru. TM1 - v případě, kdy procesor dosáhne kritické teploty (obvykle kolem 75 stupňů Celsia), začne vkládat prázdné hodinové cykly v poměru 50:50 (tzv. duty cycles). Polovina výpočetního času je tak fakticky eliminována (frekvence je snížena na polovinu), což snižuje spotřebu, ale také výpočetní výkon. TM2 - novější verze systému ochrany proti přehřátí. Namísto prázdných hodinových cyklů se procesor přepne na nižší PState. Při stejné redukci spotřeby vykazuje tento způsob vyšší výpočetní výkon, na druhou stranu přepínání mezi PState trvá určitý čas, takže v některých případech může být Thermal Monitor 1 výhodnější. PState (Performance State) - Kombinace napětí a frekvence (přesněji násobiče). Každý z procesorů používajících šetřící technologii má definovány PState, které zvládne. Nižší napětí umožňuje výrazně redukovat spotřebu, nevýhodou však je, že při nižším napětí musí být frekvence nízká. Vhodným přepínáním mezi PStates je možné docílit v případě výpočetního nevytížení nízké spotřeby a zároveň v případě potřeby zvýšit frekvenci. Tepelná dioda - na čipu je taktéž integrována tepelná dioda. Tepelný senzor na základní desce tak může monitorovat teplotu čipu. Kontrolní otázky: 1. Jaké metody používá technika dynamického vykonávání instrukcí? 2. Co je to mechanizmus přerušení, k čemu slouží a jak urychluje činnost procesoru? 3. Kterými způsoby komunikuje procesor s okolím? 4. Jak funguje Quad Pumped Bus, jaký je skutečný taktovací kmitočet FSB? 5. Co je to tepelný monitor a jak funguje? 6. Co je to PState a k čemu slouží? Ing.Petr Bouchala
strana 22
9.Instrukční sady Instrukční sada - soubor instrukcí, kterým procesor rozumí a které byly vytvořeny s cílem provádět určité typy výpočtů. Pokud procesor instrukční sadu nezná, dojde při pokusu o vykonání instrukce k chybě. Single Instruction Multiple Data (SIMD) - jedna instrukce provádí výpočet na více datech současně. Vhodné především u multimediálních aplikací, kde je například možné zpracovávat několik částí audia současně. Oproti klasickému způsobu jedna instrukce jedny data (Single Instruction Single Data) je tento způsob významně rychlejší. x86 - základní celočíselná sada instrukcí pro počítače PC. Všechny procesory zvládají tuto sadu. x87 - sada pro operaci s plovoucí desetinnou čárkou (Floating point - FP) určená pro matematické koprocesory. Starší procesory 486SX či 386 vyžadovaly pro podporu x87 pořízení dalšího čipu (externího matematického koprocesoru). Všechny procesory počínaje Pentiem mají koprocesor integrovaný a sadu x87 podporují. MMX (MultiMedia eXtensions)- první celočíselná SIMD sada instrukcí určených k přímé podpoře multimediální operace s obrazem, zvukem či videem. Dnes jí podporují prakticky všechny procesory a je často vyžadována různými programy. Enhanced MMX - Rozšíření MMX zavedené společností Cyrix. Podporuje ho většina výrobců vyjma Intelu. 3DNow!, Enhanced 3DNow! - SIMD sada zavedená firmou AMD, která se ale nedočkala nijak velké podpory. SSE (Streaming SIMD Extensions) - SIMD sada z procesoru Pentium III, podporuje ve větší míře zpracování obrazu, zpracování audia a videa (umožňuje softwarové dekódování formátu MPEG2 při plné rychlosti), rozpoznání řeči… SSE2 – 140 nových instrukcí v procesorech Pentium 4 pro práci s čísly v pohyblivé desetinné čárce, práci s celými čísly, správu paměti a další. Po MMX se jedná o druhou nejpoužívanější sadu. SSE3 - Malé rozšíření o asi deseti instrukcích zavedené v procesoru Pentium 4 s jádrem Prescott. AMD64 - 64bit rozšíření x86, původně vyvíjené pod označením x86-64. Vyjma podpory 64bit výpočtů umožňuje adresaci 64bit paměťového prostoru EM64T - Intelem vytvořená kopie sady AMD64, rozšíření adresace operační paměti s 32 bitů na 64 bitů. Kontrolní otázky: 1. Jaký je rozdíl mezi SIMD a SISD? 2. Jaké znáš instrukční sady a co mají podporovat?
Ing.Petr Bouchala
strana 23
10.Identifikace procesorů Každý procesor je možné identifikovat v zásadě dvěma způsoby - softwarově pomocí CPUID instrukce a vizuálně pohledem na identifikační znaky uvedené na čipu procesoru. V dalším se budeme zabývat pouze softwarovým způsobem. CPUID instrukce CPUID je instrukce zavedená v procesoru Pentium a podporovaná i některými pozdními generacemi 486ky. Umožňuje zjistit některé základní údaje jako je typ procesoru, podporované instrukce, velikosti cache atd..
Program CPU-Z využívá výstupu instrukce CPUID. Základem identifikace procesoru jsou následující údaje: Family - určuje architekturu procesoru. Tak například Pentium Pro, Pentium II a Pentium III sdílí jednu architekturu nazvanou P6. Obdobně všechny typy Pentia 4 a Pentia D sdílí architekturu NetBurst. Číslo Family je pro všechny procesory Pentium Pro, Pentium II a Pentium III stejné a nabývá hodnoty 6. Obdobně NetBurst nabývá hodnoty 15 (F v hexa zápisu). Extended Family - rozšíření hodnoty Family. Výsledná Family (v programu CPU-Z zobrazená výše v kolonce "Ext. Family") se spočte jako Family + Extended Family. Model - určuje generaci v rámci architektury. Tak například jádro Willamette bylo z architektury NetBurst první uvedené a mělo hodnotu model stanovenu na 0. Následovalo vylepšené jádro Willamette s model roven 1, dále jádro Northwood s model 2 atd. Model tak určuje závažné změny jako například změnu výrobní technologie, přidání cache atd. Ing.Petr Bouchala
strana 24
Extended Model - rozšíření hodnoty Model zavedené ze stejného důvodu jako Extended Family. Výsledný model (v programu CPU-Z zobrazený v kolonce Ext. Model) se spočte jako Model + Extended Model * 16. Stepping - čtyřbitová hodnota udávající verzi modelu. Obvykle se mění s novější revizí. Hodnoty Family, Extended Family, Model, Extended Model a Stepping spolehlivě identifikují typ jádra procesoru (včetně revize). Revize je jakýsi ukazatel pokročilosti vývoje jádra. Čím novější revize, tím lepší, protože opravuje chyby a zároveň může být výkonnější, spotřebovat méně energie a dosahovat vyšších frekvencí. Zápis hodnot výše zmíněný se obvykle provádí v hexadecimální (šestnáctkové) soustavě a to podle následujícího vzoru: F27h - Family F, Model 2, Stepping 7. "h" označuje, že se jedná o hexadecimální zápis. Pokud máme k dispozici výše uvedený zápis a víme, který výrobce procesor vyrobil, je už jen otázkou dohledání v dokumentaci, o jaké že jádro se jedná. Identifikace jádra je důležitá věc, sama o sobě však nestačí, potřeba je ještě jeden údaj: BrandID - Číslo rozlišující jednotlivé typy procesorů se stejným jádrem. Pomocí BrandID je možné rozlišit procesory Celeron od Pentií 4, procesory Athlon 64 od Mobile Athlon 64 atd. Jednotlivé implementace BrandID se u procesorů Intelu a AMD liší a řídí se zveřejňovanými tabulkami. Běžnému uživateli stačí použít některý z novějších programů, viz například již zmíněné CPU-Z. 11.Výroba,výrobní technologie Procesor je polovodičová součástka tvořená především křemíkovou destičkou (křemíkový plátek ze kterého se vyrobí velké množství jader procesoru se nazývá “wafer”) s několika příměsímy (v současnosti je to měď).Ještě předtím než se vývojář vůbec dotkne křemíku je vytvořen softwarový model procesoru (označovaný jako RTL-Register Transfer Logic),při čemž pro jednodušší testování tento model pracuje na mnohem pomalejší frekvenci než skutečný procesor (řádově v jednotkách Hz).Souběžně s ním je testován ještě jeden softwarový model,který však již pracuje na skutečné frekvenci procesoru.Další testy se pak provádějí již na hardwarovém modelu,který je mnohokrát větší než skutečný procesor.Zpravidla zabírá celou místnost.Této fázi testování se říká emulace (emulation). Pokud všechny testy dopadnou dobře začne se samotným zhotovením procesoru. obr.Wafer z blízka
Vlastní výroba procesoru Procesory se už 30 let vyrábějí prakticky stejnou metodou fotolitografie, kdy se wafer o průměru 200 mm či 300 mm ozařuje přes různé masky a tím vznikají na waferu složité struktury tranzistorů (složitost je jako u podrobné mapy New Yorku na papíru 10x10 mm). Ing.Petr Bouchala
strana 25
Litografické matrice jsou prozařovány zářením a jejich 4x zmenšený obraz dopadá na wafer potažený v různých krocích odlišnými chemikáliemi(viz obr 7). Velmi kritickou při takto jemné výrobě se stává také vlnová délka prosvěcovacího paprsku, na němž také závisí jemnost výrobního procesu. V roce 2005 Intel počítá s uvedením stroje používajícího EUV záření (Extreme Ultraviolet).Tento stroj umožňuje vyrábět komponenty až 30 nm technikou a to je možná zároveň nejjemnější proces, který můžeme po klasickém Si chtít. Předpokládá se, že fotolitografie klasického křemíku dodýchá asi kolem roku 2010, ale i po té uvidíme zajímavé trendy ve výrobě polovodičů, jako jsou např. dvoj a tříbránové tranzistory, které jsou schopny se přepínat ještě daleko vyššími frekvencemi než ty klasické díky nižším spouštěcím proudům a menšímu odporu kanálu.
Obr.Schéma výroby procesoru
Obr.Šest vrstev měděných spojů (foto: elektronovým mikroskopem)
Co znamená,když se řekne “Procesor je vyráběn X mikronovou technologií”? Procesor Pentium 4(Northwood) je vyráběn technologií 0,13 цm – toto číslo nám udává velikost nejmenšího prvku,který je možno vyrobit.Čím menší je toto číslo tím více jader procesorů se vejde na jeden wafer a také klesá spotřeba. 0,09 цm nebo 90nm – nejmenší prvek má velikost 0,09 (mikrometrů) či 90 (nanometrů).
Ing.Petr Bouchala
strana 26