Logotipo e link para a Universidade do Minho

Sistemas de Computação
Lic. Eng.ª Informática, 1º ano
2009/2010
Docente responsável: A.J.Proença

Vista da Rua do Souto no Séc. XVI


Sumários

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

Ultima Modificação:10 Jun 2010

 

 departamento de informática

Nota 1: Os sumários das aulas que já ocorreram estão a preto, enquanto as propostas de sumário para as sessões seguintes estão a cinzento. Sempre que haja documentação a disponibilizar pertinente para uma sessão que ainda não decorreu, essa indicação deixa de estar a cinzento.

Nota 2: As referências nos sumários a textos de consulta estão abreviadas para Sta (livro/resumo de Stallings), Bry (livro/resumo de Bryant), e P&H (livro de Patterson & Hennessy ); são normalmente seguidas do respectivo capítulo/secção, e quando existe em formato electrónico é indicado o respectivo link.

 

Semana 1

24-Fev-10 (T)
Metodologia de
funcionamento da disciplina: princípios básicos, objectivos de formação, resultados da aprendizagem, modo de funcionamento, elementos e modelos de avaliação, informação complementar (em formato electrónico, e relativo ao ano em curso, em gec.di.uminho.pt/lei/sc/).

24-Fev-10 (TP1)
Sistemas de numeração e conversão de bases. Representação binária de valores positivos e negativos (sinal e amplitude, complemento para 1, complemento para 2, e representação por excesso).
(Notas de estudo: texto sobre representação binária de números; enunciado do  TPC1, para ser entregue, impreterivelmente, até à hora de início da sessão TP seguinte).

25-Fev-10 (T)
Introdução aos conceitos de "computador" e de "informação" no contexto de um computador.
Representação da informação no computador utilizando números binários (bits): texto, números (referência a inteiros e reais) e comandos para o processador.
(Notas de estudo: cópia dos slides ISC_1 e texto ISC (Cap.1) ).

25-Fev-10 (TP2)

Sistemas de numeração e conversão de bases. Representação binária de valores positivos e negativos (sinal e amplitude, complemento para 1, complemento para 2, e representação por excesso).
(Notas de estudo: texto sobre representação binária de números; enunciado do  TPC1, para ser entregue, impreterivelmente, até à hora de início da sessão TP seguinte).

25-Fev-10 (TP3)
Resolução de problemas diversos e esclarecimento de dúvidas.

26-Fev-10 (TP4, TP5, TP6)
Sistemas de numeração e conversão de bases. Representação binária de valores positivos e negativos (sinal e amplitude, complemento para 1, complemento para 2, e representação por excesso).
(Notas de estudo: texto sobre representação binária de números; enunciado do  TPC1, para ser entregue, impreterivelmente, até à hora de início da sessão TP seguinte).

Semana 2

