Logo

Computer Architecture

Code: 102775
Credits: 6
2026/2027
Degree programme Type Course
Computer Engineering OB 2

Contact lecturer

Name :
Miquel Àngel Senar Rosell
Email :
miquelangel.senar@uab.cat

Teaching staff

Eduardo Cesar Cabrera Flores
Jordi Alcaraz Rodriguez
Juan Carlos Moure Lopez
Xiaoyuan Yang
Quim Aguado Puig
Xavier Cano De Castro
Otger Ballester Basols
Oscar Lostes Cazorla
Albert Jiménez Blanco
Nehir Sonmez Tekin
Joan Josep Piedrafita Farras

Group languages

You can consult this information at the end of the document.

Prerequisites

There are no prerequisites. However, students should have a good knowledge of the C programming language and be familiar with the basic concepts of computer structure, including the organization of the memory hierarchy and assembly language.

Objectives

  1. To understand architectural techniques based on parallelism to improve computer performance.
  2. To understand the principle of data access locality and the architectural solutions applied to the memory hierarchy.
  3. To describe techniques for performance evaluation, the metrics used, and methods for result visualization.
  4. To analyze performance bottlenecks in the execution of a program fragment: execution limits due to capacity of computer resources, execution limits due to data dependencies and latencies of operations, and limits due to operation misses in the memory hierarchy.
  5. To use performance analysis techniques to select the computer system appropriate to an application and / or apply optimizations of the code that improve their parallelism (at the level of instruction and threads) and the locality of data accesses.

Learning outcomes

  • CM20 (Envision IT projects by participating in their design, planning and rollout, as well as defining their technical conditions in accordance with principles of quality and reliability.) Envision IT projects by participating in their design, planning and rollout, as well as defining their technical conditions in accordance with principles of quality and reliability.
  • KM22 (Explain the principles of IT architecture, processing and data access needed to analyse and implement applications based on them.) Explain the principles of IT architecture, processing and data access needed to analyse and implement applications based on them.
  • KM23 (Describe parallel programming techniques used to implement IT applications that require them.) Describe parallel programming techniques used to implement IT applications that require them.
  • SM25 (Analyse IT applications and systems in any area of computer engineering to assess their economic impact with a view to their implementation and continuous improvement, while ensuring their reliability, safety and quality.) Analyse IT applications and systems in any area of computer engineering to assess their economic impact with a view to their implementation and continuous improvement, while ensuring their reliability, safety and quality.
  • SM27 (Apply knowledge of computer architecture to design, implement and maintain IT systems and applications.) Apply knowledge of computer architecture to design, implement and maintain IT systems and applications.

Contents

1. Fundamentals of Computer Design and Evaluation

  • Latency, Parallelism and Locality
  • Cost, Performance, Energy Consumption and Reliability
  • Metrics and Performance Evaluation Techniques
  • Results Visualization Methods

2. Memory Hierarchy: Functionality and Miss Rate

  • Principles of the Memory Hierarchy: Cache, Memory and Disk
  • Block and Cache line. Placement and replacement algorithms
  • Miss Rate and Performance of sequential execution
  • Memory Access Patterns
  • Code optimizations to improve the locality of data accesses

3. Parallelism at the processor core and the memory hierarchy

  • Pipeline execution: Latency and execution capacity
  • Multiple execution of instructions and branch prediction
  • Dependency analysis and processor capacity limits
  • Explicit instructions to take advantage of Data Parallelism (SIMD)
  • Parallelism in access to memory hierarchy: Latency and Bandwidth
  • Code optimizations that take advantage of the internal parallelism of the processor
  • Introduction to parallel systems based on multiprocessors and multicomputers.

Learning activities and methodology

Title Hours ECTS Learning outcomes
Preparing partial and final tests 30 1.2
Lab sessions 12 0.48
Preparing practical assignments 20 0.8
Exercised-based classes 12 0.48
Preparing exercises 20 0.8
Theoretical classes 26 1.04
  • Theory classes: main concepts of the subject will be explained. The basic concepts will be described and examples and small problems of how to use them in practice will be indicated. The most important learning problems will be highlighted and will show how to complete and deepen the contents. Practical cases will be discussed and the teacher will detect the most common comprehension and reasoning problems and solve them for all students.
  • Problem Classes: Cooperative problem solving activities will be carried out. Based on the previous individual work of the students, they will make a group sharing of solutions and they will discuss any doubts that may have arisen. The teacher will detect the most common comprehension and reasoning problems and will solve them in small groups or to all the students. These classes will provide the applied knowledge needed by students to complement theoretical concepts. They will serve as a bridge between theory classes and practical work. Throughout the course, several exercises will be proposed that must be delivered as evaluable evidence at the end of the problem sessions or through the Moodle site.
  • Laboratory Classes: they will support the theory classes. The students will have the practical information in advance before each session, and they will have to prepare the preliminary part indicated in the report so that the teacher, at the beginning of the session, can review it. During the session the students should inform the teacher about their progress and the problems that may be encountered, and at the end of the session they will deliver a document with the results of the exercise and a summary of the problems encountered.

