You are on page 1of 42

1.

Objasnite na primjeru zapis pozitivnih i negativnih (dualni komplement) cijelih brojeva

 Dualni komplement je način zapisivanja negativnog broja u binarnom obliku.


 Dualni komplement se može dobiti na dva načina. Prvi način je najprije napraviti unarni (obični) komplement te
nakon toga dodati jedan (+1). Drugi način je najprije oduzeti jedan (-1) te nakon toga napraviti unarni komplement.
- 5 = komplement ( 00000101 ) + 1 = 11111010 + 1 = 11111011
- 5 = komplement ( 00000101 - 1 ) = komplement ( 00000100 ) = 11111011
U oba slučaja je isti rezultat 11111011.
 Primjeri operacija 7 – 5 = 7 + ( – 5) = 2; 2 – 4 = 2 + ( – 4) = – 2
7 = 00000111 2 = 00000010
- 5 = 11111011 - 4 = 11111100
2 = 00000010 - 2 = 11111110 => komplement ( 11111110 ) + 1 = 00000001 + 1 = 00000010

2. Objasnite općenito fixed-point zapis brojeva u računalu, objasniti općenito

U sustavima s fiksnom točkom je određeno mjesto na kojem se nalazi točka. Broj se prikazuje skalirano pomoću
potencije broja 10 te se nalazi u rasponu između 1 i 10. Točka se prikazuje odmah nakon prve znamenke. Kod fixed-point
zapisa dolazi do greške kada se određeni dio iza decimalne točke mora obrisati. Primjerice, broj 152853.5047 =
1.528535047 × 10^5“
3. Objasnite općenito floating-point zapis brojeva u računalu

Postupak pretvaranja binarnog zapisa u dekadski je identičan i za pozitivne i za negativne realne brojeve. Uzima se
apsolutna vrijednost broja i ovisno o veličini broja radi se jedan od sljedećih postupaka:

1)

 ako je broj veći ili jednak 2 → broj se dijeli s 2 sve dok je veći od 2 i pamti se broj dijeljenja (p)

 broj se dijeli s 2p

 u dio za eksponent upisuje se vrijednost E = p + 127, u binarnom zapisu (8 bita)

 razlomački dio se računa tako da se uzme dio broja 0.f, množi se s 2 te zapisuje prijenos koji upisujemo u dio registra
od 23. bita na desno

2)

 ako je broj veći od 0 i manji od 1 → broj se množi s 2 sve dok je broj manji od 1 i pamti se broj množenja (p)

 broj se dijeli s 2-p (ili množi s 2p )

 u dio za eksponent upisuje se vrijednost E = -p + 127, u binarnom zapisu (8 bita)

 razlomački dio se računa tako da se uzme dio broja 0.f, množi se s 2 te zapisuje prijenos koji upisujemo u dio registra
od 23. bita na desno

3)

 ako je broj veći ili jednak 1 i manji od 2 → p = 0, E = 127

 razlomački dio se računa tako da se uzme dio broja 0.f, množi se s 2 te zapisuje prijenos koji upisujemo u dio registra
od 23. bita na desno

Primjer 2: Kao primjer pokazat ćemo pretvaranje broja -0.16 u binarni zapis u registru za realne brojeve.

Broj = |-0.16| = 0.16 -> predznak P = 1

0.16 : 2^(-3) = 1.28


0.16 = 1.28 × 2^(-3)

Za prvi broj mantise je uzet broj 1 koji se ne pohranjuje u računalo i naziva se skriveni bit. Sada znamo: f = 0.28 i p = -3

E = p + 127 = -3 + 127 = 124

Binarni zapis broja 120 je 0111 1100 i taj broj se zapisuje od 31. do 24. bita u registar €.

Sada je potrebno broj 0.28 pretvoriti u binarni.

0.28 x 2 = 0.56 0

0.56 x 2 = 1.12 1

0.12 x 2 = 0.24 0

0.24 x 2 = 0.48 0

0.48 x 2 = 0.96 0

0.96 x 2 = 1.92 1

0.92 x 2 = 1.84 1

0.84 x 2 = 1.68 1

0.68 x 2 = 1.36 1

0.36 x 2 = 0.72 0

0.72 x 2 = 1.44 1

0.44 x 2 = 0.88 0

0.88 x 2 = 1.76 1

0.76 x 2 = 1.52 1

0.52 x 2 = 1.04 1

0.04 x 2 = 0.08 0

0.08 x 2 = 0.16 0

0.16 x 2 = 0.32 0

0.32 x 2 = 0.64 0

0.64 x 2 = 1.28 1

0.28 x 2 = 0.56 0

0.56 x 2 = 1.12 1

0.12 x 2 = 0.24 0

Znači, binarni zapis razlomačkog dijela glasi:

0100 0111 1010 1110 0001 010

Sada možemo zapisati cijeli binarni broj u registar:

P |---E---| |-----------f--------------|
1 0111 1100 0100 0111 1010 1110 0001 010

Kod ovog prikaza postoje i tri posebna slučaja koji označavaju neke specijalne vrijednosti. One su:

1. Ako je E = 0 i svi bitovi mantise su 0, radi se o broju 0

2. Ako je E = 255 i svi bitovi mantise su 0, radi se o −∞ ako je bit predznaka 1, a +∞ ako je bit predznaka 0

3. Ako je E = 255, a bilo koji bit mantise nije 0, onda se radi o NaN (Not a Number)

Sign je predznak + ili – duljine od jedan bit. Mantisa (significand, fraction) je znamenkasti niz čija duljina određuje
preciznost predstavljenog broja. Pretpostavlja se da je položaj točke uvijek neposredno nakon ili neposredno prije
najznačajnije znamenke. Eksponent mijenja veličinu broja za potenciju baze u kojoj je broj definiran. Konačna vrijednost
broja s pomičnom zarezom dobije se množenjem mantise s bazom na potenciju eksponenta.

4. Objasnite Moore-ov zakon i objasnite razlike između porasta performansi procesora i memorije

 DIJAGRAM PERFORMANSI CPU vs MEM


 Mooreov zakon je zakon koji predviđa da će se broj tranzistora u mikročipu povećavati dvostruko svakih 18-24
mjeseca.
 Performanse procesora se povećavaju zbog povećanja brzine obrade u mikročipu.
 Memorija, s druge strane, se povećava zbog većeg kapaciteta za pohranu podataka.
 1980 procesori nisu imali cache memoriju zbog niskog radnog takta
 1995 procesori imaju dvije razine cache memorije
 Procesori povećaju svoje performanse 60% godišnje kao posljedice Moore-ovog zakona
 Memorije povećaju performanse 7% godišnje (sporiji rast zbog latencije)
 Od 1980 se počinje značajno razlikovati performansa CPU i MEM. Dolazi do pojave “Performanse GAP” odnosno
pojavio se jaz između performansi rada računala zbog brzog CPU (GHz) i spore MEM (MHz) te se uvodi cache kao
rješenje.
 Cache memorija omogućuje brz rad procesora
 Latencija ~ duljina cijevi; Latencija je vrijeme potrebno za čitanje/pisanje podatka, npr. 1 ns
 Propusnost ~ širina cijevi (Bandwidth); Propusnost je količina podataka u jedinici vremena, npr. TB/s
 • Tipična veličina L1 cache memorije je od 2 KB do 256 KB.
 • L1 cache se dijeli na L1i cache za naredbe u L1d cache za podatke.
 L2 cache je veličine od 256 KB do 1 MB.
 • L3 cache je veličine od 1 MB do 16 MB.

5. Kako se računaju performanse računala i super računala

Performanse računala i super računala se obično mjere u FLOPS-u (Floating Point Operations Per Second). FLOPS je
mjera za brzinu izvođenja matematičkih operacija s pomičnim zarezom, koje su često korištene u znanstvenim i
inženjerskim računalnim aplikacijama.

