Universidade do Minho

Departamento de Informática

Arquitectura de Computadores II

Licenciatura em Engenharia de Sistemas e Informática - 3ºAno (LESI)

2004/05

Docentes

Objectivos

Programa

Bibliografia

Avaliação

Sumários

Guiões

PG04

Links

2003/04


Programa detalhado

I.                    Arquitectura interna dum processador

 

A unidade de controlo

Revisão do datapath dum processador (MIPS) e dos sinais de controlo de uma ALU. Análise de uma implementação simples - com apenas as instruções de lw, sw, beq, j e as instruções aritméticas/lógicas add, sub, and, or e slt - e desenho da unidade de controlo principal do processador.

Extensão da arquitectura para suportar implementações multi-ciclo; identificação dos circuitos adicionais e redefinição dos sinais de controlo e respectiva máquina de estados finita (FSM); implementação da FSM usando ROM ou PLA.

Técnicas alternativas de implementação da unidade de controlo: microcódigo; definição de um formato de microprogramação e construção de um microprograma.

Integração de excepções e interrupções numa unidade de controlo.

 

Paralelismo ao nível da instrução

Introdução de pipeline no datapath dum processador (MIPS); análise dos 5 níveis típicos: IF, ID/OF, Ex, Mem e WB; análise de uma unidade de controlo simples que suporta pipeline.

Identificação de problemas em arquitecturas com pipeline e propostas de resolução: dependência de dados e resolução com stalls e data forwarding; dependência de controlo em instruções de salto e resolução com stalls e previsão de saltos; e dependência de controlo em excepções.

Paralelismo ao nível da instrução (ILP): arquitecturas super-escalares. Análise detalhada dos tipos de dependências de dados: RAW (Read after Write), WAR (Write after Read) e WAW (Write after Write). Técnicas de renomeação de registos e escalonamento dinâmico de instruções para resolução das dependências WAR e WAW. Processadores VLIW (Very Long Instruction Word) e vectoriais. Instruções vectoriais para multimédia.

Análise do desempenho de arquitecturas com pipeline e super-escalaridade.

Análise de modelos de implementação de algumas arquitecturas comerciais de última geração.

 

  II. Processadores paralelos

 

Taxonomia de classificação de arquitecturas baseadas em diversos processadores: sistemas de memória partilhada e sistemas de memória distribuída.

Sistemas MIMD de memória partilhada: estrutura dos nodos de computação, coerência de caches, modelos de programação. Paralelismo ao nível dos fios de execução. Apresentação de sistemas multi-core.

Sistemas MIMD de memória distribuída: estrutura dos nodos de computação, o modelos de programação. Clusters de máquinas.

 

 

  III. Periféricos

 

Análise das características e do desempenho de alguns periféricos: discos, RAID, redes, ecrã, etc. Análise de tipos e características de barramentos. Hierarquia de barramentos e análise das características de  PC actuais.

Programação de periféricos: E/S através de sondagem ou através de interrupções. Desenvolvimento de aplicações para um periférico genérico (PG/04).

 

  IV. Máquinas Virtuais

 

Análise das características de uma máquina virtual. Estudo da arquitectura do conjunto de instruções (ISA) da Java Virtual Machine.

 

 

Página mantida por João Luís Sobral