25
AROS – pitanja iz knjige za prvi kolokvijum 1. Organizacija i arhitektura računara 1.1. Navesti osnovnu podelu ili klasifikaciju softvera. Osnovna podela ili klasifikacija softvera je na aplikativni i sistemski. 1.1. Navesti primere aplikativnog i sistemskog sotfera. Aplikativni softver se projektuje za rešavanje konkretnih problema, kao na primer: plaćanje preko interneta, rezervacija avionskih karata, upravljanje bankomatima, učenje na daljinu ili rad na berzi. Sistemski softver predstavlja programsko okruženje koje omogućava programerima da brže i jednostavnije kreiraju aplikacije prema zahtevima korisnika. Na primer, operativni sistemi, programski prevodioci, linkeri i interpreteri pripadaju sistemskom softveru. 1.2. Objasniti šta je arhitektura računara. Arhitektura računara pokazuje računarski sistem iz ugla programera. Bitan koncept u arhitekturi računara je korišćenje različitih nivoa apstrakcije. Svaki nivo apstrakcije sadrži interfejs (spoljašnji pogled na ono što sistem radi) i implementacije (unutrašnji pogled na način kako sistem radi). Dobro poznavanje arhitekture računara je važno za razumevanje programskih prevodioca, operativnih sistema i pisanje programa. Na primer, arhitektura računara pokazuje veličine tipova podataka i tipove podržanih operacija, dok ne pokazuje vrstu tehnologije čipa koji se koristi za implementaciju memorije. 1.3. Objasniti šta je organizacija računara. Organizacija računara pokazuje strukturne veze unutar računara koje nisu vidljive od strane programera, kao što su na primer interfejsi ka periferijskim uređajima, učestanost takta i tehnologija koja se koristi za memoriju, tok informacija između komponenata, mogućnosti i performanse funkcijskih jedinica. Dobro poznavanje organizacije računara je važno za logičko projektovanje računara i optimizaciju performansi aplikacija. 1.4. Koje su osnovne komponente von Neumann-ove mašine? Memorija Upravljačka jedinica Aritmetičko – logička jedinica Ulazne jedinice Izlazne jedinice Slika 1.1 Beborija

Пушкице | ФОН Андерграунд - Факултет ... · Web viewObjasniti šta je organizacija računara. Organizacija računara pokazuje strukturne veze unutar računara

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

AROS – pitanja iz knjige za prvi kolokvijum

1. Organizacija i arhitektura računara

1.1. Navesti osnovnu podelu ili klasifikaciju softvera.

· Osnovna podela ili klasifikacija softvera je na aplikativni i sistemski.

1.1. Navesti primere aplikativnog i sistemskog sotfera.

· Aplikativni softver se projektuje za rešavanje konkretnih problema, kao na primer: plaćanje preko interneta, rezervacija avionskih karata, upravljanje bankomatima, učenje na daljinu ili rad na berzi.

· Sistemski softver predstavlja programsko okruženje koje omogućava programerima da brže i jednostavnije kreiraju aplikacije prema zahtevima korisnika. Na primer, operativni sistemi, programski prevodioci, linkeri i interpreteri pripadaju sistemskom softveru.

1.2. Objasniti šta je arhitektura računara.

· Arhitektura računara pokazuje računarski sistem iz ugla programera. Bitan koncept u arhitekturi računara je korišćenje različitih nivoa apstrakcije. Svaki nivo apstrakcije sadrži interfejs (spoljašnji pogled na ono što sistem radi) i implementacije (unutrašnji pogled na način kako sistem radi). Dobro poznavanje arhitekture računara je važno za razumevanje programskih prevodioca, operativnih sistema i pisanje programa. Na primer, arhitektura računara pokazuje veličine tipova podataka i tipove podržanih operacija, dok ne pokazuje vrstu tehnologije čipa koji se koristi za implementaciju memorije.

1.3. Objasniti šta je organizacija računara.

· Organizacija računara pokazuje strukturne veze unutar računara koje nisu vidljive od strane programera, kao što su na primer interfejsi ka periferijskim uređajima, učestanost takta i tehnologija koja se koristi za memoriju, tok informacija između komponenata, mogućnosti i performanse funkcijskih jedinica. Dobro poznavanje organizacije računara je važno za logičko projektovanje računara i optimizaciju performansi aplikacija.

1.4. Koje su osnovne komponente von Neumann-ove mašine?

· Memorija

· Upravljačka jedinica

· Aritmetičko – logička jedinica

· Ulazne jedinice

· Izlazne jedinice

· Slika 1.1

1.5. Da li von Neumann-ova arhitektura podržava paralelno izvršavanje instrukcija?

· Ne. Bitna karakteristika von Neumann-ove arhitekture je sekvencijalno izvršavanje instrukcija, tj. odsustvo bilo kakvog paralelizma ili preklapanja instrukcije, tako da, na primer, nije bilo moguće istovremeno izvršavanje neke aritmetičke operacije i učitavanje podataka. Druga važna karakteristika je postojanje samo jedne putanje između operativne memorije i upravljačke jedinice centralnog procesora. To direktno utiče na performanse sistema i naziva se von Neumann-ovo usko grlo.

1.6. Koja je osnovna razlika „Harvard“ arhitekture u odnosu na standardnu von Neumann-ovu arhitekturu računara?

· Harvard arhitektura predstavlja varijaciju originalne von Neumann-ove arhitekture. Harvard arhitektura je imala posebnu memoriju za instrukcije i posebnu memoriju za podatke. Ova arhitektura takođe sadrži posebne putanje za instrukcije i podatke nezavisno od toga da li se koriste posebne memorije.