Kada se radi o super računalima, performanse se obično mjere u PFLOPS-u (PetaFLOPS), što znači da sustav može izvesti
10¹⁵ matematičkih operacija s pomičnim zarezom u sekundi.

U svakom slučaju, važno je napomenuti da mjere performansi računala i super računala nisu jednostavne i ovise o
mnogim čimbenicima, poput vrste aplikacija koje se izvode, arhitekture sustava, veličine memorije i brzine prijenosa
podataka.

FLOPS = cores * (cycles/second) * (FLOPs/cycle)

6. Objasnite pojmove: compiler, linker, assembler, disasembler

 Compiler je računalni program koji prevodi računalni program napisan u jednom programskom jeziku (izvorni jezik)
na drugi jezik (ciljni jezik). Kompajler prevodi viši programski jezik u izvršni program. Dekompajler prevodi s jezika
niže razine u jezik više razine.
 Povezivač (Linker) povezuje programe računalnog sustava koji uzima jednu ili više objektnih datoteka, generiranih
od strane prevoditelja ili asemblera, i kombinira ih u jednu izvršnu datoteku, datoteku knjižnice ili drugu "objektnu"
datoteku. Dinamičko povezivanje – izvršne datoteke (.exe) dohvaćaju jednu biblioteku (.lib) spremljenu na jednom
mjestu. Statičko povezivanje – izvršna datoteka (.exe) sadrži potrebne biblioteke u sebi.
 Asembler prevodi čovjeku razumljiv niz riječima pisanih naredbi u jedinstveni računalu razumljiv numerički zapis ili
strojni program. Ekstenzija datoteke koju stvara asembler je ".hex” i sadrži heksadekadski zapis strojnog programa.
Asembler koristi konstante za dodjeljivanje vrijednosti registrima te koristi labele za preračunavanje memorijskih
adresa za obavljanje poziva, povrata i skokova u programu. Korištenje simboličnih referenci, kao što su konstante i
labele, štedi se na izračunima i ručnom ažuriranju adresa nakon izmjena u programu.
 Disasembler je alat koji prevodi binarni kod u asemblerski kod.

7. Opišite osnovne arhitekture, odnosno modele računala

 Von Neuman arhitektura računala – zajednička sabirnica za programsku memoriju i memoriju za podatke dovodi
do ograničene brzine prijenosa podataka između CPU i memorije. Sabirnica može istodobno pristupiti samo jednoj
od dva dijela memorije. Protok je niži od brzine kojom CPU može raditi. Ograničava učinkovitu brzinu obrade
jednostavnih izračuna za velike količine podataka. CPU je neprestano prisiljen čekati potrebne podatke za
premještanje u ili iz memorije.
 Harward arhitektura računala – odvojena sabirnica između programske memorije i memorije za podatke. CPU
može istovremeno čitati naredbu te obavljati čitanje ili pisanje. Odvojene podatkovne i adresne sabirnice za
podatke i za naredbe su potpuno neovisne te imaju različit broj linija. Uobičajeno je podatkovna I adresna sabirnica
veća kod memorije za podatke, a manja kod memorije za naredbe.
 Modificirana Harward arhitektura - Modificirana Harvard arhitektura ublažava strogu odvojenost između naredbi i
podataka. CPU može istovremeno pristupiti dvama (ili više) memorijskim sabirnicama. Svaka memorija ima
zasebne cache (predmemorije) te sve zajedno dijele jedan zajednički adresni prostor. Ponekad se naziva i
harvardskom, premda je zapravo “modificirana”. Kada CPU izvršava naredbe iz cache memorije za naredbe, ponaša
se poput Harward stroja, a kada direktno pristupa glavoj memoriji, ponaša se poput von Neumannovog stroja.
Modificirana Harward arhitektura omogućuje CPU pristup memoriji za naredbe (poput ROM ili Flash memorije)
kako bi se zapisi u memoriji za naredbe mogli tretirati kao podaci za čitanje. Omogućuje pristup konstantnim
podacima, poput tekstualnih nizova ili funkcionalnih look-up tablica bez prethodnog kopiranja. Ova se tehnika
koristi u mikroupravljačima, uključujući Atmel AVR, Power ISA i x86.

8. Objasnite rad cjevovoda (pipline) u RISC arhitekturi mikroprocesora

1. Učitavanje instrukcije – ova instrukcija se kopira u početni stadij cjevovoda.


2. Dekodiranje instrukcije – instrukcija se dekodira i prepoznaju se njezini operandi i operacije.
3. Izvršavanje operacija – nakon što se instrukcija dekodira, sljedeći stadiji cjevovoda obavljaju potrebne operacije, kao
što su računanje, čitanje i pisanje podataka iz i u memoriju.
4. Zapisivanje rezultata – posljednji stadij cjevovoda zapisuje rezultate operacija u registre ili u memoriju.
9. Skicirajte hijerarhijsku podjelu vrsta memorija u računalo prema protočnosti, odnosno brzinama prijenosa
10. Što je priručna cache memorija, koje su njene razine i zašto se koriste

 Cache memorija je tip brze privremene memorije koja se koristi za čuvanje nedavno korištenih podataka i
instrukcija. Koriste se za ubrzavanje računalnog sustava tako što smanjuju broj potrebnih pristupa glavnoj
memoriji. Cache može služiti kao dodatni veliki skup registara. Podaci se kopiraju u cache memoriju unaprijed, prije
nego se koriste.
 Postoje tri razine cache memorije u većini računala:
 L1 je najmanja i najbrža memorija, a smještena je najbliže procesoru. Tipična veličina L1 cache memorije je od 2
KB do 256 KB.
 L2 je nešto sporija od L1 cache-a, ali još uvijek brža od glavne memorije računala. L2 cache je veličine od 256 KB
do 1 MB.
 L3 se nalazi izvan mikroprocesora i koristi se za čuvanje podataka koji se koriste manje često. To je najsporiji
cache u računalu. L3 cache je veličine od 1 MB do 16 MB.

11. Što su cache miss i cashe hit te koji su uzroci njihovog pojavljivanja

 Cache hit se događa kada mikroprocesor traži podatak ili instrukciju koji se već nalaze u cache memoriji. To
omogućuje brzi pristup podacima i instrukcijama, što rezultira bržom obradom i većim performansama računala.
 Cache miss se događa kada mikroprocesor traži podatak ili instrukciju koji se ne nalaze u cache memoriji. To znači
da se moraju učitati iz glavne memorije, što zahtijeva više vremena. Uzroci cache miss-a uključuju: premalo
prostora u cache memoriji, nepravilan algoritam za smještaj podataka u cache, prekomjerna upotreba cache
memorije
 Latencija ~ duljina cijevi; Latencija je vrijeme potrebno za čitanje/pisanje podatka, npr. 1 ns
 Propusnost ~ širina cijevi (Bandwidth); Propusnost je količina podataka u jedinici vremena, npr. TB/s

12. Objasnite načine rada s memorijom u prisustvu cache priručne memorije

 Write through (WT) – Podatak se zapisuje u cache i u glavnu memoriju. Ova metoda osigurava da su podaci uvijek
točni, ali može dovesti do usporenja u radu jer svaka izmjena podataka zahtijeva dva operacijska koraka.
 Write back (WB) – Podatak se zapisuje samo u blok cache memorije. Blok cache memorije se zapisuje u glavnu
memoriju kada ga se treba zamijeniti s novim blokom iz glavne memorije.
 Latencija ~ duljina cijevi; Latencija je vrijeme potrebno za čitanje/pisanje podatka, npr. 1 ns
 Propusnost ~ širina cijevi (Bandwidth); Propusnost je količina podataka u jedinici vremena, npr. TB/s
 Osnovni razlog uvođenja cache memorije je da se poveća propusnost, tj. da se u ubrza rad cijelog računala.