03-Mar-10 (T)
Representação da informação no computador (cont.): texto e respectivos alfabetos (análise dos códigos Baudot, Braille, ASCII 7/8 bits e UNICODE, codificação de informação audiovisual com introdução a técnicas de compactação; formatos de representação de textos em ficheiros de documentos.
(Notas de estudo: cópia dos slides ISC_1 e texto ISC (Cap.1); complementar: Sta (Ch1.1 e 1.2) ).

03-Mar-10 (TP1)
Resolução de exercícios com binários inteiros.
Representação binária de valores reais em vírgula flutuante (noção e vantagens duma normalização) e apresentação da norma IEEE 754 na representação de valores em vírgula flutuante. 
(Notas de estudo: texto sobre representação binária de números;  complementar: Sta (Ch8.4); ficheiro TPC1r com os resultados dos exercícios propostos em TPC1; enunciado do TPC2, cuja resolução deverá ser entregue no início da sessão TP seguinte).

04-Mar-10 (T)
Representação da informação no computador (cont.): codificação dos comandos de controlo de um processador;
formatos de representação de textos em ficheiros de documentos.
Estrutura interna dum computador: estrutura e funções do processador (a unidade de controlo, o conjunto de registos e as unidades funcionais).
(Notas de estudo: cópia dos slides ISC_2 e texto ISC (Cap. 2); complementar: Sta (Ch 3.1, 3.2) ).

04-Mar-10 (TP2)
Resolução de exercícios com binários inteiros.
Representação binária de valores reais em vírgula flutuante (noção e vantagens duma normalização) e apresentação da norma IEEE 754 na representação de valores em vírgula flutuante. 
(Notas de estudo: texto sobre representação binária de números;  complementar: Sta (Ch8.4); ficheiro TPC1r com os resultados dos exercícios propostos em TPC1; enunciado do TPC2, cuja resolução deverá ser entregue no início da sessão TP seguinte).

04-Mar-10 (TP3)
Resolução de problemas diversos e esclarecimento de dúvidas.

05-Mar-10 (TP4, TP5, TP6)
Resolução de exercícios com binários inteiros.
Representação binária de valores reais em vírgula flutuante (noção e vantagens duma normalização) e apresentação da norma IEEE 754 na representação de valores em vírgula flutuante. 
(Notas de estudo: texto sobre representação binária de números;  complementar: Sta (Ch8.4); ficheiro TPC1r com os resultados dos exercícios propostos em TPC1; enunciado do TPC2, cuja resolução deverá ser entregue no início da sessão TP seguinte).

Semana 3

10-Mar-10 (T)
Estrutura interna dum computador: estrutura e funções do processador (a unidade de controlo, o conjunto de registos e as unidades funcionais), a organização da memória (noção de endereço e de célula) e o sistema de interligação (conjunto de sinais em cada módulo, CPU, memória, I/O).
Interligação de componentes num computador: interacções entre componentes, análise de ligações - do CPU, da memória primária e dos módulos de I/O - e caracterização das estruturas de ligação, com destaque para os barramentos (bus) e para a arquitectura típica de um PC.
(Notas de estudo: cópia dos slides ISC_2 e texto ISC (Cap. 2); complementar: Sta (Ch 3.1, 3.2) ).

10-Mar-10 (TP1)
Análise crítica da resolução de exercícios com valores em vírgula flutuante.
(Notas de estudo: texto do enunciado do TPC3 (e respectivo guião teatral), cuja resolução deverá ser entregue no início da sessão TP seguinte; ficheiro TPC2r com os resultados dos exercícios propostos em TPC2).

11Mar-10 (T)
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) e respectivos mecanismos de conversão (compilação, assembly (montagem) e interpretação); análise detalhada dos mecanismos na execução de um programa em C numa arquitectura IA32.
Análise detalhada da execução de uma instrução em linguagem máquina: a  busca de uma instrução à memória, caracterizando os barramentos de endereços, controlo e de dados, a actualização do apontador para a próxima instrução (IP), a descodificação duma instrução e a sua execução (incluindo a eventual busca de operando(s) à memória).
(Notas de estudo: texto ISC (Cap. 3, 4.1 e 4.2) e slides ISC_3 ; complementar: Sta (Ch 3.2) )

11-Mar-10 (TP2)
Análise crítica da resolução de exercícios com valores em vírgula flutuante.
(Notas de estudo: texto do enunciado do TPC3 (e respectivo guião teatral), cuja resolução deverá ser entregue no início da sessão TP seguinte; ficheiro TPC2r com os resultados dos exercícios propostos em TPC2).

11-Mar-10 (TP3)
Resolução de problemas diversos e esclarecimento de dúvidas.

12-Mar-10 (TP4, TP5, TP6)
Análise crítica da resolução de exercícios com valores em vírgula flutuante.
(Notas de estudo: texto do enunciado do TPC3 (e respectivo guião teatral), cuja resolução deverá ser entregue no início da sessão TP seguinte; ficheiro TPC2r com os resultados dos exercícios propostos em TPC2).

Semana 4

