Informatics Engineering
COMPUTER ARCHITECTURE
Description
Theory
1
Theory/Practice
1
Laboratory
2
Instructors
Paulo Baltarejo Sousa
Contents
The course covers the following main topics:
P1. Computer systems architecture (8%);
P2. Processor architecture (8%);
P3. Memory organization (8%);
P4. Conceptual model of programs execution (8%);
P5. High- and low-level programming languages (16%);
P6. Program development (36%).
P7. Optimizing program performance (16%).
Learning Outcomes
The aim is to provide students the intellectual tools that enable them to understand fundamental high-level concepts and abstractions used in programming languages and determine the concrete ways in which they affect the correctness and performance of application programs.
At the end of the course, the students should be able to:
C01. Explain the hierarchy of abstractions and implementations that comprise a modern computer system and how these impact on the performance and correctness of applications
CO2. Explain what assembly language is and how it fits into the programming model
CO3. Explain how compilation systems work
CO4. Systematize opportunities to optimize application programs with techniques that exploit the designs of modern processors and memory systems
CO5. Develop efficient and reliable software solutions based on the knowledge of the underlying computer system and on how high-level language programs are mapped onto a machine and executed
CO6. Organize solutions in a team to achieve specific objectives constrained by time deadlines