13. Objasnite razlike između SRAM i DRAM memorije te navedite najčešće primjene pojedine vrste memorije

 SRAM (Static random access memory) – sastoji od flip-flop čvorova koji ne zahtijevaju ponovno punjenje kako bi
zadržali podatke, brži, skuplji i potrošniji. Zbog ovih razloga, SRAM se obično koristi u aplikacijama gdje je potreban
brzi pristup podacima, poput cache-a u procesoru.
 DRAM (Dynamic random access memory) – se sastoji od elektrolitskih kondenzatora koji moraju biti redovito
punjeni kako bi zadržali podatke, sporiji, jeftiniji, češće koristi u aplikacijama gdje je potrebna velika kapacitet
pohrane, poput radne memorije računala ili glavne memorije mobilnih uređaja.
 Glavne razlike između SRAM i DRAM su brzina, gustoća pohrane, pouzdanost i cijena. SRAM je brža, pouzdanija i
skuplja jer je teže proizvesti memoriju sa 6 puta više tranzistora od DRAM-a, ali ima manju gustoću pohrane. DRAM
je sporija, manje pouzdana i jeftinija od SRAM-a, ali ima veću gustoću pohrane.
 Ukratko, SRAM se obično koristi za brzi cache memoriju, dok se DRAM koristi za glavnu memoriju računala i
mobilnih uređaja, gdje je potrebna veća gustoća pohrane.

  SRAM  DRAM
 Brzina  Brža  Sporija
 Veličina  Velika  Mala
 Cijena  Skupo  Jeftino
 Korištenje  Cache memorija  Glavna memorija
 Arhitektura  Složenija  Jednostavna
 Potrošnja struje  Mala  Velika

14. Navedite vrste i načine rada vanjskih memorija

Postoje tri glavne vrste vanjskih memorija:Vrste vanjskih memorija su:

Magnetski

 Hard disk - kruti magnetski disk koji trajno pohranjuje podatke. Podaci se zapisuju na ploče pomicanjem magnetske
glave preko ploča dok se okreću. Podaci pohranjeni na tvrdom disku računala općenito uključuju operativni sustav,
instalirani software te korisničke datoteke i programe.RAM (Random Access Memory) – omogućava brzo čitanje i
pisanje podataka

Solid State

 ROM (Read-Only Memory) – omogućava samo čitanje podataka, ne omogućavajući pisanjeSolid-state Drive - trajni
medij za pohranu koji se koristi za držanje i pristup podacima. Za razliku od tvrdog diska nema pokretnih
komponenti.
 Flash memorija – omogućujući čitanje i pisanje podataka, kao i čuvanje podataka nakon isključenja napajanja.USB
Stick - kompaktni sekundarni uređaj za pohranu. Nema pokretnih dijelova; sastoji se od memorijskog čipa
integriranog kruga koji pohranjuje podatke.

Optički

 Compact Disk(CD) – sekundarni uređaj, izrađen od polikarbonatne plastike. Koristi se za razne svrhe poput
pohranjivanja dokumenata, audio datoteka, videa i drugih podataka
 DVD – skraćenica za digitalni video disk. Iako je iste veličine kao CD, njegov kapacitet pohrane je puno veći od CD-a.

15. Navedite osnovne karakteristike PicoBlaze mikroprocesora

• 8-bitni RISC soft-processor definiran u VHDL primitivima za implementaciju isključivo na Xilinx FPGA
Harward arhitektura (memorija za naredbe odvojena od memorije za podatke i nema cache memoriju)
• 8-bitni registri, 16 registara: s0, s1, s1, … s9, sA, …, sF , postoje 2 banke po 16 registara i samo jedna je aktivna
18-bitne naredbe, • posebna memorija (Harward arh.) veličine 1K, 2K ili 4K (podesivo u VHDL-u) 18-bitne naredbe
• 8-bitna podatkovna sabirnica
• 8-bitna adresna sabirnica

• Svaka naredba se izvršava u dva 2 signala takta (ciklusa)


• Nema priručnu (cache) memoriju za naredbe
Nema cjevovod (pipeline) za naredbe
ima priručnu memoriju za podatke (VHDL opisana memorija, nije prava cache jer je soft procesor)

• Nema cjevod za naredbe


Nekoliko ključnih karakteristika PicoBlaze mikroprocesora su: veličina, jednostavnost, niska potrošnja energije,
visoka brzina rada, ima funkcije sigurnosti koje pomažu u sprječavanju neovlaštenog pristupa i štite podatke,
podržava više periferijskih uređaja, što ga čini prikladnim za upotrebu u širokom rasponu aplikacija.

16. Skicirajte blokovsku shemu PicoBlaze mikroprocesora i opišite njegove dijelove


17. Navedite razlike između PicoBlaze i MicroBlaze procesora

PicoBlaze MicroBlaze
8-bitni RISC soft-procesor 32-bitni RISC soft- procesor
8-bitni registri, 16 registara 32-bitni registri, 32 registra
18-bitne naredbe 32-bitne naredbe
8-bitna adresna sabirnica 32-bitna adresna sabirnica(podesiva na 64-bita)
Nema cache memoriju Cache memorija L1d i L2i
Nema cjevovod za naredbe Cjevovod jedan-širinski s 5 stupnjeva(podesiv na 8)
Harward arhitektura Harward arhitektura

PicoBlaze MicroBlaze
Manji i jednostavniji, namijenjen za jednostavnije aplikacije Više instrukcija, namijenjen za složenije aplikacije
Manja brzina rada Veća brzina rada
Manje memorije i manji raspon adresa Više memorije, veći raspon adresa
Može biti korišten kao samostalni procesor ili dio FPGA Može biti lako integriran u FPGA

18. Navedite razlike između PicoBlaze i Z80 procesora

PicoBlaze Z80
8-bitni RISC soft-procesor 8-bitni CISC procesor
8-bitni registri, 16 registara 8-bitni registri, 14 registara
18-bitne naredbe 16-bitne naredbe
8-bitna adresna sabirnica 16-bitna adresna sabirnica
Nema cache memoriju Ima cache memoriju
Nema cjevovod za naredbe Ima cjevovod
Harward arhitektura Hardward

Koriste registre posebne namjene, kao Što je Akumulator i ALU. Z80 ima 4-bitni ALU registar.

19. Navedite razlike između RISC i CISC mikroprocesora

RISC CISC
• Prosječna propusnost je 1 naredba po taktu. • Hardverski puno složeniji, s ciljem da bi program imao
• Naredbe fiksne duljine zapisa radi lakšeg dekodiranja. što je moguće manje manje linija.
• RISC pipeline uvodi prazno mjesto nakon naredbi za • Naredbe ne traju jednak broj taktova te je složeniji
grananje pipeline.
• Svi registri opće namjene se koriste za izvor/odredište • Naredbe različite duljine zapisa te je složenije
• Manje tipova podataka u hardveru (nema byte dekodiranje.
stringova, BCD, …) • Koriste se registri posebne nemjene, kao što je
akumulator.

20. Koje su razlike između mikroprocesora i mikroupravljača


Mikroprocesori i mikroupravljači su dva različita tipa računalnih čipova koji se koriste u različitim uređajima.
Mikroprocesori su obično više funkcionalni i sposobniji za obavljanje složenijih funkcija, dok su mikroupravljači
jednostavniji i manji te se koriste za upravljanje jednostavnijim funkcijama unutar uređaja.

Mikroprocesor Mikroupravljač
1 Djeluje kao srce računalnog sustava Djeluje kao srce ugrađenog sustava
2 To je procesor u kojem je memorija i I/O To je upravljački uređaj u kojem su interno prisutne
komponenta spojena eksterno memorije i I/O komponenta

