- Arhitekture procesora
- Arhitektura skupa uputa RISC i CISC
- Komplicirano računanje skupa uputa (CISC)
- Skraćeno računanje skupa uputa (RISC)
Ugrađeni sustav je srce i srž većine elektroničkih proizvoda dostupnih na tržištu. To je implementacija inženjeringa u kojem hardver ispunjava softver. Okruženi smo svijetom ugrađenih sustava, s mini računalima u biometrijskim bravama, avionima, automobilima, elektrostimulatorima srca itd. Ovi ograničeni resursi, mali, pametni i moćni sustavi pomažu nam u svakodnevnim zadacima.
Ikad razmišljao o tome kako funkcionira naše tijelo, živčani sustav, mozak i sposobnost višestrukog zadatka. Ako kombinirate sve ove funkcije, dobili biste okvirnu sliku biološkog ugrađenog sustava. Naš mozak skriva složene detalje svog funkcioniranja koji se odvijaju u njemu, ali ipak nam omogućuje da ga kontroliramo do maksimuma. Ista složenost vrijedi i za procesor ili kontroler koji se koriste u ugrađenim sustavima. Oni skrivaju složene detalje i pružaju nam sučelje na visokoj razini za rad. Za razinu apstrakcije može se povezati kako kod za dodavanje dva broja u programskom jeziku visoke razine uzrokuje da registri u čipovima obrađuju bitove i daju izlaz natrag korisniku.
Arhitekture procesora
Središnja procesorska jedinica, koja se odnosi i na mikroprocesor i mikrokontroler, izvršava određene zadatke uz pomoć upravljačke jedinice (CU) i aritmetičke logičke jedinice (ALU). Kako se upute dostavljaju iz RAM-a, CPU djeluje uz pomoć svoje dvije pomoćne jedinice stvaranjem varijabli i dodjeljivanjem vrijednosti i memorije. Zaista je važno znati kako CPU izvodi sve ove radnje uz pomoć svoje arhitekture. Ako želite znati više o tome kako mikrokontroler radi, možete pročitati ovaj osnovni članak o mikrokontroleru.

Svaki CPU ima povezanu memoriju za pohranu programa i podataka. Program i podaci rade s CPU-om kako bi dobili izlaz. Program pruža upute, dok podaci pružaju informacije na kojima treba raditi. Za pristup programu i podacima CPU koristi sabirnice, te sabirnice su žice, točnije to su tragovi žica kao što ste mogli vidjeti na tiskanim pločama. Tijekom ovih godina mikrokontroleri i mikroprocesori evoluirali su prilagođavanjem različitih arhitektura, na temelju primjene ili zahtjeva dizajna, na odabir mikrokontrolera utječe vrsta arhitekture koja se u njemu koristi. Pogledajmo popularne arhitekture.
Von-Neumannova / Princetonska arhitektura
Način na koji CPU dobiva pristup programu i podacima govori o arhitekturi CPU-a. Ranije se za pristup programu i podacima koristila jedna magistrala. Ova vrsta arhitekture poznata je kao Von Neumannova arhitektura ili jednostavnije Princeton Architecture. Pojedinačna sabirnica za dobivanje koda i podataka znači da se međusobno sprečavaju i usporavaju brzinu obrade CPU-a jer je svaki morao pričekati da drugi završi dohvaćanje. Ovo ograničenje poznato je i kao Von-Neumannovo usko grlo.

Arhitektura Harvarda
Kako bi se ubrzao postupak predložena je Harvard Architecture. U ovoj su arhitekturi prisutne zasebne sabirnice podataka za podatke i programe. Dakle, znači da je ova arhitektura predložila upotrebu četiri autobusa
- Skup sabirnica podataka koji prenose podatke u i izvan CPU-a.
- Skup sabirnice adresa za pristup podacima.
- Skup podatkovnih sabirnica za prijenos koda u CPU.
- Adresna sabirnica za pristup kodu.

