Arquitetura de Computadores

« Voltar

Objetivos

Identificar os componentes fundamentais numa arquitetura de computador e o seu papel no conjunto.

Identificar os componentes fundamentais num processador e o seu papel no conjunto; projetar os componentes fundamentais de um processador elementar.

Programar um computador em linguagem “Assembly”.

Aplicar o conceito de interrupção, nomeadamente nas operações de transferência de dados.

Escolher o interface externo adequado à ligação com um periférico.

Utilizar uma estrutura hierárquica de memória no contexto das arquiteturas de computadores.

Identificar as vantagens e restrições inerentes ao funcionamento de um computador decorrentes das evoluções face à arquitetura original.

Programa

Arquitetura e organização de um computador: componentes principais - modelo de von Neumann; história e evolução dos computadores.

Unidade processamento principal (CPU): registos e unidades funcionais; execução das instruções por interrupções, em pipelining e em paralelismo.

Unidade de controlo: funções, implementações e componentes; microprogramação.

Arquiteturas de processadores: RISC e CISC

Memórias: interna - cache e RAM; externa - discos magnéticos e óticos.

Buses: tipos; estrutura; hierarquia; temporização; implementações (exemplos).

Entradas e saídas: módulos e técnicas; interfaces externos - comunicação com os periféricos.

Linguagem "Assembly“: metodologia; instruções e tipos de dados; entrada e saída de dados; modos de endereçamento; operações lógicas e aritméticas; estruturas de controlo.

Métodos de ensino

Aulas teóricas

Exposição dos conceitos e apresentação de exemplos; resolução de exercícios teórico-práticos.

Realização de testes de diagnóstico no final de cada capítulo.

Aulas práticas laboratoriais

Montagem de componentes num computador e ligação de periféricos.

Construção de programas em linguagem "assembly"; utilização de uma ferramenta para codificação e teste de programas numa linguagem "assembly" em particular.

Utilização do sistema de gestão de aprendizagem Moodle, onde estão disponíveis recursos e atividades diversas, como complemento às aulas presenciais.

Bibliografia

Abel, P. (2001) IBM PC Assembly Language and Programming, 5th ed., Prentice-Hall.

Delgado, J. e Ribeiro, C. (2007) Arquitectura de Computadores, FCA.

Hennessy, J. et al. (2005), Computer Organization and Design, 3th ed., Morgan Kaufmann.

Stallings, W. (2003) Computer Organization and Architecture, 6th ed., Prentice-Hall.

Tanenbaum, S. Andrew (2006) Structured Computer Organization, 5th ed., Prentice-Hall.

Código

0106025

ECTS

6

Aulas

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

Método de Avaliação

  • Frequência: 60%
  • Trabalho prático (desenho e implementação de um programas em linguagem : 40%