3 Ne može se koristiti u kompaktnom sustavu. Stoga Može se koristiti u kompaktnom sustavu, stoga je
je neučinkovit. učinkovitiji
4 Ima manji broj registara, pa se zato većina operacija Ima veći broj registara
temelji na memoriji
5 Ima zastavu nultog statusa Nema nultu zastavicu
6 Većinom se koristi u osobnim računalima Većinom se koristiti u perilicama rublja, klimama…
Na primjer Raspberry Pi 4 ima maksimalnu mogućnost 8 GB RAM-a, dok je u današnjim standardima 8 GB RAM-a
minimum.

21. Što su to registri i koje su njihove tipične karakteristike

 Registri su mala memorijska mjesta unutar upravljačke jedinice CU, to su D bistabili. Nnajmanja i najbrža su vrsta
memorije u računalu, jer su najbliži procesoru. Latencija je reda veličine nekoliko [ns] ili manje. Registar može imati
jednu vrijednost u određenom trenutku, omogućuju brzo čitanje i pisanje podataka. Ako je registar 8- bitan, onda
ima 8 bistabila. Veličina registra je u modernim računalima je uobičajeno 64-bita. Prema namjeni registri se dijele
na registre opće namjene i registre posebne namjene, kao što su PC (program counter), IR (instruction register) i A
(akumulator).
 Registri obično imaju sljedeće karakteristike: vrlo mali u usporedbi s vanjskom memorijom, obično su vrlo brzi,
podaci u registrima se obično ne brišu kada se napusti program, osim ako ih program ne promijeni, mogu koristiti
za razne funkcije, uključujući pohranu privremenih podataka, adresa, zastavica…, pojednostavljuju proces
izvršavanja programa i omogućuju procesoru da brže i efikasnije obavlja svoje funkcije

22. Što su registri posebne namjene i koje su njihove primjene

 Registri posebne namjene su specijalizirani registri koji se koriste za određene funkcije u mikroprocesoru. Oni su
dizajnirani za brzo i efikasno rješavanje specifičnih zadataka u procesoru.
 Neki primjeri registara posebne namjene su:
1. PC (program counter) – sadrži memorijsku adresu slijedeće naredbe koju CU treba dohvatiti i izvesti. Naredbe su
u memoriji pohranjene redom jedna iza druge.
2. SP (Stack Pointer) – sadrži adresu vrha stoga, koji se koristi za pohranu privremenih podataka i lokacije povratka iz
podprograma.
3. MAR (memory address register) – sadrži adresu slijedeće naredbe koju treba dohvatiti iz memorije. Adresa se
kopira iz PC u MAR.
4. MDR (memory data register) – sadrži kopiju naredbe koja se treba dekodirati i izvesti.
5. IR (instruction register) – sadrži trenutnu naredbu koju procesor izvršava. Uz naredbe koje se izvršavaju moraju
postojati podaci nad kojima se izvodi operacija. IR ne sadrži podatatke, već samo glavni dio naredbe.
6. A (accumulator) – smješten unutar ALU, sprema rezultat izvršene ALU naredbe. Kod izvođenja ALU naredbi, A
registar ili akumulator je uvijek jedan od operanada matematičkih i logičkih funkcija. U A registar se sprema
rezultat izvršene ALU naredbe.

23. Nabrojite osnovne kombinacijske i sekvencijalne sklopove i opišite njihovu primjenu na registre, zastavice i ALU

 Kombinacijski sklopovi – stanja na ulazima definiraju stanje na izlazu; multiplekser/demultiplekser, koder/dekoder,


zbrajalo/oduzimalo/, komparator. Proučite poveznice na svaki od navedenih sklopova.i

 Sekvencijalni sklopovi – stanja na ulazima i prethodna stanja definiraju stanja na izlazima; bistabili: SR, JK, T, D,
registri sa serijskim/paralelnim čitanjem/pisanjem, brojila
 Npr. sekvencijalni sklop može biti korišten u registru kako bi se upamtilo prošlo stanje i koristilo za obradu
podataka u budućnosti. Zastavice se također mogu koristiti sa sekvencijalnim sklopom za pamćenje prošlog stanja i
za kontrolu rada mikroprocesora. ALU može koristiti sekvencijalne sklopove za izvršavanje aritmetičkih i logičkih
operacija, kao što su zbrajanje i množenje, koristeći prošla stanja za generiranje izlaznih signala.
Za registre se koriste D-bistabili (sekvencijalni sklopovi). Registar ima N bistabila za N-bitni procesor, primjerice 8-
bitni procesori imaju 8-bitne registre, od kojih svaki ima po 8 bistabila. Drugim riječima, svaki bistabil se koristi za
jedan bit registra.

Za zastavice se koriste kombinacijski sklopovi. Zero zastavica se postavlja u 1 ako su svi bitovi registra rezultata ALU
operacije postavljeni u 0, odnosno ako je rezultat FALSE. Zastavica se postavlja u 0 ako je barem jedan bit u registru
rezultata AU operacije različit od 0, odnosno ako je rezultat TRUE.

ALU koristi i kombinacijske i sekvencijalne sklopove da bi izvršio razne operacije: ADD, ADDCY, COMPARE, SUB,
SUBCY, TEST, AND, OR, XOR, SL0, SL1, SLA, SR0, SR1, SRA, RL, RR.

24. Koja je uloga dekodera i multipleksera u radu mikroprocesora

Dekoder i multiplekser su ključne komponente u radu mikroprocesora, osiguravaju njegovu učinkovitost i brzinu.

 Dekoder se koristi za dekodiranje naredbe iz memorije za naredbe. – Koristi se za raspoznavanje i tumačenje


instrukcija koje se nalaze u memoriji za naredbe, dekodira instrukciju i prosljeđuje informacije o tome što treba
raditi daljnjim komponentama mikroprocesora.Naredbe se dohvaćaju i proslijeđuju u registar za naredbe
(Instruction register) koji se dovodi na dekoder. Dekodiranjem se aktivira jedan od više (proporcionalno broju
naredbi procesora) sklopova kojie je namjenjen za izvođenje samo jedne naredbe. Svaka naredba ima svoj vlastiti
digitalni sklop koji izvodi jednu specifičnu naredbu.

 Multiplekser Jedan od primjera korištenja multipleksera je – Koristi se za odabir između više izvora podataka i za
prosljeđivanje odabranog izvora daljnjim komponentama mikroprocesora, omogućuje mikroprocesoru da radi s
više podataka istovremeno, što dovodi do bržeg rada mikroprocesoraza slanje podatka iz CPU registra na periferni
uređaj, od kojih svaki periferni uređaj ima jedinstvenu adresu PORT_ID. Primjer naredbe: OUTPUT s0, LED1_PORT.
Jedinstveni ID porta odabire na koji se periferni sklop proslijeđuje ulazni podatak iz registra.

 Npr. dekoder dešifrira instrukciju i određuje što se treba izvršiti, dok multiplekser određuje koje podatke treba
koristiti za izvršenje instrukcije.

25. Što je to sabirnica i koje se vrste sabirnica nalaze u mikroprocesoru

 Sabirnica (bus) je podskup unutar računala ili neke druge elektroničke opreme koja kroz jedan dogovoreni
standard omogućava usmjeravanje podataka i upravljačkih signala između: integriranih krugova kao na
primjer CPU i memorije, ostalih uređaja koje sačinjavaju računalo, podskupova unutar računala, ili između
međuspojnica koje dozvoljavaju spajanje računala s vanjskim svijetom.
 Postoje dvije vrste sabirnica u mikroprocesoru:
1. Jednostavna sabirnica – Koristi se za jednostavne operacije poput zbrajanja i oduzimanja.
2. Višekanalna sabirnica – Koristi se za složene operacije poput množenja i dijeljenja.
Po načinu prijenosa podataka i kontrolnih signala sabirnice se dijele na:

 serijske - na primjer USB, Firewire


 paralelne - AGP, PCI
 miješane - HyperTransport, InfiniBand, PCIe

26. Objasnite ulogu zastavica u mikroprocesoru te navedite koje koristi PicoBlaze mikroprocesor

