Arquitecturas de Computador

1ºAno/2º Semestre do Curso de Eng. de Sistemas e Informática

Ano lectivo 1999/2000

Objectivos

Programa de estudo

Regime de avaliação

Bibliografia recomendada

Trabalhos Práticos

Trabalhos Práticos para avaliação

Exames-épocas anteriores

Sumários

Calendário de frequências/exames

Objectivos:

Nesta disciplina, pretende-se que os alunos adquiram os conceitos fundamentais relativos:

- à organização e estrutura interna de um computador;

- à constituição interna dum processador;

- ao interface do processador com os restantes componentes de um computador;

- à representação interna de dados num computador;

- à metodologia de programação em linguagem Assembly;

- à programação de circuitos periféricos especializados.

Para exemplificação dos conceitos fundamentais são analisados sistemas computacionais baseados no CPU 8086 (16bits).

Programa de Estudo:

1 Representação dos dados

Tipo de dados: Propriedades - domínio, precisão e operações.

Classificação: Tipo escalar; Discreto; Não discreto; Inteiros; Definidos por enumeração.

Codificação e representação interna dos dados: Código binário natural; Sinal e valor absoluto; Complemento para 1; Complemento para 2; Packed BCD; Unpacked BCD; Código ASCII; Alternativas na representação de valores lógicos.

Ultrapassagem de capacidade/transbordo.

Aumento de precisão.

2 Organização dum computador por níveis virtuais de utilização

Aplicação, linguagens de alto nível, assembly, sistema operativo e código máquina.

Mecanismos de conversão entre níveis de utilização - compilação e interpretação.

3 Organização funcional de um computador

Unidade Central de Processamento (CPU), memória e unidades de I/O.

Bus de dados, bus de endereços e bus de controlo - capacidade de endereçamento.

4 Organização interna dum CPU

Registos de instrução; Registos de utilização específica e genérica; Registos de estado.

Unidade aritmética e lógica.

Unidade de controlo: Sinais de controlo; Interface com memória e unidades de I/O.

Ciclos máquina: leitura/escrita em memória e I/O; Busca de instrução;

5 Análise do conjunto de instruções do CPU

Formato geral das instruções: Tipos de instrução pelo número de operandos:2,1,0.

Modos de endereçamento: imediato; por registo; directo e indirecto.

Classificação das operações: Transferência de dados; Aritméticas e lógicas; Controlo de execução; Controlo do CPU.

6 Operações com dados

Análise das estruturas das operações de transferência de dados.

Operações aritméticas (soma, subtracção, multiplicação e divisão) com inteiros com referência à extensão da precisão.

7 Controlo de execução

Implementação dos mecanismos de sequência, selecção e repetição.

Estruturas de selecção: IF..THEN...ELSE, CASE..OF

Estruturas de repetição: WHILE, REPEAT, FOR

8 Manipulação de tipos estruturados de informação

Operações com vectores e tabelas bidimensionais.

Operações com registos.

Operações com tabelas de registos.

9 Suporte à programação estruturada

Manipulação da pilha do sistema.

Implementação, invocação e retorno de subrotinas.

Passagem de parâmetro por registo e por pilha.

Passagem de parâmetros por valor e por referência.

Salvaguarda e recuperação do conteúdo de registos.

Variáveis globais e locais.

Variáveis locais: Visibilidade e tempo de vida; alocação e libertação do espaço.

10 Mecanismos de interrupção do CPU

Tipos de interrupção.

Controlo das interrupções.

Utilização de interrupções por software para acesso às funções do sistema operativo.

Implementação de subrotinas de resposta a interrupção.

11 Programação e controlo de unidades de I/O

Instruções específicas para acesso a unidades de I/O

Sinais de controlo e interface com unidades de I/O

Programação de circuitos periféricos: comunicação série; comunicação paralela; circuitos PIO; circuitos contadores/temporizadores; ADC/DAC

Avaliação:

A avaliação rege-se pelas seguintes regras:

Bibliografia recomendada: