u n i v e r s i d a d e d o m i n h o - d e p. i n f o r m á t i c a

Arquitectura de Computadores

Alberto José Proença

Lic. Matemática e Ciências da Computação, 2º ano

1999/00

Sumários

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

 

 

Semana 1

04-Out-99 (TP3)

Não houve aula (ainda não houve aula teórica de apresentação)

06-Out-99 (T)

Não houve aula

06-Out-99 (TP1, TP2)

Não houve aula (ainda não houve aula teórica de apresentação)

07-Out-99 (T)

Não houve aula (apresentação de comunicação científica em conferência)
 
 

Semana 2

11-Out-99 (TP3)

Não houve aula (ainda não houve aula teórica de apresentação)

13-Out-99 (T)

Apresentação.

13-Out-99 (TP1, TP2)

Não houve aula (ainda não houve aula teórica de apresentação)

14-Out-99 (T)

Introdução ao funcionamento da disciplina: apresentação da documentação a fornecer (em formato electrónico) e da metodologia de trabalho e de avaliação.
   

Semana 3

18-Out-99 (TP3)

Sessão de multimédia a efectuar em 21/Nov/1999

20-Out-99 (T)

Organização e arquitectura dum computador: Introdução à organização interna dum computador, e em particular a ligação entre o processador central e a memória. Representação da informação no computador: os símbolos do "alfabeto" e as "palavras" com informação.

20-Out-99 (TP1, TP2)

Introdução ao funcionamento da componente teórico-prática. Sistemas de numeração e conversão de bases. Representação binária de valores positivos e negativos (representação por excesso, complemento para um e complemento para 2).

21-Out-99 (T)

Estrutura interna dum processador: a unidade de controlo, o conjunto de registos e as unidades funcionais. Funcionamento básico dum computador: modelo de execução de instruções e respectivos passos para o implementar; introdução aos conceitos de registo de instrução, registo apontador para a próxima instrução, mecanismo de busca de instruções à memória - utilizando os barramentos de endereços, controlo e de dados - a descodificação das instruções e a execução das operações especificadas na instrução. Introdução aos níveis de abstracção presentes num computador: o nível HLL, o nível da linguagem assembly e o da linguagem máquina.


Semana 4

25-Out-99 (TP3)

Introdução ao funcionamento da componente teórico-prática. Sistemas de numeração e conversão de bases. Representação binária de valores positivos e negativos (representação por excesso, complemento para um e complemento para 2).

27-Out-99 (T)

Funcionamento básico dum computador na relação entre o CPU e os periféricos: o interface genérico com os controladores de periféricos e a análise de alguns periféricos (dum rato, dum monitor gráfico, duma porta série e modem, ...).

27-Out-99 (TP1, TP2)

Representação binária de valores fraccionários. Valores reais em vírgula flutuante. Norma IEEE 754. Resolução de exercícios.

28-Out-99 (T)

Análise do funcionamento dum processador e respectivo instruction set: introdução às operações num processador - análise do n.º de operandos em cada instrução, com introdução às operações aritméticas básicas, e localização de operandos (escalares em registos, e estruturados em memória) - e às operações de transferência de informação.

Semana 5

01-Nov-99 (TP3)

Feriado.

03-Nov-99 (T)

Análise do funcionamento dum processador e respectivo instruction set: introdução às operações de transferência de informação - com análise de formatos de instruções (comprimento, campos numa instrução, variação de formatos e pseudo-instruções) - e às instruções para tomada de decisões - saltos condicionais e incondicionais.

03-Nov-99 (TP1, TP2)

Introdução à estrutura e funcionamento dum computador (com apoio dum CD multimedia). Contacto com alguns equipamentos e componentes de diversas gerações.

04-Nov-99 (T)

Mecanismos para execução de programas: edição de texto (de programas source), tradução de programas source para níveis de abstracção mais baixos - compilador e assembler - e ligação de ficheiros objecto num executável; conversão do programa assembler para linguagem máquina.

Semana 6

08-Nov-99 (TP3)

Representação binária de valores fraccionários. Valores reais em vírgula flutuante. Norma IEEE 754. Resolução de exercícios.

10-Nov-99 (T)

Mecanismos para execução de programas: análise do formato dum ficheiro objecto; o papel do loader na execução de programas.

10-Nov-99 (TP1, TP2)

Introdução à programação em linguagem assembly e linguagem máquina.  Instruction set do MIPS  Introdução ao ambiente de simulação do MIPS (SPIM/XSPIM). Formatos de instruções R, I e J. Exercício usando reverse engineering.

11-Nov-99 (T)

Modelo de programação dum processador: registos visíveis ao programador em arquitecturas RISC (para inteiros e para fp, e em detalhe no MIPS) e noutras arquitecturas; convenção na utilização dos registos no MIPS.

Semana 7

15-Nov-99 (TP3)

Introdução à programação em linguagem assembly e linguagem máquina.  Instruction set do MIPS  Introdução ao ambiente de simulação do MIPS (SPIM/XSPIM). Formatos de instruções R, I e J. Exercício usando reverse engineering.

17-Nov-99 (T)

Modelo de programação dum processador: modos de acesso aos operandos, instruções de input/output, e ordenação de bytes numa palavra (little-endian, big-endian).

