Uvod: Pregled razvoja računalništva, abstraktni nivoji računalniškega sistema.
Osnovna računalniška arhitektura: Predstavitev podatkov v računalniških sistemih, enostaven računalniški sistem (CPE, vodilo, urini signali, vhodno/izhodni podsistem, prekinitve).
CPE: Struktura, nabor ukazov, računska aritmetika.
Vodilo: Vrste povezav, arhitekture, krmilni mehanizmi.
Pomnilnik: Vrste pomnilnika, pomnilniška hierarhija, predpomnilnik, interni pomnilnik, zunanji pomnilnik, virtualni pomnilnik.
Periferija: Vrste vhodno/izhodnih enot, arhitekture, krmilni mehanizmi.
Procesorske arhitekture: Procesorji z reduciranim naborom ukazov, procesorji s kompleksnim naborom ukazov, superskalarni procesorji, GPE.
Vzporedne računalniške arhitekture: Topologije, deljen in porazdeljen način procesiranja, večjedrni procesorji, gruče, gridi.
Metodologije snovanje računalniških sistemov: Osnovne polprevodniške tehnologije, glavni koraki sinteze sistema, jeziki za opis strojne opreme.
Metodologije snovanja vgrajenih sistemov: Načrtovalske metodologije, arhitekture vgrajenih mikroprocesorjev.
Metodologije sočasnega načrtovanja strojne in programske opreme: Koncepti sočasnega načrtovanja, delitev sistema na komponente strojne in programske opreme ter njihova sinteza.
Meritve in analize zmogljivosti: Osnovni izračuni zmogljivosti računalniških sistemov, zgledovalno primerjanje, metrike, optimizacija delovanja procesorske enote.
Introduction: Overview of development of computer systems, abstract levels of computing systems.
Basic computer structure: Data representation in computer systems, a simple computer system (CPU, bus, clocks, input/output subsystem, interrupts).
CPU: Structure, instruction set, computer arithmetic.
Bus: Connection types, architectures, control mechanisms.
Memory: Types of memory, memory hierarchy, cache memory, internal memory, external memory, virtual memory.
Peripherals: Input/output unit types, architectures, control mechanisms.
Processor architectures: Processors with reduced instruction set, processors with complex instruction set, superscalar processors, GPUs.
Parallel computer architectures: Topologies, shared and distributed processing, multi-core processors, clusters, grids.
Computer systems design methodologies: Basic semiconductor technologies, essential system synthesis steps, hardware description languages.
Embedded system design methodologies: Design methodologies, architecture of embedded microprocessors.
Methodologies for hardware/software codesign: Modeling concepts, system partitioning to hardware and software components, hardware/software codesign platforms, synthesis.
Performance measurement and analysis: Basic approaches to computer performance evaluation, benchmarking, metrics, CPU performance optimization.