Arhitektura računara
Nema podataka
Nema podataka
Sticanje teoretskih znanja o principima organizacije i funkcionisanja osnovnih komponenti klasičnog računarskog sistema te o konceptima paralelne obrade i organizacije računarskih sistema opšte namjene visokih performansi, kao i sticanje praktičnih znanja o razvoju i implementaciji sekvencijalnih i paralelnih programa niskog nivoa.
Studenti će biti osposobljeni da opišu i objasne osnovne termine, koncepte i tehnologije organizacije računarskih sistema, da prepoznaju pogodnost primjene određenih računarskih arhitektura i koncepata u konkretnim aplikativnim oblastima, da mogu da učestvuju u specifikaciji zahtjeva za računarsku arhitekturu manje do srednje kompleksnih sistema, da mogu kreirati asemblerske programe bazirane na 80x86 instrukcionom skupu.
Istorija razvoja računarskih arhitektura. Klasifikacije računarskih arhitektura. Klasična organizacija računara: CPU, memorijski i I/O podsistem. Principi rada funkcionalnih jedinica. Eksploatacija paralelizma i arhitekturni trendovi. SISD, SIMD, MISD, MIMD arhitekture. Eksploatacija paralelizma na instrukcijskokm nivou. Protočni sistemi i zastoji. Smanjenje negativnih efekata hazarda. Superskalarne i VLIW arhitekture. Arhitektura aktuelnih procesora. Hijerarija i tipovi organizacije memorijskog podsistema. Višeprocesorske arhitekture. Sprežne mreže. Osnovni principi asemblerskog programiranja. Načini adresiranja. Instrukcijski skup opšte namjene za Intelove procesore. Povezivanje asemblerskih programa sa sistemskim funkcijama Linux operativnog sistema i funkcijama standardne C biblioteke. FPU programiranje. SIMD programiranje i paralelizacija po podacima: MMX i SSE setovi instrukcija.
Predavanja i laboratorijske vježbe