17-Nov-99 (TP1, TP2)

Codificação elementar em assembly e em binário (formatos R e I), com ênfase em transferências de informação e operações aritméticas, manuseando variáveis escalares e estruturadas (arrays e records). Técnicas de programação em assembly.

18-Nov-99 (T)

Metodologia de construção de programas em assembly: análise detalhada da estrutura do conjunto de instruções presentes num processador RISC, para transferência de informação, e em operações aritméticas e lógicas.

Semana 8

22-Nov-99 (TP3)

Codificação elementar em assembly e em binário (formatos R e I), com ênfase em transferências de informação e operações aritméticas, manuseando variáveis escalares e estruturadas (arrays e records). Técnicas de programação em assembly.

24-Nov-99 (T)

Metodologia de construção de programas em assembly: análise detalhada da implementação de instruções (para transferência de informação, e operações aritméticas/lógicas) num processador em particular (MIPS), com exemplos de utilização; análise do formato dessas instruções em binário (no MIPS).

24-Nov-99 (TP1, TP2)

Codificação elementar em assembly de baixo nível, com ênfase em estruturas de controlo. Exercícios.

25-Nov99 (T)

Metodologia de construção de programas em assembly: análise detalhada dos modelos de implementação de instruções de controlo de fluxo num qualquer processador, e o caso particular de um em particular (MIPS), com exemplos de utilização; análise do formato dessas instruções em binário (no MIPS); revisão global dum instruction set (MIPS).

Semana 9

29-Nov-99 (TP3)

Codificação elementar em assembly de baixo nível, com ênfase em estruturas de controlo. Exercícios.

01-Dez-99 (T)

Feriado

01-Dez-99 (TP1, TP2)

Feriado

02-Dez-99 (T)

Metodologia de construção de programas em assembly: análise detalhada da estrutura de instruções para invocação/retorno de rotinas e suporte à invocação de procedimentos/funções; análise dum exemplo de construção de rotinas em assembly a partir da especificação de procedimentos em C (swap e sort).

Semana 10

06-Dez-99 (TP3)

Codificação em assembly de baixo nível e em binário (formatos R, I e J) de exemplos mais complexos.

08-Dez-99 (T)

Feriado

08-Dez-99 (TP1, TP2)

Feriado

09-Dez-99 (T)

Alternativas às arquitecturas genéricas RISC: objectivos genéricos dos modelos RISC e CISC; organização dos registos em arquitecturas CISC (i86); diferenças na programação, em linguagem máquina, de arquitecturas RISC e duma CISC, ix86 (acesso a operandos em memória, operandos em operações lógicas e aritméticas); modelo de programação de procedimentos/funções.

Semana 11

13-Dez-99 (TP3)

Não houve aula.

15-Dez-99 (T)

Alternativas às arquitecturas genéricas RISC: modelo de programação de procedimentos/funções e análise comparativa dum exemplo (sort ) entre o programa em linguagem máquina no MIPS e no i86.

15-Dez-99 (TP1, TP2)

Codificação em assembly de baixo nível e em binário (formatos R, I e J) de exemplos mais complexos.

16-Dez-99 (T)

Computação aritmética: construção de uma Unidade Lógica e Aritmética (ALU) - blocos constituintes (and, or, inv e selctor/multiplexador), ALU de 1-bit (com as operações lógicas AND e OR, e um somador completo com suporte à subtracção); construção duma ALU com 32-bits e apresentação do símbolo universal para a ALU.

Semana 12

03-Jan-00 (TP3)

Codificação de programas HLL com funções / procedimentos respeitando a convenção para utilização de registos em MIPS.

05-Jan-00 (T)

Medição de desempenho de computadores: identificação das características a medir num computador - latência e throughput - e no tempo de execução de programas em computador (inc. CPUtime). Métricas na medição do desempenho do par processador-memória, com dedução de equação para cálculo do CPUtime para um dado programa; factores da arquitectura que influenciam o seu desempenho.

05-Jan-00 (TP1, TP2)

Codificação de programas HLL com funções / procedimentos respeitando a convenção para utilização de registos em MIPS.

06-Jan-00 (T)

Medição de desempenho de computadores: selecção de programas para o cálculo do desempenho: identificação das características que uma boa suite de benchmarks deve possuir. Análise resumida da SPEC Benchmark suite.

Semana 13    

10-Jan-00 (TP3)

Resolução de exercícios.

12-Jan-00 (T)

Organização hierárquica da memória: introdução aos princípios da localidade - espacial e temporal - com uso de metáfora, às alternativas de implementação (cache, memória virtual e disco), e propriedades - inclusão e consistência. Conceitos associados a cada nível da hierarquia: bloco (linha/página), hit, hit rate, miss, page fault, miss rate, miss penalt. Influência no desempenho.

12-Jan-00 (TP1, TP2)

Resolução de exercícios.

13-Jan-00 (T)

Organização hierárquica da memória: caracterização quantitativa de níveis da hierarquia. Análise de implementação de memória cache: colocação e modo de acesso às linhas, estratégias de substituição de linhas e estratégias de escrita. Realização dos inquéritos de avaliação da disciplina. Comentários finais ao funcionamento da disciplina.