Universidade do Minho

Departamento de Informática

Arquitectura de Computadores II

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

2003/04

Docentes

Objectivos

Programa

Bibliografia

Avaliação

Sumários

Guiões

2002/03

 

Sumários

Semana: 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13

Semana 1

25-Fev-2004 (T) (Quarta-feira)

Apresentação dos objectivos e do programa da disciplina.

1-Mar-2004 (T) (Segunda-feira)

Análise da evolução das arquitecturas de computadores: Evolução tecnológica e avaliação de desempenho.

27-Fev-2004 e 1-Mar-2004 (TP1,TP2,TP3)

Organização e constituição dos turnos práticos.

 

Semana 2

3-Mar-2004 (T) Cópia dos acetatos das aulas de 25/2, 01/03 3/03/2004

Análise da evolução das arquitecturas de computadores (continuação): segmentos do mercado de arquitectura de computadores, tipos de conjuntos de instruções (ISA).

8-Mar-2004 (T)

Revisão do datapath dum processador MIPS. Descrição dos vários blocos do datapath para suporte às instruções aritméticas e lógicas, de leitura e escrita na memória e de salto.

5-Mar-2004 e 8-Mar-2004 (TP1,TP2,TP3)

Introdução às máquinas virtuais. Análise da Máquina Virtual de Java (Java Virtual Machine): instruções de transferência de informação e aritméticas. Resolução de exercícios.
 

Semana 3

10-Mar-2004 (T)

Revisão do datapath dum processador MIPS: análise dos vários blocos do datapath (continuação).

15-Mar-2004 (T) (Cópia dos acetatos das aulas de MIPS single cycle)

Identificação dos sinais de controlo do datapath do processador MIPS e análise da unidade de controlo do processador.

12-Mar-2004 e 15-Mar-2004 (TP1,TP2,TP3)

Análise da JVM (continuação): instruções de comparação e salto e de manipulação de vectores. Resolução de exercícios.
 

Semana 4

17-Mar-2004 (T)

Análise da implementação dos vários blocos do datapath dum processador MIPS: unidade de controlo, banco de registos e memória. Limitações da execução das instruções num só ciclo máquina.

22-Mar-2004 (T)

Introdução à execução de instruções em vários ciclos máquina (multi-ciclo). Construção de um datapath para suporte à execução multi-ciclo.

19-Mar-2004 e 22-Mar-2004 (TP1,TP2,TP3)

Resolução de exercícios sobre o datapath do MIPS: simulação da execução de várias instruções.
 

Semana 5

24-Mar-2004 (T)

Análise detalhada das fases de execução de instruções em vários ciclos: beq, Tipo R, lw e sw.

29-Mar-2004 (T)

Não houve aula.

26-Mar-2004 e 29-Mar-2004 (TP1,TP2,TP3)

Resolução de exercícios sobre o datapath do MIPS com suporte à execução de instruções em vários ciclos: simulação da execução de várias instruções.
 
 
Semana 6

31-Mar-2004 (T)

Análise das fases de execução de instruções em vários ciclos (continuação). Especificação da unidade de controlo através de uma máquina de estados finitos.

5-Abr-2004 (T)

Análise de uma implementação da unidade de controlo do MIPS multi-ciclo.

2-Abr-2004 e 5-Abr-2004 (TP1,TP2,TP3)

Resolução de exercícios sobre o datapath do MIPS multi-ciclo: extensão do datapath para suporte à execução de novas instruções.

 

Semana 7

7-Abr-2004 (T) (Cópia dos acetatos das aulas de MIPS multi-ciclo)

Especificação da unidade de controlo através de um micro-programa. Análise de um formato de micro-instrução. Implementação de um micro-programa através de uma ROM e de um sequenciador.

12-Abr-2004 (T)

Férias da Páscoa

9-Abr-2004 e 12-Abr-2004 (TP1,TP2,TP3)

Férias da Páscoa

 

Semana 8

14-Abr-2004 (T)

Tratamento de excepções num datapath com suporte à execução de instruções em vários ciclos máquina. Introdução à interface com periféricos.

19-Abr-2004 (T)

Interface com periféricos (continuação): análise das características e caracterização do desempenho de periféricos (Discos rígidos).

16-Mar-2004 e 19-Abr-2004 (TP1,TP2,TP3)

Introdução à programação de periféricos. Apresentação do periférico genérico PG04. Portas de entrada e de saída de dados (exercício 1 do guia).

 

Semana 9

21-Abr-2004 (T)