17-Mar-10 (T)
Análise do funcionamento dum processador ao nível da arquitectura do instruction set: (i) introdução às operações num processador, com análise do n.º de operandos em cada instrução e à localização de operandos (escalares em registos, e estruturados em memória), (ii) registos visíveis ao programador (em arquitecturas RISC e no IA32), e (iii) modos de acesso aos operandos (em arquitecturas RISC e no IA32).
(Notas de estudo: ISC (Cap. 5.1 e 5.2) e slides ISC_4 ; recomenda-se ainda a leitura dos slides ISC_5, relativo a comunicação de dados e redes, elaborados essencialmente com base no livro "Introdução às Tecnologias de Informação. Bloco II", de Artur A. Azul, Porto Editora, 2005 (Cap. 6.1))

17-Mar-10 (TP1)
Debate com resolução dos exercícios propostos no TPC3, como preparação para a sessão experimental baseada numa representação teatral.
(Notas de estudo: incluídas no enunciado do TPC3, tal como o texto do guião teatral para a próxima aula)

18-Mar-10 (T)
Análise do processador ao nível da arquitectura do instruction set (ISA): tipos de instruções presentes num processador (para transferência de informação, operações aritméticas e lógicas, para controlo do fluxo de execução); análise de formatos de instruções (em processadores RISC e no Pentium); instruções de input/output; ordenação de bytes numa palavra (little-endian, big-endian).
(Notas de estudo: ISC (Cap. 4.3 a 4.5, 5,2, 5.3 e 5.7), Bry (Ch.1.5 e 1.6); slides ISC_4, já disponibilizados)

18-Mar-10 (TP2)
Debate com resolução dos exercícios propostos no TPC3, como preparação para a sessão experimental baseada numa representação teatral.
(Notas de estudo: incluídas no enunciado do TPC3, tal como o texto do guião teatral para a próxima aula)

18-Mar-10 (TP3)
Resolução de problemas diversos e esclarecimento de dúvidas.

19-Mar-10 (TP4, TP5, TP6)
Debate com resolução dos exercícios propostos no TPC3, como preparação para a sessão experimental baseada numa representação teatral.
(Notas de estudo: incluídas no enunciado do TPC3, tal como o texto do guião teatral para a próxima aula)


Semana 5

24-Mar-10 (T)
Análise do nível ISA do IA32 em Linux: evolução da arquitectura IA32 e introdução ao modelo de desenvolvimento de programas.
(Notas de estudo: a bibliografia de base desta e das próximas aulas sobre o nível ISA segue quase exclusivamente o livro CSAPP, com destaque para o Ch.3;  as noções apresentadas e analisadas nos dois primeiros capítulos do livro foi sendo coberta pelo texto entretanto disponibilizado (ISC), enquanto esta aula e a seguinte seguem essencialmente as secções 3.4 e 3.5 do livro; o ficheiro electrónico com a versão preliminar dos três primeiros capítulos do livro encontra-se disponível, para estudo, aqui, 1.51MB; slides ISA_1 )

24-Mar-10 (TP1)
Treino das capacidades de visualização de conceitos sobre sistemas de computação, através de um exercício experimental com estudantes-actores: 8 actores irão representar a execução de instruções em linguagem máquina (corpo de uma função em C compilada para IA-16).
(Notas de estudo: o texto do guião teatral foi divulgado com o TPC3, estando aqui a sua resolução; o enunciado do TPC4, contém um guião laboratorial, e a resolução dos exercícios propostos deverá ser entregue até à hora de início da sessão TP da semana seguinte; notas adicionais para a sessão laboratorial: (i) a sessão TP da próxima semana será no Lab. 0.12 no DI, (ii) a plataforma computacional a usar será num servidor Unix (Linux) com as ferramentas GCC adequadas para SC, estando aqui uma introdução ao ambiente laboratorial, (iii) para acesso a este ambiente vai ser necessário um certificado digital pessoal, a ser distribuído pelas caixas de correio institucional, e (iv) disponibiliza-se aqui uma introdução ao ambiente Unix)

