
Computer architecture
- Class 30
- Practice 30
- Independent work 90
Course title
Computer architecture
Lecture type
Obligatory
Course code
22-00-502
Semester
2
ECTS
5
Lecturers and associates
Course overview
The objective of this module is to enable students to lean:
• the concepts of computer architecture
• the low-level building blocks of any computer system
• how CPU, memory, and other subsystems interact on a lower level
• multi-core and parallel processing in modern-day computer architectures
Students learn the theoretical background of different computer architectures, and how they relate to the most common computer architectures that we currently use.
Aims of this module are for students to learn the low-level aspect of looking at a computer system, without any higher-level approach - in programming terms, this module only uses low-level, assembly-approaches.
This module is important for students as it will enable them to learn different and current operating systems (system engineering) and applications (programming). They will also learn low-level approaches to design computer hardware and how to make correct decisions when creating environments for employees or clients (system engineering), or when creating applications (programming).
Literature
Essential reading:
1. Ledin, J. (2020) Modern Computer Architecture and Organization, Livery Place, 35 Livery Street, Birmingtham B3 2PB, Packt Publishing.
Recommended reading:
1. Meyers, M. (2019) CompTIA A+ Certification All-in-One Exam Guide, Tenth Edition, 1325 Avenue of the Americas, New York, NY 10019, McGraw Hill Education.
Further reading:
1. Heath, S. (1995) Multiprocessor Architectures: RISC, CISC and DSP 2nd Edition, Linacre House Jordan Hill, Oxford OX2 8DP, Elsevier
Minimal learning outcomes
- Differentiate between the structure and the elements of a motherboard in a personal computer and sketch the architecture, modules and circuits of a processor.
- Analyse the phases of performing instructions and the state of the bus, and combine basic, branching and looping instructions in assembler assignments.
- Sketch and analyse the structure and the basic elements of the ALU and the control unit.
- Analyse the concept and organisation of the interrupt system and methods of data transfer.
- Analyse the parallelism on a processor, multicore processors and systems with multiple processors.
- Compare SMP and NUMA memory models on systems with multiple processors.
Preferred learning outcomes
- Create a simple ALU using circuit simulator.
- Evaluate the performance of instructions and bus states in the given assignment and write assembler code using an assigned instruction set.
- Write complex assembler code with the usage of AL instructions.
- Evaluate the concept and organisation of the interrupt system and methods of processing exceptions.
- Evaluate the issues about parallelism on a processor, multicore processors and systems with multiple processors.
- Recommend the best possible design of computer system for specific use case based on SMP and NUMA memory models.