Lecturer(s)
|
-
Skrbek Miroslav, Ing. Ph.D.
|
Course content
|
1. Instruction set architectures 2. Amdahl's law, parallel computing efficiency, computer performance measurement, benchmarks. 3. Basic types of parallelization, Flynn's classification of parallel systems. 4. Instruction pipelining, hazards, and code optimization. 5. Speculative instruction execution, branch prediction. 6. Superscalar architectures and out-of-order instruction execution. 7. SIMD architectures. 8. Symmetric multiprocessing, multithreaded, multicore symmetric, and hybrid architectures. 9. Parallel systems with NUMA architecture 10. Memory subsystem, memory consistency, and cache coherence. 11. Accelerators for artificial intelligence 12. Programmable hardware, FPGA circuits 13. Hybrid platforms for Edge computing
|
Learning activities and teaching methods
|
- Class attendance
- 26 hours per semester
|
Learning outcomes
|
Course objectives: The course aims to introduce students to advanced principles and architectures used in modern computer systems. The course covers parallelism at the instruction level, processor level, and processor system level, including issues related to parallelization, synchronization, and code optimization. An integral part of the course is the architectures used in Edge computing and Edge AI platforms. It also covers computer performance, parallel computing efficiency, performance measurement, and benchmarks.
|
Prerequisites
|
Basic knowledge of computer principles
|
Assessment methods and criteria
|
unspecified
Knowledge from lectures is verified by passing a written exam in the form of an electronic test. The minimum requirement for successful course completion is 50% of the test score.
|
Recommended literature
|
|