Nachádzate sa tu
Procesory
Autor projektu: Vladimír Filip
Úvod
Procesory ?
Procesory by sme mohli ohodnotiť podľa niekoľkých základných parametrov. Procesory sa rozdeľujú predovšetkým podľa rýchlosti. Tá sa udáva v hertzoch (Hz) a môže dosahovať typické hodnoty od jednotiek Hz až do GHz.
Približne v období 32 bitových obvodov sa objavili dve súperiace koncepcie RISC a CISC. RISC znamená Reduced Instruction Set Computer a CISC znamená Complete Instruction Set computer a rozdiel medzi obidvoma koncepciami nie je malý.
Viac jadrový mikroprocesor je jeden procesor, ktorý kombinuje dva alebo viac nezávislých procesorov do jedného puzdra. Veľká časť motivácie pre výrobu viacjadrových procesorov je daná tým, že stúpajú ťažkosti ako zlepšiť výkon procesoru zvyšovaním frekvencie.
Tranzistory sú malé prepínače, ktoré spracúvajú jednotky a nuly digitálneho sveta. Hradlo zapína a vypína tranzistor, dielektrikum hradla sa nachádza v jeho spodnej časti a plní funkciu izolantu, ktorý hradlo oddeľuje od kanálu, ktorým preteká prúd. Použitie kombinácie kovových hradiel a "High-k" dielektrika hradla vedie k tranzistorom s mimoriadne malým únikom prúdu (zvodovým prúdom) a rekordne vysokým výkonom.
Pridávanie stále viac tranzistorov spôsobuje problémy chladením. To je známy fakt. Problém rastúceho tepla je daný pohybom obrovského množstva elektrónov na veľmi malom priestore. Preto sa dnešné procesory dostávajú pri frekvencii okolo 5 GHz na hranicu chladiteľnosti.
Jedno takéto riešenie je už v dohľade – vedci spoločnosti Intel, RTI Internetional a Arizonskej štátnej univerzity v rámci svojej spolupráce vyvinuli špeciálnu mikromrazničku, ktorá môže byť nasadená na procesor a odsáva z neho teplo s chirurgickou presnosťou.
1. Procesor (CPU – Central Processing Unit)
Procesoru sa tiež hovorí centrálna riadiaca jednotka (z anglického CPU - Central Processing Unit). Mikroprocesor je jeden miniaturizovaný obvod. Táto súčiastka dokáže podľa nejakého programu spracovať dáta. Základnou vlastnosťou mikroprocesora odlišujúcou ho od ostatných elektronických odvodov je teda programovateľnosť. Druhou vlastnosťou mikroprocesora je to, že ide o jednu súčiastku, prípadne malú množinu súčiastok, ktoré navonok vystupujú ako jeden.
Obsahuje : - riadiacu jednotku, aritmeticko - logickú jednotku, registre a pamäť (cache)
CPU určuje aký software môžeme na počítači spustiť. Okolo tohto procesorového chipu je postavený vlastne celý počítač.
Výkonnosť počítača závisí od rýchlosti práce CPU. Procesory sa rozdeľujú predovšetkým podľa rýchlosti. Tá sa udáva v hertzoch (Hz) a môže dosahovať od 4,5 Hz až do cca 3000 MHz. Procesor počítača je synchrónne zariadenie, ktoré pracuje podľa hodinových kmitov generovaných kryštálom a generátorom frekvencie na základnej doske. Behom jedného kmitu procesor vykoná jednu operáciu. Ak je procesor schopný pracovať s vyššou frekvenciou týchto hodinových kmitov, vykoná za jednu sekundu viac operácií, teda bude vykazovať vyšší výkon .Výkon procesora je samozrejme veľmi výrazne závislý na návrhu (architektúre) integrovaného obvodu.
Ďalší významný parameter predstavuje efektivita mikrokódu. Ide o efektivitu, s ktorou sú napísané jednotlivé mikroprogramy vykonávajúce jednotlivé inštrukcie procesora. Jednoducho povedané, je to počet krokov potrebných na vykonanie jednej inštrukcie. Chip sa navrhne tak, aby lepšie využíval každý hodinový cyklus (t.j. každý "tik hodín" procesora). Príklad: Procesory 386 a 486. 386 urobí presun obsahu jedného registra do druhého za 2 hodinové cykly. 486 stačí jeden.
Nasledujúci parameter je prítomnosť alebo neprítomnosť špeciálnej jednotky - numerického koprocesora, ktorý slúži k priamemu vykonávaniu výpočtov v pohyblivej desatinnej čiarke (floating point operations). V starších typoch procesorov (8086, 80286, 80386), ktoré neboli touto jednotkou vybavené, sa množstvo matematických operácií muselo emulovať softvérovo, čím sa výrazne znižoval výpočtový výkon počítača ako celku. Všetky novšie procesory od typu 80486 už majú túto jednotku v mikroprocesore, pri starých typoch bolo možné obyčajne koprocesor doplniť do počítača ako samostatný obvod. Ako by sa však mohlo zdať na prvý pohľad, koprocesor neslúži iba na matematické výpočty, dnes sa využíva sa predovšetkým v modernej grafike a 3D hrach.
Ďalším dôležitým faktorom je počet inštrukcií, ktoré je možné vykonávať v jednom takte procesora. To umožňuje CPU paralelné spracovanie inštrukcií, dát. CPU postavená na tejto báze sa nazýva superskalárna CPU. S touto metódou sa 1. krát stretávame pri návrhu procesora Pentium. Do Pentia dali vlastne 2 CPU. Doteraz všetky počítače až do rady 486 mali len 1 "inštrukčný kanál". T.j. mohli vykonávať v danom momente len jednu jedinú operáciu. V Pentiu sú dva inštrukčné kanály . Pentium tieto kanály používa automaticky. Príklad: majme nasledujúce 3 príkazy.A=3, B=2,C=A+B. Prvé 2 príkazy sú nezávislé. Prvý príkaz môže ísť jedným kanálom , 2. druhým. Po ukončí oboch príkazov sa môže previesť posledný. Uvažujme však iný príklad: A=1, A=A+2 Druhý príkaz sa nedá previesť pokiaľ nie je prevedený prvý príkaz. Pentium bude nútené čakať na skončenie1.príkazu. Teda celý výpočet musí ísť cez 1 kanál. Druhý ostáva nevyužitý. Preto sa stretávame s programami, ktoré sú priamo optimalizované na Pentium.
T.j. inštrukcie týchto programov sú usporiadané tak, aby Pentium mohlo využívať oba kanály. Samozrejme programy určené pre Pentium pobežia aj na 486 či 386, ale pobežia pomalšie, lebo tieto procesory majú 1 kanál.
šírka slova určuje, aké najväčšie číslo (maximálny počet bitov) dokáže procesor spracovať počas jednej operácie. Šírka slova sa udáva práve v počtoch bitov. Procesor, ktorý má šírku slova 8 bitov teda dokáže v jednej inštrukcii manipulovať s číslom uloženým maximálne na ôsmich bitoch (teda s číslom z intervalu 0 - 255). Takýto procesor a odôvodnene aj sám počítač sa označuje ako osembitový. Analogicky existujú procesory 16 bitové, 32 bitové, 64bitové.
Šírka prenosu dát je parametrom, ktorý sa niekedy zamieňa s predchádzajúcou šírkou slova. Nezávisle od šírky slova, ktoré je procesor schopný spracovať v jednej inštrukcii, je nutné tieto čísla do procesora dodávať alebo z neho odoberať. Šírka prenosu dát určuje, aké maximálne číslo môže byť behom jednej operácie prenesené z alebo do procesora. Udáva sa v bitoch a je dané veľkosťou dátovej zbernice procesora, ktorá slúži práve na tieto presuny dát. Čím je šírka dátovej zbernice väčšia, tým je väčšia i šírka prenosu, a tým je možné za kratší čas preniesť väčšie množstvo dát.
Konvenčná operačná pamäť vďaka vysokej prístupovej dobe zďaleka nestačí procesorom a tak je nutné niektoré výsledky dočasne uchovávať v tzv. internej pamäti cache (L1 cache), ktorá je súčasťou procesora. Slúži na skrátenie prístupovej doby k operačnej pamäti počítača a zefektívnenie jeho práce. Prvýkrát sa táto pamäť objavila pri procesore Intel 80486, bola spoločná pre dáta i inštrukcie a mala veľkosť 8 KB. Neskoršie pri procesore Intel Pentium mala pamäť L1 cache už veľkosť 16 KB, z toho 8 KB pre dáta a 8 KB pre inštrukcie. V Pentiach sa dáta v cachi udržujú čo najdlhšiu možnú dobu.. až potom sa zapíšu. Prečo ? Ak by CPU potrebovala dáta s ktorými nedávno pracovala, je rýchlejšie si ich vyzdvihnúť z cache pamäte ako z RAM alebo z disku.
Posledným parametrom je veľkosť adresovateľnej pamäte, ktorá udáva veľkosť operačnej pamäte, ktorú je procesor schopný používať. Vieme, že procesor dokáže vykonávať príkazy podľa vopred zadaného programu. Tieto príkazy, resp. inštrukcie sú uložené v pamäti počítača v RAM. Tam sa nachádzajú aj dáta, s ktorými počítač pracuje. Procesor sa k inštrukciám dostane tak, že vo svojich registroch (Každý procesor dokáže pracovať s dátami uloženými vo vonkajšej pamäti. Okrem toho má však každý mikroprocesor nejakú vlastnú internú pamäť organizovanú do tzv. registrov. ) má uloženú adresu pamäte, kde sa daná inštrukcia, ktorú má vykonať, nachádza. Z príslušnej adresy pamäte RAM si procesor danú inštrukciu prečíta a vykoná ju. Adresa každého pamäťového miesta sa skladá z dvoch častí zvaných segment a offset. Ak je procesor 16 bitový, tak oba aj segment aj offset sú 16 bitové adresy. Pamäť sa začína adresovať segmentom s adresou 0000000000000000. V rámci tohto segmentu sa nachádzajú jednotlivé bajty, kde sú uložené samotné inštrukcie programu alebo dáta. Každý bajt v rámci daného segmentu má takisto svoju adresu začínajúcu od 0000000000000000 a končiacu 1111111111111111 (hexadecimálne ffff).A to je vlastne ten offset = 16 bitová adresa v rámci daného segmentu.
0000000000000000 : 0000000000000000 (sú to 16 tice núl a jednotiek)
0000000000000001
0000000000000010 toto sú adresy offsetov, teda jednotlivých bytov
adresa segmentu 0000000000000011 kde sú uložené inštrukcie. Je ich 216=65536
...... bytov, tj. 64 KB. Teda tento segment (ako aj
1111111111111111 všetky ostatné) sú veľké 64 KB.
Takže súvislý adresovateľný priestor 16 bitového počítača je 64 KB. Týchto segmentov je opäť 64 KB. Takže 64.64=4096 KB =4 MB pamäťového priestoru. Zo segmentu a offsetu si procesor vypočítava tzv. fyzickú adresu .Úloha. Vypočítajte súvislú adresovateľnú pamäť 32 bitového počítača.
Riešenie: Pre 32 bitový procesor to bude 232 = 4 GB
1.1. RISC a CISC
Približne v období 32 bitových obvodov sa objavili dve súperiace koncepcie RISC a CISC. RISC znamená Reduced Instruction Set Computer a CISC znamená Complete Instruction Set computer. Rozdiel medzi obidvoma koncepciami nie je malý. Inštrukčná súprava moderných mikroprocesorov (od Pentia vyššie) je natoľko komplikovaná, že v podstate nie je možné vytvoriť priamy logický obvod, ktorý by tieto inštrukcie dokázal interpretovať.
Mikroprocesory s kompletnou inštrukčnou súpravou (CISC) preto pracujú ako dvojúrovňové obvody - jadrom mikroprocesora je logický obvod, ktorý dokáže spracovať súpravu pomerne jednoduchých mikroinštrukcií a druhú úroveň tvorí program napísaný v mikroinštrukciách, ktorý zabezpečí interpretáciu skutočných inštrukcií mikroprocesora.Tvorcovia koncepcie RISC vychádzajú z predpokladu, že táto druhá úroveň je zbytočná. Ak máme veľmi výkonný logický obvod, ktorý dokáže spracovať nejakú súpravu inštrukcií (tj. Mikroinštrukcie), nie je dôvod programovať procesor s redukovanou inštrukčnou súpravou (RISC). Samozrejme jednu inštrukciu vykoná oveľa rýchlejšie ako procesor CISC (ktorý na vykonanie jednej inštrukcie musí zbehnúť celý program zložený z mikroinštrukcií). Navyše je procesor typu RISC oveľa jednoduchší, môže byť preto lacnejší a obyčajne pracuje aj na vyššej frekvencii. Nie je to však také jednoduché, ako by sa to zdalo. Procesory RISC
disponujú veľmi nepohodlnou a obmedzenou inštrukčnou súpravou. Hoci dnes málokto programuje v assembleri, táto skutočnosť sa prejaví vo veľkosti a optimalizácii všetkých programov. Ak na vykonanie nejakej úlohy máme pri
procesore CISC k dispozícii jednu inštrukciu, ktorá pri moderných procesoroch zaberie jeden hodinový takt, pri RISC p
rocesore musíme použiť celý súbor inštrukcií, a tak sa nám hlavná výhoda procesorov RISC začína ako si strácať. Teraz sme sa dotkli práve vlastnosti, ktorá sa objavila prvýkrát pri procesore Pentium, čo je procesor CISC, ktorý disponuje niektorými prvkami architektúry RISC (najčastejšie inštrukcie zabezpečuje priamo logický obvod a nie mikroprogram a iné). Ukazuje sa, že práve táto cesta je najviac perspektívna. Už procesor 80486 bol vyhotovený tak, aby niektoré inštrukcie trvali iba jeden hodinový takt.
2. Jednojadrové procesory štruktúra a parametre
Procesor je integrovaný obvod tvoriaci "srdce" a "mozog" celého počítača. Integrovaný obvod sú husto vedľa seba naukladané tranzistory v jednej súčiastke (od roku 1961 sa používali plošné dosky kde sa tranzistory spájali hliníkovým filmom). Do veľkej miery ovplyvňuje výkon počítača. Býva umiestnený na základnej doske počítača Procesoru sa hovorí centrálna riadiaca jednotka (CPU - Central Processing Unit). Čo je vlastne mikroprocesor ? To slovo je zložené z dvoch častí : predpony mikro a slova procesor. Predpona mikro znamená, že procesor je miniaturizovaný obvod a slovo procesor znamená, že táto súčiastka dokáže podľa nejakého programu spracovať dáta. Základnou vlastnosťou mikroprocesora odlišujúcou ho od ostatných elektronických odvodov je teda programovateľnosť. Mikroprocesor dokáže vykonávať nejaký program. Druhou vlastnosťou mikroprocesora je to, že ide o jednu súčiastku, prípadne množinu súčiastok, ktoré vystupujú ako jedna.
2.1. Parametre procesora:
Rýchlosť ( 4MHz až 2,6 GHz) udáva počet operácií vykonaných za jednu sekundu Ako sa rýchlosť zisťuje? Procesor počítača pracuje podľa hodinových kmitov generovaných na základnej doske. Behom jedného kmitu procesor vykoná jednu operáciu. Ak je procesor schopný pracovať s vyššou frekvenciou týchto hodinových kmitov, vykoná za sekundu viac operácií, teda bude vykazovať vyšší výkon. Výkon procesora je samozrejme veľmi výrazne závislý na návrhu integrovaného obvodu a hustote tranzistorov.
Efektivita mikrokódu, s ktorou sú napísané jednotlivé mikroprogramy vykonávajúce jednotlivé inštrukcie procesora. Jednoducho povedané, je to počet krokov potrebných na vykonanie jednej inštrukcie (napr. sčítanie alebo násobenie dvoch čísel).
Prítomnosť numerického koprocesora, ktorý slúži k priamemu vykonávaniu výpočtov v pohyblivej desatinnej čiarke (floating point operations). Procesory od typu 80486 majú túto jednotku v mikroprocesore. V starších bolo možné koprocesor doplniť ako samostatný obvod. Ako by sa však mohlo zdať na prvý pohľad, koprocesor neslúži iba na matematické výpočty, dnes má čoraz vyšší význam - využíva sa predovšetkým v modernej grafike a 3D hrach.
Počet inštrukčných kanálov (1-4) udávajúci maximálny počet inštrukcií, ktoré je možné vykonávať v jednom takte procesora (superskalárna architektúra).
Šírka slova (8-64B) Tento parameter určuje, aké najväčšie číslo (maximálny počet bitov) dokáže procesor spracovať počas jednej operácie. Šírka slova sa udáva práve v počtoch bitov. Procesor so šírkou slova 8 bitov dokáže v jednej inštrukcii manipulovať s číslom uloženým maximálne na ôsmich bitoch (z intervalu 0 - 255). Takýto procesor (aj sám počítač) sa označuje ako osembitový. Analogicky existujú 16 bitové, 32 bitové, 64bitové.
Šírka prenosu dát (8-64B) určuje, aké maximálne číslo môže byť behom jednej operácie prenesené z alebo do procesora. Udáva sa v bitoch a je dané veľkosťou dátovej zbernice procesora, ktorá slúži práve na presuny dát. Čím je šírka dátovej zbernice väčšia, tým je možné za kratší čas preniesť väčšie množstvo dát.
Prítomnosť internej pamäti cache (0-512kB) Konvenčná operačná pamäť vďaka vysokej prístupovej dobe nestačí procesoru a tak je nutné niektoré výsledky dočasne uchovávať v tzv. internej pamäti cache (L1 cache), ktorá je súčasťou procesora. Prvýkrát sa objavila pri Intel 80486, bola spoločná pre dáta i inštrukcie a mala veľkosť 8 KB. Pri procesore Intel Pentium mala pamäť L1 cache už veľkosť 16 KB, z toho 8 KB pre dáta a 8 KB pre inštrukcie. Od pamäte L1 cache sa odlišuje pamäť L2 či L3 cache,
ktorá slúži tým istým účelom (skrátenie prístupovej doby k operačnej pamäti počítača a zefektívnenie jeho práce).
Veľkosť adresovateľnej pamäte (1-4096MB) udáva veľkosť operačnej pamäte, ktorú je procesor schopný používať. Pri práci počítača je nevyhnutné, aby procesor pristupoval k operačnej pamäti a načítal z nej dáta. Pokiaľ procesor potrebuje pristúpiť k pamäti, musí byt zadaná adresa pamäťovej bunky, s ktorou bude pracovať. V programe býva táto hodnota zadaná ako logická (virtuálna) adresa. Táto virtuálna adresa sa prepočítava na tzv. fyzickú adresu, ktorá je už adresou poukazujúcou na konkrétnu pamäťovú bunku v operačnej pamäti. Počet bitov určených k vytvoreniu fyzickej adresy priamo súvisí so šírkou adresovej zbernice procesora. Tú využíva procesor pri prístupe do operačnej pamäti. Je cez ňu posielaná adresa pamäťového miesta bunky s ktorou bude procesor pracovať. Procesory s 8 bitovou adresovou zbernicou mali veľkosť adresovateľnej pamäte 64 KB, procesory s 32 bitovou adresovou zbernicou majú túto veľkosť 4 GB.
2.2. Inštrukčná súprava:
CISC (Complete Instruction Set computer)
Mikroprocesory s kompletnou inštrukčnou súpravou CISC pracujú ako dvojúrovňové obvody (inštrukcia je základná operácia, akú môže programátor prikázať procesoru vykonať, každá inštrukcia je však ešte zložená z tzv. mikroinštrukcií, do súboru ktorých si každú inštrukciu preloží procesor sám). Jadrom mikroprocesora je logický obvod, ktorý dokáže spracovať súpravu pomerne jednoduchých mikroinštrukcií a druhú úroveň tvorí program napísaný v mikroinštrukciách, ktorý zabezpečí interpretáciu skutočných inštrukcií mikroprocesora. Snahou výrobcov je vybavovať procesory s čo najširšou sadou inštrukcii. Pri postledných CISC procesoroch dochádza ku kombinácii obidvoch techník. Navonok sú Cisc-ové, ale vnútorná konštrukcia je Risc-ová. Ale aj naďalej dochádza k ďalšiemu rozširovaniu inštrukčnej sady zameranej hlavne na multimediálnu oblasť a grafiku.
RISC (Reduced Instruction Set Computer)
Tvorcovia koncepcie RISC nahrádzajú druhú úroveň existenciou výkonného logického obvodu, ktorý dokáže spracovať súpravu inštrukcií (čiže: inštrukcie sú implementované hardwarovo). Jednu inštrukciu vykoná rýchlejšie ako CISC kde na vykonanie inštrukcie musí zbehnúť celý program zložený z mikroinštrukcií. Inštrukcie, ktoré nie sú obsiahnuté v inštrukčnej sade RISC je možné vykonať kombináciami inštrukcií, ktoré obsahuje - to síce trvá dlhšie, ale výsledný efekt je aj tak ten, že čas získaný vykonávaním inštrukcií obsiahnutých v inštrukčnej sade prevažuje. RISC vychádza z toho, že na vykonanie 80% operácií je potrebných len 20% inštrukcií. Procesor s takouto technológiou je vybavený len týmito najzákladnejšími mikroinštrukciami, ktoré sú jednoduchšie a teda tento procesor vykoná jednu mikroinštrukciu oveľa rýchlejšie ako procesor CISC. RISC umožňuje vysokú priepustnosť dát. Hlavný nárast rýchlosti RISC bol dosiahnutý použitím veľkého množstva registrov. Tým, že odpadli mikroprogramy, bola uvolnená oblasť povrchu čipu. Procesory RISC však disponujú veľmi nepohodlnou a obmedzenou inštrukčnou súpravou. RISC má slabinu vo výpočtoch s pohyblivou desatinou čiarkou, preto bol zavedený špeciálny koprocesor pre numerické výpočty. Najväčšiu perspektívu však prináša Procesor Pentium, ktorý je CISC procesorom a disponuje niektorými prvkami architektúry RISC (najčastejšie inštrukcie zabezpečuje priamo logický obvod a nie mikroprogram). Kľúčovou myšlienkou je prenesenie niektorých výpočtových funkcii procesoru z technických prostriedkov na programové. Inštrukčná sada týchto procesorov je redukovaná iba na jednoduché a rýchle vykonávané inštrukcie, na tie ktoré bývajú využívané najčastejšie. Zároveň bývajú implementované tak aby sa vykonávali čo najrýchlejšie. ). Procesor s technológiou RISC je jednoduchší a tým pádom aj lacnejší.
Fungujú na troch základných princípoch:
· Regularita a jednoduchosť súboru inštrukcii.
· V každom strojovom cykle ak je to možné končí vykonanie jednej inštrukcie.
· Inštrukcie majú pevnú dlžku a nemenný formát.
Charakteristické znaky:
· Minimálny inštrukčný súbor /80-150 inštrukcii/
· Jednoduché spôsoby adresovania
· Jeden alebo málo formátov inštrukcii
· Riadenie jednoduchou pevnou logikou
· Operácie trvajúce jeden cyklus
· Rýchle pamäte na uloženie programov
2.3. Zreťazená realizácia inštrukcii
Superskalárna architektúra znamená, že mikroprocesor dokáže spracovať viac inštrukcií naraz. Najlepšie riešenie je taký návrh procesora, pri ktorom môžu jeho jednotlivé časti pracovať nezávisle na sebe. Procesor Intel Pentium obsahuje napríklad dve aritmetické jednotky a vďaka tomu je schopný za určitých okolností spracovať dve jednoduché inštrukcie naraz. V praxi takéto riešenie nie je jednoduché (problémy s prístupmi viacerých jednotiek do pamäte, problémy so stavovými registrami a iné) a preto takéto procesory bývajú konštrukčne veľmi zložité.
Každý procesor dokáže pracovať s dátami uloženými vo vonkajšej pamäti. Okrem toho má však každý mikroprocesor nejakú vlastnú internú pamäť organizovanú do tzv. registrov (rýchle pamäťové miesta malej kapacity). Najčastejšie sa stretneme s týmito registrami:
Akumulátor - univerzálny register na vykonávanie potrebných operácií. Ak chceme vykonať nejakú operáciu, napr. nastaviť piaty bit zvoleného bajtu v niektorej bunke operačnej pamäte, musíme požadovaný bajt najprv zaviesť z pamäte do akumulátora, potom vykonáme príslušnú operáciu a nakoniec výsledok prenesieme späť do pamäte. Moderné procesory uľahčujú život programátorom tak, že obsahujú niekoľko akumulátorov alebo dokážu spracovať dáta priamo v pamäti.
Indexový register - obsahuje adresu, slúži ako ukazovateľ do pamäte na dáta, ktoré bude procesor spracovávať. Po spracovaní dát, na ktoré ukazuje indexový register, sa adresa v ňom uložená automaticky zvýši alebo zníži tak, že register ukazuje automaticky na ďalší údaj.
Ukazovateľ zásobníka - je špeciálny prípad indexového registra, ktorý je využívaný mikroprocesorom na uschovanie návratovej adresy pri volaní podprogramu.
Čítač programu - interný register mikroprocesora, ktorý obsahuje adresu práve spracovávanej inštrukcie.
Stavový register (príznakový) - súvisí s mechanizmom, ktorý mikroprocesory používajú na podmienené spracovanie inštrukcií. Väčšina spracovávaných inštrukcií podľa výsledku svojej operácie nastaví presne určený bit v stavovom registri (napr. bit s názvom ZERO FLAG je nastavený práve vtedy, ak posledná aritmetická inštrukcia mala nulový výsledok).
3. Dvoj- a viacjadrové procesory štruktúra parametre
Viac jadrový mikroprocesor je jeden procesor, ktorý kombinuje dva alebo viac nezávislých procesorov do jedného puzdra – často jeden integrovaný obvod (IC – intergradet circuit). Dvojjadrový procesor obsahuje dva nezávislé procesory. Všeobecne viacjadrový procesor dovoľuje vykonávať, vlákna paralelne bez toho aby počítač obsahoval viac procesorov vo fyzicky oddelených soketoch. Softvér ma teda prospech z viacjadrových architektúr pretože, jeho kód môže byť vykonaný paralelne. Pod najbežnejšími operačnými systémami sa kód vykonáva v separátnych vláknach alebo procesoch . Každá aplikácia môže teda mať multihreading, ale vo väčšine prípadov, pre jeho využitie musí byť špecifický zapísaný v kóde.
Veľká časť motivácie pre výrobu viacjadrových procesorov je daná tým, že stúpajú ťažkosti ako zlepšiť výkon procesoru zvyšovaním frekvencie. Za účelom pokračovať v pravidelnom zlepšovaní výkonu procesorov, sa výrobcovia obrátili na viacjadrové návrhy procesorov. Obetujú tým terajšie nízke náklady na výrobu pre vyšší výkon v niektorých aplikáciách a systémoch.
Blízkosť viacerých CPU jadier na tom istom čipe má výhodu, že cache pamäť má omnoho vyššiu rýchlosť ako keď sú spojené mimo čipu, takže kombinácia rovnakých procesorov na jednom čipe významne zlepšuje výkon cache snoop operácií. Znamená to že, keď signály medzi jednotlivými procesormi majú kratšie vzdialenosti, ich degradovanie je menšie. Tieto signály, keďže sú kvalitnejšie, dovoľujú posielať viacej dát za určitý časový interval. Jednotlivé signály potom môžu byť kratšie a nemusia byť tak často opakované.
Za predpokladu, že čip sa fyzicky zmestí do jedného puzdra, dizajn viacjadrového procesoru požaduje omnoho menej miesta na doske plošných spojov (PCB) než viac čipové návrhy. Tiež dvojjadrový procesor potrebuje menšiu energiu než dve spojene jednojadrové procesory, hlavne kvôli zvýšenej energií, ktorú je treba k smerovaniu externých signálov do čipu a tiež preto, že menšia výrobná technológia dovolí jadrám pracovať v nižších napätiach. Takáto redukcia zmenší oneskorenie. Ďalšou výhodou je, že jadrá môžu zdieľať L2 cache a prepojenie k frontside zbernici (FSB). Navyše viacjadrový dizajn môže využívať osvedčené jadrá a tvoriť produkt s menšou pravdepodobnosťou chyby, ako by mali vymýšľať nové návrhy jadra.
3.1. Výkonnosť:
Situácia keď v jednom okamžiku je spustený jediný program, je dnes prakticky nereálna. Tak to možno fungovalo možno v dobách DOSu, ale pod multitaskingovými operačnými systémami (Windows, ...) neprichádza niečo také do úvahy – v jednom okamžiku máme spustený Internet Explorer, ktorý kombinujeme s Winampom, S ICQ klientom a podobne.Plánovač, ktorý prideľuje jednotlivým procesorom úlohy čakajúce vo fronte (na základe ich priority procesorov), má pri dvojjadrovom procesore dvojnásobok výpočtového výkonu než na klasickom procesore. Takže naraz môže bežať Internet Explorer aj ICQ klient, čo bolo predtým nebolo možné (museli sa striedať).Vyzerá to ideálne no realita je úplne iná. Ten zásadný problém je totiž v tom, ako veľmi jednotlivé programy požadujú výkon procesoru. Faktom je, že oni ho prakticky vôbec nevyžadujú. Už mnoho rokov prevažuje názor, že na kancelársku prácu stačí s prehľadom 1 GHz procesory. Procesory, ktoré sa už niekoľko rokov nepredávajú. Všetky programy ako Internet Explorer, ICQ klienti, Windows Media Playery, download manažéri a mnohé ďalšie sú tak nenáročné, že ich hravo zvládne obslúžiť aj z pohľadu informačných technológií starý procesory. Je jasné ak otvorené okno Internet Exploreru s reklamou Macromedia Flash vyžaduje šesť percent výkonu procesoru a neaktívne okno jednu
tisícinu výkonu, ak ICQ klient si vystačí s jedným percentom, tak sa nikdy nemôžeme dostať do situácie, keď máme výkonu nedostatok. Záťaž moderného procesoru i pri desiatkach spustených programov je iba niekoľko percent. Preto dvojjadrový procesor, vo všeobecnosti viacjadrový procesor nemá pre kancelárske nasadenie takmer
žiadny význam. Asi jediný význam je odozva. Tým, že je možné spúšťať dve vlákna naraz, sa významne znižuje čas potrebný pre vyriadenie niektorej náročnej kancelárskej situácie. Keď spúšťame ktorýkoľvek program, zároveň sa začína načítavať množstvo DLL knižníc starajúcich sa štandardný vzhľad. Vyťaženie procesoru tak v momente vyskočí na 100 percent. Inak povedané Microsoft Word sa už nemusí štartovať štyri sekundy , ale dve. Ja osobne vlastním jednojadrový procesor a vôbec sa na odozvu nesťažujem.
Mimo kancelárskych, skoro vôbec nezaťažujúcich situácií sú situácie, keď spúšťame tzv. záťažové programy – napríklad balíme súbory WinRARom a podobne. Pri týchto Záležitostiach je počítač praktický nepoužiteľný a to aj niekoľko desiatok minút (v závislosti od veľkosti balených súborov).program je tak náročný, že všetko ostatné nereaguje. A aj keby sme spustili nejakú hudbu, či film na zabitie nudy znížime tým len výkon onej pre nás dôležitej aplikácie, čo nie je pravé žiaduce. Viacjadrový procesor má na toto riešenie – na jednom beží dôležitý program a zase na inom zábava(hudba, film, Internet, ...).
Celkovo teda dvojjadrový procesor neprináša v prípade viacerých aplikácií vyšší výkon, ale hlavne pohodlie – programy sa spúšťajú rýchlejšie, je možné robiť viac (pri viacjadrových procesoroch) vecí naraz bez straty výkonu procesora pre jednotlivé aplikácie.
Avšak plánovač operačného systému musí vedieť obslúžiť viac jadier. Ak na to nie je pripravený , bude sa dvojjadrový procesor chovať ako jednojadrový – druhé jadro nebude vôbec rozpoznané. Tak tomu bude napríklad v systémoch DOS, či Windows 95/98/Me.
3.2. Výkon a spotreba
S multihradingom to vôbec nie je jednoduché. Prečo teda výrobcovia viacjadrových procesorov sa tak snažia a tlačia ich na trh? Realita je , že pre nich sú tieto procesory záchranou. Čím ďalej tým lepšie technológie majú, čím ďalej tým väčšie problémy s prekonávaním fyzikálnych bariér. Dvojjadro je práve dôsledkom, že výrobcovia nie sú schopný prekonávať fyzikálne bariéry.
Idea dvojjadra je asi taká, že pre dosiahnutie vysokých frekvencií procesora je potreba vysokého napätia. To zvyšuje prúdový odber a vo výsledku zvyšuje aj spotrebu.
Tým, že znížime frekvenciu, môžeme zároveň znížiť aj napätie. Pokles o 200 MHz môže dnes priniesť napríklad o 0,1V nižšie napätie, čo je skoro 10 percent. Zníženie napätia o 10 zredukuje spotrebu o 20 percent. Keď týmto spôsobom znížime spotrebu jedného jadra, môžeme pridať aj jadro druhé. Dohromady sa tak dostanem na takmer rovnakú spotrebu ako u jednojadrového procesora, výkon bude tak oveľa lepší.
To ak predpokladáme, že aplikácie sú schopné dve jadra využiť, čo nie vždy platí. V Praxi ale očakávame skôr vyššiu hodnotu spotreby. Ani jeden z výrobcov nechce, by jeho viacjadrové riešenia frekvencií príliš zaostávali za jednojadrovými modelmi, preto to s tým poklesom napätia nemyslia až tak razantne. Najväčší vplyv na výpočtový výkon stále frekvencia, ale platí to len v rámci jednotlivých architektúr alebo modelových radov. Podľa frekvencie väčšinou nie je možné vzájomne porovnávať odlišné procesory, i keď je možné určiť, koľko MHz navyše potrebuje jednotlivý procesor na prekonanie druhého. Ďalší zmätok do tejto úvahy prinášajú i samotný výrobcovia , ktorí už dnes takmer vôbec nepropagujú frekvencie svojich čipov, ale skôr ich modelové značenie. To môže ale neznalým jedincom pripomínať chaotické zoskupenie čísel, i keď majú svoj význam.
Druhým parametrom, ktorý je ešte zvykom uvádzať, je veľkosť vyrovnávacej pamäte L2.
L2 cache je jednou z najviac problematických vecí u dvojjadrových procesorov, čo sa výkonu týka. Zásadný problém je v zdieľaní obsahu. Existujú dva prístupy:
- separátna L2 cache pre každé jadro
- zdieľaná pre obidve jadrá
Ide teda o to, že ak dva thready chcú dáta z rovnakej časti pamäte a jedno jadro túto časť pamäte mení (a teda urýchľuje výkon umiestnením výsledku do svojej L2 cache), druhé jadro do nej nesmie zasahovať. Nie je proste možné aby keď jedno jadro má zapísať výsledok operácie (napr.: keď na adresu v pamäti má byť zapísané číslo 5), aby si druhé jadro načítalo dáta skôr, než tam skutočne číslo 5 bude (načíta napr. iné číslo, ktoré tam bolo uložené predtým). To, že druhé jadro musí počkať, je ošetrené protokolom, pomocou ktorého spolu obe jadrá komunikujú. Toto problémom teda nie je.
Čo naopak problém je, ako dostať v uvedenej situácií číslo 5 z jedného jadra k druhému, t.j. predať si číslo 5, tak aby druhé jadro nemuselo dlho čakať. Je nutné premiestniť ono číslo z jednej cache pamäte do druhej. U zdieľaných cache to nie je problém. Hneď ako jedno jadro zapíše výsledok do L2 cache, akoby ho zapísalo druhému jadru priamo pod nos. Horšia situácia nastáva u separátnych L2 cache. Tie si musia dáta predať cez zbernicu, ktorou sú prepojené.
Obr. 26
Ukážka separátnej a zdieľanej Cache.
4. Tendencie vývoja
Ako jeden z najväčších pokrokov pri výrobe základných súčiastok už využíva spoločnosť Intel. Ide o využitie dvoch absolútne nových materiálov na výrobu rozdeľovacích stien a prepínacích brán na ich 45nanometrových tranzistorov. Stovky miliónov týchto mikroskopických tranzistorov – alebo prepínačov - bude implementovaných do budúcej generácie rodiny viac-jadrových procesorov spoločnosti Intel.
Tranzistory dostali novú tvár - s použitím High-k dielektrika a hradla z kovového materiálu v rámci 45 nm technológie .
4.1. 45 nm výrobná technológia
Spoločnosť Intel ako prvá vo svojej 45 nm výrobnej technológii implementuje inovatívnu kombináciu nových materiálov, ktoré výrazne znižujú únik (zvodový prúd) a zvyšujú výkon. Spoločnosť v prípade dielektrika hradla tranzistora používa nový materiál s charakteristikým názvom "High-k" (vysoká hodnota dielektrickej konštanty) a v prípade elektródy hradla tranzistora novú kombináciu kovových materiálov.
"Implementácia materiálu High-k a kovových materiálov predstavuje najväčšiu zmenu v tranzistorovej technológii od uvedenia tranzistorov MOS s hradlom z polykryštalického kremíka (s polysilikónovým hradlom).
Tranzistory sú malé prepínače, ktoré spracúvajú jednotky a nuly digitálneho sveta. Hradlo zapína a vypína tranzistor, dielektrikum hradla sa nachádza v jeho spodnej časti a plní funkciu izolantu, ktorý hradlo oddeľuje od kanálu, ktorým preteká prúd. Použitie kombinácie kovových hradiel a "High-k" dielektrika hradla vedie k tranzistorom s mimoriadne malým únikom prúdu (zvodovým prúdom) a rekordne vysokým výkonom.
Vzhľadom na to, že sa na jediný kúsok silikónu umiestňuje čoraz väčší počet tranzistorov, odvetvie pokračuje vo výskume riešení pre znižovanie úniku prúdu. Medzičasom sa podarilo dosiahnuť pozoruhodný úspech, ktorý produktom a inováciám spoločnosti Intel garantuje vedúce postavenie. Implementácia nových tranzistorov s použitím High-k dielektrika a kovového hradla v 45 nm výrobnej technológii napomôže spoločnosti Intel pri poskytovaní ešte rýchlejších a energeticky účinných viacjadrových produktov.
Pre porovnanie - na povrch jedinej ľudskej červenej krvinky by sa zmestilo približne 400 45 nm tranzistorov od spoločnosti Intel. Iba jedno desaťročie dozadu bola najmodernejšia výrobná technológia 250-nanometrová, rozmery tranzistorov boli teda 5,5-krát väčšie a ich plocha 30-krát väčšia v porovnaní s technológiou, ktorú v súčasnosti ohlasuje spoločnosť Intel.
Hoci sa počet tranzistorov použitých v čipe každé dva roky približne zdvojnásobuje, spoločnosť Intel dokáže zabezpečiť inovácie a integráciu, pričom dokáže pridávať viac funkcií a výpočtových procesorových jadier, zvyšovať výkon a znižovať výrobné náklady a náklady na jeden tranzistor. Aby bolo možné toto tempo inovácií udržať, musia sa rozmery tranzistorov stále zmenšovať. Pri použití súčasných materiálov možnosti zmenšovania tranzistorov narážajú na zásadné limity, pretože pri dosahovaní úrovne atómov sa vynárajú problémy s energiou a teplom.
4.1.1. Dielektrikum High-k a kovové hradlo
Oxid kremičitý sa ako dielektrikum tranzistorového hradla využíval viac ako 40 rokov z dôvodu jeho jednoduchej výroby a schopnosti zabezpečiť nepretržité zdokonaľovanie výkonovej charakteristiky tranzistora aj v priebehu postupného zmenšovania jeho hrúbky. Spoločnosti Intel sa v rámci predchádzajúcej 65 nm výrobnej technológie podarilo dielektrikum hradla vyrobené z oxidu kremičitého zmenšiť na hrúbku 1,2 nm - teda na 5-atómovú vrstvu. Ďalšie zmenšovanie však spôsobovalo vyšší únik prúdu cez dielektrikum hradla, čo viedlo k stratám elektrického prúdu a generovaniu jalovej tepelnej energie.
Únik prúdu cez tranzistorové hradlo spojený s postupným stenčovaním dielektrika hradla z oxidu kremičitého sú považované za jednu z najväčších technických výziev z hľadiska Moorovho zákona. S cieľom vyriešiť tento
rozhodujúci problém spoločnosť Intel nahradila oxid kremičitý v dielektriku hradla hrubším High-k materiálom na báze hafnia. V porovnaní s oxidom kremičitým používaným viac ako štyri desaťročia sa tak únik podarilo viac ako 10-násobne znížiť.
Keďže High-k dielektrikum hradla nie je kompatibilné so súčasnou silikónovou elektródou hradla, druhou časťou "receptu" pre materiál 45 nm tranzistora od spoločnosti Intel je vývoj nových kovových materiálov hradla. Niektoré kovy používané spoločnosťou Intel síce zostávajú utajené, spoločnosť však bude pre elektródy hradla tranzistora používať kombináciu rozličných kovových materiálov.
Kombinácia High-k dielektrika hradla a kovového hradla v 45 nm výrobnej technológii spoločnosti Intel zabezpečuje viac ako 20-percentné zvýšenie prúdu a vyšší výkon tranzistora. A zase naopak - viac ako päťkrát znižuje únik prúdu medzi zdrojovou elektródou (emitorom/source) a zbernou elektródou (kolektorom/drain), vďaka čomu sa zvyšuje energetická účinnosť tranzistora.
45 nm výrobná technológia spoločnosti Intel taktiež približne dvojnásobne zvyšuje hustotu tranzistorov v porovnaní s predchádzajúcou generáciou, čo spoločnosti umožňuje buď zvyšovať celkový počet tranzistorov, alebo zmenšovať rozmery procesorov. Keďže 45 nm tranzistory sú menšie ako tranzistory predchádzajúcej generácie, na vypínanie a zapínanie spotrebujú menej energie, čím sa aktívny spínací výkon znižuje približne o 30 percent. Za účelom dosiahnutia vyššieho výkonu a nižšej spotreby energie bude spoločnosť pri 45 nm výrobnej technológii používať medené spoje s Low-k dielektrikom. Taktiež bude používať inovatívne pravidlá dizajnu a pokročilé techniky pre masky, aby rozšírila využitie 193 nm suchej litografie na výrobu 45 nm procesorov z dôvodu úspory nákladov a jednoduchej výroby, ktoré litografia poskytuje.
4.1.2. 45 nm technológia u AMD
Na 45 nm výrobnej technológie zapracovala aj spoločnosť AMD ktorá túto technológiu preniesla tiež do svojich radov, táto technológia je známa v AMD po názvom Shanga. Medzi jej najnovšie procesory vyrobené technológiou Shanga sú procesory Opteron. Vďaka tomu AMD sľubuje až 35% zníženie spotreby pričom výkon vraj narástol o rovnakých 35%. Okrem toho majú byť frekvencie novo uvedených čipov o niečo vyššie ako tie predošlé.
Zmeny sa dotknú aj veľkosti L3 cache, ktorá narastie na 6MB, pridaná má byť podpora bežných DDR2 pamätí.
Prvé modely Opteronov budú mať TDP 75W a frekvencie od 2,3GHz do 2,7GHz, modely Opteron HE (55W) a Opteron SE (105W) budú nasledovať v druhej polovici tohto roka.
4.1.3. Chladenie procesorov pomocou mikromrazničiek
Pridávanie stále viac tranzistorov spôsobuje chladením. To je známy fakt. Teraz však vedci prišli s úplne novým spôsobom, ako znižovať teplo procesorov, a to pomocou tzv. mikroskopických mrazničiek.
Problém rastúceho tepla je daný pohybom obrovského množstva elektrónov na veľmi malom priestore. Preto sa dnešné procesory dostávajú pri frekvencii okolo 5 GHz na hranicu chladiteľnosti (napríklad nový Phenom II sa podarilo s pomocou tekutého dusíka pretaktovať až na 6,5 GHz, ale ide skôr o výnimočný príklad a pri chladení vzduchom dochádza pri týchto čipoch k prehrievaniu už po prekonaní hranice 4 GHz) a riešenie treba hľadať v alternatívnych chladiacich technológiách.
Jedno takéto riešenie je už v dohľade – vedci spoločnosti Intel, RTI Internetional a Arizonskej štátnej univerzity v rámci svojej spolupráce vyvinuli špeciálnu mikromrazničku, ktorá môže byť nasadená na procesor a odsáva z neho teplo s chirurgickou presnosťou. Tento chladiaci systém, vyrobený v nanomierke, je výrazne menší než konvenčné chladiče a má aj nižšiu spotrebu energie.
Názov mraznička je však trochu zavádzajúci (aj keď sa pre riešenie používa). Kým bežné chladničky a mrazničky v domácnostiach využívajú mechanické pumpy na kompresiu a cirkuláciu chladiacej kvapaliny, ktorá absorbuje teplo, nový objav pracuje na úplne inom princípe – ide o supertenký film, vyrobený z termoelektrických molekúl, ako je telurid bizmutitý a telurid antimónový. Tieto termoelektrické materiály tak prevádzajú teplo na elektrinu a prostredníctvom elektrónov doslova pumpujú teplo z procesorov, opisuje princíp doktor Rama Venkatasubramanian, ktorý je jedným zo spoluautorov objavu, ktorí publikovali o tomto riešení článok vo vedeckom časopise Nature Nanotechnology.
Venkatasubramanian a jeho kolegovia pri testoch konkrétne znížili teplotu na simulovanom procesore o 15 stupňov, čo nie je veľa, ale vedci sú optimistickí a sú presvedčení, že pokiaľ nanesú na kremíkový čip materiál, ktorý lepšie vodí teplo, mohla by ich mikroskopická mraznička znížiť teplotu až o 40 stupňov Celzia. Venkatasubramanian dodáva, že nový objav nie je myslený ako náhrada klasických chladičov, ale ako ich doplnok, keď sa synergickým efektom môže dospieť k značne väčšiemu zníženiu teploty než pri použití len jedného z riešení.
Ako už bolo uvedené, tento vynález je aj energeticky efektívny a jeho spotreba predstavuje v aktívnom režime zhruba 2 až 3 watty.
Čo sa týka uvedenia tejto technológie na trh, údajne ju už zakúpila spoločnosť Nextreme Thermal Solutions, kde predtým Venkatasubramanian pracoval ako CTO (chief technology officer). V priebehu troch až štyroch rokov by uvedená technológia mohla nájsť uplatnenie aj u veľkých výrobcov čipov, ako je Intel alebo AMD, ktorí nebudú schopní zvyšovať výkon procesorov klasickými metódami a budú hľadať alternatívy chladenia.
4.2. Nanotechnológia
Toto je stále veľkou neznámou. Intel, AMD a ostatní výrobcovia sa na poli výskumu snažia prísť s niečím, čo by posunulo hranice súčasného technologického pokroku zase o kúsok ďalej. Snažia sa skúmať uhlíkové nanotrubice, ktoré by podľa Intel-u mali slúžiť predovšetkým k odvodu tepla (napr. z jadra) alebo ako vodiče prúdu (t.j. medzispoje). Tiež sa skúma využitie kremíkových nanovlákien tak, aby bolo možné vytvoriť funkční tranzistor. O všetkých týchto nanoštruktúrach sa hovorí takže v tomto smere vývoja by sa mohlo pokračovať potom, dôjde dych súčasným EUV litografiám, teda by sme mohli vytvoriť komplexní neusporiadanú nanoštruktúru? Alebo ako môžeme vytvoriť vzor (masku)? A ide to vôbec bez litografie? Alebo ako presne jednotlivé nanoštruktúry umiestime a ako môžeme vytvoriť medzispoje? Existuje teda cely rad otázok. Teoreticky podľa vyhláseniach by sa mohlo toto všetko uskutočniť po roku 2012. Uvidíme, pretože dnes to prakticky nikto nemôže potvrdiť.
Dá sa povedať, že trh s procesormi je stabilizovaný, ovládajú ho dve firmy, najme Intel a v druhom rade AMD, a nehrozí ani ďalší vstup nejakého iného výrobcu na trh, a to hlavne v dôsledku zložitých licenčných práv.
Uvidíme teda kde nás súčasný trend zavedie a či existujú bariéry alebo len určitá „obmedzenosť“ ľudského myslenia, ktorá nám braní pozrieť sa ďalej . Dnešní smer a smer v budúcich rokoch už dnes výlučne určuje víacjadrová technológia.
Záver
Práca bola venovaná procesorom, s tým spojenou problematikou a niektorým novým technológiám, ale aj blízkou budúcnosťou vo svete procesorov.
Použitá literatúra