Temeljni cilj je poglobljen pogled v zgradbo in delovanje računalnika in njegovih sestavnih delov.
Najprej se spoznamo z najenostavnejšim nivojem gradnikov digitalnih integriranih vezij, ki sestavljajo sodobne procesne enote; podrobneje se seznanimo z njihovo zgradbo, realizacijo in delovanjem. Med praktičnimi primeri obravnavamo tudi model mikroprogramiranje CPE (MiMo) in mikrokrmilnike iz družine ARM in najnovejše modele x86 procesorjev (npr. Intel, AMD).
V obsežnejšem delu se posvetimo pohitritvi delovanja računalniških sistemov s pomočjo vzporednega izvajanja na nivoju ukazov znotraj same procesne enote (cevovod) in potem tudi na nivoju združevanja več enot v sistem (večnitenje, večjedrni procesorji, multiprocesorji, multiračunalniki). Pojasnimo razloge, zakaj razvoj teče predvsem v smeri paralelizacije sistemov in razložimo posledice tako z vidika programerja kot tudi snovalca računalniških sistemov. Ob tem se spoznamo tudi z zgradbo najzmogljivejših računalnikov z velikim številom vzporednih procesnih enot.
Pri vseh omenjenih sistemih so zelo pomembne zmogljive poti za prenose podatkov, ki jih krajše obravnavamo v nadaljevanju (npr. PCI, USB, PCI Express). Zatem pojasnimo še osnovno delovanje nekaterih splošno uporabljanih vhodno izhodnih enot in ustreznih načinov prenosa podatkov med njimi (npr. prekinitve, DMA, V/I procesorji).
Pregled vsebine predavanj:
Uvod v organizacijo računalnikov in digitalna vezja
Osnove integriranih dig. vezij (TTL, CMOS, VLSI)
Mikroarhitekturni nivo računalnika (zgradba in delovanje CPE)
Paralelizem na nivoju ukazov (cevovod, superskalarni procesorji)
Paralelizem na nivoju procesorjev (multiprocesorji, multiračunalniki)
Pregled prenosnih poti in vrst prenosov (PCI, PCI Express, USB, QPI)
Vhodno-izhodni sistem (naprave, načini prenosa podatkov)
V okviru laboratorijskih vaj pridobljeno znanje utrjujemo in poglabljamo s programiranjem in uporabo dejanskega sistema z ARM mikrokrmilnikom. Pri tem spoznavamo opisane koncepte tudi s praktičnega vidika.