UVOD U ORGANIZACIJU I ARHITEKTURU RAČUNARA

Na kursu Uvod u organizaciju i arhitekturu računara studenti uče kako se podaci predstavljaju u računaru i kako se program izvršava na nivou mašinskih instrukcija, što ih osposobljava da povežu apstrakcije viših programskih jezika sa konkretnom organizacijom hardvera. Po završetku kursa studenti su sposobni da prevedu podatke između različitih reprezentacija i ocene njihova ograničenja i greške; da pročitaju i napišu program na asemblerskom jeziku arhitekture x86-64; da prate izvršavanje programa na nivou registara, steka i memorije i da objasne ulogu osnovnih hardverskih komponenti u izvršavanju programa.

Osnovne informacije

  • Predmet je obavezan.
  • Predmet se sluša na drugoj godini studijskog programa Matematika, modul Matematika i računarstvo.
  • Nastava se održava tokom jesenjeg semestra.
  • Obim kursa je 5 bodova ESPB.
  • Fond časova je 2 časa predavanja i 2 časa vežbi nedeljno.

Nastavne teme

  • Brojevni sistemi i konverzije između njih.
  • Neoznačeni celi brojevi. Aritmetičke operacije nad neoznačenim celim brojevima.
  • Označeni celi brojevi. Potpuni komplement. Aritmetičke operacije u potpunom komplementu.
  • Butov algoritam množenja.
  • Zapis realnih brojeva u pokretnom zarezu. Standard IEEE-754.
  • Binarno kodirani dekadni brojevi (BCD). Zapisi 8421 i „višak 3”. Aritmetičke operacije sa BCD brojevima.
  • Zapis teksta u računaru. Kodiranja promeljive dužine. Hafmanovo kodiranje.
  • Algoritmi za korekciju i detekciju grešaka. Provera parnosti. CRC. Hamingov kod.
  • Osnove digitalne logike. Minimizacija logičkih funkcija. Metod Karnoovih mapa.
  • Hardverske komponente savremenog računara.
  • Skup instrukcija arhitekture x86-64. Asemblersko programiranje.
    • Aritmetičke instrukcije.
    • Kontrola toka i realizacija grananja i petlji.
    • Načini adresiranja i rad sa memorijom.
    • Obrada nizova.
    • Potprogrami i rekurzija.
    • Pisanje programa u razdvojenim modulima.
    • Debagovanje alatom gdb.

Predmetni nastavnik

Asistent

  • Robert Doža (e-pošta: robert.doza@matf.bg.ac.rs)

Tokom semestra se održavaju dva opciona kolokvijuma, svaki u trajanju od 45 minuta i sa po 25 poena, kojima student može položiti pismeni deo ispita. Aktivnost na vežbama donosi do 10 dodatnih poena. Završni ispit čine pismeni deo (teorijska pitanja i računski zadaci, 50 poena) i praktični deo (programiranje u asembleru, 50 poena); oba dela se polažu odvojeno, sa pragom od 25 poena po delu i ukupno najmanje 51 poenom. Pri tome se praktični deo pregleda jedino ako je položen pismeni deo. U nastavku su detaljnije opisane predispitne obaveze i završni ispit.

Predispitne obaveze

Kolokvijumi

Na kursu se tokom semestra, u terminu predavanja, održavaju dva kolokvijuma. Ovi kolokvijumi su opcione prirode i student može ostvariti svih 100 poena na kursu bez polaganja kolokvijuma. Cilj kolokvijuma je da student demonstrira da je redovnim radom usvojio gradivo sa predavanja, a na taj način ima mogućnost da položi pismeni deo ispita pre ispitnih rokova. Detalji su dati u nastavku.

  • Prvi kolokvijum:
    • Biće održan polovinom semestra (tačan termin biće blagovremeno objavljen).
    • Vreme za izradu je 45 minuta.
    • Na kolokvijumu se proverava poznavanje teorijskog gradiva koje je na predavanjima do tog trenutka obrađeno.
    • Kolokvijum nosi ukupno 25 poena.
  • Drugi kolokvijum:
    • Biće održan pri završetku semestra (tačan termin biće blagovremeno objavljen).
    • Vreme za izradu je 45 minuta.
    • Na kolokvijumu se proverava poznavanje teorijskog gradiva koje je na predavanjima pređeno od prvog kolokvijuma do kraja semestra.
    • Kolokvijum nosi ukupno 25 poena.
Ukoliko student na oba kolokvijuma ukupno ostvari barem 25 poena, položio je pismeni deo ispita i u tom slučaju se računa da je na pismenom delu ispita ostvario onoliko poena koliko je ostvario ukupno na kolokvijumima. Ovaj rezultat važi do kraja akademske godine, osim u slučaju da student izađe na pismeni deo ispita. Ukoliko student izađe na pismeni deo ispita, rezultat ostvaren na kolokvijumima se poništava.

Aktivnost na časovima vežbi

