Guía Docente 2020-21


Id.: 30085
Subject type: OPTATIVA
Year: 3 Teaching period: Segundo Cuatrimestre
Credits: 3 Total hours: 75
Classroom activities: 36 Individual study: 39
Main teaching language: Inglés Secondary teaching language: Castellano
Lecturer: Email:


In this subject, the students will learn comples computational systems and how they work. When the clock frequency of a processor can not be increased it is necessary to look for other ways to increase the computational capacity. Throught this subject ,the students will learn how this can be solved using pipelining, several processors, or other techniques, like using the GPU.


General programme competences G02 Innovative capacity to propose and find new and efficient ways to undertake any task and/ or function within the professional environment - highly motivated by quality.
G04 Capacity to always commit to working responsibly - creating a strong sense of duty and fulfilment of obligations.
G05 Capacity to adapt to different environments while being positive and optimistic, orienting your behaviour towards the achievement of goals.
G06 Capacity to analyse and find a solution to complex problems or unforeseen situations which may arise while working in any type of socio-economic organisation.
G09 Capacity to make decisions impartially and rationally.
G11 Ability to get on in a multicultural or international environment, interacting with people of different nationalities, languages and cultures.
G12 Capacity to undertake professional activities with integrity, respecting social, organisational and ethical norms.
G14 Capacity for abstraction to handle various complex knowledge models and apply them to examining and solving problems.
Specific programme competences E01 Capacity to understand the engineering profession and commitment to serve society under the corresponding professional code of conduct.
E02 Capacity to apply the intrinsic engineering principles based on mathematics and a combination of scientific disciplines.
E03 Capacity to recognise the technical principles and apply the appropriate practical methods satisfactorily to analyse and solve engineering problems.
E04 Capacity to maintain an open mind to innovation and creativity within the framework of the engineering profession.
E08 Capacity to communicate productively with clients, users and colleagues both orally and in writing, so as to pass on ideas, solve conflicts and achieve agreements.
E10 Capacity to understand and assess the impact of technology on individuals, organisations, society and the environment, including ethical, legal and political factors, recognising and applying the pertinent standards and regulations.s éticos, legales y políticos, reconociendo y aplicando los estándares y regulaciones oportunos
E11 Capacity to remain up-to-date in the technological and business worlds in the area of information and communication technologies.
E13 Capacity to identify, assess and use current and emerging technologies, considering how they apply in terms of individual or organisational needs.
E20 Capacity to undertake the detailed design of the components of a project (procedures, user interface, equipment characteristics, communications system parameters, etc.).
E21 Capacity to perform tests that verify the validity of the project (functional, data integrity, performance of the computer applications, equipment, communications, etc.).
E27 Capacity to write and maintain descriptive documentation of the origin, production and operability of IT systems.
Learning outcomes R01 Understand the architecture of multiprocessor systems.
R02 Understand grid computing.
R03 Develop programs which optimise the use of resources, making use of GPGPU techniques.
R04 Understand and assess memory systems in complex computing systems.


Computers Architecture


Subject contents:

1 - Introduction
    1.1 - The need for computing
    1.2 - Moore's Law
    1.3 - Evolution of the processors
    1.4 - Pipelining
2 - Multiprocessors
    2.1 - Introduction
    2.2 - Shared memory
    2.3 - Multithreading hardware
    2.4 - Multicore processors
3 - Grid Computing
    3.1 - Introduction
    3.2 - Classification
    3.3 - Cluster Architecture
    3.4 - Volunteer computing
    4.1 - Introduction to heterogeneous computing
    4.2 - OpenCL
    4.3 - CUDA

Subject planning could be modified due unforeseen circumstances (group performance, availability of resources, changes to academic calendar etc.) and should not, therefore, be considered to be definitive.


Teaching and learning methodologies and activities applied:

Classes are conducted exclusively in English. Students are expected to participate in class and in all class-related activities in English. Classes are practical and communicative. Many class activities will be conducted in pairs and groups in the format of infomation gaps, debates, project preparation, problem solving, simulations, presentations etc.

This methodology enables maximum student participation and talking time in class. It also encourages cooperate learning and meaningful interaction between students and the development of professional competences.

Students are expected to complete all independent study tasks, which will be uploaded on the PDU.

Theory Sessions: Lectures will be used to explain the basis of the different chapters. Wherever possible, explanations will be accompained by images, text or sounds to be used as practical examples and discussion topics. During the sessions, the lecturer will propouse activities or to look for information out of the class and he will resolve doubts.

Practical Sessions: There are individual labs and practices in groops. For these practices, students will be grouped into groups of 2 or 3. Practice will be the goal of the whole group. During practice, students will use problem-based learning methodological strategy

Student work load:

Teaching mode Teaching methods Estimated hours
Classroom activities
Master classes 9
Other theory activities 3
Practical exercises 5
Practical work, exercises, problem-solving etc. 5
Coursework presentations 2
Laboratory practice 10
Assessment activities 2
Individual study
Tutorials 3
Individual study 10
Individual coursework preparation 8
Group cousework preparation 11
Project work 4
Compulsory reading 2
Recommended reading 1
Total hours: 75


Calculation of final mark:

Written tests: 40 %
Individual coursework: 30 %
Group coursework: 30 %
TOTAL 100 %

*Las observaciones específicas sobre el sistema de evaluación serán comunicadas por escrito a los alumnos al inicio de la materia.


Basic bibliography:

HENNESSY, John L. and PATTERSON, David A. Computer Architecture: A Quantitative Approach. Morgan Kaufmann, 3a Edición, 2003.
SANDERS, Jason and Kandrot, Edward. CUDA by example: an introduction to general-purpose GPU programming. Addison-Wesley, 2011.

Recommended bibliography:

BUYYA, R. Hig Performance Cluster Computing: Architectures and Systems. Upper Saddle River, NJ. Pretince Hall, 1999
BUYYA, R. Hig Performance Cluster Computing: Programming and Applications. Upper Saddle River, NJ. Pretince Hall, 1999
HWANG, K. Advanced Computer ARchitectura. New York: McGraw-Hill, 1993.
STALLINGS, William. Organización y arquitectura de computadores. Pretince Hall, 2006.

Recommended websites:


* Guía Docente sujeta a modificaciones