25-Mar-10 (T)
Não houve aula (docente na conferência VS-GAMES'2010, na UM, como Program Chair)

25-Mar10 (TP2)
Treino das capacidades de visualização de conceitos sobre sistemas de computação, através de um exercício experimental com estudantes-actores: 8 actores irão representar a execução de instruções em linguagem máquina (corpo de uma função em C compilada para IA-16).
(Notas de estudo: o texto do guião teatral foi divulgado com o TPC3, estando aqui a sua resolução; o enunciado do TPC4, contém um guião laboratorial, e a resolução dos exercícios propostos deverá ser entregue até à hora de início da sessão TP da semana seguinte; notas adicionais para a sessão laboratorial: (i) a sessão TP da próxima semana será no Lab. 0.03 no DI, (ii) a plataforma computacional a usar será num servidor Unix (Linux) com as ferramentas GCC adequadas para SC, estando aqui uma introdução ao ambiente laboratorial, (iii) para acesso a este ambiente vai ser necessário um certificado digital pessoal, a ser distribuído pelas caixas de correio institucional, e (iv) disponibiliza-se aqui uma introdução ao ambiente Unix)

25-Mar-10 (TP3)
Resolução de problemas diversos e esclarecimento de dúvidas.
(Notas adicionais: a sessão da próxima semana será no Lab. 0.12 no DI e quem estiver interessado poderá seguir o guião laboratorial no enunciado do TPC4; a plataforma computacional a usar será um servidor Unix (Linux) com as ferramentas GCC adequadas para SC, estando aqui uma introdução ao ambiente laboratorial; para acesso a este ambiente vai ser necessário um certificado digital pessoal, a ser distribuído pelas caixas de correio institucional; disponibiliza-se aqui uma introdução ao ambiente Unix)

26-Mar-10 (TP4, TP5, TP6)
Treino das capacidades de visualização de conceitos sobre sistemas de computação, através de um exercício experimental com estudantes-actores: 8 actores irão representar a execução de instruções em linguagem máquina (corpo de uma função em C compilada para IA-16).
(Notas de estudo: o texto do guião teatral foi divulgado com o TPC3, estando aqui a sua resolução; o enunciado do TPC4, contém um guião laboratorial, e a resolução dos exercícios propostos deverá ser entregue até à hora de início da sessão TP da semana seguinte; notas adicionais para a sessão laboratorial: (i) a sessão TP da próxima semana será no Lab. 1.08/1.04/1.04 (consoante TP4/TP5/TP6) no DI, (ii) a plataforma computacional a usar será num servidor Unix (Linux) com as ferramentas GCC adequadas para SC, estando aqui uma introdução ao ambiente laboratorial, (iii) para acesso a este ambiente vai ser necessário um certificado digital pessoal, a ser distribuído pelas caixas de correio institucional, e (iv) disponibiliza-se aqui uma introdução ao ambiente Unix)

Semana 6

07-Abr-10 (T)
Análise do nível ISA do IA32 em Linux (cont.): modelo da arquitectura ISA do IA-32 no desenvolvimento de programas; análise dos modos de especificação de operandos e de modos de os aceder nas instruções mais comuns de transferência de informação e em operações aritméticas/lógicas.
(Notas de estudo: incluídas nos slides disponibilizados na aula anterior)

07-Abr-10 (TP1)
Introdução aos níveis de abstracção dum computador, em ambiente laboratorial em Linux/IA-32, e respectivos mecanismos de conversão e análise  (gcc, objdump, gdb).
(Notas de estudo: o texto do guião laboratorial foi divulgado com o enunciado do TPC4, na semana anterior, estando aqui a sua resolução; enunciado do
TPC5, cuja resolução deverá ser entregue no início da sessão TP seguinte, que decorrerá como normalmente numa sala de aula e não no laboratório)

08-Abr-10 (T)
Análise do nível ISA do IA32 em Linux (cont.): análise das instruções mais comuns para transferência de informação, e para execução de operações aritméticas/lógicas.
(Notas de estudo: os mesmos que das aulas anteriores)

08-Abr-10 (TP2)
Introdução aos níveis de abstracção dum computador, em ambiente laboratorial em Linux/IA-32, e respectivos mecanismos de conversão e análise  (
gcc, objdump, gdb).
(Notas de estudo: o texto do guião laboratorial foi divulgado com o enunciado do TPC4, na semana anterior, estando aqui a sua resolução; enunciado do
TPC5, cuja resolução deverá ser entregue no início da sessão TP seguinte, que decorrerá como normalmente numa sala de aula e não no laboratório)

08-Abr-10 (TP3)
Resolução de problemas diversos e esclarecimento de dúvidas.

09-Abr-10 (TP4, TP5, TP6)
Introdução aos níveis de abstracção dum computador, em ambiente laboratorial em Linux/IA-32, e respectivos mecanismos de conversão e análise  (gcc, objdump, gdb).
(Notas de estudo: o texto do guião laboratorial foi divulgado com o enunciado do TPC4, na semana anterior, estando aqui a sua resolução; enunciado do
TPC5, cuja resolução deverá ser entregue no início da sessão TP seguinte, que decorrerá como normalmente numa sala de aula e não no laboratório)

Semana 7

14-Abr-10 (T)
Análise do nível ISA do IA-32 em Linux: instruções específicas para manuseamento de apontadores e para controlo do fluxo de execução de instruções (conceito de códigos de condição e estrutura da codificação de jumps); introdução às técnicas de codificação de estruturas de controlo presentes em C, com análise de if-else.
(Notas de estudo: Bry (Ch 3.6), e slides
ISA_2 ).

14-Abr-10 (TP1)
Resolução de alguns exercícios do TPC5 (operações e acessos a operandos, e instruções de salto, do IA-32 em Linux).
(Notas de estudo: enunciado do TPC6, com guião laboratorial incluído, cuja resolução deverá ser entregue no início da sessão laboratorial; a próxima sessão TP será no mesmo laboratório que a última sessão experimental; exercícios resolvidos do TPC5r )

15-Abr-10 (T)
Análise do nível ISA do IA-32 em Linux: técnicas de codificação de estruturas de controlo presentes em C: if-else (generalização), do-while, while, for.
(Notas de estudo: os mesmos que das aulas anteriores)

15-Abr-10 (TP2)
Resolução de alguns exercícios do TPC5 (operações e acessos a operandos, e instruções de salto, do IA-32 em Linux).
(Notas de estudo: enunciado do TPC6, com guião laboratorial incluído, cuja resolução deverá ser entregue no início da sessão laboratorial; a próxima sessão TP será no mesmo laboratório que a última sessão experimental; exercícios resolvidos do TPC5r )

15-Abr-10 (TP3)
Resolução de problemas diversos e esclarecimento de dúvidas.

16-Abr-10 (TP4, TP5, TP6)
Resolução de alguns exercícios do TPC5 (operações e acessos a operandos, e instruções de salto, do IA-32 em Linux).
(Notas de estudo: enunciado do TPC6, com guião laboratorial incluído, cuja resolução deverá ser entregue no início da sessão laboratorial; a próxima sessão TP será no mesmo laboratório que a última sessão experimental; exercícios resolvidos do TPC5r )

Semana 8 

21-Abr-10 (T)
Revisão de matéria.

21-Abr-10 (TP1)
Análise laboratorial de código C compilado por ferramentas da GNU em Linux para o IA32, contendo acesso a uma função e uma estrutura de controlo while (com utilização do depurador gdb).
(Notas de estudo: o texto do guião laboratorial foi divulgado com o enunciado do TPC6, na semana anterior; o manual de utilização do depurador disponibilizado pela GNU está em Debugging with DBG , mas existe uma cópia local duma versão mais antiga em PDF aqui (2.04MB); J. Clark na Univ. Nebraska disponibiliza um pequeno tutorial de introdução ao GDB que recomendo)

21-Abr-10
1ª Prova de avaliação escrita.

22-Abr-10 (T)
Análise do nível ISA do IA-32 em Linux: introdução às propriedades das funções em C para análise do suporte requerido ao nível do ISA.
(Notas de estudo: Bry (Ch 3.7) e slides
ISA_3 )

22-Abr-10 (TP2)
Análise laboratorial de código C compilado por ferramentas da GNU em Linux para o IA32, contendo acesso a uma função e uma estrutura de controlo while (com utilização do depurador gdb).
(Notas de estudo: o texto do guião laboratorial foi divulgado com o enunciado do TPC6, na semana anterior; o manual de utilização do depurador disponibilizado pela GNU está em Debugging with DBG , mas existe uma cópia local duma versão mais antiga em PDF aqui (2.04MB); J. Clark na Univ. Nebraska disponibiliza um pequeno tutorial de introdução ao GDB que recomendo)

22-Abr-10 (TP3)
Resolução de problemas diversos e esclarecimento de dúvidas.

23-Abr-10 (TP4, TP5, TP6)
Análise laboratorial de código C compilado por ferramentas da GNU em Linux para o IA32, contendo acesso a uma função e uma estrutura de controlo while (com utilização do depurador gdb).
(Notas de estudo: o texto do guião laboratorial foi divulgado com o enunciado do TPC6, na semana anterior; o manual de utilização do depurador disponibilizado pela GNU está em Debugging with DBG , mas existe uma cópia local duma versão mais antiga em PDF aqui (2.04MB); J. Clark na Univ. Nebraska disponibiliza um pequeno tutorial de introdução ao GDB que recomendo)

Semana 9

28-Abr-10 (T)
Análise do nível ISA do IA-32 em Linux: exemplo com análise detalhada da estrutura do código e dos contextos para suporte à invocação e regresso de procedimentos/funções em HLL (C em particular); análise da stack no caso de funções aninhadas e recursivas.
(Notas de estudo: mesmas que da aula anterior, e com um subconjunto desses slides, com animações, em PowerPoint; relembra-se que já foi disponibilizada a descrição do Projecto, cuja resolução e defesa é obrigatória em ambos os métodos de avaliação)

28-Abr-10 (TP1)
Conclusão da utilização de ferramentas laboratoriais de depuração de código, numa função contendo uma estrutura de controlo
while.
(Notas de estudo: enunciado do TPC7, com guião laboratorial incluído, cuja resolução deverá ser entregue até à hora de início da sessão TP seguinte (novamente em laboratório); exercícios resolvidos do TPC6r
)

29-Abr-10 (T)
Análise do nível ISA do IA-32 em Linux: revisão dos modelos RISC e CISC e análise comparativa do modelo de implementação de funções numa arquitectura RISC (MIPS) versus IA-32.
(Notas de estudo: Bry (Ch 3.7 e 3.8) e slides
ISA_4 )

29-Abr-10 (TP2)
Conclusão da utilização de ferramentas laboratoriais de depuração de código, numa função contendo uma estrutura de controlo
while.
(Notas de estudo: enunciado do TPC7, com guião laboratorial incluído, cuja resolução deverá ser entregue até à hora de início da sessão TP seguinte (novamente em laboratório); exercícios resolvidos do TPC6r
)

29-Abr-10 (TP3)
Resolução de problemas diversos e esclarecimento de dúvidas.

30-Abr-10 (TP4, TP5, TP6)
Conclusão da utilização de ferramentas laboratoriais de depuração de código, numa função contendo uma estrutura de controlo
while.
(Notas de estudo: enunciado do TPC7, com guião laboratorial incluído, cuja resolução deverá ser entregue até à hora de início da sessão TP seguinte (novamente em laboratório); exercícios resolvidos do TPC6r
)

Semana 10

05-Mai-10 (T)
Análise do nível ISA do IA-32 em Linux: impacto da estruturação da informação numa HLL na execuçºao desse código, organização em memória e métodos de acesso e manipulação de dados estruturados em C, com respectiva análise da codificação para assembly (arrays uni-dimensionais, vulgo vectores).
(Notas de estudo: Bry (Ch 3.9) e slides ISA_5 )

05-Mai-10 (TP1)
Análise laboratorial do código C compilado por ferramentas da GNU em Linux para o IA32, contendo acesso a função e a estrutura de controlo
for, com utilização do depurador gdb.
(Notas de estudo: enunciado do TPC8, com guião laboratorial incluído, cuja resolução deverá ser entregue até à hora de início da sessão TP seguinte; exercícios resolvidos do
TPC7r )

06-Mai-10 (T)
Análise do nível ISA do IA-32 em Linux: métodos de acesso e manipulação de dados estruturados em C, com respectiva análise da codificação para assembly (arrays multi-dimensionais, structures).

(Notas de estudo: Bry (Ch 3.9); continuação dos slides da aula anterior)

06-Mai-10 (TP2)
Análise laboratorial do código C compilado por ferramentas da GNU em Linux para o IA32, contendo acesso a função e a estrutura de controlo
for, com utilização do depurador gdb.
(Notas de estudo: enunciado do TPC8, com guião laboratorial incluído, cuja resolução deverá ser entregue até à hora de início da sessão TP seguinte; exercícios resolvidos do
TPC7r )

06-Mai-10 (TP3)
Resolução de problemas diversos e esclarecimento de dúvidas.

07-Mai-10 (TP4, TP5, TP6)
Análise laboratorial do código C compilado por ferramentas da GNU em Linux para o IA32, contendo acesso a função e a estrutura de controlo
for, com utilização do depurador gdb.
(Notas de estudo: enunciado do TPC8, com guião laboratorial incluído, cuja resolução deverá ser entregue até à hora de início da sessão TP seguinte; exercícios resolvidos do
TPC7r )

Semana 11  (Semana do Enterro da Gata)

11-Mai-10 (TP1, TP2, TP3)  (os turnos mudaram o dia/hora devido às tolerâncias de ponto nesta semana)
Avaliação do Projecto em ambiente laboratorial

12-Mai-10 (T)
Não houve aula (tolerância de ponto).

13-Mai-10 (T)
Não houve aula (tolerância de ponto).

14-Mai-10 (TP4, TP5, TP6)
Avaliação do Projecto em ambiente laboratorial

Semana 12

19-Mai-10 (T)
Análise do nível ISA do IA-32 em Linux: métodos de acesso e manipulação de dados estruturados em C, com respectiva análise da organização em memória das structures nos ambiente Windows e Linux.

Avaliação de desempenho na execução de programas: objectivos e metodologias na avaliação de desempenho na execução de programas: (i) construção/ avaliação do desempenho de computadores - introdução às métricas e relação da expressão de cálculo do CPUtime para um dado programa, com factores da arquitectura que influenciam o seu desempenho; (ii) melhorar o desempenho da execução de programas - introdução às técnicas de optimização (independente/dependente da máquina) e de medição (microscópica e macroscópica).. 
(Notas de estudo: Bry (Ch 3.9); conclusão dos slides da aula anterior
); Bry (Ch. 3.15, Ch. 5.1 a 5.3, Ch. 9.0 e 9.3); sugere-se a leitura de P&H (Ch2.2, e 2.3); e slides AvDes_1 )