Na kursu postoji opcija za ostvarivanje dodatnih poena za aktivnost na časovima vežbama. Kao i kolokvijumi, dodatni poeni su takođe opcione prirode i student može ostvariti svih 100 poena na kursu bez dodatnih poena. Cilj dodatnih poena je da motiviše studenta da redovno i aktivno učestvuje u nastavi, a mogu uvećati studentu završnu ocenu. Detalji su dati u nastavku.

  • Student na času vežbi može ostvariti dodatni poen ako se tokom časa javlja, postavlja pitanja i daje predloge za način izrade zadataka koji se na času rešavaju.
  • Svake nedelje tokom semestra, student može ostvariti maksimalno 1 dodatan poen.
  • Dodatno, student u toku semestra može ostvariti dodatne poene i ako pošalje uspešno realizovan zadatak koji je ostavljen za vežbu.
  • Student može ostvariti maksimalno 10 dodatnih poena tokom semestra.
  • Dodatni poeni se ne računaju kao uslov za polaganje završnog ispita.
  • Ukoliko student položi završni ispit, dodatni poeni se dodaju na ukupan broj poena ostvaren na ispitu.

Završni ispit

Završni ispit vredi 100 poena i sastoji se od dva dela: pismenog i praktičnog. Da bi student položio ceo ispit, mora položiti i pismeni i praktični deo ispita, kao i ukupno ostvariti barem 51 poen.

Pismeni deo ispita

  • Vredi 50 poena.
  • Na ovom delu ispita se proverava poznavanje gradiva obrađenog na predavanjima.
  • Podrazumeva odgovaranje na teorijska pitanja i rešavanje računskih zadataka.
  • Vreme za rad je 90 minuta.
  • Da bi student položio ovaj deo ispita, mora ostvariti barem 25 poena.

Praktični deo ispita

  • Vredi 50 poena.
  • Na ovom delu ispita se proverava poznavanje gradiva obrađenog na časovima vežbi.
  • Podrazumeva rešavanje praktičnih zadataka na računaru (programiranje u asembleru).
  • Vreme za rad je 90 minuta.
  • Da bi student položio ovaj deo ispita, mora ostvariti barem 25 poena.

Informacije o polaganju ispita

  • Pismeni deo ispita i praktični deo ispita se u svakom ispitnom roku održavaju u istom terminu.
  • U jednom ispitnom roku, moguće je polagati:
    • oba dela ispita;
    • samo pismeni deo ispita;
    • samo praktični deo ispita (ali jedino ako je u nekom prethodnom ispitnom roku položen pismeni deo ispita ili su položeni kolokvijumi).
  • Ukoliko student polaže oba dela ispita u jednom ispitnom roku, uslov za pregledanje praktičnog dela ispita je da je u tom roku položen pismeni deo ispita.
  • Rezultat ostvaren na jednom delu ispita u jednom ispitnom roku se poništava izlaskom na isti deo ispita u bilo kom narednom roku.
  • Izlaskom na pismeni deo ispita, poništava se rezultat ostvaren na kolokvijumima.

Termini kolokvijuma

  • Prvi kolokvijum: biće blagovremeno objavljeno
  • Drugi kolokvijum: biće blagovremeno objavljeno

Osnovna literatura

  • „Uvod u organizaciju računara”, prof. Nenad Mitić
  • „Fundamentals of Computer Organization and Design”, Sivarama P. Dandamudi

Materijali sa časova

Primeri pismenog dela ispita - školska godina 2025/26

Dodatni poeni za aktivnost

Ostvareni poeni za aktivnost na časovima vežbi mogu se videti u narednoj tabeli: link.

Propratni materijali

  • Mašinske instrukcije (prezentacija): link (pdf)
  • Asemblersko programiranje (prezentacija): link (pdf)
  • Podsetnik za asemblersko programiranje za x86_64 arhitekturu: link (pdf) (autor: Nikola Milev)
  • Uputstvo za vežbanje Asemblera x86_64 na studentskom serveru Alas: link (pdf) (autor: Nevena Ćirić)

Gradivo i materijali sa časova

Čas 1:

  • Uvod i dobrodošlica na kurs
  • Uvod u programiranje u asembleru
  • Sintaksa asemblera za arhitekturu x86_64
  • Uvodni primer: program "Hello, world!" - analiza sintakse
  • Materijali:

Čas 2:

  • Uvodni primer: program "Hello, world!" - analiza sintakse (nastavak)
  • Pisanje programa u razdvojenim modulima
  • Aritmetičke instrukcije - sabiranje i oduzimanje neoznačenih celih brojeva
  • Materijali:

Čas 3:

  • Označena aritmetika

Čas 4:

  • Kontrola toka u asembleru
  • Instrukcije poređenja i skoka
  • Realizacija uslovnog grananja u asembleru

Primeri praktičnog dela ispita

Školska godina 2025/26: Školska godina 2021/22:

Odlaganje vežbi

Dvočas vežbi predviđen za 26. 10. 2026. neće biti održan. Termin nadoknade će biti naknadno dogovoren.

26. 10. 2026.

Početak nove akademske godine

Svim studentima želimo lep i uspešan početak akademske 2026/27. godine!

18. 9. 2026.

Matematički fakultet, Univerzitet u Beogradu
školska 2026/27. godina