Computer Architecture - NSWI143
Title: Architektura počítačů
Guaranteed by: Department of Distributed and Dependable Systems (32-KDSS)
Faculty: Faculty of Mathematics and Physics
Actual: from 2016
Semester: summer
E-Credits: 3
Hours per week, examination: summer s.:2/0, Ex [HT]
Capacity: unlimited
Min. number of students: unlimited
4EU+: no
Virtual mobility / capacity: no
State of the course: taught
Language: Czech, English
Teaching methods: full-time
Teaching methods: full-time
Additional information: http://d3s.mff.cuni.cz/teaching/nswi143
Guarantor: doc. Ing. Lubomír Bulej, Ph.D.
Class: Informatika Bc.
Classification: Informatics > Software Engineering
Pre-requisite : NSWI120
Opinion survey results   Examination dates   SS schedule   Noticeboard   
Annotation -
Last update: Tajemník Katedry (03.05.2012)
The goal of the course is to provide information on design and internal organization of computers and CPU on such a level that the future professionals will not take the computer as a black box that, in a magic way, executes programs. To do that, it is necessary to understand the computer design principles on the level of functional components, their behavior and interaction and the influence on the performance of the computer. Understanding the basic principles is a necessary prerequisite to be able to efficiently use modern programming languages.
Course completion requirements -
Last update: doc. Ing. Lubomír Bulej, Ph.D. (08.02.2022)

The exam form may be influenced by epidemiological measures in place, but the default form of the exam is a closed-book written test that consists of a set of questions/exercises covering the course topics. If necessary, the exam will be held online (students are required to have both the camera and microphone turned on during such exam).

Literature -
Last update: doc. Ing. Lubomír Bulej, Ph.D. (06.10.2017)

Patterson, D. A., Hennessy, J. L. Computer Organization and Design: The Hardware/Software Interface. 5th edition, Morgan Kaufmann, 2013. ISBN 978-0124077263

Requirements to the exam -
Last update: doc. Ing. Lubomír Bulej, Ph.D. (24.05.2019)

The exam covers the topics listed in the syllabus.

The required level of understanding corresponds to the level of detail presented during the lectures and in the lecture slides.

Syllabus -
Last update: doc. Ing. Lubomír Bulej, Ph.D. (24.05.2019)
  • Introduction to digital systems, logical expressions, boolean functions, gates, combinational and sequential circuits, basic building blocks, arithmetic operations.
  • Computer performance, fundamental metrics and their limitations, comparing performance of computer architectures.
  • ISA implementation, single-cycle and multi-cycle data path and control, hardwired and microprogrammed controller implementation, exception handling.
  • Pipelined instruction execution, scalar pipelined data path, hazard detection and handling, branch prediction, exception handling.
  • Superscalar architectures, static and dynamic instruction scheduling, out-of-order execution, speculative execution, contemporary architectures.
  • Memory subsystem organization, latency and throughput, static and dynamic memory technology, cache organization and mapping, cache coherence.
  • Parallel processing and multiprocessor systems, Flynn's taxonomy, Amdahl's law, SIMD processing in multimedia, multicore CPUs, GPUs.