Computer Architecture

« Return

Objectives

- Identify the fundamental computer architecture components and their roles.
- Identify the main processor's components and their role.
- Identify the different instruction types and the required mechanisms for their execution (at an introductory-level).
- Understand how a program, written in a high-level language, is executed, including the role of the compiler, assembler, and loader.
- Write simple programs in Assembly language.
- Understand the underlying principals of interruptions/exceptions and the interface with processor peripherals.
- Understand the importance of a hierarchical memory subsystem and its role in the performance of applications.
- Identify the advantages and drawbacks stemming from the evolution of computers with respect to the original architecture.

Program

- Historical evolution of computing systems.
- Instruction Set Architectures: operands and operation types; memory map; peripherals interface; handling of interruptions and exceptions.
- Processors' operation: datapath; control structures; single-cycle and pipelined architectures.
- Memory hierarchy: structure and operation of cache memories; hierarchical cache systems; physical and virtual addressing and translation.
- Advances in computer architectures.

Teaching Methodologies

50% continuous evaluation / 50% non-continuous evaluation

Bibliography

Computer Organization and Design: the Hardware/Software Interface, 5th Edition, David A. Patterson, John L. Hennessy, 2013,Morgan Kaufmann

Code

0104065

ECTS Credits

6

Classes

  • Práticas e Laboratórios - 28 hours
  • Teóricas - 28 hours

Evaluation Methodology

  • Continuous evaluation: 50%
  • Non-continuous evaluation: 50%