19-Mai-10 (TP1)
Execução de funções com deficiências (no IA32 em Linux), e respectiva análise do código gerado pelo compilador (em ambiente laboratorial).
(Notas de estudo: documento
TP_JMF com o trabalho a preparar para a próxima aula; exercícios resolvidos do TPC8r )

20-Mai-10 (T)
Metodologias: de optimização independente da máquina (code motion, strength reduction, partilha de sub-expressões), e de medição (escalas temporais, utilização de contadores de ciclos com extensões ASM em C).
(Notas de estudo: Bry (Ch. 5.3 a 5.6); slides: os mesmos que da aula anterior )

20-Mai-10 (TP2)
Execução de funções com deficiências (no IA32 em Linux), e respectiva análise do código gerado pelo compilador (em ambiente laboratorial).
(Notas de estudo: documento
TP_JMF com o trabalho a preparar para a próxima aula; exercícios resolvidos do TPC8r )

20-Mai-10 (TP3)
Resolução de problemas diversos e esclarecimento de dúvidas.

21-Mai-10 (TP4, TP5, TP6)
Execução de funções com deficiências (no IA32 em Linux), e respectiva análise do código gerado pelo compilador (em ambiente laboratorial).
(Notas de estudo: documento
TP_JMF com o trabalho a preparar para a próxima aula; exercícios resolvidos do TPC8r )