Grananje programa obavlja se pomoću zastavica i naredbe oduzimanja

 Zero (Z) – provjera jednakosti i određivanje je li rezultat 0


 Carry (C) – provjera je li došlo do prekoračenja

 Interrupt
 IE – Interrupt enable flag – zastavica u koju se upisuje jeli omogućen ili onemogućen interrupt poziv programa

27. Napišite program za izvršavanje 16-bitne operacije sa 8-bitnim mikroprocesorom

Neka je u s0 niži bajt i u s1 viši bajt prvog 16-bitnog podatka. Neka je u s2 i s3 niži i višđi bajt drugog 16-bitnog podatka.

ADD s0, s2 ; s0=s0+s2


ADDCY s1, s3 ; s1=s1+s3+Carry
Nakon izvođenja naredbi, s0 je niži bajt i s1 je viši bajt 16-bitne sume dva 16-bitna broja. Oba 16-bitna operanda su
zapisana pomoću dva 8-bitna registra te je iskorišteno ukupno 4 registra. Registri s0 i s1 su ujedno i registri u koje je
spremljen rezultat 16-bitnog zbrajanja.

28. Napišite tri programa za: postavljanje, poništavanje i mijenjanje zastavica


Zastavice Zero i Carry nije moguće postaviti direktno kao što je to moguće postaviti registre na određenu vrijednost. Zastavice
se postavljaju izvođenjem naredbi koji koriste ALU (engl. Aritmetic Logic Unit). Za postavljanje zastavica koristeimo se
operacije naredbe poput compare,test,subCOMPARE, SUB, ADD, AND, TEST, SL0, SR0, RL, RR .... Zastavica Zastavice su
Z i C, Zero i Carry. Zero je postavljena na 1 ukoliko je rezultat neke operacije jednak 0, takoder se koristi za usporedivanje,
ukoliko su stvari koje se usporeduju iste tada je Z=1. Zastavica Carry postaje jedan 1 kada imamo se dogodio preliv (engl.
overflowOverflow, ). Kod operacije oduzimanja, zastavica C se koristi za provjeru jeli rezultat operacije oduzimanja < 0 ili >=
0. koristi se da se usporede 2 broja, ukolikoAko je prvi broj manji od drugog tada je C=1, i ukoliko ako je veci veći ili jednak
C=0. NZ je samo negacija Z, NC je samo negacija C. Za postavljanje Z i C koristimo ALU i osnovne operacije.

Primjer koda:
LOAD LOAD sA, 01
LOAD LOAD sB, 01
COMPARE COMPARE sA, sB Z=1 (rezultat je 0 jer su isti su), C=0 (sA nije manje od sB)

LOAD LOAD sA, 01


LOAD LOAD sB, 03
COMPARE sA, sB Z=0 (rezultat je različit od 0, nisu isti), C=1 (sA je manje od sB)

LOAD LOAD sA, 255’d


LOAD LOAD sB, 01
ADD ADD sA, sB Z=1(rezultat rez je 0), C=1 (overflow)

LOAD LOAD sA, 01


LOAD LOAD sB, 01
ADD ADD sA, sB Z=0, C=0

29. Objasnite povezanost naredbi CALL i RETURN s registrom PC te memorijom za naredbe

 Naredbe CALL i RETURN se koriste za pozivanje podprograma i povratak iz podprograma u mikrokontrolerima i


računalima. Naredba CALL stavlja adresu sljedeće naredbe PC (Program Counter) u na vrh stoga (stackProgram
Counter Stack) i preusmjerava postavlja registar PC na novu adresu podprograma. Kada se podprogram izvrši,
naredba RETURN će dohvatiti adresu sljedeće naredbe iz stoga (Program Counter Stack) i preusmjeriti postaviti
registar PC na tu adresu, . Ttako da se nastavlja izvršavanje programa odmah nakon mjesta gdje je pozvan
podprogram, odnosno na slijedeću naredbu nakon CALL.
 Memorija za naredbe se koristi za pohranjivanje naredbi koje će se kasnije izvršiti.
30. Napišite if-else i switch case primjere programa za PicoBlaze asembler

31. Napišite do-while i while primjere programa za PicoBlaze asembler

32. Napišite asemblerske funkcije za množenje i dijeljenje te navedite uloge registara


Registar služi za čuvanje informacija koje su potrebne procesu tokom izvršavanja programa

Glavne funkcije registara uključuju:


Pohranjivanje podataka: Registri se koriste za privremeno pohranjivanje podataka potrebnih za trenutno izvršavanje
naredbe.
Pohranjivanje adresa: Registri se također koriste za pohranjivanje adresa u memoriji na kojima se nalaze podaci ili
naredbe koje trebaju biti izvršene.
Zatim korištenje u operacijama te pohranjivanje rezultata.Za množenje: SA=SB*SC

Za dijeljenje: SB=SD/SE SA=ostatak nakon cjelobrojnog dijeljenja


33. Napišite asemblersku funkciju za dekadski prikaz broja 0-99 na HEX pokazniku

Prikaz broja na HEX pokazniku je u heksadekadskom zapisu. Da bi se zapisao broj u dekadskom zapisu potrebno je
koristiti dva HEX pokaznika. Broj je potrebno rastaviti na dvije znamenke, jedinice i desetice.

ADDRESS 000
START: INPUT S0, SW1_PORT
LOAD SD, S0
LOAD SE, 0A ;10'd
CALL DIJELI
OUTPUT SB, HEX1_PORT
OUTPUT SA, HEX2_PORT
JUMP START

34. Što su predprocesorske naredbe i navedite koje se koriste za PicoBlaze asembler

U PicoBlaze asembleru, neke od korištenih predprocesorskihe naredbie su: NAMEREG, CONSTANT, ADDRESS,
Labele.

Predprocesorske naredbe se ne izvode na ciljanom PicoBlaze procesoru za koji se piše program, već se izvode na PC
računalu na kojem se piše program. Predprocesorske naredbe se u posebne naredbe koje koristimo kada se pozivaju
biblioteke ili nešto što se koristiti u programu. One su korišsteene za definiranje simboličkih imena, što omogućuje
programeru lakši pristup i preglednost koda.

 LABELE
Svaka naredba ima svoju adresu u memoriji. Dodavanjem novih naredbi na početku programa, mijenjaju se adrese
naredbi na kraju programa. Labele olakšavaju pisanje programa jer se pomoću njih prati adresa naredbe. Kada
labele ne bi postojale, morali bi ručno upisivati adrese naredbi za skok ili pozi funkcije (JUMP, CALL), a te se adrese
mijenjaju kako se mijenja program, što bi otežalo pisanje programa.
 ADDRESS
Predprocesorska naredba ADDRESS definira početnu adresu u memoriji za naredbe od koje se redom zapisuju
naredbe programa koje slijede nakon ADDRESS. Sama naredba ADDRESS nema strojni zapis i ne zauzima mjesto u
memoriji računala, jer je to predprocesorska naredba.
 CONSTANT
Predprocesorska naredba CONSTANT omogućuje definiranje vrijednosti konstante na jednom mjestu te njenu
primjenu u programu na više mjesta. Kada ne bi bilo ove naredbe, mijenjanje vrijednosti konstante bi se trebalo
izmjeniti na svim mjestima u programu gdje se određena konstanta koristi.
 NAMEREG
Predprocesorska naredba NAMEREG služi za definiranje drugog imena registra. Npr.: NAMEREG s9, uartReg
definira da se registar s9 poistovjećuje s nazivom uartReg te se uartReg koristi kao naziv umjesto naziva s9.

 U PicoBlaze asembleru, neke od korištenih predprocesorskih naredbi su: CONSTANT, ADDRESS, Labele

