Skip to main content

Computer systems architecture

2023/2024
Programme:
Interdisciplinary University Study Programme Computer Science and Mathematics
Year:
1 year
Semester:
second
Kind:
mandatory
ECTS:
6
Language:
slovenian
Course director:

Branko Šter

Hours per week – 2. semester:
Lectures
3
Seminar
0
Tutorial
0
Lab
2
Content (Syllabus outline)

How are computers designed and how they work? Why has the principle of operation remained almost unchanged from the first computers to today? What is going on in the machine during problem solving? These are only some of the questions that are answered by the Computer Systems Architecture course.

During the course the students will in theory and on practical examples study the following topics:
Nature of computation, complexity, limitations, theoretical models of computation.
Survey of historical development of computing machines.
Von Neumann architecture model and basic principles of operation. Input and output, interrupts, locality of memory references, Amdahl’s law, hardware and software.
Representation of information and basic computer arithmetic.
Instructions and machine language: addressing modes, operations, formats, RISC-CISC.
Central processing unit: datapath with arithmetic-logic unit, control unit.
Analysis of CPU design and operation using a RISC computer as an example.
Instruction level parallelism: pipeline, pipeline hazards. Pipeline hazard elimination, dynamic scheduling, register renaming, speculative execution, multiple-issue processors. Thread level parallelism.
Main memory: technology, organization, protection.
Cache memories: principles of operation, types of cache misses, miss penalty, coherency problem.
Virtual Memory

Readings

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

Objectives and competences

The aim of the course is to introduce students to the field of computer systems architecture. This is a fundamental field for all computer science students since it gives understanding of what a computing machine is. At the end of this course the students will know the basic elements of a computer, comprehend how this elements link together, distinguish different levels of programming, and understand the basis of computing machines design.
Competences:
Developing skills in critical, analytical and synthetic thinking.
The ability to define, understand and solve creative professional challenges in computer and information science.
Basic skills in computer and information science.
Practical knowledge and skills necessary for successful professional work in computer and information science.

Intended learning outcomes

After the completion of the course a student will be able to:

  • understand basic concepts of computation
  • explain, how the computer works
  • know limitations of computers
  • write and convert between different number presentations used by computers
  • explain the architecture of a specific RISC computer
  • write programs in assembly language
  • apply quantitative methods for comparison and evaluation of different computer architectures
  • understand and evaluate techniques for improving efficiency of computers (pipeline and other paralelisms, cache memory, etc.)
  • apply knowledge of computer architecture in developing more efficient software
Learning and teaching methods

Lectures, laboratory work and homeworks.

Assessment

Continuing (midterm exams)
Final (written exam)
Final (written exam)
grading: 5 (fail), 6-10 (pass) (according to the Statute of UL)

Lecturer's references

ŠTER, Branko. Selective recurrent neural network. Neural processing letters, ISSN 1370-4621. [Print ed.], 2013, vol. 38, no. 1, str. 1-15, graf. prikazi. [COBISS-SI-ID 10113876]
OLSZEWSKI, Dominik, ŠTER, Branko. Asymmetric clustering using the alpha-beta divergence. Pattern recognition, ISSN 0031-3203. [Print ed.], 2013, vol. 47, no. 5, str. 2031-2041. [COBISS-SI-ID 10382164]
GABER, Rok, LEBAR, Tina, MAJERLE, Andreja, ŠTER, Branko, DOBNIKAR, Andrej, BENČINA, Mojca, JERALA, Roman. Designable DNA-binding domains enable construction of logic circuits in mammalian cells. Nature chemical biology, ISSN 1552-4450, Mar. 2014, vol. 10, no. 3, str. 203-208, ilustr. , doi: . [COBISS-SI-ID 5408026]
DOBNIKAR, Andrej, ŠTER, Branko. Structural properties of recurrent neural networks. Neural processing letters, ISSN 1370-4621. [Print ed.], 2009, vol. 29, no. 2, str. 75-88, graf. prikazi. [COBISS-SI-ID 7085652]
ZUPANC, Jernej, DROBNE, Damjana, ŠTER, Branko. Markov random field model for segmenting large populations of lipid vesicles from micrographs. Journal of liposome research, ISSN 0898-2104, 2011, vol. 21, no. 4, str. 315-323, doi: . [COBISS-SI-ID 6705529]