Korištenje zasebne adresne sabirnice i sabirnice podataka značilo je kratko vrijeme izvršenja CPU-a, ali to dolazi po cijenu složenosti u dizajniranju arhitekture. Von Neumannova arhitektura možda zvuči pomalo lijeno, ali ima prednost u svom jednostavnom dizajnu.
Harvardsku arhitekturu je mnogo jednostavno implementirati kada CPU i memorijske jedinice dijele isti prostor ili su RAM i ROM ugrađeni (na čipu) s procesorskom jedinicom, kao u mikrokontroleru gdje su udaljenost u mikronima i milimetrima. Međutim, istu je arhitekturu teško implementirati tamo gdje je memorija koja sadrži kôd izvan procesorske jedinice, poput one u x86 IBM PC-ima. Skup zasebnih tragova žice za podatke i adresu na matičnoj ploči učinio bi ploču složenom i skupom. Razumijemo to na primjeru procesora.
Procesoru sa 64-bitnom sabirnicom podataka i 32-bitnom adresnom sabirnicom trebalo bi približno 100 sabirnica (96 za sabirnicu podataka i adresa i nekoliko drugih za upravljačke signale) za implementaciju Von-Neumannove arhitekture. Ista struktura, ako se provede s arhitekturom Harvard, koštala bi dvostruke tragove otprilike 200 s velikim brojem pinova koji izlaze iz procesora. Iz istog razloga ne vidimo čistu arhitekturu Harvarda implementiranu za računala i radne stanice. Umjesto toga, koristi se modificirana arhitektura Harvarda u kojoj se hijerarhija memorije s predmemorijom CPU koristi za odvajanje programa i podataka. Hijerarhija memorije razdvaja pohranu na temelju hijerarhije vremena odziva procesa.
Arhitektura skupa uputa
Kako se program (kod) učitava u memoriju sustava (RAM), CPU ga (uzimajući u obzir i mikroprocesor i mikrokontroler) dohvaća da djeluje na podatke, mnogo je sličan jer dajemo upute kad dresiramo psa za određene radnje i naredbe. Kako se te upute djeluju na određene tranzistore, to se događa s jedne logičke razine na drugu. Dakle, u osnovi uz pomoć uputa ljudski programer komunicira s procesorom. Svaki CPU ima svoj vlastiti set uputa, zbirku uputa na temelju svoje arhitekture i mogućnosti.
CPU razumije ove upute u kombinaciji 0 i 1 koje su također poznate kao optički kod. Za ljudskog programera teško je upamtiti kombinaciju 0 i 1 za svaku uputu povezanu s CPU-om. Da bismo olakšali posao ljudskog programera, dobili smo sučelja ovih uputa na visokoj razini, a prevodilac ih pretvara u oblik 0 i 1 za njihovu obradu. Također u setu uputa svakog CPU-a ima ograničen broj uputa koje može razumjeti.
Izvedba CPU-a
Možda ste čuli pojam takta CPU-a koji se odnosi na performanse CPU-a. CPU obično imaju radni takt u MHz (Mega-Hertz) ili GHz (Giga-Hertz) poput 25 GHz takta. Broj povezan s brzinom takta govori koliko puta sat unutar CPU-a otkucava u ciklusima u sekundi. Praktičnost takta može se razumjeti činjenicom da se upute izvršavaju na temelju ciklusa takta CPU-a koji je proporcionalan broju programa koje CPU može istodobno pokretati.

