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.