In this course, the use of Artificial Intelligence (AI) technologies is permitted as an integral part of the assignment development, provided that the final result reflects a significant contribution from the student in personal analysis and reflection. The student must clearly identify which parts were generated using this technology, specify the tools used, and include a critical reflection on how they influenced the process and final outcome of the assignment. Lack of transparency in the use of AI will be considered a breach of academic honesty and may result in a penalty on the assignment grade or greater sanctions in serious cases.

Annotation: within the schedule set by the centre or degree programme, 15 minutes of one class will be reserved for students to evaluate their lecturers and their courses or modules through questionnaires.

Assessment

Continuous assessment activities

Title Weight Hours ECTS Learning outcomes
Laboratory exercises in groups 15% 12 0.48 SM25, SM27
Individual Test including laboratory questions 7,5% 1 0.04 KM22, KM23, SM25, SM27
Individual Test including laboratory questions 7,5% 1 0.04 KM22, KM23, SM25, SM27
Exercise resolution in groups 20% 12 0.48 KM22, SM25
Individual Test including theory questions and problem-solving exercises 25% 2 0.08 CM20, KM22, KM23, SM25, SM27
Individual Test with theory questions and problem-solving exercises 25% 2 0.08 CM20, KM22, KM23, SM25, SM27

Dates for continuous assessment and report submissions will be published on the UAB Moodle platform and may be subject to change due to unforeseen circumstances during the course. Moodle is the standard communication platform between lecturers and students. Students repeating the subject must complete the same activities as the rest, and no compensation or credit will be given for activities carried out in previous years. Subject assessment will be conducted as follows:

  • Two individual mid-term tests (I1, I2; 25% each of the final grade): These two tests consist of problem-solving exercises and theoretical questions
  • Two individual laboratory mid-term tests (L1, L2; 7.5% each of the final grade): These two tests are based on laboratory exercises. There is no reassessment mechanism for this part. In both cases, student assessment will be based on their test answers.
  • Group problem-solving and class participation (PRB; 20% of the final grade): A series of exercises to be solved either individually or in groups will be proposed throughout the course. There will be at least 4 evaluated exercises, each holding equal weight in this section's final grade. Each exercise will be evaluated separately, and there is no reassessment mechanism for this part.
  • Group laboratory exercises (LAB; 15% of the final grade): These exercises will be completed over one or two lab sessions with guidance and support from the lecturer. A final report containing results, answers, and conclusions must be submitted at the end of the last session. Between 2 and 4 lab exercises will be conducted throughout the course. Attendance at laboratory sessions is mandatory. Student assessment will take into account their active involvement in the lab sessions and the quality of the submitted reports. There is no reassessment mechanism for this part. A grade equal to or higher than 5.0 out of 10.0 in the LAB section is required to pass the subject. Otherwise, the student will fail the subject, and the final numerical grade will be the LAB grade.

Students do not need to take the final exam if their individual mid-term test scores (I1 and I2, on a 10-point scale) meet the following conditions:

  • I1 >= 4 and I2 >= 4 and (I1+I2)/2 >= 5 (qualifications I1 and I2 on a 10-point scale)

In this case, the final grade of the subject is computed as:

  • FINAL Grade = (I1 * 2,5 + I2 * 2,5 + PRB *2 + LAB * 1,5 + L1 *0,75 + L2*0,75) / 10

The FINAL Grade must be equal to or greater than 5.0 to pass the subject.

If the above conditions are not met, the student may take a final exam, provided that (I1+I2)/2 >=2,0

  • Final exam (F): Assessment will be based entirely on the student's answers to the exam.
  • FINAL Grade = (F * 5 + PRB*2 + LAB * 1,5 + L1 *0,75 + L2*0,75) / 10

The subject is passed if the Final exam (F) grade is equal to or higher than 5.0 and the overall Final Grade is also equal to or greater than 5.0. If the Final exam grade is lower than 5.0, the student will fail the subject, and the final numerical grade will be equal to the grade obtained in the Final exam.

To graduate with honors, the final grade must be 9.0 or higher. Since the number of students receiving this distinction cannot exceed 5% of the total enrollment, it will be awarded at the lecturers' discretion to those who have demonstrated the most outstanding participation throughout the course.

A student will be graded as "Non-Assessable" (No Evaluable) if they have not taken any mid-term or final exams (I1, I2, F), or due to exceptional circumstances (such as severe illness or accidents) analyzed and approved by the degree coordinator.

For each individual assessment activity, a specific place, date, and time for review will be announced, allowing students to review their performance with the lecturer. During this

session, students may discuss the grade awarded by the teaching staff. If a student does not attend this scheduled review, no alternative opportunities will be provided.

This subject does not use single assessment.

