Arhitektura računalniških sistemov

Visokošolski učitelji: Šter Branko
Število kreditnih točk: 6
Semester izvajanja: poletni
Kodo predmeta: 63212



Opis predmeta

Pogoji za vključitev v delo oz. za opravljanje študijskih obveznosti:

  • Opravljanje študijskih obveznosti je opredeljeno v internih aktih Univerze v Ljubljani in Fakultete za računalništvo in informatiko.
  • Poznavanje osnov digitalnih vezij.

Vsebina:

Kako so narejeni računalniki in kako delujejo? Zakaj se princip delovanja od prvih računalnikov do danes skoraj ni spremenil? Kaj se dogaja v stroju med reševanjem problemov? To so samo nekatera od vprašanj, na katera odgovarja predmet Arhitektura računalniških sistemov.

Pri predmetu bodo študenti v teoriji in na praktičnih primerih spoznali naslednje vsebine:

  • Narava računanja, kompleksnost, omejitve, teoretični modeli računanja.
  • Zgodovinski pregled dosedanjega razvoja strojev za računanje.
  • Von Neumannov arhitekturni model, osnovni principi delovanja. Vhod in izhod, prekinitve, lokalnost pomnilniških dostopov, Amdahlov zakon, strojna in programska oprema.
  • Predstavitev informacije in osnove računalniške aritmetike.
  • Ukazi in strojni jezik: načini naslavljanja, operacije, formati, RISC-CISC
  • Centralna procesna enota: podatkovna enota, aritmetično-logična enota, kontrolna enota.
  • Analiza zgradbe in delovanja CPE na primeru RISC računalnika.
  • Paralelizem na nivoju ukazov: cevovod, cevovodne nevarnosti, odpravljanje cevovodnih nevarnosti, dinamično razvrščanje, špekulativno izvrševanje, večizstavitveni procesorji. Paralelizem na nivoju niti
  • Glavni pomnilnik: tehnologija, organizacija, zaščita
  • Predpomnilniki: princip delovanja, vrste zgrešitev, zgrešitvena kazen, problem skladnosti
  • Navidezni pomnilnik

Cilji in kompetence:

Namen predmeta je predstaviti študentom področje arhitekture računalniških sistemov. To področje je osnovnega pomena za vse študente računalništva, ker daje razumevanje o tem, kaj stroj za računanje je. Na koncu predmeta bo vsak študent poznal osnovne elemente računalnika, kako so ti deli med seboj povezani, razlikoval različne nivoje programiranja in razumel osnovno zgradbo strojev za računanje.

Kompetence:

  • Razvoj veščin kritičnega, analitičnega in sintetičnega mišljenja.
  • Zmožnost definiranja, razumevanja in reševanja ustvarjalnih profesionalnih izzivov v računalništvu in informatiki.
  • Osnovne veščine v računalništvu in informatiki.
  • Praktično znanje in veščine, potrebne za uspešno profesionalno delo v računalništvu in informatiki.

Predvideni študijski rezultati:

Znanje in razumevanje:
Poznavanje arhitekture računalniških sistemov in osnovnih orodij za razvoj strojev za računanje. Ta vključujejo kvantitativne metode za primerjavo in ocenjevanje različnih računalniških arhitektur.

Uporaba:
Razumeti, kako računalnik deluje in kakšne so njegove omejitve, predstavlja osnovo za razvoj kvalitetne programske opreme. Pomembno pa je tudi pri nakupu računalniške opreme.

Refleksija:
Odpraviti pogosto stanje, kjer se na računalnik gleda kot na črno škatlo, ki izvaja programe na čudežen način.

Prenosljive spretnosti:
Predmet se dopolnjuje s predmeti s področja programiranja, algoritmov in digitalnih vezij.

Metode poučevanja in učenja:

  • Predavanja, laboratorijske vaje in domače naloge.





Gradiva

  1. D. Kodek: Arhitektura in organizacija računalniških sistemov, Bi-Tim, Ljubljana 2008, poglavja 1 do 8.
  2. Dodatna literatura:
  3. J. L. Hennessy, D. A. Patterson: Computer Architecture: A Quantitative Approach, 4. izdaja, Morgan Kaufmann, San Francisco 2007.
  4. D. A. Patterson, J. L. Hennessy: Computer Organization and Design: The Hardware/Software Interface, 4. izdaja, Morgan Kaufmann, Burlington 2009.



Študiji na katerih se predmet izvaja

  • 1 letnik - 1. stopnja - Multimedija