Performanse CPU ovisi o broju upute koje su napisane u programu, više uputa, više vremena koje CPU za njihovo obavljanje. Također ovisi o broju taktova u kojima se izvršava svaka naredba, određenim uputama treba više ciklusa takta da bi se izvršile od ostalih, tako da zaostaju u performansama CPU-a. Upute u programu i ciklusi potrebni za izvođenje pojedinih uputa međusobno su obrnuto proporcionalni. Promjena jednog utjecati će na drugo. Tu se dijeli CPU industrija.
Arhitektura skupa uputa RISC i CISC
Kao što je gore rečeno, Izvršenje programa i performanse CPU-a ovise o broju uputa u programu u kojem se upute predlažu tom CPU-u kao dijelu skupa uputa, a drugi faktor je broj taktova u koja se izvršava svaka uputa. Na temelju ova dva čimbenika trenutno su dostupna dva skupa uputa. Najraniji od njih je Komplicirano računanje skupa instrukcija (CISC), dok je drugo smanjeno računanje skupa instrukcija (RISC). Razmotrimo detaljno svaku od ovih arhitektura kako bismo razumjeli razliku između RIC i CISC arhitekture.

Komplicirano računanje skupa uputa (CISC)
CISC je skraćenica od Komplicirano računanje skupa instrukcija. Glavni motiv CISC-a je smanjiti broj uputa koje program izvršava, a to se postiže kombiniranjem mnogih jednostavnih uputa poput načina adrese, učitavanja itd. I formiranje jedne složene upute. Instrukcija CISC uključuje niz jednostavnih instrukcija, kao i neke posebne upute koje traje više od jednog sata ciklus izvršiti. CISC upute mogu izravno raditi na memoriji bez intervencije registara, što znači da eliminira potrebu za nekim osnovnim uputama poput učitavanja vrijednosti i zahtjeva memorije (RAM). Upute CISC-a naglašavaju više na hardveru nego na softveru, što znači da umjesto da opterećuju kompajlere,CISC koristi tranzistore kao hardver za dekodiranje i provedbu uputa. Međutim, kako je uputa složena i sastoji se od više koraka, izvršava se u većem broju taktova.
Jednostavna analogija s kojom se možete povezati je kada vam se kaže da otvorite knjigu i pročitate 2. stranicu 3. poglavlja. U ovom nizu aktivnosti radite više koraka poput pronalaženja knjige iz torbe, nego prebacivanjem stranice do 3. poglavlja, a zatim odlaskom na 2. stranicu poglavlja i započinjanjem čitanja. Niz koraka ako se kombinira u jednoj uputi čitanja stranice 44 (što je broj 2. stranice 3. poglavlja), dobit ćemo CISC uputu.
Skraćeno računanje skupa uputa (RISC)
Prvi integrirani čip dizajnirao je Jack Kilby 1958. godine koji je bio oscilator, a 1970. godine prvi je komercijalni mikroprocesor izašao iz Intela. Iako na početku procesora nije bilo CISC-a. No, s velikim računalnim zahtjevima, CISC arhitektura postajala je sve složenija i teža za rukovanje. Potpuni redizajn CISC arhitekture poznat kao RISC iz IBM-a je izradio John Coke. Tako su za razlikovanje dviju arhitektura uvedeni pojmovi RISC i CISC.
RISC je skraćenica za smanjeno računanje skupa naredbi. Glavni motiv RISC-a bio je uvesti ujednačenost u veličini i izvršenju uputa. To je učinjeno uvođenjem jednostavnog skupa instrukcija koji se može izvršiti kao jedna instrukcija po ciklusu, a to se radi razbijanjem složenih instrukcija poput učitavanja i spremanja u različite instrukcije, pri čemu svakoj naredbi treba približno jedan ciklus takta da bi se izvršio. RISC arhitektura uključuje jednostavne upute iste veličine koji se može izvršiti u jednom clock cycle. Strojevi temeljeni na RISC-u trebaju više RAM-a od CISC-a da zadrže vrijednosti dok učitavaju svaku naredbu u registre. Izvršenje pojedinačnih uputa po ciklusu daje strojevima temeljenim na RISC-u prednost cjevovoda(pipelining je postupak u kojem se sljedeća instrukcija učitava prije izvršavanja prve instrukcije, što povećava učinkovitost izvršavanja). RISC arhitektura naglašava
