Computer Architecture

« Return

Objectives

Identify the key components of a computer architecture and its role in the set.

Identify the key components of a processor and its role in the set, designing the fundamental components of na elementary processor.

Programming a computer using an Assembly language.

Applying the concept of interrupt, namely in data transfer operations.

Choose the appropriate external interface for the connection to a peripheral.

Using a hierarchical memory in the context of computer architectures.

Identify the inherent advantages and limitations in the operation of a computer developments arising from the evolution in relation to the original architecture.

Program

Learning outcomes

- Identify the fundamental components in a computer architecture and their role as a whole.
- Identify the fundamental components in a processor and their role as a whole; design the fundamental components of an elementary processor.
- Apply the concept of interruption, namely in data transfer operations.
- Choose the external interface suitable for connection with a peripheral.
- Use a hierarchical structure of memory in the context of computer architectures.
* - Identify the advantages and restrictions inherent in the operation of a computer resulting from the evolution of the original architecture.
- Program a computer in “Assembly” language.


Syllabus

1. Architecture and organization of a computer
1.1. Main components - von Neumann model
1.2. History and evolution of computers
2. Central processing unit (CPU)
2.1. Registers and functional units
2.2. Execution of instructions: interruptions, pipelining and parallelism
3. Control unit
3.1. Functions and components
3.2. Implementations - microprogramming
4. Processor Architectures
4.1. RISC and CISC
4.2. Multi-core
5. Memories
5.1. Internal - cache and RAM
5.2. External - magnetic, optical and flash disks
6. Buses
6.1. Types, structure and timing
6.2. Implementations (examples)
7. Inputs and Outputs
7.1. I/O Modules and Techniques
7.2. External interfaces - communication with peripherals
8. Assembly language
8.1. Instructions and data types
8.2. Input and output of data
8.3. Addressing modes

Teaching Methodologies

Lectures

Exposure of the concepts and presentation of examples; solving theoretical and practical exercises.
Performing diagnostic tests at the end of each chapter.

Laboratory classes

Assembly of components on a computer and connecting peripherals.
Construction of language programs "assembly", using a tool for coding and testing programs in language "assembly" in particular.
Using learning management system Moodle, where resources are available and various activities to supplement classroom.

Bibliography

Essential

José Delgado e Carlos Ribeiro, Arquitectura de Computadores, 5a. Edição, FCA, 2014.
William Stallings, Computer Organization and Architecture, 9th Edition, Prentice-Hall, 2013.
Andrew S. Tanenbaum, Structured Computer Organization, 6th Edition, Prentice-Hall, 2013.

Complementary

Guilherme Arroz et al., Arquitectura de Computadores, 3a. Edição, IST Press, 2014.
John L. Hennessy and David A. Petterson, Computer Organization and Design, 5th Edition, Morgan Kaufman, 2014.

Code

0106025

ECTS Credits

6

Classes

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