Universidade do Minho

Departamento de Informática

Arquitectura de Computadores II

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

2002/03

Docentes

Objectivos

Programa

Bibliografia

Avaliação

Sumários

Guiões

2001/02

 

Sumários

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

Semana 1

24-Fev-2003 (T)

Apresentação dos objectivos e do programa da disciplina. Análise da evolução das arquitecturas de computadores.

26-Fev-2003 (T) Cópia dos acetatos das aulas de 24/2 e 26/2/2003

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

24-Fev-2003 e 28-Fev-2002 (TP1,TP2,TP3)

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

 

Semana 2

3-Mar-2003 (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-2003 (T)

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

3-Mar-2003 e 7-Mar-2003 (TP1,TP2,TP3)

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

 

Semana 3

10-Mar-2003 (T) (Cópia dos acetatos das aulas de 3/3, 5/3 e 10/3/2003 – MIPS single cycle)

Análise da implementação dos vários blocos do datapath dum processador MIPS: unidade de controlo, banco de registos e memória.

12-Mar-2003 (T)

Limitações da execução das instruções num só ciclo máquina. 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.

10-Mar-2003 e 14-Mar-2003 (TP1,TP2,TP3)

Introdução às máquinas virtuais. Análise da JVM (Java Virtual Machine). Resolução de exercícios.

 

Semana 4

17-Mar-2003 (T)

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

19-Mar-2003 (T)

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

17-Mar-2003 e 21-Mar-2003 (TP1,TP2,TP3)

Continuação da aula anterior: análise da JVM (Java Virtual Machine) e resolução de exercícios.

 

Semana 5

24-Mar-2003 (T) (Cópia dos acetatos das aulas de 12/3, 17/3 e 19 e 24/3/2003 – 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.

26-Mar-2003 (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.

24-Mar-2003 e 28-Mar-2003 (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-2003 (T)

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

2-Abr-2003 (T)

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

31-Mar-2003 e 28-Abr-2003 (TP1,TP2,TP3)

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

Semana 7

7-Abr-2003 (T)

Não houve aula (motivo: consulta médica).

9-Abr-2003 (T) (Cópia dos acetatos das aulas de 26/3, 31/3 e 2/4 e 9/4/2003 – 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.

7-Abr-2003 e 11-Abr-2003 (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 de controlo e de estado (exercício 2 do guia).

 

Semana 8

14-Abr-2003 (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.

16-Abr-2003 (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.

14-Abr-2003 (TP1)

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 9

28-Abr-2003 (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. Introdução à unidade de controlo.

30-Abr-2003 (T)

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.

28-Abr-2003 e 2-Maio-2003  (TP1, TP2, TP3)

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

Semana 10

5-Maio-2003 (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.

7-Maio-2003 (T) (Cópia dos acetatos das aulas de 14/4, 16/4, 28/4, 30/4, 5/5 e 7/5/2003– Pipelining)

Análise do desempenho da execução em pipelining com stalls. Suporte a excepções na execução em pipelining. Introdução a alternativas de desenho de arquitecturas com pipelining avançado e paralelismo ao nível da instrução (ILP).

5-Maio-2003 e 9-Maio-2003  (TP1, TP2, TP3)

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

Semana

12-Maio-2003 (T)

Não houve aula (tolerância de ponto da semana académica).

14-Maio-2003 (T)

Não houve aula (tolerância de ponto da semana académica).

12-Maio-2003 e 16-Maio-2003  (TP1, TP2, TP3)

Não houve aula (tolerância de ponto da semana académica).

 

Semana 11

19-Maio-2003 (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.

21-Maio-2003 (T)

Análise detalhada dos tipos de dependências de dados: RAW (Read after Write), WAW (Write after Write) e WAR (Write after Read). Pipelining com operações multi-ciclo: latência e intervalo de iniciação das instruções. Escalonamento estático das instruções. Escalonamento dinâmico de instruções: execução fora de ordem. Análise de um algoritmo de escalonamento dinâmico (scoreboard).

19-Maio-2003 e 23-Maio-2003  (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 12

26-Maio-2003 (T)

Análise de um algoritmo de escalonamento dinâmico com renomeação de registos (Tomasulo). Comparação da microarquitectura do PIII com a do PowerPC 604. Análise da microarquitectura do Pentium 4, com ênfase nos vários estágios da pipeline.

28-Maio-2003 (T) (Cópia dos acetatos das aulas de 7/5, 19/5, 21/5, 26/5 e 28/5/2003– 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

26-Maio-2003 e 30-Maio-2003  (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).

 

Semana 13

2-Junho-2003 (T)

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. Multiprocessadores conectados por um barramento, protocolo de coesão de caches.

4-Junho-2003 (T) ) (Cópia dos acetatos das aulas de 28/5, 2/6 e 4/6/2003– Multiprocessamento)

Multiprocessadores conectados por uma rede de interligação e clusters. Programação de sistemas com memória partilhada versus programação de sistemas com memória distribuída.

2-Junho-2003 e 6-Junho-2003  (TP1, TP2, TP3)

Continuação da resolução de exercícios sobre a execução super-escalar (exercícios 1c e 1d do guia sobre medição de desempenho).