35. Objasnite interrupt način rada na primjeru PicoBlaze mikroprocesora

 Interrupt je hardversko pozivanje programa.


 Na stisak tipkala poziva se prioritetni interrupt program, pri čemu se pauzira izvođenje glavnog programa.
 PicoBlaze interrupt program je na zadnjoj adresi u memoriji 7FF = 2047'd. 7FF je ujedno i zadnja adresa u memoriji
na koju stane samo jedna naredba za skok JUMP ISR.
 Interrupt korisi IE zastavicu, koja se podešava naredbama ENABLE INTERRUPT i DISABLE INTERRUPT.
 Iz interrupt programa vraća se naredbom RETURNI ENABLE (uz omogućen poziv interrupta) ili RETURNI DISABLE (uz
onemogućen poziv interrupt-a).

36. Navedite načine upravljanja registrom primjenom bitwise logičkih operacija

 Bitwise logičke operacije su operacije koje se izvode na pojedinačnim bitovima unutar bajta (8 bita) podataka. One
se koriste za manipulaciju bitova u registrima mikroprocesora.
 Neki od načina upravljanja registrom primjenom bitwise logičkih operacija su:
 AND – Funkcija AND koristi se za poništavanje bita. AND sX, sY; sX = sX & sY; sprema rezultat sX & sY u sX, utječe
na Z i Crezultira novom vrijednosti koji sadrži zajedničke bitove u oba registra.
 OR – Funkcija OR se koristi za postavljanje bita u 1. OR sX, sY; sX = sX | sY; sprema rezultat sX | sY u sX, utječe na
Z i Crezultira novom vrijednosti koji sadrži sve bitove koji su jedan u bilo kojem od registara.
 XOR – mijenja registar tako da sve bitove pretvara u 1
 XOR - Funkcija XOR se koristi za promjenu je li bit postavljen. XOR sX, sY; sX = sX ^ sY; sprema rezultat sX ^ sY u
sX, utječe na Z i CNOT – mijenja trenutni registar tako da sve 0 pretvori u 1, a sve 1 u 0, tj. negira vrijednost
 SHIFT – mijenja položaj bitova u registru
 ROTATE – premješta sve bitove u registru u kružnom smjeru, bilo ulijevo ili udesno.

37. Objasnite ASCII tablicu te načine prepoznavanja i pretvorbi za brojeve, mala i velika slova

 ASCII tablica se sastoji od 128 znakova koji su kodirani u 7 bita. Često se koristi u komunikacijskim protokolima,
programiranju i kodiranju teksta. To omogućava kompatibilnost između različitih računala i operacijskih sustava.
 Načini prepoznavanja i pretvorbi za brojeve, mala i velika slova uključuju sljedeće:
Posebni znakovi (Tab '\t', NewLine '\n', CarridgeReturn '\r')su kodirani u rasponu od 0 do 31.
 Brojevi su kodirani u rasponu od 48 do 57.
 Mala slova su kodirana u rasponu od 97 do 122
 Velika slova su kodirana u rasponu od 65 do 90
 Za pretvaranje ASCII koda u znak potrebno je koristiti funkciju za konverziju, poput funkcije chr() u Pythonu.
 Za pretvaranje znaka u ASCII kod potrebno je koristiti funkciju za konverziju, poput funkcije ord() u Pythonu.

38. Opišite rad UART serijskog protokola, skicirajte stanje Tx linije za slanje nekog ASCII znaka START DATA STOP

 U radu UART protokola, niz binarnih podataka se prenosi serijski, što znači da se jedan bit podataka prenosi za
vrijeme jednog ciklusa rada. Kada se želi poslati neki ASCII znak, točnije binarno kodiranje tog znaka, on se najprije
kodira u niz od 8 bita, a zatim se poslati serijski putem Tx linije. U radu Tx linije, slanje znaka započinje zamjenom
stanja logičke 0 u stanje logičke 1, što označava početak prijema novog znaka. Nakon toga, slijede 8 bita binarnog
kodiranja znaka koje se prenose serijski jedan za drugim. Bitovi se šalju prema kraju reda, tj. od najvišeg bita do
najnižeg bita. Nakon što se posljednji bit poslao, Tx linija završava prenos tako što mijenja stanje s logičke 1 u
logičku 0, što označava kraj prijema. START bit traje 1.5 duljine bita, zatim idu bitovi od D0 do D7, te se sve
završava sa STOP bitom. Prije STOP bita može biti paritetni bit, ali on nije obvezan.
39. Opišite rad 1-Wire serijskog protokola

 1-Wire serijski protokol je jednosmjerni serijski protokol koji se koristi za komunikaciju s različitim uređajima, kao
što su npr. mikrokontroleri.
 Rad 1-Wire protokola se temelji na korištenju jednog vodova za komunikaciju i jedne kontrolne linije koja
omogućava jednostranu komunikaciju. Na početku komunikacije, mikrokontroler šalje reset signale preko vodova.
Ako uređaj reagira na reset signale, mikrokontroler može početi s komunikacijom s uređajem.
 1-Wire protokol koristi kombinaciju "0" i "1" za komunikaciju između uređaja i mikrokontrolera. Također koristi
više nivoa brzine, što omogućava prilagodljivost protokola prema specifičnim potrebama uređaja.

40. Opišite rad I2C (TwoWire) serijskog protokola, objasnite pojmove open-drain i pull-up otpornik

 I2C (Inter-Integrated Circuit) je serijski protokol koji se često koristi u mikrokontrolerskim aplikacijama za
komunikaciju između više uređaja na jednoj žici. U I2C protokolu, uređaji se adresiraju na bazi jedinstvene 7-bitne
adrese, a više uređaja može biti povezano na jednoj žici. R treba biti takav da I=VCC/R bude dovoljan za rad. VCC
biramo neovisno od mikrokontrolera. R biramo ovisno o sink current svih uređaja.
 Open-drain način rada uključuje isključivanje ulaznog/izlaznog pinova mikrokontrolera na logičku nulu, dok se za
logičku jedinicu postavlja otpornik povlačenja na logičku jedinicu. To omogućava više uređaja da komuniciraju
putem jedne žice bez da dođe do konflikta ili kolizije. Korisnik bira napon rada senzora neovisno o mikroupravljaču.
 Pull-up otpornik je električni komponenta koji se koristi za održavanje logičke jedinice na liniji. To se često koristi u
I2C protokolu kako bi se osigurala logička jedinica na liniji kada nijedan uređaj ne želi komunicirati.

 Brzina je 100-400 kpbs.

41. Opišite rad SPI serijskog protokola PRIMJERI DIJAGRAMA SIGNALA

1. Master selekcija Slave-a – Master će aktivirati SS signal da selektira željeni slave.


2. Prijenos podataka – Nakon što je slave selektiran, master će početi sa prijenosom podataka putem MOSI signala, a
slave će primati podatke putem MISO signala.
3. Sinhronizacija – SCK signal služi za sinkronizaciju prijenosa podataka, i omogućava master-u i slave-u da razumiju
kada je vrijeme za primanje i slanje podataka.
4. Potvrda- Nakon što je cijeli podatak primljen, slave će poslati potvrdu master-u.
5. Konfiguracija – Master i slave se konfiguriraju na temelju svojih potreba, poput brzine prijenosa, režima rada itd.

42. Skicirajte el. shemu i opišite rad 4-bitnog digitalnog tipkala i mikroupravljača
Kada se 4-bitno digitalno tipkalo spaja s mikroupravljačem, tipkalo se povezuje s određenim ulazom na mikroupravljaču.
Kada se tipka pritisne, stanje na ulazu se promijeni s logičke visoke na logičku nisku razinu. Mikroupravljač koristi
programirani kod za čitanje stanja ulaza i provjeru stanja tipkala. Ukoliko se stanje tipkala promijeni, mikroupravljač
izvršava određene naredbe, koje su unaprijed definirane u programiranom kodu.

43. Skicirajte el. shemu i opišite rad 4-bitnog analognog tipkala i mikroupravljača

