Procesor - ide o fyzicky jedinú súčiastku, ktorú tvorí kremíková doštička
obsahujúca na malej ploche(niekoľko cm2) milióny tranzistorov.
Tieto na základe režimu spínania a vypínania riadia ostatné komponenty systému. Jeho časti: radič-číta inštrukcie programu a riadi ostatné obvody CPU alebo komunikuje s komponentami ALU-vykonáva matematické a logické operácie registre-sú pamäťové miesta na krátkodobé uloženie práce spracovávaných údajov matematický koprocesor-určený bol na zrýchlenie výpočtov, realizuje len výpočty s pohyblivou desatinnou čiarkou, od verzie CPU 80486 implementovaný ako súčasť CPU CACHE pamäť-je rýchla vyrovnávacia pamäť, malej kapacity, ktorá slúži na zrýchlenie toku údajov medzi CPU a operačnou pamäťou, resp. inými časťami PC. CPU často žiada z RAM viac ráz za sebou tie isté údaje a tým sa umiestnia do rýchlej cache, čím sa znižuje čas potrebný ich získanie. Môže byť súčasťou CPU alebo aj nie (L1, L2, L3). L1 – najrýchlejšia pamäť s najmenšou kapacitou L2 – je pomalšia ako L1, veľkosť väčšia L3 – najväčšia, ale najpomalšia pamäť taktovacia frekvencia – reprezentuje výkon a frekvenciu, udáva koľkokrát je CPU schopný za sek. zmeniť svoj stav, uvedená v GHz dnes, vždy je takmer násobkom frekvencie základnej dosky FSB multiplikátor. šírka slova – určená počtom bitov, ktoré je schopný CPU spracovať v rámci jednej inštrukcie, môže nadobúdať hodnoty 8, 16, 32, 64 – vyjadruje šírku vnútornej zbernice CPU. Inštrukcia je príkaz pre PCU, ktorý určuje, aká operácia sa má vykonať a s ktorými údajmi (vykonávajú sa postupne za sebou tak, ako sú uložené v pamäti). Pre každú inštrukciu existuje jej strojový kód – jednoznačne priradené binárne číslo, ktoré je možné uložiť do pamäte. Charakteristiky procesora – – šírka dátovej zbernice (rozmer vonkajšej zbernice)– zabezpečuje prenos údajov určených na komunikáciu CPU s okolím, udáva s v bitoch (8, 16, 32, 64) – čím je väčšia, tým viac údajov možno preniesť na 1 takt. veľkosť adresovateľnej pamäte – udáva veľkosť operačnej pamäte, ktorú CPU je schopný adresovať, závisí od šírky adresnej zbernice, platí 2šírku zbernice CISC a RISC úlohou CPU je vykonávanie programu, ktorý pozostáva z postupnosti príkazov uložených v pamäti. Každý príkaz je zložený z jednoduchších častí – inštrukcií. CPU príkazy prečíta, dekóduje, vykoná, prípadne výsledok zapíše - inštrukčný cyklus. Elementárne operácie, ktoré je schopný CPU vykonať za 1 takt – mikroinštrukcie. Prvé CPU – snažia sa mať na každý príkaz jednu inštrukciu – CISC (kompletná inštrukčná sada), zoznam inštrukcií je uložený priamo v CPU, ktorý sa stará ako o preklad, tak aj vykonanie. Staršie CPU – realizácia jednej inštrukcie počas 1 taktu platnosť končí u CPU 80486. CPU 80586 – zvýšenie počtu inštrukčných kanálov na 2 takty – spracuje 2 inštrukcie naraz v 1 takte. Príklad 1: Postupnosť A = 10, B = 20, C = A + B Príkaz A = 10 pôjde 1 kanálom, príkaz B = 20 po 2 kanály Príklad 2: Postupnosť A = 10, B = A + 5 Druhý príkaz nemožno vykonať, kým nie je ukončený prvý príkaz, čiže CPU je nútený čakať, celý výpočet ide cez jeden kanál. Spomínaný inštrukčný cyklus sa delí na strojové cykly, pričom jeden strojový cyklus znamená jeden prístup do pamäti. Strojový cyklus sa potom ďalej delí na strojové takty. Strojový cyklus – u pôvodných Intelov CPU 8051 sa skladá zo 6 stavov označovaných ako S1 - S6. Každý stav je zložený z dvoch periód, označovaných ako fáza P1 a P2. Teda strojový cyklus sa skladá z 12 periód oscilátora. Výpočet doby strojového cyklu Pro danú frekvenciu oscilátora f = 12 MHz (čo je štandardná frekvencia - taktovacia), sa dĺžka strojového cyklu vypočíta ako doba 12 periód oscilátora: t(SC) = 12·T pre f = 12 MHz je T = 1/12·106 SC = 12·T = 12/12·106 = 10-6 = 1 µs. Pro frekvenciu oscilátora 12 MHz trvá jeden strojový cyklus dobu 1 µs. Pre pravidelne sa opakujúcu postupnosť jednoduchých krokov výpočtu môžeme výhodne využiť posuvný register (shift register). V jednoduchom zapojení s časovačom sa budú v časových cykloch (taktoch) striedať obsahy 4-bitového registra v poradí 1000, 0100, 0010, 0001. - RISC (architektúra s obmedzenou sadou inštrukcií)- vychádza z predpokladu, že na vykonanie cca 80% operácií programu postačuje cca 20% inštrukcií. Procesor má zabudované len základné inštrukcie, ktoré sú jednoduchšie a ľahšie, preto sú rýchlejšie vykonateľné (bez mikroinštrukcií, ktoré sa používajú pri procesoroch CISC). Časové členenie spracovania inštrukcie Celý inštrukčný cyklus delíme na niekoľko štádií, cez ktoré prebieha každé spracovanie inštrukcie. Typické členenie musí obsahovať prečítanie inštrukcie z pamäte, jej dekódovanie a dekódovanie argumentov operácie, vykonanie požadovanej operácie a uloženie výsledku. Jednoduché inštrukcie procesora RISC ale aj CISC vyžadujú stále rovnakú postupnosť operácií: #1. prečítanie inštrukcie – procesor teda v tomto štádiu prečíta obsah operačnej pamäte z adresy, uloženej v PC a prečítaný operačný kód inštrukcie uloží do dekódovacej jednotky, upraví tiež hodnotu PC (zväčší počítadlo o 1, aby ukazovalo už na nasledujúcu inštrukciu). 2. dekódovanie - v štádiu dekódovania inštrukcie je dekódovaný operačný kód a podľa neho je vybratá príslušná postupnosť mikroinštrukcií (riadiacich slov). Prvé dve štádiá budú rovnaké pre každý inštrukčný cyklus. Ďalší priebeh už závisí od typu inštrukcie.
3. realizácia inštrukcie – tu je potrebné vyhľadať v pamäti podľa použitých
adresovacích režimov všetky argumenty operácie. Adresovacie režimy sú známe z operačného kódu a operandy sa nachádzajú za operačným kódom. Pre ich prečítanie použijeme opäť počítadlo PC (a jeho hodnotu priebežne po použití zvyšujeme). #4. zavedenie operandov z registrov – vykoná sa vlastná operácia, zakódovaná v inštrukcii. Trvanie štádia závisí od zložitosti operácie. V niektorých prípadoch môže byť vynechané (napr. pre inštrukciu NOP), niekedy však môže trvať aj niekoľko desiatok strojových cyklov (napr. pri násobení) 5. uloženie výsledkov do registra, pamäte - štádium zápisu výsledkov operácie závisí od adresovacieho režimu uloženia výsledku. Opäť sú operácie, ktoré výsledok uložiť nepotrebujú (resp. výsledok v štádiu vykonania bol uložený v správnom výstupnom univerzálnom registri. Rozdelenie inštrukčného cyklu na štádiá a ich počet je špecifický pre konkrétny model procesora. Po ukončení jedného inštrukčného cyklu začína ďalší štádiom čítania inštrukcie. Starším riešením boli sekvenčné (nezreťazené) logické obvody, ktoré spracovávali inštrukcie pomaly. Jednotlivé stĺpce vyznačujú takty procesora. V riadkoch sú uvedené inštrukcie príslušnej fázy spracovania. (PF, D1, D2, EX, WB). Možnosťou, ako zvýšiť výkon procesora je používanie zreťazenia inštrukcií - (pipelining). Prvýkrát u procesorov 80486. Spracúvaná inštrukcia sa rozloží na niekoľko fáz, ktoré využívajú rôzne nezávislé časti procesora. Celý proces pripomína pásovú výrobu, kde do jednotlivých fáz vstupuje jeden výrobok za druhým. Rozdiel medzi klasickým a pipeline (zreťazeným) spracovaním inštrukcií je ten, že pri klasickom sa prvá inštrukcia spracuje počas piatich taktov. Ďalšia inštrukcia sa spracuje až počas taktov T6 – T10. Pri zreťazenom spracovaní sa dve inštrukcie spracujú počas taktov T1 – T6, čo je približne o polovicu kratší čas.
Procesor s jedným procesorom sa nazýva skalárny procesor. Procesor s viacerými
kanálmi pre spracovanie sa nazýva superskalárny procesor. Vďaka technike, že sa štádiá zreťazenia rozdelia na viacero kanálov (fronty), je možné, aby procesor počas jedného taktu dokázal spracovať viac ako jednu inštrukciu.