Procesory
Dôležité parametre PC: frekvencia μP, RAM, motherboard a jeho frekvencia práca s pamäťou, výkon μP, veľkosť pamätí, diskov, výkon sa udáva v MHz, výkony udáva výrobca, nie sú smerodajné, na čo sa bude počítač používať.
Rozdelenie μP:
RISC (Reduced Instruction Set Computing) - má obmedzenú inštrukčnú sadu, ktorú však možno vykonať počas jedného taktu, z čoho plynie vysoká výkonnosť. Uľahčuje HW. Inštrukcie majú jednotnú dĺžku (pri dekódovaní μP hneď vie, ako ich inštrukcie dlhá) a teda je rýchlejší ktoré μP CISC. Každým taktom je ukončená aspoň jedna inštrukcie, čo je podmienené pipelingem (reťazové spracovanie inštrukcií). Optimal. kompilátor zaručuje optimálne pridelenie registrov, odstraňuje zbytočné prístupy do pamätí aoptimalizuje program pre pipeling.
CISC (Complex Instruction Set Computing, Intel, AMD) - uľahčuje prácu programátorom kompletnou inštrukčnou sadou assembleri. Inštrukcie robí na dvakrát, pretože nevie, ako ich inštrukcie dlhá. Akumulátor (najdôležitejšia časť CISC μP) - je to register, ktorý je viazaný na ALU (u RISC μP môže túto funkciu vykonávať akýkoľvek iný register).
RISC- akýkoľvek register nie je viazaný na ALU v μP. Akumulátor je najdôležitejšia register. Tento register nie je určený (nemá pevný register), možno nad ním pracovať a nie je viazaný na ALU.
- premenovanie registrov, prevedenie upratovania registrov - keď príde dôležitejšie inštrukcie, prestane sa vykonávať aktuálne inštrukcie, ktorá je vyhlásená za odkladacia a začne sa s vykonávaním dôležitejšie inštrukcie. Po jej vykonaní sa vrátim k predchádzajúcej.
- práca s pamäťou je redukovaná pomocou inštrukcií LOAD (zaveď dáta) a STORE (nedá pracovať nad operačnou pamäťou)
Optimalizujúce kompilátor RISC:
- k max. použitie μP
Pipeling
Počítač môže mať viac μP, alebo μP môže mať viac submP. Každý μP spracováva inú inštrukciu v inej fáze v rovnakom časovom okamihu
Od 5 časového okamihu sa ukončí vždy jedna inštrukcie. Pipeling sa používa ako u μP RISC, tak CISC. Ak je 4 až 8 submP, tak sa jedná o superpipeling.Zapojenie subμP za sebou: reťazové spracovávanie inštrukcií.
Vonkajšie μP (Pentia): pole algoritmov volí, ktorou cestou spracováva instrukci200 Pri splnení podmienky: 201 300 jump203 202Při nesplnenia podmienky: 203 V inštrukcii B je nejaká podmienka podľa, ktorej sa rozhoduje či sa bude pokračovať na inštrukciu 201 a 202 pri splnení podmienky a na inštrukciu 300 pri nesplnení podmienky.Zapojenie submP vedľa seba: zapojenie skalárna multiμP systém superskalární
Zapojenie superskalární - μP s viacerými kanálmi pre spracovávané inštrukcie. Paralelné jednotky si vyberajú svoje inštrukcie samy z jedného toku inštrukcií. μP s jedným kanálom sa nazývajú skalárnaARRAY (pole)
Iba najhornejšej a najspodnejšej vrstva má prístup k zbernici.
Vnútorná štruktúra μP
Procesory typu RISC a CISC sa vzájomne líšia. Procesory CISC sú štruktúrované na vysokej programovacie jazyky. U μP sa sada početných funkcií prenáša z hardvéru na softvér.
ΜP CISC
základ každého μP tvorí ALU (aritmetickej - logická jednotka). ALU vie z aritmetických operácií iba sčítať, všetky ostatné aritmetické funkcie rieši pomôcť sčítania a logických funkcií (and, or, not).
Temp - dočasné registre, ktoré zaručia konštantný nemněný vstup Akumulátory je spätý s ALU ALU - Príjmy čísla v binárnej sústave. Transputer - špeciálny μP. ktorý nemá paralelné zbernice (napr. dátová), ale má iba sériovej zbernice. S vonkajšími zbernicami komunikuje na vysokej frekvencii. Flag - jednobitová pamäťová bunka, ktorej obsah závisí od výsledku nejakej operácie alebo existencie nejakého javu. SWR (Status word register) - register stavového slova, uchováva stavové príznaky (Flagy), ktoré vypovedajú o stave AKU a ALU. Každý bit má nejaký význam. Carry - prenos do vyššieho rádu Signum - znamienkový, najvyšší bit, MSB, 1 - číslo je záporné, 0 - číslo je kladné. Parita - používa sa na zabezpečenie prenosu dát, opätovne sa vypočítava z AKU. Overflow - pretečeniu do znaménkového bitu. Auxiliary Carry - polovičná prenos medzi Niblo (1 Niblo = 4 bity), používa sa pri počítaní v BCD kóde. Zero flag - obsah AKU je nulový.U vyšších μP - napr. Trap - pre ladenie.
Budič
Musí oddeľovať vonkajšie a vnútorné zbernicu. Má funkcie smer von (tzn. Z vnútornej na vonkajšiu), smer dovnútra (tzn. Z vonkajšej na vnútornú), oddelený (zbernice sú od seba odpojené). Pri DMA je odpojený.
Dekodér inštrukcií - inštrukciu musím previesť na elektrický impulz.Inštrukciu môžem natiahnuť až po ukončení inštrukcie -> dekódovanie -> radič. Využijem toho, keď sú zbernice voľné a príjmu inštrukcie skôr. Uložím ich do pamäte (register inštrukcií FIFO, ktorý máva 6 až 8 buniek) a čakám až bude aktuálna inštrukcie ukončená.
Ak bude nejaký medzivýsledok, uložím ho do pamäte (registre), ktoré mi dovoľujú ukladať hodnoty. Toho môžem využívati pri DMA, pretože vo vnútri μP si môžem robiť čo chcem.Registre - delenie:
- pre všeobecné použitie (GPR)
- špecializované (napr. Program Counter alebo Stack Pointer)
Program counter - obsahuje adresu nasledujúce inštrukcie. Program counter odošle adresu a pri predpoklade, že inštrukcie sú chronologicky zoradené v pamäti automaticky sa zvýši obsah program Counter o jedna.
Von Neuman - μP pracuje podľa vopred stanovených inštrukcií.
Program counter -> vyrovnávacia pamäť (ukladá sa sem adresa, ktorá
má byť vyslaná na AB, do tejto pamäte sa zadávajú aj adresy dát).
Z operačnej pamäte sa musí brať aj dáta (nie sú uložené v Program
Counter. Preto idú z ALU do vyrovnávacej pamäte a potom cez budič adresy
dát na AB.
Stack pointer (ukazovateľ zásobníka) - register v ktorom je uložená adresa tzv. Návratovej inštrukcie, SP je ukazovateľ na stack. Pamäť v operačnej pamäti (LIFO). Von možno vytiahnuť položku, ktorá bola naposledy vložená. Ukazovateľ na túto položku je vo Stack Pointer. Je tu sekvenčné postupnosť prístupu.
Vlastnosti vyšších μP
Niektoré μP CISC preberajú vlastnosti RISCových μP
- vie napodobniť jadro RISC, navonok sa chová ako RISC, ale vo vnútri ako CISC, CISC rozkladá inštrukcie na RISC inštrukcie (emulácia RISC)
- premenovanie registrov
- pipeling
- superskalárnost - niekoľko výkonných jednotiek vedľa seba, väčšinou sú to ALU, na ďalších ALU nejdú niektoré operácie vykonávať.
- vykonávanie inštrukcií mimo poradia μP, FIFO má obvykle 8 položiek
Od Pentia 3 sa dokončujú inštrukcie pri pipelingu mimo poradia, tzn., Že inštrukciu možno dokončiť skôr, ale μP si musí pamätať za akú bola inštrukcií bola ukončená inštrukcie umiestnená. Výsledok je k dispozícii skôr. Na uvoľnenom mieste sa môže spracovávať nová inštrukcie. Ak táto inštrukcia má viac úloh a máme napr. 5 subμP a inštrukcie sa začne vykonávať až na 4 subμP, pretože na predchádzajúcom subμP vypadla inštrukcie, tak μP ju bude spracovávať až do 5subμP a potom ju prevezme prvý subμP.
- špekulatívne výpočty - môžem robiť u výpočtov na výstupy, ktoré sa mení veľmi pomaly. Vykonáva sa zo starších vstupných hodnôt a v prípade, že sa výrazne líši bude vykonaný nový výpočet, ktorý nahradí ten starý.
- spracovanie multimediálnych aplikácií: technológie MMX, 3DNow - slúži pre urýchlenie multimediálnych a komunikačných programov. Využíva prirodzeného paralelizmu v multimediálnych a komunikačných algoritmoch pri zachovaní kompatibility s existujúcimi operačnými systémami a aplikáciami. Podstatou je spracovanie mnohých kúskov informácie vykonaním jedinej inštrukcie. To predstavuje paralelné spracovanie, ktoré veľmi zvyšuje výkon. Táto technológia v kombinácii so Superskalárna Architektúra poskytuje podstatný nárast výkonu na platforme PC.
- programy pre reguláciu frekvencie μP - μP sleduje výkon (vyťaženie), keď zistí, že bol znížený pod určitú hladinu, spadne frekvencia výkonu a až opäť bude potrebné ju zvýšiť späť, tak ju zvýši. Toho sa využíva hlavne u notebookov pre šetrenie energie.