Kada se 4-bitno analogno tipkalo spaja s mikroupravljačem, tipkalo se povezuje s analognim ulazom na mikroupravljaču.
Mikroupravljač koristi ADC (Analog-to-Digital Converter) modul za konverziju analogne vrijednosti u digitalnu vrijednost.
Programirani kod mikroupravljača čita stanje na analognom ulazu i konvertira ga u digitalnu vrijednost. Nakon što se
dobije digitalna vrijednost, mikroupravljač može koristiti tu vrijednost za određene naredbe.

44. Skicirajte el. shemu i opišite upravljanje releja pomoću mikroupravljača


Elektromehanička sklopka. Induktivno trošilo ima diodu koja štiti tranzistor od prenapona

• Pinovi: N.O. – normally open

N.C. – Normally closed

C. – common

Kada se relej spaja s mikroupravljačem, relej se povezuje s izlaznim pinom na mikroupravljaču. Programirani kod
mikroupravljača čita stanje na izlaznom pinu i stavlja ga u logičku visoku ili nisku vrijednost.

Ako je logička vrijednost na izlaznom pinu postavljena na visoku, elektromagnet u releju se aktivira i električni kontakti
se zatvaraju. Ovo napaja uređaje koji su povezani na relej. Ako je logička vrijednost na izlaznom pinu postavljena na
nisku, elektromagnet se deaktivira i električni kontakti se otvore. To prekida napajanje povezanim uređajima.

45. Skicirajte el. shemu i opišite upravljanje DC motora pomoću mikroupravljača

Prilikom upravljanja DC motora pomoću mikroupravljača, motor se povezuje na dva izlazna pina na mikroupravljaču.
Programirani kod mikroupravljača čita stanje na tim izlaznim pinovima i upravlja smjerom i brzinom rotacije motora. Ako
su oba izlazna pina postavljena na nisku logičku vrijednost, motor se neće kretati. Ako su oba izlazna pina postavljena na
visoku logičku vrijednost, motor će se okretati jednim smjerom. Ako su jedan izlazni pin postavljen na visoku, a drugi na
nisku logičku vrijednost, motor će se okretati suprotnim smjerom. Zbog ograničenja struje mora se spojiti preko
tranzistora. Brzina rotacije motora se može regulirati korištenjem PWM.

46. Skicirajte el. shemu i opišite upravljanje RGB LED-icom pomoću mikroupravljača

Jedna LED-ica u sebi sadrži tri LED-ice. Razne boje imaju različitu najmanju vrijednost napona pri kojem dioda počinje
svijetlit. Upravljanje razine osvjetljenja pomoću PWM naponskog signala. Frekvencija signala je 500Hz.

DutyCycle = trajanje jedinice u odnosu na cijeli period.


D=Tw/T

analogWrite( pin , D);

47. Skicirajte el. shemu i opišite rad s pasivnim buzzerom pomoću mikroupravljača

Pasivni buzzer nema oscilirajući izvor, tako da neće zvoniti ako se koriste DC signali. Umjesto toga trebaju se koristiti
kvadratni valovi čija je frekvencija između 2k i 5k da bi buzzer radio.

48. Skicirajte el. shemu i opišite rad sa aktivnim buzzerom pomoću mikroupravljača

Rad sa aktivnim buzzerom pomoću mikroupravljača se sastoji od upravljanja naponom koji se primjenjuje na aktivni
buzzer kako bi se stvorio zvučni signal. Aktivni buzzer ima ugrađen oscilirajući izvor, tako da će proizvoditi zvukove kad je
naelektrizirano. Aktivni buzzer radi na principi HIGH/LOW, što znači da je f=const
49. Skicirajte el. shemu i opišite rad sa LDR senzorom pomoću mikroupravljača

Rad sa LDR (Light Dependent Resistor) - Promjenjiva vrijednost otpornika ovisno o razini
osvjetljenja. Otpornost se mijenja od 10k do 40k. Koristi se u spoju naponskog djelila.
Intenzitet osvjetljenja mjeri se na analognom pinu mikroupravljača. Osvjetljenje se mjeri u
intervalu [0, 1023].

int x = analogRead(A0); // 10-bit

Serial.print(A0);

50. Skicirajte el. shemu i opišite rad I2C RTC modula s mikroupravljačem
1. Spajanje modula na I2C interface na mikroupravljaču povezivanjem modula s SDA i SCL pinovima
2. Inicijalizacija interface na mikroupravljaču
3. Pisanje koda za čitanje i upis vremena i datuma u modul.
4. Korištenjem funkcija za čitanje i upis, mikroupravljač može čitati trenutno vrijeme i datum iz modula i upisivati
nova vremenska i datumska podatke u modul.

51. Skicirajte el. shemu i opišite upravljanje 7-segmentnog 4-digit pokaznika pomoću mikroupravljača

Mikroupravljač se povezuje s pokaznikom korištenjem digitnih izlaza, a prikaz brojeva se postiže tako što se koriste
različiti kombinacije izlaza kako bi se ispisali različiti brojevi na pokazniku. U jednom trenutku, jedan pokaznik svijetli.
Period promjene koji će od 4 pokaznika biti aktivan (svijetliti) iznosi 1 ms. To se postiže s 4 izlazna pina mikroupravljača.
Za prikaz znamenke na aktivnom pokazniku, 8 digitalnih izlaza koristi se za paljenje/gađenje pojedine LED-ice.

52. Skicirajte el. shemu i opišite upravljanje I2C LCD 16x2 pokaznika pomoću mikroupravljača
Za upravljanje I2C LCD-om, potrebno je uključiti biblioteku koja implementira I2C protokol i funkcije za rad s LCD-om.
Nakon toga, potrebno je inicijalizirati LCD i podesiti adresu I2C komunikacije.

53. Skicirajte el. shemu i opišite rad ultrazv. mjerača udaljenosti HC-SR04 s mikroupravljačem
 Ultrazvuk se šalje iz HC-SR04 modula, a vrijeme koje je potrebno da se odjekne i dođe nazad se mjeri pomoću
mikroupravljača.
 Mjerenje udaljenosti pomoću sljedećih koraka:
1. Inicijalizacija – postavljanje pinova koje će se koristiti za komunikaciju s HC-SR04 modulom.
2. Emitiranje impulsa – šalje se impuls za emitiranje ultrazvuka.
3. Mjerenje vremena – mikroupravljač počinje mjeriti vrijeme od trenutka emitiranja impulsa do momenta kada se
detektira odjek.
4. Izračun udaljenosti – na temelju vremena koje je prošlo, mikroupravljač izračunava udaljenost prema objektu
54. Skicirajte el. shemu i opišite rad DHT11 senzora temp./vlage s mikroupravljačem

Kada se mikroupravljač spaja s DHT11 senzorom, najprije inicijalizira komunikaciju. Zatim, mikroupravljač šalje zahtjev
DHT11 senzoru, a senzor odgovara šaljući 40-bitni podatak koji uključuje informacije o temperaturi i vlazi. Nakon što
mikroupravljač primi podatke, on ih obrađuje i pretvara u vrijednosti temperature i vlage.

55. Opišite Bounce efekt kod tipkala te objasnite kako se može implementirati Debounce

 Bounce – Kada se tipkalo pritisne, kontakti se sudaraju i kontakti se nekoliko puta preklope prije nego se potpuno
zatvore ili otvore. Ovo može rezultirati višestrukim "lažnim" signala-im kada se tipkalo pritisne ili otpusti, što može
dovesti do neželjene interakcije s uređajem.
 Debounce se može implementirati korištenjem vremenskog čekanja (čekanju određenog vremenskog razdoblja
nakon što se tipkalo pritisne ili otpusti), brojanja (brojanje signala u vremenskom periodu, ako pređe određeni broj
smatra se da je tipkalo pritisnuto ili otpušteno) ili flag-a (tehnika koja se temelji na postavljanju flag-a nakon što se
tipkalo pritisne ili otpusti)

 Debounce se može implementirati korištenjem RC-a, bistabila ili delaya.