Semana 13

26-Mai-10 (T)
Avaliação de desempenho na execução de programas: aprofundamento da análise de algumas técnicas de optimização independentes da máquina. 
(Notas de estudo: Bry (Ch. 5.3 a 5.6); slides: os mesmos que da aula anterior )

26-Mai-10 (TP1)
Análise e comparação do código assembly gerado (em ambiente laboratorial) pelos compiladores de linguagem C (e.g. gcc) e do respectivo desempenho, para opções de compilação distintas.

27-Mai-10 (T)
Avaliação de desempenho na execução de programas: discussão de métrica de avaliação de desempenho de aplicações de processamento numérico de arrays (nomeadamente as componentes para o cálculo dos Ciclos Por Elemento, CPE), com exemplos de aplicação de técnicas.
(Notas de estudo: Bry (Ch. 5.3 a 5.6); slides: os mesmos que da aula anterior )

27-Mai-10 (TP2)
Análise e comparação do código assembly gerado (em ambiente laboratorial) pelos compiladores de linguagem C (e.g. gcc) e do respectivo desempenho, para opções de compilação distintas.

27-Mai-10 (TP3)
Resolução de problemas diversos e esclarecimento de dúvidas.

28-Mai-10 (TP4, TP5, TP6)
Análise e comparação do código assembly gerado (em ambiente laboratorial) pelos compiladores de linguagem C (e.g. gcc) e do respectivo desempenho, para opções de compilação distintas.

