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

1998/99

Sumários

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

 

 

Semana 0

28-Set-98 (T)

Não houve aula (primeiro dia de aulas)

28-Set-98 (TP1, TP2)

Não houve aula (ainda não houve aula teórica com conteúdo)

29-Set-98 (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.

29-Set-98 (TP3)

Não houve aula (ainda não houve aula teórica com conteúdo)
 
 

Semana 1

05-Out-98 (T)

Feriado

05-Out-98 (TP1, TP2)

Feriado

06-Out-98 (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.

06-Out-98 (TP3)

Não houve aula (os alunos não compareceram).
 

Semana 2

12-Out-98 (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.

12-Out-98 (TP1)

Introdução ao funcionamento da componente teórico-prática. Avaliação. 

12-Out-98 (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).

13-Out-98 (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, ...).

13-Out-98 (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).
 

Semana 3

19-Out-98 (T)

Análise do funcionamento dum processador: operações num processador (inc. 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).

19-Out-98 (TP1)

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).

19-Out-98 (TP2)

Representação binária de números fraccionários. Representação de números reais em vírgula fixa e em vírgula flutuante. Normalização e norma IEEE 754 para valores em v.f.

20-Out-98 (T)

Análise do funcionamento dum processador (cont.): 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 instruções para tomada de decisões (saltos condicionais e incondicionais).

20-Out-98 (TP3)

Representação binária de números fraccionários. Representação de números reais em vírgula fixa e em vírgula flutuante. Normalização e norma IEEE 754 para valores em v.f.

Semana 4

26-Out-98 (T)

Não houve aula (preparação de provas de agregação)

26-Out-98 (TP1)

Representação binária de números fraccionários. Representação de números reais em vírgula fixa e em vírgula flutuante. Normalização e norma IEEE 754 para valores em v.f.

26-Out-98 (TP2)

Apresentação dos componentes constituintes de um computador e seus periféricos com recurso a um título multimédia.

27-Out-98 (T)

Não houve aula (preparação de provas de agregação)

27-Out-98 (TP3)

Apresentação dos componentes constituintes de um computador e seus periféricos com recurso a um título multimédia.
 

Semana 5

02-Nov-98 (T)

Análise do funcionamento dum processador (cont.): exemplos de operações sobre variáveis escalares e estruturadas; instruções para tomada de decisões (saltos condicionais e incondicionais); análise de formatos de instruções, com destaque para os formatos que permitem especificar constantes.

02-Nov-98 (TP1)

Introdução à programação em linguagem máquina. Construção de uma pseudo linguagem assembly para a resolução de diversos problemas propostos.

02-Nov-98 (TP2)

Introdução à programação em linguagem máquina. Construção de uma pseudo linguagem assembly para a resolução de diversos problemas propostos.

03-Nov-98 (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.

03-Nov-98 (TP3)

Introdução à programação em linguagem máquina. Construção de uma pseudo linguagem assembly para a resolução de diversos problemas propostos.

Semana 6

09-Nov-98 (T)

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

09-Nov-98 (TP1)

Apresentação dos componentes constituintes de um computador e seus periféricos com recurso a um título multimédia.

09-Nov-98 (TP2)

Directivas, instruções e pseudo-instruções do MIPS. Convenções na utilização de registos. Exercícios elementares sobre operações aritméticas e de transferência de informação.

10-Nov-98 (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.

10-Nov-98 (TP3)

Directivas, instruções e pseudo-instruções do MIPS. Convenções na utilização de registos. Exercícios elementares sobre operações aritméticas e de transferência de informação.

Semana 7

16-Nov-98 (T)

Modelo de programação dum processador: convenção na utilização dos registos no MIPS, modos de acesso aos operandos, e introdução ao conjunto de instruções presentes num processador RISC.

16-Nov-98 (TP1)

Directivas, instruções e pseudo-instruções do MIPS. Convenções na utilização de registos. Exercícios elementares sobre operações aritméticas e de transferência de informação.

16-Nov-98 (TP2)

Manipulação de estruturas. Codificação elementar com ênfase nas instruções de controlo. Exercícios.

17-Nov-98 (T)

Modelo de programação dum processador: instruções de input/output, ordenação de bytes numa palavra (little-endian, big-endian) e conjunto de instruções presentes num processador RISC (para transferência de informação, operações aritméticas/lógicas/..., para controlo de fluxo e diversas).

17-Nov-98 (TP3)

Manipulação de estruturas. Codificação elementar com ênfase nas instruções de controlo. Exercícios.

Semana 8

23-Nov-98 (T)

Metodologia de construção de programas em assembly: análise detalhada da estrutura de instruções - para transferência de informação, operações aritméticas e lógicas - que deverão ser suportadas pela arquitectura dum processador; análise da sua implementação num processador em particular (MIPS); análise do formato dessas instruções em binário (no MIPS).

23-Nov-98 (TP1)

Manipulação de estruturas. Codificação elementar com ênfase nas instruções de controlo. Exercícios.

23-Nov-98 (TP2)

MIPS nativo, com eliminação das pseudo instruções. Exercícios.

24-Nov-98 (T)

Metodologia de construção de programas em assembly: análise detalhada da estrutura de instruções - para controlo de fluxo (instruções de salto condicional/incondicional, e respectivos modos de especificação de endereços de instruções) e para invocação/retorno de rotinas e suporte à invocação de procedimentos/funções - que deverão ser suportadas pela arquitectura dum processador; análise da sua implementação num processador em particular (MIPS), com exemplos de utilização; análise do formato dessas instruções em binário (no MIPS).

24-Nov-98 (TP3)

MIPS nativo, com eliminação das pseudo instruções. Exercícios.
 

Semana 9

30-Nov-98 (T)

Metodologia de construção de programas em assembly: análise dum exemplo de construção de rotinas em assembly a partir da especificação de procedimentos em C (swap e sort).

30-Nov-98 (TP1)

MIPS nativo, com eliminação das pseudo instruções. Exercícios.

30-Nov-98 (TP2)

Resolução de exercícios.

01-Dez-98 (T)

Feriado

01-Dez-98 (TP3)

Feriado
 

Semana 10

07-Dez-98 (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.

07-Dez-98 (TP1, TP2)

Não houve aula  

08-Dez-98 (T)

Feriado

08-Dez-98 (TP3)

Feriado
 

Semana 11

14-Dez-98 (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.
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).

14-Dez-98 (TP1, TP2)

Linguagem máquina do MIPS. Exercícios.

15-Dez-98 (T)

Computação aritmética: completar a ALU de 1-bit (para incluir subtracção, comparação (set-on-less-than), detecção de overflow e suporte à execução de instruções condicionais); construção da ALU com 32-bits e apresentação do símbolo universal para a ALU completa.

15-Dez-98 (TP3)

Linguagem máquina do MIPS. Exercícios.

Semana 12

04-Jan-99 (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.

04-Jan-99 (TP1, TP2)

Linguagem máquina do MIPS. Exercícios

05-Jan-99 (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 e introdução aos TPC Benchmarks. Realização dos inquéritos de avaliação da disciplina.

05-Jan-99 (TP3)

Manipulação de vectores com apontadores e índices. Exercícios.
   

Semana 13

11-Jan-99 (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 penalty, Influência no desempenho.

11-Jan-99 (TP1, TP2)

Codificação de programas HLL com procedimentos e funções.

12-Jan-99 (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. Comentários finais ao funcionamento da disciplina.

12-Jan-99 (TP3)

Codificação de programas HLL com procedimentos e funções.