Bistabil

Delay
RC

56. Opišite karakteristike ATmega328p mikroupravljača

ATmega328p je jedan od najpopularnijih mikroupravljača u industriji, koji se često koristi u projektima s Arduino
platformom. Ovo je 8-bitni mikroupravljač koji pruža visoku performansu, široku podršku za razne periferije i visoku
integraciju.
14 digitalnih I/O pinova
6 analognih ulaza
Micro USB programiranje i napajanje
Zaglavlje ISP-a
3 ugrađena Grove konektora za bolju izradu prototipova
3.3/5V prekidač za rad sustava

Nekoliko karakteristika ATmega328p: CPU: ATmega328P koristi radna voltaža: 1.8-5.5 V, 23 programibilne I/O
linije, 512/1K/1K/2K bajtova unutarnjeg SRAM-a, stupanj brzine – 0 - 4MHz@1.8 - 5.5V, 0 - 10MHz@2.7 - 5.5.V, 0 -
20MHz @ 4.5 - 5.5V, 32 x 8 registara opće namjene, radna temperatura: -40°C do 85°C Harvard arhitekturu arhitektura s
8-bitnom bitnim RISC procesorom koji radi na frekvenciji od 1 do 20 MHz. , Ulazi/Izlazi: ATmega328P ima 23
digitalna ulaza/izlaza, uključujući 6 8 analognih ulaza, 6 PWM (analognih) izlaza i 1 izlaz za kontrolu servo motora.,
Komunikacija: Mikrokontroler ima podršku za serijskei protokoleprotokoli, uključujući UART, I2C i SPI.
57. Opišite što je to PWM i zašto se koristi u mikroupravljačima

PWM (Pulse Width Modulation) je elektronička tehnika


kojom se kontrolira postavlja jačina električne
strujevrijednost napona na trošilu uz pomoć moduliranja
širine impulsa, može se koristiti za reguliranje brzine
motora, kontrolu jačine svjetla, regulaciju temperature i
drugih aplikacija gdje je potrebno precizno upravljanje
jačinom električne struje.

58. Što je to ADC i kako se koristi u mikroupravljaču ATmega328p

 ADC (Analog-to-Digital Converter) je elektronički uređaj koji pretvara analogni signal u digitalne signale.
 Korištenje ADC u ATmega328p zahtijeva programiranje, uključujući podešavanje ADC parametara. Nakon što se
postave odgovarajući parametri, ADC funkcija se poziva za mjerenje analogne razlike potencijala i dobivanje njene
vrijednosti u obliku digitalne vrijednosti. Analogni ulazi A0 do A7 su spojeni na Analog Digital Converter (ADC).

59. Što je to DAC i kako se koristi u mikroupravljaču ATmega328p

 DAC (Digital-to-Analog Converter) je elektronički uređaj koji pretvara digitalne signale u analogni signal.
 DAC se može koristiti za generiranje analognih signalaa-a koji su potrebni za razne aplikacije. U ATmega328p
analogni izlazi emuliraju pravi DAC pomoću PWM-a, tj. ne sadrži pravi DAC, već ima PWM. PWM je 8 bitni, što znači
da je u rasponu 0-255, a dutyCycle je u rasponu 0-100%. Mijenjanjem dutyCyclea mijenja se srednja vrijednost
signala (DAC).

60. Opišite razlike između interrupta na tipku i interrupta na vrijeme

Interrupt na tipku reagira na rastući brid na pinovima 2 ili 3je vanjski događaj. Kada pritisnemo tipku signal iz 0 skače na
1.
Interrurpt na vrijeme mjeri vrijeme brojanjem rastućih bridova signala taktove taktaCLK. Kada izmjeri zadani broj rising
edgeva, poziva se interrupt funkcija pali se interrrupt. Npr. ako je f= 16 MHz, onda je period jednak T=1/16 mikro
µssekundi.

Naredba koju koristimo kod arduina je :


Timer1.initialize(ms);

61. Opišite postupak izmjene informacija pomoću UART komunikacije s mikroupravljačem

UART(UNIVERSAL ASYNCHRONOUS RECEIVER-TRANSMITTER) je asinkrona


(nema CLK) serijska komunikacija u kojoj krajnje točke koje komuniciraju nisu
kontinuirano sinkronizirane zajednički signalom takta.

 Prvo se mora inicijalizirati UART modul na mikroupravljaču. To se obično čini postavljanjem brzine prijenosa
podataka, broja bitova podataka, paritet bita i broja zaustavnih bitova
 Konfiguracija pinova – UART koristi dva pinova za komunikaciju, jedan za prijem (RX) i jedan za slanje (TX).
Potrebno ih je konfigurirati kao ulazne ili izlazne, ovisno o potrebi.
 Prije slanja podataka, potrebno ih je pripremiti u format koji odgovara konfiguraciji UART-a.
 Nakon pripreme podataka, slanje se obavlja pozivanjem funkcije za slanje podataka putem UART-a.
 Da bi se primili podaci, potrebno je koristiti funkciju za čitanje podataka putem UART-a.
 Nakon što se primi cijeli niz bajtova, potrebno ga je obraditi i pretvoriti u korištene podatke.
 Ukoliko je potrebno, mikroupravljač može poslati potvrdu o uspješnom prijemu podataka.

62. Koja ograničenja ima ATmega328p kod interrupt funkcija i objasnite primjenu ključne riječi volatile

 ATmega328p ima samo 5 dostupnih interrupt funkcija, korisnici programa moraju odabrati koji interrupti su
najvažniji
 Interrupt funkcije zahtijevaju nekoliko instrukcija za prekid trenutnog programa i prelazak na interrupt funkciju. To
znači da mikrokontroler neće reagirati na interrupt trenutno
 Interrupt funkcije se često koriste za ažuriranje globalnih varijabli, ali mikrokontroleri ne garantiraju trenutnost
globalnih varijabli u svim slučajevima.
 Ključna riječ "volatile" se koristi u programiranju u C jeziku kako bi se obavijestilo kompajler da neke varijable koriste
interrupt funkcije. Kada se varijabla označi kao volatile, kompajler neće optimizirati kod koji se odnosi na nju, što
znači da će se svaki puta kada se koristi čitati iz radne memorije.
63. Napišite primjere programa i objasnite razliku mjerenja vremena pomoću: delay, millis() i Timer1

 "Delay" funkcija koristi se za blokiranje programa na zadano vrijeme. Funkcija "delay" čeka zadanu količinu vremena
(u ms) prije nego nastavi s kodom koji slijedi; mikroupravljač se ne može baviti ničim drugim dok traje "delay".

 Funkcija "millis" vraća trenutno vrijeme u milisekundama od trenutka kada je mikroupravljač pokrenut. To
omogućava programeru da računa vrijeme između dvije točke u kodu i tako provjerava hoće li nešto trebati učiniti.

 Timer1 funkcija je značajka koja omogućuje mikroupravljaču da pokrećepokretanje funkciju funkcije na zadano
vrijeme bez blokiranja cijelog programa; mikroupravljač može nastaviti s izvršavanjem koda i obavljanjem drugih
zadataka dok Timer1 ne "probudi"pozove funkciju nakon isteka zadanog vrijemena.

64. Objasnite zašto digitalni ulazi ne smiju biti odspojeni, objasnite rad tranzistora na ulazu te pojmove pull-up i pull-
down otpornik

 Pull-up otpornik i pull-down otpornik su dva tipa otpornika koji se često koriste u kombinaciji s tranzistorom na
ulazu. Tranzistor koristimo za stabilizaciju napona.

 Otpor je jako velik jer struja unutar kruga je veličine reda mikro-Ampera. Kada je sklopka pritisnuta očekujemo da
će odmah ići krugom, ali u stvarnosti to baš nije tako.

You might also like