· Slika 1.3

1.7. Prikazati savremene računare u obliku višenivoske mašine.

· Slika 1.5

1.8. Objasniti princip ekvivalencije hardvera i softvera

· Sve što se može uraditi pomoću softvera može se takođe uraditi i pomocu hardvera i sve što se može uraditi pomoću hardvera može se takođe uraditi i pomoću softvera. Ovaj princip ne govori o brzini implementacije. Hardverske implementacije su skoro uvek brže od softverskih. Izbor između hardverskog i softverskog rešenja zavisi od faktora kao sto su cena, brzina, pouzdanost i frekvencija očekivanih promena.

1.9. Objasniti Flynn-ovu klasifikaciju sistema.

· Michael Flynn je, polazeći od toga da računari koriste podatke i instrukcije, klasifikovao sve računarske sisteme u četiri grupe. Osnova klasifikacije su tok instrukcija i tok podataka. Definisao je tok instrukcija kao niz instukcija koje izvrš ava data maš ina, a tok podataka kao niz podataka koje koristi tok instukcija(uključujući ulazne podatke i parcijalne rezultate). Flynn-ova klasifikacija računara:

· SISD (“Single Instruction stream, Single Data stream”)

· SIMD (“Single Instruction stream, Multiple Data streams”)

· MIMD (“Multiple Instruction streams, Multiple Data streams”)

· MISD (“Multiple Instruction streams, Single Data streams”)

1.10. Prikazati blok šemu SISD arhitekture računara.

· Slika 1.6

1.11. Prikazati blok šemu SIMD arhitekture računara.

· Slika 1.7

1.12. Prikazati blok šemu MIMD arhitekture računara.

· Slika 1.8

1.13. Prikazati blok šemu MISD arhitekture računara.

· Slika 1.9

1.14. Koje se implementacione tehnologije mogu izdvojiti kao najznačajnije u dosadašnjem razvoju računarskih sistema?

· Tehnologija integracionih kola,

· Tehnologija magnetnih diskova,

· Tehnologija DRAM memorije (“Dynamic Random Access Memory”)

· Tehnologija mreža

1.15. Objasniti značenje jedinice mere MIPS (“Millions of Instructions Per Second”).

· Jedinica mere MIPS (“Milion of Instruction Per Secound”) označava izvrš enje milion mašinskih instrukcija u sekundi.

1.16. Objasniti značenje jedinica mere megaflops – MFLOPS (“Millions of Floating point Operations Per Second”), gigaflops – GFLOPS i teraflops – TFLOPS.

· MFLOPS označava milion operacija u pokretnom zarezu izvš enih u jednoj sekundi.

· GFLOPS označava milijardu operacija u pokretnom zarezu izvš enih u jednoj sekundi.

· TFLOPS označava bilion operacija u pokretnom zarezu izvrš enih u jednoj sekudi.

1.17. Navesti kvantitativne podatke za vreme izvršenja jednog ciklusa instrukcije za najsporije i najbrže računare danas.

· Za najsporije računare milisekunda (0.001s), a za najbrže pikosekunda (10-12 s).

1.18. Objasniti značenje jedinice mere GHz.

· GHz označava brzinu takta – milijardu ciklusa u sekundi.

1.19. Objasniti šta za procesore znači kompatibilnost “naniže”.

· Kompatibilan “naniže”(“backward compatible” ili “downward compatible”), označava da je procesor u mogućnosti da izvršava prevedeni kod za bilo koji prethodni model procesora. Kompatabilnost “naniže” ima značenje da viš i model u istoj seriji procesora može da izvrš ava sve sistemske i korisničke programe koji se mogu izvrš iti na predhodnim modelima.