The rescheduling of individual assessment activities can be done in accordance with the School of Engineering's own protocol.

NOTES:

a) Apart from the mandatory assessment activities described above, optional activities may be proposed during the course to contribute to the final grade.

b) Should the teaching staff deem it necessary, an oral examination may be conducted to verify the authorship of any submitted assessment task.

c) Notwithstanding other disciplinary measures deemed appropriate, and in accordance with current academic regulations, assessment activities will receive a grade of zero whenever a student commits academic irregularities that may alter the results. Activities graded zero under this procedure cannot be retaken or reassessed. If passing the activity in question is a prerequisite to passing the subject, receiving a zero for disciplinary reasons will entail a direct fail for the entire course, with no opportunity for reassessment within the same academic year. Irregularities include, but are not limited to:

  • Total or partial copying of a practical exercise, report, or any other assessment activity.
  • Allowing others to copy your work.
  • Presenting group work that has not been done entirely by the members of the group.
  • Presenting any materials prepared by a third party as one’s own work, including translations or adaptations of non-original texts.
  • Having communication devices (such as mobile phones, smartwatches, etc.) accessible during individual exams.
  • Talking to peers during mid-term or final exams.
  • Using or attempting to use any unauthorized document or material during individual exams.

If a student commits an irregularity in an assessment activity, the final mark for that specific section will be the lower value between 3.0 and the weighted average of the other activities within that section (meaning passing by compensation will not be possible). In future enrollments, the student will have to retake all parts of the subject.

In summary: Copying, letting others copy, or plagiarizing (or attempting to do so) in any assessment activity results in an automatic, non-compensable FAIL with no opportunity for reassessment.

To consult the academic regulations approved by the Governing Council of the UAB, please follow this link: https://www.uab.cat/doc/TR_Normativa_Academica_Plans_Nous

Bibliography

  • HENNESSY, John L. and PATTERSON, David, Computer Architecture: A Quantitative Approach. Morgan Kaufmann (Elsevier), 2018 (Chap. 1, 2 and 3)
  • BRYANT, Randal and O'HALLARON David, Computer Systems: A Programmer's Perspective (3rd. Ed.). Prentice Hall, 2016 (Chap. 5 and 6)
  • BAKHVALOV, Denis, Performance Analysis and Tuning on Modern CPUs, easyperf.net, 2020
  • PATTERSON, David and HENNESSY, John, Computer Organization and Design: The Hardware/Software Interface. Morgan Kauffman (Elsevier), 2009 (Chap. 4 and 5)

Software

  • Linux (operating system) + basic tools (editors, web browsers,...)
  • gcc/icc (compilers)
  • perf (application profiling tool)

Course groups and languages

The information provided is provisional until November 30. After this date, you will be able to consult the language of each group through this link. To access the information, you will need to enter the course CODE

Type of teaching Group Language Semester Shift
(TE) Theory 41 English second semester morning-mixed
(TE) Theory 43 Catalan/Spanish second semester morning-mixed
(TE) Theory 45 Catalan/Spanish second semester morning-mixed
(TE) Theory 47 Catalan/Spanish second semester morning-mixed
(PAUL) Classroom practices 411 English second semester morning-mixed
(PLAB) Practical laboratories 411 English second semester morning-mixed
(PAUL) Classroom practices 412 English second semester morning-mixed
(PLAB) Practical laboratories 412 English second semester morning-mixed
(PAUL) Classroom practices 413 Catalan/Spanish second semester morning-mixed
(PLAB) Practical laboratories 413 English second semester morning-mixed
(PLAB) Practical laboratories 414 Catalan/Spanish second semester morning-mixed
(PLAB) Practical laboratories 415 Catalan/Spanish second semester morning-mixed
(PLAB) Practical laboratories 416 Catalan/Spanish second semester morning-mixed
(PLAB) Practical laboratories 417 Catalan/Spanish second semester morning-mixed
(PLAB) Practical laboratories 418 Catalan/Spanish second semester morning-mixed
(PLAB) Practical laboratories 419 Catalan/Spanish second semester morning-mixed
(PLAB) Practical laboratories 420 Catalan/Spanish second semester morning-mixed
(PLAB) Practical laboratories 421 Catalan/Spanish second semester morning-mixed
(PLAB) Practical laboratories 422 Catalan/Spanish second semester morning-mixed
(PLAB) Practical laboratories 423 Catalan/Spanish second semester morning-mixed
(PLAB) Practical laboratories 424 Catalan/Spanish second semester morning-mixed
(PLAB) Practical laboratories 425 Catalan/Spanish second semester morning-mixed
(PAUL) Classroom practices 431 Catalan/Spanish second semester morning-mixed
(PAUL) Classroom practices 432 Catalan/Spanish second semester morning-mixed
(PAUL) Classroom practices 451 Catalan/Spanish second semester morning-mixed
(PAUL) Classroom practices 452 Catalan/Spanish second semester morning-mixed