Osnovne informacijemdi-information-variantIzvođači nastavemdi-account-groupNastavni plan i programmdi-clipboard-text-outlineModel praćenjamdi-human-male-boardIspitni rokovimdi-clipboard-check-outlineRasporedmdi-calendar-clockKonzultacijemdi-account-voice
Cilj kolegija je upoznavanje studenata s građom i načinom rada suvremenih računarskih sustava temeljenih na procesorima CISC i RISC. U okviru kolegija studenti će usvojiti principe rada osnovnih funkcijskih komponenti računala te će na osnovu toga moći procijeniti performanse računala i utjecaj na izvršavanje korisničkih programa. Studenti će se upoznati s principima programiranja u asembleru
Funkcijski model računalnog sustava Uvod, model obrade, Turingov stroj kao apstraktni izvršitelj, definicija i klasifikacija arhitekture računala.
Von Neumannov model računala Funkcijske jedinice, centralna procesna jedinica (CPU): upravljačka jedinica (CU) i aritmetičko-logička jedinica (ALU), memorija, ulazno-izlazna jedinica (IO), faze PRIBAVI i IZVRŠI, instrukcijski ciklus.
Uloga i svojstvo procesora Pojednostavljeni model mikroprocesora, sabirnica i stanje na sabirnici, osnovne komponente standardne arhitekture.
Osnovne značajke CISC i RISC procesora ISA model RISC procesora. Programski model procesora, strojne instrukcije, skup instrukcija, format instrukcija (razlika CISC i RISC pristupa), načini adresiranja, tipovi podataka: cjelobrojni, znakovni i brojevni nizovi, brojevi s pomičnim zarezom, podatkovne strukture značajne u arhitekturi.
Protočni model RISC procesora Procjena ubrzanja rada, Hazardi u protočnoj strukturi i njihovo rješavanje.
Upravljačka jedinica Prijenos upravljanja na instrukcijskoj razini, prijenos upravljanja između dviju programskih struktura, pozivanje i vraćanje iz potprograma, posluživanje prekida, gniježđenje i rekurzivno pozivanje programa, stožna (LIFO) struktura.
Analiza slučaja za procesor naprednije arhitekture Sklopovska i mikroprogramska izvedba CU, koncept protočnosti, protočna upravljačka jedinica.
Aritmetičko logička jedinica (ALU) Poluzbrajalo (HA), potpuno zbrajalo (FA), sklopovi za posmak, izvedba aritmetičkih operacija, izvedba logičkih operacija.
Standardni pristup oblikovanju ALU Sklopovska realizacija jednostavne ALU jedinice.
Memorijski sustav Memorija: sklopovski aspekti (bistabili, memorijske ćelije, SRAM, DRAM, organizacija: 2D, 3D, 2 i 1/2 D, ciklusi čitanja i pisanja, brzina pristupa), programski aspekti (naslovni prostor, kapacitet, adresna zrnatost, poravnanje, uređaj bajtova).
Memorijska hijerarhija Načini ubrzanja: memorija s preklapanjem, priručna memorija (organizacija, način smještanja i zamjene blokova, načini obnavljanja glavne memorije, algoritmi zamjene blokova, problem koherentnosti).
Virtualna memorija Organizacija logičkog i fizičkog adresnog prostora, adresno preslikavanje, straničenje, segmentacija, segmentacija sa straničenjem.
Ulazno izlazni (IO) sustav računala Programirani uvjetni i bezuvjetni IO prijenos, memorijsko preslikavanje i izdvojeno IO preslikavanje.
Prekidni ulazno-izlazni prijenos Organizacija prekida, hijerarhija prekidnih struktura, vektorski prekid.
Obrada iznimaka Organizacija iznimaka, vrste iznimaka.
Sadržaj seminara/vježbi
Uvodne vježbe Opis sadržaja seminara iz arhitektura računalskih sustava. Upoznavanje sa komponentama računala i vježbe sastavljanja stolnih računala.
Asembler Upoznavanje sa naredbama u asemblerskom jeziku. Upoznavanje sa simulatorom procesora Motorola 68000 Easy68K. Primjer disasembliranja i obrnutog inženjeringa za Intelovu platformu x86.
Turingov stroj Upoznavanje sa principima rada Turingovog stroja. Izrada programa za Turingov stroj.
Digitalna elektronika Upoznavanje sa principom rada tranzistora. Upoznavanje sa označavanjem i principima rada osnovnih logičkih vrata, dekodera, multipleksora, zbrajala i bistabila. Pozicioni brojevni sustav. Digitalna aritmetika u određenom modulu. Definicije nepotpunog i potpunog komplementa. Prikaz načina kodiranja negativnih brojeva u računalu.
Memorijski adresni prostor Upoznavanje sa pojmovima: adresna zrnatost, poravnavanje podataka, uređenju memorije manje značajni bajt prvo i više značajni bajt prvo, kapacitet memorije. Rješavanje zadataka u kojima se vide principi izbora memorijskih modula unutar računala, izračun kapaciteta memorijskih modula i određivanje adresnog prostora.
Stanja u registrima i na sabirnicama računala Upoznavanje sa pojednostavljenim modelom 8-bitnog mikroprocesora. Rješavanje zadataka u kojima se za određeni niz instrukcija određuje stanje registara u procesoru i stanja na vanjskim sabirnicama računala u svakom taktu izvođenja.
Tipovi podataka upoznavanje sa pojmovima: Podržani tip podataka, diskretni i nediskretni tip podataka. Upoznavanje sa standardom za zapis brojeva sa pomičnim decimalnim zarezom IEEE Task P754. Konverzija realnih brojeva prema IEEE Task P754 standard.
Digitalna aritmetika Upoznavanje sa načinom određivanja stanja zastavica u statusnom registru procesora. Izvođenje aritmetičkih operacija uz određivanje stanja zastavaica u statusnom registru procesora.
Stog, potprogram, prekid Upoznavanje sa principima rada i realizacije stoga. Rješavanje zadataka u kojima se prezentira princip rada procesora pri pozivanju potprograma i obradi prekida.
Memorija Upoznavanje sa pojmovima: memorijska hijerarhija, organizacije priručne memorije. Određivanje foramta virtualne i fizičke adrese. Rješavanje zadataka vezanih uz algoritme zamjene stranica.
Ishodi učenja kolegija
razumjeti arhitekturu računala i princip rada osnovnih komponenti računala i računala kao cjeline
analizirati utjecaj arhitekture računala na performanse računala i na izvođenje korisničkih programa i operacijskih sustava
prilagoditi algoritme i programski kod tako da se izvršavaju efikasnije uzimajući u obzir karakteristike, performanse i interakciju između funkcijskih komponenti računala. Prepoznati i objasniti osnovne instrukcije asemlerskog jezika
preporučiti računala sa najboljim odnosom performanse/cijena s obzirom na specifične potrebe što uključuje razumijevanje kako pojedine varijante, kao što su više memorije ili viši takt procesora, utječu na izvršavanje programa.
razumjeti format zapisa podataka i instrukcija u binarnom brojevnom sustavu i objasniti kako format zapisa podataka utječe na točnost aritmetičkih operacija i preciznost prikaza brojeva
analizirati procesor sa stanovišta skupa instrukcija (ISA model procesora) .
objasniti koncept protočnosti i koncept virtualne memorije
razumjeti ulazno-izlazni podsustav procesora s naglaskom na izravni pristup memoriji (DMA) i prekidni sustav.
Ishodi učenja programa
razumjeti stanje i trendove razvoja suvremenih informacijskih i komunikacijskih tehnologija (ICT), razumjeti njihov utjecaj na pojedinca, organizaciju i društvo te procijeniti njihovu primjenjivost u zadanom kontekstu
razumjeti i primijeniti ključne aspekte informacijske tehnologije (programiranje, algoritmi, strukture podataka, baze podataka i znanja
razumjeti i primijeniti suvremene tehničke koncepte i prakse u informacijskim tehnologijama (arhitektura računala, operacijski sustavi, mreže računala)
Osnovna literatura
Ribarić, S. Naprednije arhitekture mikroprocesora. Element, Zagreb, 2006.
Ribarić, S. Arhitekture računala RISC i CSIC. Školska knjiga, Zagreb, 1996.
Dopunska literatura
Tanenbaum, S. Structured Computer Organization. 5th ed., Upper Saddle River, Prentice-Hall, 2006.
Hennessy, J.L.; Patterson, D. A. Computer Architecture: A Quantative Approach. 4th ed., Morgan Kaufmann, San Francisco, 2007.
Slični kolegiji
Arhitektura računala 1, Fakultet elektrotehnike i računarstva
Redoviti studentiIzvanredni studenti
U kalendaru ispod se nalaze konzultacije predmetnih nastavnika, no za detalje o konzultacijama možete provjeriti na profilu pojedinog predmetnog nastavnika.