Análise das características e caracterização do desempenho de periféricos (Níveis de RAID, Discos ópticos, fitas magnéticas, redes locais).

26-Abr-2004 (T) (Cópia dos acetatos das aulas de Periféricos)

Análise de tipos e características de barramentos. Hierarquia de barramentos e relação custo/desempenho. PCI versus SCSI. Apresentação da hierarquia de barramentos existente num PC compatível baseado no Pentium 4 (chipset Intel i850). Programação de periféricos.

23-Abr-2004 e 26-Abr-2004 (TP1,TP2,TP3)

Programação de periféricos: desenvolvimento de aplicações para o periférico genérico PG04 envolvendo a programação de portas de controlo e de estado (exercício 2 do guia).
 

Semana 10

28-Abr-2004 (T)

Introdução à execução encadeada de instruções (pipelining): fases de execução de instruções num processador MIPS. Análise do desempenho de um processador com pipelining e comparação com as variantes single-cycle e multi-ciclo.

3-Maio-2004 (T)

Apresentação dos vários tipos de anomalias na execução em pipelining: anomalias estruturais, de controlo e de dados. Analise de formas de eliminar ou reduzir o impacto das anomalias.

30-Abr-2004 e 3-Maio-2004 (TP1,TP2,TP3)

Programação de periféricos: desenvolvimento de aplicações para o periférico genérico PG04 envolvendo E/S controlado por interrupções (exercício 5 do guia).
 

Semana 11

5-Maio-2004 (T)

Análise de um datapath com suporte à execução de instruções em pipelining. Apresentação de um exemplo de execução de instruções em pipelining.

10-Maio-2004 (T)

Semana académica.

7-Maio-2004 e 17-Maio-2004 (TP1,TP2,TP3)

Programação de periféricos: desenvolvimento de aplicações para o periférico genérico PG01/04 envolvendo a programação de portas mapeadas em memória (exercício 4 do guia).
 

Semana 12

12-Maio-2004 (T)

Semana académica.

17-Maio-2004 (T)

Introdução à unidade de controlo. Análise de um exemplo de execução de instruções em pipelining incluindo os sinais de controlo. Apresentação da anomalias originadas por dependências de dados e sua resolução através de encaminhamento de dados.

10-Maio-2004 e 14-Maio-2004 (TP1,TP2,TP3)

Semana académica.

 

Semana 13

19-Maio-2004 (T)
 
Resolução de dependências de dados através de stall do pipeline. Dependências de controlo e sua resolução: antecipação da resolução dos saltos, previsão estática de saltos e previsão dinâmica de saltos.

24-Maio-2004 (T) (Cópia dos acetatos das aulas de Pipelining)

Análise do desempenho da execução em pipelining com stalls. Suporte a excepções na execução em pipelining.

21-Maio-2004 e 24-Maio-2004  (TP1, TP2, TP3)

Resolução de exercícios sobre a execução de instruções em pipelining (exercícios 1, 2 do guia).

 

Semana 14

26-Maio-2004 (T)

Introdução a alternativas de desenho de arquitecturas com pipelining avançado e paralelismo ao nível da instrução (ILP).

31-Maio-2004 (T)

Pipelining Avançado e ILP: análise de técnicas para aumentar o desempenho (super-pipelining e super-escalaridade). Analise do datapath do MIPS R4000 e de um datapath com suporte à execução super-escalar de instruções.

28-Maio-2004 e 31-Maio-2004  (TP1, TP2, TP3)

Resolução de exercícios sobre a execução de instruções em pipelining (exercícios 3 e 4 do guia).

 

Semana 15

2-Junho-2004 (T)

Análise detalhada dos tipos de dependências de dados: RAW (Read after Write), WAW (Write after Write) e WAR (Write after Read). Escalonamento estático das instruções. Escalonamento dinâmico de instruções: execução fora de ordem.

7-Junho-2004 (T) (Cópia dos acetatos das aulas Pipelining avançado)

Apresentação de arquitecturas alternativas: VLIW (Very Long Instruction Word), processadores vectoriais e instruções para multimédia (MMX e SSE). Introdução aos multiprocessadores: hyper-threading da Intel e a arquitectura Hammer da AMD. Introdução aos multiprocessadores: sistemas de memória partilhada e sistemas de memória distribuída. Limitações no desenvolvimento de aplicações para multiprocessadores.

4-Junho-2004 e 7-Junho-2004 (TP1, TP2, TP3)

Resolução de exercícios sobre a execução super-escalar (exercícios 1a e 1b do guia sobre medição de desempenho).