4. diel - Staviame si počítač - Procesor (CPU) 1/2
V minulom dieli nášho seriálu o stavbe počítača sme si popísali základnú dosku a BIOS. Dnešný diel bude venovaný procesora.
Procesor, skrátene CPU (Central Processing Unit), je často laicky označovaný ako "mozog počítača". Jedná sa o mikročip, ktorý dokáže rýchlo vykonávať jednoduché logické operácie, ktorým sa hovorí inštrukcie. Pomocou inštrukcií sú potom zapísané počítačové programy (softvér). Tie sa nahrajú do pamäte a procesor ich inštrukcie postupne spúšťa, čím sa vykonáva beh programu. Hoci sa seriál zaoberá prevažne stavbou počítača, prišla mi história a vnútorné stavba procesorov natoľko zaujímavá, že som ju venoval tento diel.
Histórie
Prvé počítače nebolo možné vôbec programovať. Boli jednoducho postavené tak, aby vykonávali jednu určitú úlohu. Najslávnejším z týchto počítačov je bezpochyby ENIAC, ktorý bol vytvorený v 40. rokoch 20. storočia americkou armádou. Vážil 30 ton a zaberal 180m 2. Úlohou počítača bol výpočet balistických kriviek striel, vďaka čomu bolo možné presne zostreliť nacistickej lietadlo. Počítač s ohľadom na rýchlosť strely, jej dráhu a rýchlosť lietadla vypočítal bod na oblohe, na ktorý sa má vystreliť. Než na miesto strela doletela, doletelo tam aj lietadlo. Neskôr bol počítač použitý napr. Pre vývoj nukleárnych zbraní.
Foto: corbisimages.com
Prvým programovateľným počítačom bol Colossus, ktorý bol použitý na dešifrovanie nacistických rádiových prenosov (Lorenz šifra). Hovorí sa, že pomohol veľkou mierou vyhrať vojnu a nacisti nemali nikdy tušenie o tom, že sú ich správy čítané spojencami. Hoci počítač pracoval s dierkovanými štítkami, programoval sa pomocou prepínačov a prepojovanie jednotiek.
Foto: techtv101.com
Inštrukčnú sada
Postupom času vznikli tzv. Inštrukčnej sady, čo je zoznam inštrukcií, ktoré vie procesor vykonať. Počítače sa tak stali absolútne univerzálny a mohli vykonávať akúkoľvek činnosť, ktorá im bola odovzdaná ako postupnosť inštrukcií na nejakom médiu. Procesor čítal kódy týchto inštrukcií a vykonával ich. Jedným z prvých počítačov tohto druhu bol EDVAC.
Medzi tie najzákladnejšie pokyny procesora patrí napr: čítanie a zápis z / do médií, aritmetické operácie (sčítanie, odčítanie, násobenie, delenie), porovnávaní alebo podmienečné spustenie inštrukcie. Každý počítačový softvér, akokoľvek zložitý, sa vo finále skladá z veľkého počtu týchto jednoduchých inštrukcií, ktoré sú postupne vykonávané.
V súčasnej dobe používajú osobné počítače inštrukčnú sadu x86, najčastejšie v 64 bitovej verzii. Tú podporujú všetci výrobcovia procesorov a práve vďaka tomu si napr. Windows nainštalujeme tak na procesor AMD, tak na procesor Intel. Za zmienku stojí, že väčšina mobilných zariadení používa architektúru ARM. Preto si aplikácie z PC nespustíte na telefóne, ak je pre neho niekto neupraví. Inštrukčnú sade sa často hovorí architektúra.
Tranzistory
Samotnú logiku počítača predtým vykonávalo veľké množstvo mechanických prepínačov. Tie boli náročné na údržbu, pracovali pomaly a často dopustili chyby. Preto boli postupom času nahradené elektrónkami (vákuovými trubicami), kde bol mechanický kontakt nahradený elektronickým. S ďalším vývojom boli ešte stále nespoľahlivé elektrónky nahradené tranzistormi, ktoré sa ďalej začali zhlukovať do tzv. Integrovaných obvodov. V dnešnej dobe ich nie je problém naskladať niekoľko miliárd do čipu s veľkosťou niekoľkých mm 2. Tento čip nazývame mikroprocesor. Pri architektúre ENIAC by tento náš domáci procesor zaberal 25km 2 a na napájanie by potreboval niekoľko elektrární.
K histórii by som ešte rád spomenul, že ako bolo technologicky možné vyrobiť lacný osobný počítač, používali sa tzv. Mainframy. Jednalo sa o výkonné počítače, ku ktorým bolo pripojené niekoľko terminálov, pomocou ktorých s počítačom naraz komunikovalo niekoľko užívateľov. Niektoré mainframy dodnes riadi banky alebo letisko.
Vnútorná stavba mikroprocesorov
Čip s procesorom je rozdelený do niekoľkých častí, v dnešnej dobe to sú zvyčajne tieto:
Jadra
Jeden tranzistor v procesore meria okolo 30nm. Tento údaj uvádza výrobca pre každý procesor. Zmenšovať je je stále ťažšie a ťažšie. Ďalším limitom je rýchlosť samotného elektrického prúdu. Z tohto dôvodu ide vývoj procesorov nielen cestou stále ťažšieho zvyšovanie počtu tranzistorov a taktovacia frekvencia, ale aj cestou zvyšovania počtu jadier. Procesor v sebe jednoducho povedané obsahuje niekoľko podprocesorů.
Rôzne aplikácie potom využívajú rôzne čipy a počítač funguje rýchlejšie. Hoci je to pomerne komplikované, môže jedna aplikácia používať aj viac jadier a fungovať potom rýchlejšie (robí to napr. Webový prehliadač).
V súčasnej dobe sa vyskytujú procesory s zvyčajne 4mi jadrami.
ALU
ALU (aritmetická a logická jednotka) je časť jadra, zodpovedná za vykonávanie inštrukcií.
Register
Každé jadro obsahuje tzv. Register. Jedná sa o extrémne rýchlu pamäť, ktoré je tiež obmedzené množstvo. Práve sem si procesor prehrá dáta aplikácií, s ktorými momentálne pracuje, aby k nim mal rýchlejší prístup, ako napr. Z RAM.
Cache
Akonáhle potrebuje jadro nejaké dáta veľmi často, je pre neho nevýhodné siahať stále znovu a znovu do pamäte RAM. A register je obmedzený, môže obsahovať len údaje nutné pre beh aktuálnych programov. Preto existuje ďalší stupeň medzipamäte - cache. Ten má ešte 3 stupne - L1, L2 a L3. (L1 a L2 by mali byť rýchle, L3 hlavne veľké) Rýchlosť aj kapacita cache sa pohybuje medzi RAM a registre. Cache sú väčšinou zdieľané medzi jadrami.
RAM a pamätiam v CPU sa niekedy dohromady hovorí primárny pamäť. Pevné disky sú potom pamäť sekundárne.
Grafický procesor
Predtým bola grafická karta integrovaná na základnej doske, novšie procesory ju majú stále častejšie priamo v sebe. Vie s ňou však pracovať len niektoré základné dosky. Ako sme si hovorili minule, základnú dosku vyberáme starostlivo podľa typu procesora, ktorý v nej chceme používať. Tieto integrované GPU nie sú zatiaľ toľko výkonné, ako plnohodnotné grafické karty, však sa veľmi zlepšujú a je na nich možné hrať aj hry. Do budúcnosti sa zdá sústredenie výkonovej časti počítača do jedného čipu výhodné.
Kontrolery
Procesor ďalej obsahuje niekoľko kontrolerov, ktoré riadia tok dát medzi jeho jednotlivými časťami a okolím.
Taktovania
Procesor riadi hodinový obvod, ktorý beží na určitej frekvencii (clock rate). Jednoducho povedané ho určitým tempom nabáda na vykonávanie inštrukcií. Čím má procesor vyššiu taktovaciu frekvenciu, tým rýchlejšie inštrukcie vykonáva. Taktovacia frekvencia bola u prvých IBM PC okolo 5 MHz. Dnes je bežne okolo 3 GHz (teda 600x vyššia).
Posledných niekoľko rokov rastie frekvencia už len veľmi pomaly. Dôvodom je, že rýchlosť procesora obmedzuje rýchlosť samotného elektrického prúdu (ktorého nosiči sú elektróny). Aby procesorom elektrina rýchlejšie prešla, musí byť stále menšie. A daní za miniaturizácii a sústredenie výkonu do malého bodu sú obrovské tepelné straty. Vyššia taktovacia frekvencia jednoducho nedokážeme za súčasných technológií uchladit. Najvyššia dosiahnutá frekvencia je okolo 9 GHz, avšak za nutnosti chladenia tekutým dusíkom, čo je veľmi nepraktické. Ďalším stupňom vo vývoji procesorov už preto nie je zvyšovanie taktovacia frekvencia, ale zvyšovanie počtu ich jadier a zavádzanie ďalších technológií, aby za existujúce frekvencie fungovali rýchlejšie.
Procesor kupujeme s predpísanou taktovacou frekvenciou od výrobcu. Tú výrobca zistí tak, že nový procesor podrobí sérii testov a určí za akých podmienok funguje najkvalitnejšie. Avšak nič nám nebráni, aby sme túto frekvenciu zvýšili. O procesora sa potom hovorí, že je pretaktujú (overclocking). Pretaktovanie procesorov je rozšírené najmä medzi nadšencami a obyčajne sa nevykonáva. Dôvodom je najmä zvýšenie produkcie tepla procesora a preto je nutné kupovať kvalitnejšie chladenia. Ak to s frekvenciou preženieme, môžeme procesor aj zničiť. Ak však máme s hardware skúsenosti, nemalo by sa nám to stať, pretože je jeho teplota monitorovaná.
Budúci diel bude na rozdiel od dnešného veľa praktický, popíšeme si aktuálne dostupné modely CPU od Intelu a AMD a reč bude tiež o chladenie.