1.20. Objasniti Murov zakon (“Moor's Law”).

· Performanse računarskih sistema se poboljš avaju geometriski, a ne linearno.

2. Struktura računara opšte namene

2.1. Prikazati i objasniti osnovne komponente računara opšte namene.

· Računar opš te namene pored procesora i memorije ima viš e različitih U/I uređaja.

· (Slika 2.2)

2.2. Na koji način se procesor povezuje sa ostalim komponentama računara?

· Procesor je sa ostalim komponentama povezan pomoću sistemske magistrale. Sistemska magistrala je skup paralelnih žica za prenos podataka, adresa i upravljačkih signala.

2.3. Čemu služi sistemska magistrala?

· Sistemska magistrala se sastoji od: magistrale podataka, magistrale upravljačkih signala i adresne magistrale.

· Preko magistrale podataka se prenose podaci.

· Preko adresne magistrale se vrš i adresiranje gde se prenose podaci ili odakle.

· Upravljačka magistrala se koristi za upravljanje funkcijama magistrale i ona omogućava korisnicima magistrale da signaliziraju kada su podaci raspoloživi.

2.4. Čemu služi memorijska magistrala?

· Memorijska magistrala se koristi za komunikaciju između procesora i primarne memorije.

2.5. Čemu služi U/I magistrala?

· U/I magistrala se koristi za komunikaciju između procesora i U/I uređaja.

2.6. Koje su osnovne komponente procesora?

· Procesor se sastoji od: upravljačke jedinice, aritmetičko-logičke jedinice (ALU-˝Arithmetic Logical Unit˝) i registra.

2.7. Čemu služi upravljačka jedinica?

· Upravljačka jedinica upravlja izvrš enjem pojedinačnih instrukcija i upravlja izvrš enjem programa u celini. Ona treba da obezbedi da se po izvrš enju jedne instrukcije izvrš i sledeća instrukcija programa.

2.8. Čemu služi aritmetičko-logička jedinica?

· Aritmetičko-logička jedinica na osnovu signala upravljačke jedinice izvrš ava potrebne operacije nad operandima instrukcije i generiš e rezultat.

2.9. Ako je za čitanje instrukcije iz memorije potrebno 5ns, za dekodiranje 2ns, za čitanje registarske datoteke 3ns, za izvršavanje instrukcije 3ns i za upisivanje rezultata u registarsku datoteku 2ns, kolika je maksimalna brzina takta procesora?

· 1/(5+2+3+3+2)= 1/15ns (zbir brzina na minus prvi)

· 1/15ns = 66,6 MHz

2.10. Objasniti namenu registra procesora koji se zove brojač naredbi (BN)?

· Njegov zadatak je da u svakom trenutku izvrš enja programa sadrži adresu sledece instrukcije programa.

2.11. Objasniti namenu registra procesora koji se zove registar naredbi (RN)?

· Registar naredbi sadrži kopiju mašinske instrukcije koja je učitana iz glavne memorije i koja se trenutno izvrš ava.

2.12. Skicirati i objasniti čitanje instrukcije iz memorije korišćenjem registara BN, RN, MAR, PRM i upravljačke jedinice?

· Brojač naredbi sadrži adresu sledeće instrukcije koju treba učitati iz memorije. Ta adresa se upisuje u MAR(memorijski adresni registar), a zatim na adresnu magistralu. Nakon toga, upravljačka jedinica zahteva čitanje iz memorije. Pročitana vrednost se upisuje na magistralu podataka, kopira u PRM (prihvatni registar memorije) i prenosi u registar naredbi RN. Brojač naredbi se povećava za jedan (tačnije za dužinu instrukcije) i na taj način priprema za čitanje sledeće instrukcije.

2.13. Čime je određena arhitektura procesora?

Arhitektura procesora je određena sa:

· Skupom registara

· Skupom tipova podataka koje procesor podržava

· Formatom instrukcija

· Načinima adresiranja

· Mehanizmom prekida

2.14. Koje su osnovne operacije nad memorijskim lokacijama primarne memorije?

· Nad memorijskim lokacijama se obavljaju dve operacije: operacija čitanja i operacije pisanja (upisivanja u lokaciju).

2.15. Kako se može izbrisati sadržaj jedne memorijske reči bez korišćenja instrukcije CLEAR?

· primenom AND operacije i drugog operanda 0 (dobija se 0):

· npr. 0101 and 0000 = 0000

· primenom XOR operacije sa istom reči (dobija se 0):

· npr. 0101 xor 0101 = 0000

· primenom mašinske instrukcije ADD A1 0 0 (drugi i treći operand su 0, rezultat se upisuje na adresu A1):

· npr. a1 = 0 + 0; (može i da se oduzme sam od sebe, SUB A1, A1, A1)

2.16. zadatak

2.17. Koje su najvažnije karakteristike memorije računara?

· Najvažnije karakteristike memorije računara su brzina, veličina (kapacitet), cena i postojanost. Za brzinu i veličinu memorije poželjno je da budu š to je moguće veće, a za cenu š to je moguće niža. Bolje je da memorija bude postojana, ali kod brzih memorija to nije slučaj. Sve četiri navedene osobine su određene tehnologijom implementacije memorije i vremenom postaju sve bolje.

2.18. Šta je asocijativna memorija i gde se koristi?

· Asocijativna memorija je specijalna, mala keš memorija sa brzim pretraživanjem koja se koristi za memorisanje tabela stranica („page tables“). Koriš ćenje asocijativne memorije može da ubrza pristup, tj. da smanji efektivno vreme pristupa.

2.19. Objasniti “uzmi – analiziraj – izvrši“ ciklus („fetch – decode – execute cycle“), tj. kako se izvršavaju instrukcije programa.

· Za svaki procesor je karakterističan “uzmi – analiziraj – izvrši“ ciklus koji se stalno ponavlja od trenutka uključenja napajanja do trenutka isključenja napajanja. Najčesće se ovaj ciklus realizuje u sledećih š est koraka ili faza:

1. procesor iz primarne memorije uzima instrukciju koju treba da izvrš i na osnovu adrese u BN

2. dekodira se operacioni kod instrukcije

3. procesor uzima iz memorije operand ili operande ako je to potrebno

4. izvršava se instrukcija

5. rezultat se upisuje ili u registar ili u operativnu memoriju

6. ponovo se prelazi na korak 1

2.20. Kako se podaci upisuju na magnetni disk?

· Podaci na magnetnom disku se zapisuju u obliku koncentričnih krugova koji se zovu staze („tracks“).

2.21. Povećanje kapaciteta magnetnih diskova se može ostvariti tako što se na osnovu povećanja rastojanja od centra diska poveća i broj sektora po stazi. Objasniti kako se skladište podaci kod magnetnih diskova sa zonama.

· Ovakav način skladiš tenja podataka predstavlja kompomis između kapaciteta memorije i složenosti hardvera diska.

2.22. Prikazati strukturu magnetnog diska.

· Slika 2.10

2.23. Prikazati organizaciju diska na jednoj površini magnetne ploče.

· Slika 2.11

2.24. Navesti i objasniti komponente vremena pristupa magnetnom disku.

· Vreme pristupa disku ima tri komponente: vreme traženja („seek time“), vreme usred rotacije diska („rotatiomal latency“) i vreme prenosa podataka sa diska u operativnu memoriju.

· Vreme traženja je vreme potrebno za pokretanje glave diska od adresiranog cilindra.

· Vreme usred rotacije diska je dodatno vreme potrebno da disk rotira do adresnog sektora, tj da glava diska bude iznad adresiranog sektora.

· Vreme prenosa podataka sa diska u operativnu memoriju direktno zavisi od količine podataka koja se prenosi

2.25. Koja je namena RAID tehnologije?

· Koriš ćenjem RAID tehnologije podaci se, umesto samo na jedan, upisuje na viš e magnetnih diskova. Na taj način može se povećati brzina, pouzdanost i kapacitet memorisanja podataka.

2.26. Opisati kako radi RAID 0.

· RAID 0 je najjednostavniji nivo RAID tehnologije. Podaci se distribuiraju na sve diskove sekvencijalno (u delovima). Primenom RAID 0 može se smanjiti vreme pristupa podacima u poređenju sa sistemima sa jednim diskom i ostvaruje se najniža moguća cena primene RAID tehnologije. Međutim, kod RAID 0 nivoa ne koriste se tehnike redundantnosti. Samim tim, nulti nivo RAID tehnologije ne obezbeđuje zaštitu od otkaza pojedinih diskova. Otkazom bilo kog diska u nizu diskova gube se svi podaci. Zato se ovaj nivo ne preporučuje za aplikacije kod kojih su podaci kritični.

2.27. Opisati kako radi RAID 1.

· Kod RAID 1 nivoa za svaki disk postoji identična kopija diska („mirroring“). Podaci se mogu čitati ili sa originalnog diska ili sa kopije. Upisivanje podataka se mora uradii na oba diska. Otkazom bilo kog diska podaci ostaju sačuvani na kopiji i oporavak sistema je jednostavan. U odnosu na sistem bez primene RAID tehnologije za implementaciju RAID 1 nivoa, potreban je dvostruki broj magnetnih diskova. Relativna jednostavnost i niska cena implementacije su povećale popularnost RAID 1 nivoa. Ovo rešenje se preporučuje za aplikacije koje koriste kritične podatke.

2.28. Opisati kako radi RAID 2.

· Kod RAID 2 nivoa svi diskovi se koriste za svaki pristup. Postoje diskovi za podatke i diskovi za korekciju grešaka. Kodovi za korekciju grešaka izračunati na osnovu podataka na svim diskovima za podatke se upisuju na dodatne diskove. Svi diskovi su međusobno sinhronizovani za bilo koju operaciju upisa ili čitanje podataka. Mogu se koristi različite tehnike koje omogućavaju paralelni pristup podacima. Greške na nivou bita se detektuju i koriguju trenutno. Broj dodatnih diskova je proporcionalan logaritmu broja diskova na kojima su podaci. Međutim, složen i skup RAID kontroler, kao i minimalni broj diskova koji su potrebni predstavljaju glavni razlog zašto se RAID 2 nivo danas ne koristi.

2.29. Opisati kako radi RAID 3.

· RAID 3 nivo koristi sekvencijalnu distribuciju podataka na nivou bajta lime se staruje poboljšanje performansi. Takođe postoji jedan redundantan disk – za kontrolu parnosti, čime se povećava otpornost sistema na moguće otkaze. Ne koriste se kodovi za korekciju greške, već se izračunavaju informacije o parnosti. Potrebna su najmanje 3 magnetna diska: 2 za podatke i 1 za kontrolu parnosti. Iako su performanse dobre dodatni disk za parnost malo usporava upis podataka. Naime, kod svakog upisa podataka mora se upisati i informacija o parnosti. Zato softversko rešenje nije praktično i neophodan je hardverski kontroler. Kada neki disk otkaže, tada se podaci koji nedostaju mogu rekonstruisati. Za slučaj većeg broja aplikacija koje se izvršavaju istovremeno, disk parnosti može postati „usko grlo“ sistema.

2.30. Objasniti kako radi RAID 4.

· RAID 4 je veoma sličan RAID 3 nivou. Jedina razlika je da se podaci sekvencijalno distribuiraju na nivou bloka, a ne na nivou bajta. To i jeste prednost, jer veličina bloka se može podešavati prema potrebama aplikacije. Kod RAID 4 nivoa biti parnosti se takođe skladipte na redundantnom disku. Jedan logički upis podataka zahteva dva fizička upisa. Parnost se računa za svaki bit odgovarajućih delova podataka na diskovima i zato je i ovde neophodan hardverski RAID kontroler. Disk parnosti može postati „usko grlo“ sistema pri istovremenom radu više aplikacija.

2.31. Objasniti kako radi RAID 5.

· RAID 5 nivo sekvencijalno distribuira podatke na nivou bloka i informacoja o parnosti se upisuje na sve diskove na kojima su podaci („round-robin“ šema). Drugim rečima, nije potreban poseban namenski disk za parnost. Manji nedostatak je da je oporavak sistema nešto složeniji zbog distribuirane prirode informacija o parnosti. Veličina bloka podataka se takođe može menjati prema potrebama aplikacije kao kod RAID 4 nivoa. RAID 5 nivo je jedan od najpopularnijih nivoa RAID tehnologije koji se danas koriste, jer se za mnoge aplikacije ostvaruje najbolja kombinacija performansi, redundantnosti i efikasnosti memorije.

2.32. Objasniti kako radi RAID 6.

· Kod RAID 6 nivoa povećana je složenost obrade za kontrolu parnosti, jer se dve šeme za kontrolu parnosti koriste istovremeno. Za razliku od prethodnih nivoa RAID tehnologije, RAID 6 nivo omogućava rekonstrukciju podataka i kada dva diska istovremeno otkažu.

2.33. Navesti i objasniti tri osnovna načina za komunikaciju centralnog procesora sa U/I uređajima.

· Procesor moze da periodično proverava status uređaja („pollin“). Moguća stanja uređaja su na primer: KOMANDA_SPREMNA, ZAUZETA I GREŠKA. Na taj način ostvaruje se ciklus čekanja („busy-wait cycle“) U/I aktivnosti na datom uređaju.

· Drugi način komunikacije sa U/I uređajima je koriš ćenje sistema prekida. Signal prekida prihvata funkcija za upravljanje prekidima. Prekidi se mogu maskirati kada je potrebno da se prekid odloži ili ignoriš e.

· Treći način je da se koristi direktan pristup memoriji(DMA – „Direct Memory Access“). Kod ovog načina nije potreban programiran U/I, ali je neophodan DMA kontroler. U ovom slučaju podaci se direktno prenose između U/I uređaja i memorije, bez potrebe da procesor učestvuje u procesu. Na kraju prenosa podataka DMA kontroler prekidom obaveš tava procesor da je prenos podataka završ en.

2.34. Koja je osnovna namena prekida u računarskim sistemima?

· Prekidi se koriste za komunikaciju periferijskih uređaja sa centralnim procesorom. Omogućavaju korišćenje servisa operativnog sistema, koriste se za merenje vremena i vremensku kontrolu poslova koju izvrš avaju mikroprocesori.

2.35. Koje vrste prekida postoje kod računarskih sistema?

· Postoje tri vrste prekida:

· Softverski prekidi

· Hardverski prekidi

· Izuzeci

2.36. Koja je namena sistemskih poziva?

· Sistemski pozivi omogućavaju korisničkim procesima da zahtevaju servise operativnog sistema.

2.37. Kako se vrše dozvola i zabrana rada maskirajućih prekida?

· Za maskirajuće prekide dozvola rada se vrš i softverski postavljanjem odgovarajućeg bita u statusnoj reči.

2.38. Kako se rešava upravljanje prekidima nakon pojavljivanja više prekida u isto vreme?

· Nastanak takve situacije se može reš iti ili zabranom viš e prekida u isto vreme ili uvođenjem prioriteta prekida.

2.39. Objasniti šta je vreme reakcije kod sistema prekida?

· Vreme reakcije predstavlja vreme koje protekne od trenutka pojave signala prekida do trenutka prelaska na prekidni program.

2.40. Navesti i objasniti moguće načine za uvođenje paralelizma na nivou instrukcije.

· Zadatak paralelizma na nivou instrukcije je da na datom računarskom sistemu izvrš i sto više instrukcija.

· Jedan pristup je uzimanje instrukcija unapred.

· Drugi pristup je korišćenje tehnike protočne obrade („pipeline processing“).

· Treći pristup je koriš ćenje superskalarnih arhitektura.

2.41. Objasniti princip rada protočne obrate („pipelining“ - a).

· Koncept industrijskog toga ili tehnika protočne obrade („pipelining“) deli izvršavanje instrukcije u više delova (od 4 do 18 nezavisnih koraka), pri čemu za izvršavanje svakog tog dela postoji namenski deo hardvera i što je najbitnije svi ti delovi se mogu izvršavati paralelno (istovremeno).

2.42. Prikazati primer superskalarne arhitekture računara sa 2 „pipelining“ - a.

· Slika 2.16

2.43. Objasniti superskalarnu arhitekturu računara.

· Proširenjem ideje „pipelining“ – a, nastale su superskalarne arhitekture računara. Superskalarne arhitekture nisu savršeno rešenje, jer drugi ili treći „pipelining“ mogu da se izvršavaju samo ograničen skup instrukcija koji je nezavisan od instrukcija koje izvršava prvi „pipelining“.

2.44. Prikazati primer superskalarnog procesora sa više funkcionalnih jedinica.

· Slika 2.17

2.45. Navesti i objasniti probleme koji mogu da nastanu kod protočne obrade („pipelining“ - a) instrukcija.

· Problemi koji mogu da nastanu kod „pipelining“ – a su: strukturni hazardi, kontrolni hazardi i hazardi nad podacima.

· Strukturni hazardi su prouzrokovani nedostatkom hardvera, tj. potrebom nekoliko pristupa istom hardveru u isto vreme. Ovo se može otkloniti dodavanjem redundantnog hardvera ili promenom redosleda instrukcija.

· Kontrolni hazardi su prouzrokovani instrukcijama grananja i uslovnog grananja. To se može prevazići tačnijim predviđanjem grananja ili strategijama pomerenog grananja.

· Hazardi nad podacima su prouzrokovani zavisnošću podataka od rezultata izvršavanja prethodne instrukcije. Mogu se izbeći restruktuiranjem koda tako da se eliminišu zavisnosti ili nemogućnosti izvršavanja takvih instrukcija sve dok se ne završi prethodna instrukcija.

2.46. Prikazati blok šemu GMSV („Global Memory, Shared Variable“) arhitekture sistema.

· Slika 2.19

2.47. Kod višeprocesorskih sistema se može desiti da više procesora konkurentno pristupa globalnoj memoriji (zajedničkoj deljenoj memoriji). Navesti i ukratko objasniti modele koji se koriste za razrešavanje mogućeg nastanka kolizije kod pristupa istoj memorijskoj lokaciji.

· Može se desiti da viš e procesora konkurentno pristupa globalnoj memoriji. Tada se za reš avanje mogućeg nastanka kolizije kod pristupa istoj memoriskoj lokaciji koriste sledeća tri modela:

· EREW(„Exclusive Read Exclusive Write“) - eksluzivno čitanje, ekskluzivno pisanje ne dozvoljava nastajanje konflikta niti za čitanje niti za pisanje. Ako prilikom izvrš avanja programa do konflikta ipak dodje, stanje programa je tada nedefinisno.

· CREW („Concurrent Read Exclusive Write“) - konkurentno čitanje, ekskluzivno pisanje dozvoljava konkurentno čitanje za viš e procesora, tj. viš e procesora može istovremeno da čita podatke sa iste memorijske lokacije. Međutim, ako dođe do konkurentnog pisanja, stanje programa je nedefinisano.

· CRCW („Concurrent Read Concurrent Write“) - konkurentno čitanje, konkurentno pisanje dozvoljava istovremeni pristup viš e procesora i za operaciju pisanja. U slučaju da viš e procesora pokuš ava da istovremeno upiš e neku vrednost u istu memorijsku lokaciju potrebno je definisati koji će od tih procesora izvrš iti upis.

2.48. U slučaju da više procesora pokušava da istovremeno upiše neku vrednost u istu memorijsku lokaciju, potrebno je definisati koji će od tih procesora stvarno izvršiti upis. Navesti i objasniti rešenja koja se primenjuju u toj situaciji.

· Moguća su sledeća tri slučaja:

· svi procesori koji pokuš avaju da izvrš e operaciju pisanja moraju da upiš u istu vrednost, tako da će rezultat upisa biti isti bez obzira koji je procesor to uradio („COMMON CRCW“).

· bilo koji procesor može da izvrš i operaciju pisanja i nema ograničenja za vrednost koje se upisuje („ARBITARY CRCW“). Ovde je moguće da svaki procesor promeni vrednost koju je neki drugi procesor pre toga upisao.

· svaki procesor ima unapred definisan prioritet i u datom trenutku operaciju pisanja izvrš ava procesor sa najviš im prioritetom („PRIORITY CRCW“).

2.49. Prikazati blok šemu DMSV („Distributed Memory, Shared Variable“) arhitekture sistema.

· Slika 2.20

2.50. Prikazati blok šemu DMMP („Distributed Memory, Shared Variable“) arhitekture sistema.

· Slika 2.21

3. Konvencionalni mašinski nivo

3.1. Čime je definisan format instrukcije?

· Format instrukcije je definisan ukupnom dužinom instrukcije izraženom u bitovima, brojem, dužinom i značenjem svakog njenog polja.

3.2. Koji se kriterijum koristi za dužinu instrukcije prilikom projektovanja formata instrukcija?

· dužina instrukcije – potrebno je da instrukcija bude što kraća jer tada zauzima manje memorije i prenos instrukcije iz memorije u procesor se izvršava brže.

3.3. Koji se kriterijum koristi za dužinu koda operacije prilikom projektovanja formata instrukcija?

· dužina koda operacije – za skup od 2n instrukcija dužine polja za kod operacije u okviru instrukcije ne može biti manja od n bitova.

3.4. Koji se kriterijum koristi za dužinu adresnog dela instrukcije prilikom projektovanja formata instrukcija?

· dužina adresnog dela instrukcije – potrebno je da adresa bude što duža, što je u suprotnosti sa prvim zahtevom.

3.5. zadatak

3.6. Koji formati instrukcija postoje?

· troadresne instrukcije

· dvoadresne instrukcije

· jednoadresne instrukcije

· nulaadresne instrukcije

3.7. Navesti sve mogućnosti za broj različitih instrukcija i maksimalni broj različitih memorijskih lokacija koje se mogu adresirati ako imate na raspolaganju dvoadresni tip instrukcije dužine tri bajta (pri projektovanju formata instrukcije ne postoje dodatna ograničenja).

3B = 3 * 8 = 24b (pretvaranje bajtova u bitove);

24 – 6 = 18 (oduzima se dužina operacionog koda);

Znači da treba rasporediti 218;

217 memorijskih lokacija21 instrukcija

216 memorijskih lokacija22 instrukcija

215 memorijskih lokacija23 instrukcija

.

.

.

21 memorijskih lokacija217 instrukcija

3.8. Navesti dva osnovna nedostatka formata instrukcija sa tri memorijske adrese (troadresnih instrukcija).

Dva osnovna nedostatka formata instrukcija sa tri memorijske adrese su:

· velika dužina instrukcije i

· tri memorijska pristupa.

3.9. Navedite osnovne tipove instrukcija na konvecionalnom mašinskom nivou.

· Prva grupa – operacije nad podacima:

· instrukcije za prenos podataka

· unarne operacije

· binarne operacije

· Druga grupa – upravljanje redosledom izvrš avanja instrukcija programa:

· poredjenje i uslovni skokovi,

· upravljanje iterativnom programskom strukturom,

· poziv podprograma,

· aktiviranje korutina

· Treća grupa – razmena podataka sa ulazno/izlaznim uređajima:

· ulazno/izlazne instrukcije

3.10. zadatak

3.11. zadatak

3.12. Navesti vrste adresiranja.

· Postoje sledeći načini adresiranja: trenutno, direktno memorijsko, direktno registarsko, indirektno memorijsko, indirektno registarsko, bazno registarsko i indeksno adresiranje.

3.13. Objasniti trenutno adresiranje.

· Kod trenutnog adresiranja operand se nalazi u samoj instrukciji. Trenutno adresiranje se koristi za rad sa konstantama.

3.14. Objasniti direktno memorijsko adresiranje.

· Direktno memorijsko adresiranje se koristi kada se pristupa operandu koji se nalazi u memoriji. Tada se u adresnom delu instrukcije nalazi memorijska adresa operanda. Direktno memorijsko adresiranje se koristi za pristup statičnim podacima.

3.15. Objasniti direktno registarsko adresiranje.

· Direktno registarsko adresiranje se koristi kada se pristupa operandu koji se nalazi u datom registru. Tada se u adresnom delu instrukcije nalazi adresa registra u kome se nalazi operand.

3.16. Objasniti indirektno memorijsko adresiranje.

· Kod indirektnog memorijskog adresiranja u adresnom delu instrukcije se nalazi adresa memorijske lokacije koja sadrži memorijsku adresu operanda.

3.17. Objasniti indirektno registarsko adresiranje.

· Kod indirektnog registarskog adresiranja u adresnom delu instrukcije se nalazi adresa registra koji sadrži memorijsku adresu operanda.

3.18. Objasniti bazno registarsko adresiranje.

· Kod baznog registarskog adresiranja memorijska adresa operanda se dobija kao zbir vrednosti koja se nalazi u registru čija je adresa data u prvom delu adrese instrukcije i pomeraja čija je vrednost data u drugom delu iste adresne instrukcije. Koristi se za pristup lokalnim promenjivama.

3.19. Objasniti indeksno adresiranje.

· Indeksno adresiranje se koristi za adresiranje nizova.

3.20. Kako se na konvencionalnom mašinskom nivou realizuje bezuslovni skok?

· Naredba bezuslovnog skoka u sebi sadrži adresu instrukcije na koju se vrši prelazak (skok). Simbolički operacioni kod ove naredbe na konvencionalnom mašinskom nivou razliku se od računara do računara pa se najviše koristi oblik GOTO.

· Slika 3.17

3.21. Kako se na konvencionalnom mašinskom nivou realizuje uslovni skok, tj. uslovno grananje?

· Slika 3.19

3.22. Kako se vrši upravljanje iterativnom programskom strukturom na konvencionalnom mašinskom nivou?

· Upravljanje iterativnom programskom strukturom se kod većine računara na konvecionalnom mašinskom nivou realizuje pomoću instrukcija poređenja i uslovnog grananja (na ovom nivou po pravilu ne postoje eksplicitne instrukcije za upravljanje iterativnom strukturom kao što su instrukcije while_do, repeat_until i druge na nivou viših programskih jezika).

3.23. Kako se vrši upravljanje tokom izvršavanja modula na konvecionalnom mašinskom nivou?

· Realizacija pozziva podprograma i povratka u pozivajući modul može se, u zavisnosti od načina čuvanja adrese povratka, realizovati na tri načina – pomoću unapred određene lokacije (ili fiksne reči), pomoću prve reči pozvanog podprograma i pomoću steka.

3.24. Navesti načine čuvanja adrese povratka kod poziva podprograma.

· Čuvanje u prvoj reči pozvanog modula ili na steku.

3.25. Kako se kod rekurzivnih modula sprečava gubljenje adrese povratka?

· Rešenje problema direktne i indirektne rekurzije može se realizovati čuvanjem adrese povratka na steku.

3.26. Gde se koriste korutine?

· Korutine se koriste u projektovanju i implementaciji programa prevodioca (kompajlera) i u simulaciji uporednih procesa.

3.27. Koji neophodni elementi su potrebni da se nađu u memoriji kod realizacije asemblera?

· tabela instrukcija koja sadrži simboličke i binarne operacione kodove svih instrukcija koje procesor može da izvrši

· jedna memorijska lokacija koja treba da igra ulogu posebnog brojača koji se naziva brojač lokacija (BL)

· dovoljno slobodne memorije tako da asembler može u toku rada da formira jednu posebnu tabelu koja se naziva tabela simbola

3.28. Objasniti princip rada asemblera na primeru asemblera sa dva prolaza.

· Na početku rada asemblera, BL se postavlja na nulu, označavajući na taj način da je prva slobodna lokacija u memoriji lokacija sa adresom 0. Sledeći korak je da se inicijalizuje tabela simbola, koja je u tom trenutku još uvek prazna. Asembler zatim uzima prvu instrukciju simboličkog programa, LOAD B, i na osnovu tabele instrukcija pronalazi odgovarajući binarni opkod 0001, a zatim uzima simboličku adresu B i proverava da li se ta adresa već nalazi u tabeli simbola. Kako to nije slučaj, simboličku adresu B upisuje u posmatranu tabelu, a zatim instrukciju prepisuje u memoriju u binarno-simboličkom obliku. Kako jedna instrukcija zauzima jednu memorijsku lokaciju, prva instrukcija programa zauzeće lokaciju sa adresom 0. Zbog toga se sadržaj BL-a povećava za 1, ukazujući da je sledeća slobodna lokacija na adresi 1. Opisani postupak se ponavlja za sve instrukcije simboličkog programa, čime se završava tzv. prvi prolaz asemblera kroz program.

· U drugom prolazu, asembler prolazi kroz binarno-simbolički oblik programa i u svakoj instrukciji simboličku adresu zamenjuje odgovarajućom memorijskom, fizičkom adresom na osnovu tabele simbola.

3.29. Koja je namena, tj. čemu služe programski prevodilac („compiler“), program za povezivanje („linker“) i program za punjenje („loader“)?

· Programski prevodilac („compiler“) služi da program sa višeg programskoj jezika prevede na asemblerski jezik, a zatim ga preuzima asembler i prevodi na mašinski jezik.

· Program za povezivanje („linker“) služi za povezivanje glavnog programa i svih podprograma u jednu celinu kako bi se omogućio prelazak iz jedne programske celine u drugu.

· Program za punjenje („loader“) se koristi kada korisnik sistema zahteva izvršavanje prevedenog i povezanog programa.

3.30. Kako se dobija relokatibilni binarni kod?

· Relokatibilni binarni kod se dobija nakon rada programa za povezivanje koji na svom ulazu dobbija programske module u binarno-simboličkom obliku a na izlazu daje programsku celinu u binarnom kodu – relokatibilni binarni kod.

3.31. Koja je osnovna karakteristika relokatibilnog binarnog koda?

· Može se uneti (relocirati) u bilo koji slobodan deo memorije.

4. Mikroprogramski nivo

4.1. Objasniti šta je mikroprogram ili mikrokod.

· Skup mikroinstrukcija na osnovu koga je napravljen potpun skup instrukcija se zove mikroprogram ili mikrokod.

4.2. Zašto se mikroprogramiranje intenzivno koristili na mnogim prvim procesorima?

· Mikroprogramiranjem se pojednostavljuje projektovanje, lakše se vrši modifikacija, ali je to sporije rešenje.

4.3. Objasniti šta je mikroinstrukcija (ili mikrooperacija) i šta je mikroprogramiranje.

· Mikroinstrukcija je skup mikrooperacija koje se izvrš avaju u isto vreme, mikroinstrukcije se mogu koristiti za implementaciju stvarnog skupa date maš ine.

4.4. Da li se dati skup instrukcija na konvencionalnom mašinskom nivou može implementirati pomoću različitih mikroarhitektura? Obrazložiti odgovor.

· Dati skup instrukcija može biti implementiran pomoću različitih mikroarhitektura.

· U okviru svake mikroarhitekture se može ostvariti zadati cilj, kao na primer: obezbediti što veću brzinu izvršavanja instrukcija, obezbediti manju potrošnju napajanja, odnosno što manju disipaciju snage ili obezbediti nisku cenu procesora.

4.5. Prikazati blok šemu uzimanja i izvršavanja instrukcija (a).

Prikazati blok šemu ciklusa uzimanja i izvršenja instrukcija sa prekidima (b).

· Slika 4.1

· Slika 4.2

4.6. Prikazati detaljniju blok šemu Intel 8086 procesora sa prikazom registara, upravljačke jedinice, aritmetičko-logičke jedinice i magistrala.

· Slika 4.3

4.7. Objasniti šta je firmver (“firmware”) i koja je njegova osnovna namena.

· Mikroprogram se često zove i firmver (“firmware”), jer povezuje hardver i softver, odnosno smanjuje razliku između hardvera i softvera. Osnovna namena firmvera je interpretiranje skupa instrukcija koji je vidljiv krajnjem korisniku.

4.8. Gde se skladišti firmver?

· Firmver se skladišti u upravljačkoj memoriji.

4.9. Mikroarhitektura se može podeliti u dve sekcije: sekciju podataka (“datapath”) i upravljačku sekciju. Objasniti šta čini sekciju podataka, a šta upravljačku sekciju.

· Sekciju podataka čine registri i ALU, a upravljačku sekciju upravljačka jedinica. Mikroprogram koji nije vidljiv krajnjem korisniku sistem vrš i mikroprogramsko upravljanje, tj. izvrš ava operacije nad registrima i drugim komponentima date maš ine.

4.10. Čemu služi mikroasembler i da li je on vidljiv krajnjem korisniku sistema?

· Koristi se za programiranje firmvera, i nije vidljiv krajnjem korisniku sistema.

4.11. Da li promena u skupu instrukcija na konvencionalnom mašinskom nivou prouzrokuje promenu i na firmveru?

· Bilo koja promena u skupu instrukcija na konvencionalnom mašinskom nivou prouzrokuje promenu i na firmveru.

4.12. Da li promena u softveru na aplikativnom nivou (na nivou korisnika) prouzrokuje promenu i na firmveru?

· Promena softvera na aplikativnom nivou ne utiče na firmver.

4.13. Objasniti šta je HDL (“Hardware Description Language”) i čemu služi.

· HDL (“Hardware Description Language”) je poseban jezik za opis hardvera. Jedan primer HDL jezika je VHDL, koji je akronim za VHSIC (“Very High Speed Integrated Circuit”) HDL. VHDL koristi se za opis arhitekture na veoma visokom nivou i može se prevesti u projekat hardvera pomoću procesa koji se zove “silikonsko prevođenje” (“silicon compilation˝). Za projektovanje hardverskog reš enja za upravljačku jedinicu podesniji je HDL jezik nižeg nivoa koji se zove RTL (“Register Transfer Language”).

4.14. Objasniti šta je stek.

· Struktura podataka tipa LIFO (“Last In First Out”) - sastoji se od skupa memorijskih lokacija u koje se upisuju vrednosti podataka. Kada se vrednost podataka upisuje na stek to se radi unutar lokacije koja je na vrhu steka i tada se sve do tada upisanje vrednosti pomeraju za jednu lokaciju naniže. Podaci se mogu čitati samo sa vrha steka. Tada se svi do tada upisani podaci pomeraju za jednu lokaciju naviš e.

4.15. Opisati hipotetičku stek mašinu.

· Hipotetička stek maš ina je maš ina sa apstraktnom strukturom podataka tipa LIFO, pri čemu program ne pristupa registarskoj datoteci, već isključivo steku.

4.16. Prikazati realizaciju steka u memoriji.

· Slika 4.4

4.17. Kako se može ubrzati rad sa stekom koji se realizuje korišćenjem bafera u memoriji?

· Radi ubrzanja pristupa steku korsti se registarska datoteka unutar procesora gde se memoriše prvih N vrednosti sa steka, gde je N veličina registarske datoteke.

4.18. Objasniti šta je upravljačka memorija na mikroprogramskom nivou.

· Upravljačka memorija na mikroprogramskom nivou je ROM memorija (64x27 bita).

Beborija