Identifying Data 2019/20
Subject (*) Computer Structure Code 614G01012
Study programme
Grao en Enxeñaría Informática
Descriptors Cycle Period Year Type Credits
Graduate 1st four-month period
Second Obligatory 6
Language
Spanish
English
Teaching method Face-to-face
Prerequisites
Department Enxeñaría de Computadores
Coordinador
Andrade Canosa, Diego
E-mail
diego.andrade@udc.es
Lecturers
Andión Fernández, José Manuel
Andrade Canosa, Diego
Arenaz Silva, Manuel Carlos
Darriba López, Diego
Doallo Biempica, Ramon
Fraguela Rodriguez, Basilio Bernardo
Gonzalez Gomez, Patricia
López López, Eric
Porta Trinidad, Juan
Rey Expósito, Roberto
Rodríguez Álvarez, Gabriel
E-mail
jose.manuel.andion@udc.es
diego.andrade@udc.es
manuel.arenaz@udc.es
diego.darriba@udc.es
ramon.doallo@udc.es
basilio.fraguela@udc.es
patricia.gonzalez@udc.es
eric.lopez@udc.es
juan.porta@udc.es
roberto.rey.exposito@udc.es
gabriel.rodriguez@udc.es
Web
General description Estudo da arquitectura, organización, función e deseño dun computador. Presentación das principais métricas del rendemento dun computador. Avaliación e optimización do rendemento dos bloques funcionais básicos do computador. Introducción ós sistemas paralelos e sistemas de almacenamento.

Study programme competencies
Code Study programme competences
A15 Capacidade de coñecer, comprender e avaliar a estrutura e a arquitectura dos computadores, así como os compoñentes básicos que os conforman.
B1 Capacidade de resolución de problemas
C6 Valorar criticamente o coñecemento, a tecnoloxía e a información dispoñible para resolver os problemas cos que deben enfrontarse.
C7 Asumir como profesional e cidadán a importancia da aprendizaxe ao longo da vida.

Learning aims
Learning outcomes Study programme competences
Know, understand and ability to evaluate the computer structure and architecture, as well as the components that compound them. A15
B1
C6
C7

Contents
Topic Sub-topic
1. Performance evaluation 1. Introduction
2. Definition of performance metrics
3. Performance evaluation and comparison
4. Measurement techniques and benchmarks
2. Instruction level parallelism 1. Introduction
2. Instruction level dependences and parallelism
3. Hazards
4. MIPS pipeline
3. Branch management 1. Static techniques
2. Dynamic techniques
3. Branch delay
4. Memory systems 1. Introduction
2. Main memory
3. Memory hierarchy
5. Caches 1. Introduction
2. Operation of the cache system
3. Cache performance metrics
4. Optimization techniques
6. Virtual memory 1. Introduction
2. Pagination
3. Segmentation
7. Storage systems 1. Basics
2. Types of storage systems
3. RAID
8. Buses: connection of I/O and CPU/Memory 1. Introduction
2. Buses and interconnection
3. Examples of standard buses

Planning
Methodologies / tests Competencies Ordinary class hours Student’s personal work hours Total hours
Guest lecture / keynote speech A15 29 37 66
Problem solving A15 B1 10 20 30
Laboratory practice A15 C6 20 30 50
Objective test C7 3 0 3
 
Personalized attention 1 0 1
 
(*)The information in the planning table is for guidance only and does not take into account the heterogeneity of the students.

Methodologies
Methodologies Description
Guest lecture / keynote speech This type of sessions are master classes complemented with the usage of audiovisual media and the introduction of debating with students phases. The objective is to transfer knowledge and ease the learning process. There will be presentations about the main contents of the subject. Usually, this type of sessions will be an starting point for other activities related to the same topic.

In this type of sessions, it will be promoted the adquisition of knowledge associated to compentence A15.
Problem solving In this type of classes, the teacher will solve several problems which will reinforce the knowledge acquired in the keynote speeches.

This type of session will promote the acquisition of compentences A15 and B1 as they improve the capacity of the student to solve computer architecture problems.
Laboratory practice This type of sessions propose computer driven activities that reinforce the knowledge acquired in other types of sessions.

They will allow the familiarization of the student with practial aspects of the subject. The sessions will be completed with a set of self-evaluation tests which let students to find out if they have acquired the skills associated to a particular session.

This type of sessions will promote the acquistion of competence A15, as the laboratory activities requires that the student can solve computer architecture problems. As he has tu use its knowledge to solve the problems, it also acquires competence C6.
Objective test This activity evaluates the knowledge and the capacity acquired by the students in this subject.

It is written final exam which includes questions to evaluate objectively students.

This test check the acquisition of competence A15.

In general, all the evaluation activities promote the acquistion of competence C7, as it places value on learning.

Personalized attention
Methodologies
Problem solving
Laboratory practice
Description
The personalized attention in the laboratory and the problem solving sessions is important to guide the students in their development and learning process. Besides, this attention will serve to validate and evaluate the work of the students in the different stages of their development.

It is also recommended that students attend to tutorials when they need it.

Assessment
Methodologies Competencies Description Qualification
Problem solving A15 B1 There will be several tests to evaluate the capacity of the students to solve problems autonomously and creatively. 10
Laboratory practice A15 C6 There will be several tests to evaluate the capacity of the students to solve practical problems using the tools introduced in the lab sessions. 20
Objective test C7 It will be checked that the student has acquired the knowledge introduced in the master classes, and that it is able to solve similar problems to those seen in the problem solving sessions. 70
 
Assessment comments

The final exam is a 70% of the final grade, the tests related to the laboratory sessions are the 20% and the tests related to problem solving sessions are the 10%. The student has to reach at least a 40% of the grade associated to the final exam to pass the subject. In addition, the student has to reach at least a 50% of the total grade to pass the subject. 

If the student doesn't attend to the tests associated to the laboratory sessions or problem solving sessions, it will lose this part of the grade for the first attempt. It cannot recover it. 

In the second attempt, the student can obtain the 100% of the grade, including that one associated to the above mentioned tests. 

The student will be graded as "absent" if they don't attend to the final exam.

The part-time students and those that are allowed by the university to not attend to the classes will make the same evaluation tests and exams than the other students. We will make sure that their schedules are compatible with the period of time within they have to attend to classes. 


Sources of information
Basic Hennessy, J. L. y Patterson, D. A. (2011). Computer architecture. A quantitative approach. Morgan Kaufmann
Patterson, D. A. y Hennessy, J. L. (2011). Estructura y Diseño de Computadores. La interfaz hardware/software. Reverté

Complementary Stallings, W. (2009). Computer Organization and Architecture: Designing for Performance. Prentice Hall
Patterson, D. A. y Hennessy, J. L. (2005). Computer organization and design: The hardware/software interface. Morgan Kaufmann
Hamacher, C., Vranesic, Z., Zaky, S. y Manjikian, N. (2011). Computer Organization and Embedded systems. McGraw-Hill
Kernighan, R. (1991). El lenguaje de programación C. Prentice Hall
F. García, J. Carretero, J. D. García y D. Expósito (2009). Problemas Resueltos de Estructura de Computadores. Paraninfo


Recommendations
Subjects that it is recommended to have taken before
Programming I/614G01001
Fundamentals of Computers/614G01007

Subjects that are recommended to be taken simultaneously
Operating Systems/614G01016

Subjects that continue the syllabus
Concurrency and Parallelism/614G01018

Other comments


(*)The teaching guide is the document in which the URV publishes the information about all its courses. It is a public document and cannot be modified. Only in exceptional cases can it be revised by the competent agent or duly revised so that it is in line with current legislation.