Computer Architecture

Year
4
Academic year
2020-2021
Code
02000605
Subject Area
Digital Systems and Computers
Language of Instruction
Portuguese
Other Languages of Instruction
English
Mode of Delivery
Face-to-face
Duration
SEMESTRIAL
ECTS Credits
6.0
Type
Compulsory
Level
2nd Cycle Studies - Mestrado

Recommended Prerequisites

Computer Programming, Data Structures and Algorithms, Microprocessors, Operating Systems.

Teaching Methods

Theoretical classes with detailed presentation, using audiovisual means, of the concepts, principles and fundamental theories and solving of basic practical exercises to illustrate the practical interest of the subject and exemplify its application to real cases.

Theoretical-practical classes where the students, supervised by the staff member, solve practical exercises, which require the combination of different theoretical concepts and promote critical reasoning in the presence of more complex problems.

Laboratory classes where execution of specific developments and consequent results analysis.

Learning Outcomes

This course objectives are: the introduction of the fundamental techniques that root current  computing systems, the development of competencies in the analysis of the implications of the different options on a high performance computing project, and provide experience in the development of software for such systems. The competencies acquired along this course enable the students to develop high performance computational systems and application.

Work Placement(s)

No

Syllabus

1. Fundamentals of Computer Architecture

Basic concepts. Performance evaluation metrics

2. Instruction level parallelism

Instruction Level Parallelism limitations. Static and dynamic optimizations. Predictors, speculation and dependency reduction.

3. Memory hierarchy

Spatial and temporal locality. Cache organization and optimization.

Protection issues. Virtual memory and virtual machines.

4. Multimedia extensions and vectorial processors

Advantages of the vectorial instructions/architectures. Changes in processors architectures to support vectorial instructions.

5. Multiprocessor systems and task level parallelism

Symmetric and assymetric shared memory architectures.

Distributed shared memory and consistency issues. MPI and OpenMP

6. Data storage

Storage supports and types of faults. I/O performance. Redundant systems.

Head Lecturer(s)

Paulo Jorge Carvalho Menezes

Assessment Methods

Assessment
Laboratory work or Field work: 40.0%
Exam: 60.0%

Bibliography

John L. Hennessy, David A. Patterson, Computer Architecture: A Quantitative Approach, 5th Edition, Morgan Kaufmann, 2011