Semana 14

02-Jun-10 (T)
Avaliação de desempenho na execução de programas: introdução aos factores da arquitectura que maior impacto têm no desempenho (pipeline, superescalaridade, hierarquia de memória), indispensável à compreensão das técnicas de optimização dependentes da máquina; organização hierárquica da memória: o princípio da localidade, conceitos associados à cache e seu desempenho, regras de codificação orientada ao desempenho; introdução à evolução das arquitecturas para modelos many-core.
Realização dos inquéritos de avaliação da disciplina.
(Notas de estudo: Bry (Ch. 5.7) e slides AvDes_2 )

02-Jun-10 (TP1)
Resolução de problemas diversos e esclarecimento de dúvidas.

02-Jun-10 (TP2, TP3) (os turnos mudaram o dia/hora devido ao feriado nesta semana)
Resolução de problemas diversos e esclarecimento de dúvidas.

03-Jun-10 (T)
Feriado

03-Jun-10 (TP2, TP3)
Feriado

03-Jun-10
Feriado

04-Jun-10 (TP4, TP5, TP6)
Resolução de problemas diversos e esclarecimento de dúvidas.

Semana 15

09-Jun-10 (T)
Avaliação de desempenho na execução de programas: introdução ao modelo de representação de um par processador-memória (no Intel P6), com destaque para os modelos de representação do pipeline e da superescalaridade; análise de técnicas de optimização dependentes da máquina, nomeadamente a análise do comportamento dum Intel P6 em operações iterativas e respectivas consequências - loop unroll e com a introdução de paralelismo e de hierarquia de memória.
Outras técnicas de optimização de desempenho na execução de programas: análise de técnicas usadas pelo gcc e análise da lei de Amdahl e do impacto dos acessos à memória no desempenho.
(Notas de estudo: Bry (Ch. 5.8, 5.10, 5.11, 5.14, 5.15); mesmos slides que os anteriores)

09-Jun-10 (TP1)
Não houve aula (para compensar o feriado nos outros turnos).

10-Jun-10 (T)
Feriado

10-Jun-10 (TP2, TP3)
Feriado

10-Jun-10
Feriado

11-Jun-10 (TP4, TP5, TP6)
Não houve aula (para compensar o feriado nos outros turnos).

 


Página mantida por aproenca@di.uminho.pt
Ultima Modificação:10 Jun 2010