3.1
Delenie na základe univerzálnosti
nasadenia
Mikroprocesor - ( mikro - miniatúrny, procesor – obvod schopný spracovávať dáta na základe riadiacich inštrukcií tvoriacich program ) je základnou riadiacou a výkonnou jednotkou nazývanou aj centrálna procesorová jednotka CPU (Central Processor Unit). Mikroprocesor je možné pomocou vývodov doplniť o potrebné dodatočné obvody (pamäte a iné), čím poskytuje možnosť škálovania systému podľa potrieb. Na základe dodatočného vybavenia periférnymi zariadeniami je možné rozdelenie:
Mikropočítač – jednočipový mikropočítač – vznikne ak sa mikroprocesor doplní o periférne obvody (pamäte, obvody vstupu/výstupu a iné rozhrania) a spolu sú umiestnené do jedného puzdra. Jednočipový mikropočítač disponuje určitou univerzálnosťou a možnosťou modifikovať jeho funkciu na základe programu, prípadne rozšírením o ďalšie periférne obvody
Mikrokontrolér je jednočipový mikropočítač určený pre špecifickejšie nasadenie, napríklad v obvode inteligentného snímača, kde je navrhnutý pre plnenie určitých konkrétnych úloh, čím klesá na univerzálnosť v porovnaní s klasickým jednočipovým mikropočítačom. Je možné povedať, že mikrokontrolér je užšie špecializovaný, menej univerzálny jednočipový mikropočítač.
3.2
Delenie podľa organizácie pamäťového systému
Na základe spôsobu pripojenia pamäťového systému k ALU odlišujeme dva základné spôsoby:
architektúra Von Neumann – je charakteristická spoločnou pamäťou pre dáta a program (obr.3.1). Nevýhodou tejto architektúry je, že v spoločnej pamäti sídlia dáta a program súčastne. Obojsmerná spoločná zbernica je využitá pre dáta a inštrukcie.
Obr. 3.1:
Architektúra Von Neumann
Harvardská architektúra je charakteristická svojou oddelenou pamäťou pre dáta a pre program (obr. 3.2). Dátová pamäť je pripojená obojsmernou a programová pamäť jednosmernou dátovou zbernicou. Výhodou harvardskej architektúry je vyššia rýchlosť systému, keď pri výbere inštrukcie z programovej pamäte môže súčastne prebiehať aj presun dát z dátovej pamäte.
Obr. 3.2: Harvardská architektúra
Harvardská architektúra je s výhodou použitá v rôznych obmenách. Modifikácie Harvardskej architektúry sú nasledovné:
- modifikácia 1 – umožňuje súčastne uloženie dát a inštrukcií v pamäti programu, v prípade nutnosti načítania dvojoperandovej inštrukcie, použijeme pamäť s polovičnou dobou prístupu ako trvá inštrukčný cyklus, počas prvej polovice inštrukčného cyklu je načítaný operačný kód inštrukcie z programovej pamäte a prvý operand z dátovej pamäte, počas druhej polovice inštrukčného cyklu je načítaný druhý operand z dátovej pamäte, prípadne ešte tretí operand súčastne z programovej pamäte, v prípade trojoperandovej inštrukcie, schéma systému je na obr. 3.3.
Obr. 3.3: Modifikácia 1
- modifikácia 2 – dátová pamäť je viacportová a umožňuje tak niekoľkonásobný prístup do dátovej pamäte v rámci jedného inštrukčného cyklu, schéma systému je na obr. 3.4
Obr. 3.4: Modifikácia 2
- modifikácia 3 – v prípade nutnosti súčastného prístupu k dátam a inštrukcii doplníme modifikáciu 1 o vyrovnávaciu pamäť, inštrukciu z programovej pamäte načítame do vyrovnávacej pamäte čím môžeme následne načítať operandy súčastne z dátovej aj programovej pamäte, takéto riešenie je použité v systémoch, kde sa využívajú opakovane krátke slučky bez nutnosti načítavania inštrukcie použitej opakovane v slučke a uloženej vo vyrovnávacej pamäti, schéma systému je na obr. 3.5.
Obr. 3.5: Modifikácia 3
- modifikácia 4 – nazývaná aj ako duálna harvardská architektúra kôli použitiu dvoch dátových pamätí a jednej programovej, umožňuje v jednom inštrukčnom cykle načítať naraz dva operandy, schéma systému je na obrázku 3.6.
Obr. 3.6: Modifikácia 4
3.3
Delenie podľa šírky spracovávaného slova
Pod šírkou spracovávaného slova myslíme maximálny počet bitov, ktorý je mikroprocesor schopný naraz spracovať, väčšinou je to šírka dátovej zbernice.
Najčastejšie používané šírky slova sú:
4 bity – prvý mikroprocesor Intel 4004 bol 4 bitový, táto šírka slova sa používa v mikroprocesoroch pre nenáročné riadiace aplikácie
8 bitov – veľká časť mikroprocesorov, mikropočítačov a mikrokontrolérov v súčasnosti je s touto šírkou slova, využívajú sa hlavne v zložitejších aplikáciách riadenia a menej náročných výpočtových úlohách, často sú súčasťou takzvaných inteligentných senzorov
16 bitov – prevažne pre riadiace aplikácie náročnejšie na výpočtový výkon, spracovanie signálov ( zvukové karty a pod. )
32 bitov – väčšinou oblasť PC, zložité aplikácie riadenia
64 bitov – súčasné špičkové počítače
iné
– len v špeciálnych prípadoch,
procesory určené pre špecifické nasadenie
Inštrukčnou sadou rozumieme súbor inštrukcií, ktoré môže procesor vykonávať. Na základe toho, z akého typu inštrukcií pozostáva inštrukčná sada môžeme rozdeliť procesory na:
CISC
(Complex Instruction Set Computer - Počítač
s úplnou inštrukčnou sadou) predstavuje zložité inštrukcie pozostávajúce
z mikroinštrukcií, jedinou inštrukciou je možné vykonať zložitú
operáciu, čo sa môže zdať výhodné, no takýto procesor vyžaduje zložitý
dekóder inštrukcií a spracovanie inštrukcie trvá viacero cyklov
RISC (Reduced Instruction Set Computer - Počítač s obmedzenou inštrukčnou sadou) inštrukčná sada pozostáva z malého počtu elementárnych inštrukcií, ktorými je možné vytvoriť zložitejšie operácie, jednoduché inštrukcie rovnakej dĺžky znamenajú, že procesor má jednoduchý dekóder inštrukcií, taktiež RISC procesory obsahujú veľký počet interných registrov s univerzálnym použitím, čo urýchli výkon programu, pretože väčšina operácií prebieha medzi registrami a ALU
CISP (Configurable Instruction Set Processor) – je novým trendom vo vývoji mikroprocesorových systémov. Mikroprocesor obsahuje konfigurovateľné bloky, pomocou ktorých je možné vytvoriť dodatočnú funkciu pre určitú operáciu a pre ňu zodpovedajúcu inštrukciu. Týmto je dosiahnuté zvýšenie efektivity práce mikroprocesora pri výkone danej operácie
Mikroprocesory sú zvyčajne nasadzované v oblasti riadenia, výpočtových aplikácií, senzorových systémoch a podobne. Existujú aj špeciálne oblasti nasadenia, ktoré vyžadujú špecifické typy mikroprocesorov, ktorých vnútorná štruktúra a stavba je optimalizovaná pre konkrétne nasadenie, čiže ich univerzálnosť je menšia ako u bežných typov procesorov.
Charakteristickými príkladmi sú:
signálové procesory – procesory špecializované na číslicové spracovanie signálov ako je realizácia číslicových filtrov, alebo FFT – rýchla Fourierová analýza , obsahujú špeciálnu jednotku nazývanú MAC (Multiply And Cumulate) vykonávajúcu operáciu násobenia dvoch operandov a ich pričítania k predchádzajúcemu súčinu ( bližšie v predmete SPvT )
šifračné procesory – sú procesory obsahujúce opäť špeciálne bloky optimalizované pre operácie potrebné v kryptografii
Vývojom nových spôsobov riešení mikroprocesorových systémov boli definované nové architektúry. Účelom bolo urýchliť činnosť mikroprocesorových systémov inak ako iba zvyšovaním taktovacej frekvencie. Možné riešenia architektúr sú uvedené nasledovne.
SISD – (Single Instruction Single Data) – systém s jedným inštrukčným tokom s jedným dátovým tokom, jednou inštrukciou je spracovávaný jeden operand, typické pre architektúru Von Neumann, schéma systému je na obr. 3.7
Obr.
3.7: SISD
MISD – (Multiple Instruction Single Data) – systém obsahuje viacero riadiacich jednotiek CUn, ktoré riadia príslušné ALUn, pričom je spracovávaný iba jeden tok dát, je to systém zo zreťazeným procesorom, jednotlivé prvky vykonávajú viacnásobným tokom inštrukcií nad jedným tokom dát, schéma systému je na obr. 3.8
Obr.
3.8: MISD
SIMD – ( Single Instruction Multiple Data) – architektúra s jedným inštrukčným tokom a viacnásobným dátovým tokom, jednou inštrukciou je možné spracovať naraz viacero operandov, schéma systému je na obr. 3.9
Obr.
3.9: SIMD
MIMD – (Multiple Instruction Multiple Data) – multiprocesorový systém realizujúci viaceré programy definované viacnásobným tokom inštrukcií nad informačne nezávislým viacnásobným tokom dát, schéma systému je na obr. 3.10.
Obr.
3.10: MIMD
Superskalárne – využíva sa systém paralelného spracovania viacerých inštrukcií naraz v prípade, že sú na sebe nezávislé. Riadenie spracovania inštrukcií riadi jednotka scheduler – plánovač. Ďalším spôsobom zvýšenia výkonu je zreťazené spracovanie – pipelining pri ktorom je inštrukcia rozdelená na n čiastkových operácií. Prvý výsledok dostaneme po vykonaní n, čiastkových operácií, no nasledujúci výsledok už v ďalšom kroku. Nevýhodou je pri potrebe skoku celú pipeline jednotku vyprázdniť
VLIW – (Very Long Instruction Word) – používa sa dlhé inštrukčné slovo fixnej dĺžky, ktoré pozostáva z viacerých jednoduchších inštrukcií. Inštrukcie sú vykonávané súčastne viacerými jednotkami mikroprocesora. Počas jedného inštrukčného cyklu je tak vykonaných viacero čiastkových inštrukcií, čím dosiahneme nárast výkonu. VLIW mikroprocesory neobsahujú plánovač v takom zmysle ako superskalárne. Voľba nasledovania výkonu inštrukcií sa deje pri preklade programu pre VLIW mikroprocesor