|
|
|
Procesor - CPU
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 tohoto procesorového chipu je postavenný 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 1800 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-tke 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ční oboch príkazov sa mož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 nutené č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ýchlešie si ich vyzdvihnúť z cache pamete 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) AG00112_.gif (1861 bytes) 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
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 procesore 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.
|
|