Logotipo e link para a Universidade do Minho

Sistemas de Computação
Lic. Eng.ª Informática, 1º ano
2014/2015
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

Última Modificação:05 Jun 2015

 

 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, sugerido como complementar em anos anteriores), 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

16-fev-15 (PL2, PL4, PL8, PL10)
Não houve aulas ainda.

17-fev-15 (PL1, PL3, PL9, PL11, PL12)
Não houve aulas ainda.

20-fev-15 (T)
Metodologia de funcionamento da disciplina: princípios básicos, modo de funcionamento, elementos e modelos de avaliação (informação complementar em formato electrónico, e relativo ao ano em curso, em http://gec.di.uminho.pt/lei/sc/).
Introdução aos conceitos de "computador" e de "informação" no contexto de um computador.
Introdução à representação da informação no computador utilizando números binários (bits):
texto e respectivos alfabetos (análise dos códigos Baudot, Braille, ASCII 7/8 bits e UNICODE), números (referência a inteiros e reais), imagens e codificação dos comandos de controlo de um processador.
(Notas de estudo: cópia dos slides
ISC_1 e texto ISC (Cap.1) ).

20-fev-15 (PL5, PL7)
Não houve aulas ainda.

Semana 2

23-fev-15 (PL2, PL4, PL8, PL10)
Sistemas de numeração e conversão de bases. Introdução à representação binária de valores positivos e negativos: sinal e amplitude.
(Notas de estudo: notas sobre representação binária de números; enunciado do  TPC1, para ser entregue, impreterivelmente, até à hora de início da sessão PL seguinte).

24-fev-15 (PL1, PL3, PL9, PL11, PL12)
Sistemas de numeração e conversão de bases. Introdução à representação binária de valores positivos e negativos: sinal e amplitude.
(Notas de estudo: notas sobre representação binária de números; enunciado do  TPC1, para ser entregue, impreterivelmente, até à hora de início da sessão PL seguinte).

27-fev-15 (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 a arquitectura típica de um PC.
(Notas de estudo:  slides
ISC_2 e texto ISC (Cap.2); complementar: Sta Ch1.1 e 1.2 Ch 3.1, 3.2).

27-fev-15 (PL5, PL7)
Sistemas de numeração e conversão de bases. Introdução à representação binária de valores positivos e negativos: sinal e amplitude.
(Notas de estudo: notas sobre representação binária de números; enunciado do  TPC1, para ser entregue, impreterivelmente, até à hora de início da sessão PL seguinte).

Semana 3

02-mar-15  (PL2, PL4, PL8, PL10)
Continuação da representação binária de valores positivos e negativos: complemento para 1, complemento para 2, por excesso. Resolução de exercícios com binários inteiros.
(Notas de estudo: mesmas notas sobre representação binária de números;  ficheiro TPC1r com os resultados dos exercícios propostos em TPC1).

03-mar-15  (PL1, PL3, PL9, PL11, PL12)
Continuação da representação binária de valores positivos e negativos: complemento para 1, complemento para 2, por excesso. Resolução de exercícios com binários inteiros.
(Notas de estudo: mesmas notas sobre representação binária de números;  ficheiro TPC1r com os resultados dos exercícios propostos em TPC1).

06-mar-15 (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 IA-32. Breve introdução ao modelo de computador von Neumann.
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 atualizaçã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) )

06-mar-15 (PL5, PL7)
Continuação da representação binária de valores positivos e negativos: complemento para 1, complemento para 2, por excesso. Resolução de exercícios com binários inteiros.
(Notas de estudo: mesmas notas sobre representação binária de números;  ficheiro TPC1r com os resultados dos exercícios propostos em TPC1).

Semana 4

09-mar-15 (PL2, PL4, PL8, PL10)
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. 
Exemplos de exercícios com valores em vírgula flutuante.
(Notas de estudo: mesmas notas sobre representação binária de números; complementar: Sta (Ch8.4); enunciado do TPC2, cuja resolução deverá ser entregue no início da sessão PL seguinte).

10-mar-15 (PL1, PL3, PL9, PL11, PL12)
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. 
Exemplos de exercícios com valores em vírgula flutuante.
(Notas de estudo: mesmas notas sobre representação binária de números; complementar: Sta (Ch8.4); enunciado do TPC2, cuja resolução deverá ser entregue no início da sessão PL seguinte).

13-mar-15 (T)
Análise do processador ao nível da arquitectura do instruction set (ISA): (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 IA-32), (iii) modos de acesso aos operandos (em arquitecturas RISC e no IA-32), (iv)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), (v) análise de formatos de instruções (em processadores RISC e no IA-32), (vi) instruções de input/output, (vii) ordenação em memória dos bytes presentes num número constituído por vários bytes (little-endian, big-endian).
(Notas de estudo: ISC (Cap. 4.3 a 4.5, 5,1 a 5.3 e 5.7), Bry (Ch.1.5 e 1.6); 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))

13-mar-15 (PL5, PL7)
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. 
Exemplos de exercícios com valores em vírgula flutuante.
(Notas de estudo: mesmas notas sobre representação binária de números; complementar: Sta (Ch8.4); enunciado do TPC2, cuja resolução deverá ser entregue no início da sessão PL seguinte).

Semana 5

16-mar-15 (PL2, PL4, PL8, PL10)
Análise crítica da resolução de exercícios com valores em vírgula flutuante.
Análise de exemplo de execução duma instrução num par processador-memória, como introdução ao guião teatral da sessão experimental da semana seguinte, baseada numa representação teatral.
(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 PL seguinte; ficheiro TPC2r com os resultados dos exercícios propostos em TPC2).

17-mar-15 (PL1, PL3, PL9, PL11, PL12)
Análise crítica da resolução de exercícios com valores em vírgula flutuante.
Análise de exemplo de execução duma instrução num par processador-memória, como introdução ao guião teatral da sessão experimental da semana seguinte, baseada numa representação teatral.
(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 PL seguinte; ficheiro TPC2r com os resultados dos exercícios propostos em TPC2).

20-mar-15 (T)
Análise do nível ISA do IA-32 em Linux: modelo da arquitectura ISA do IA-32 no desenvolvimento de programas; 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: 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 e
ISA_2 )

20-mar-15 (PL5, PL7)
Análise crítica da resolução de exercícios com valores em vírgula flutuante.
Análise de exemplo de execução duma instrução num par processador-memória, como introdução ao guião teatral da sessão experimental da semana seguinte, baseada numa representação teatral.
(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 PL seguinte; ficheiro TPC2r com os resultados dos exercícios propostos em TPC2).

Semana 6

23-mar-15 (PL1, PL3, PL4, PL6)
Análise crítica da resolução de exercícios de codificação binária de instruções do ISA-32 e da análise de tráfego nos barramentos entre o CPU e a memória na execução de instruções.
Treino das capacidades de visualização de conceitos sobre sistemas de computação, através de um exercício experimental com estudantes-atores: 8 atores representaram a execução de instruções em linguagem máquina (corpo de uma função em C compilada para IA-16).
(Notas de estudo: texto do guião teatral foi divulgado com o TPC3; ficheiro
TPC3r com os resultados dos exercícios propostos)

24-mar-15 (PL1, PL3, PL9, PL11, PL12)
Análise crítica da resolução de exercícios de codificação binária de instruções do ISA-32 e da análise de tráfego nos barramentos entre o CPU e a memória na execução de instruções.
Treino das capacidades de visualização de conceitos sobre sistemas de computação, através de um exercício experimental com estudantes-atores: 8 atores representaram a execução de instruções em linguagem máquina (corpo de uma função em C compilada para IA-16).
(Notas de estudo: texto do guião teatral foi divulgado com o TPC3; ficheiro
TPC3r com os resultados dos exercícios propostos)

27-mar-15 (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); técnicas de codificação de estruturas de controlo presentes em C: if-else (generalização), do-while, while, for, switch.
(Notas de estudo: Bry (Ch 3.6), e slides
ISA_3 )

27-mar-15 (PL5, PL7)
Análise crítica da resolução de exercícios de codificação binária de instruções do ISA-32 e da análise de tráfego nos barramentos entre o CPU e a memória na execução de instruções.
Treino das capacidades de visualização de conceitos sobre sistemas de computação, através de um exercício experimental com estudantes-atores: 8 atores representaram a execução de instruções em linguagem máquina (corpo de uma função em C compilada para IA-16).
(Notas de estudo: texto do guião teatral foi divulgado com o TPC3; ficheiro
TPC3r com os resultados dos exercícios propostos)

Semana 7

30-mar-15 (PL2, PL4, PL8, PL10)
Continuação do exercício experimental da semana anterior.
(Notas de estudo: o enunciado do
TPC4, contendo um guião laboratorial, e cuja resolução dos exercícios propostos deverá ser entregue até à hora de início da sessão PL da semana seguinte; ficheiro TPC3r reformulado com o resultado do guião teatral; notas adicionais para este trabalho laboratorial: (i) as sessões laboratoriais da próxima semana serão num dos Lab. Informática do GAE no CP2 (Piso 2), (ii) a plataforma computacional a usar sempre será um servidor Unix (Linux) com as ferramentas GCC adequadas para SC, acessível remotamente (ler o guião para saber como),e (iii) disponibiliza-se aqui uma introdução ao ambiente Unix.)

31-mar-15 (PL1, PL3, PL11, PL12)
Continuação do exercício experimental da semana anterior.
(Notas de estudo: o enunciado do
TPC4, contendo um guião laboratorial, e cuja resolução dos exercícios propostos deverá ser entregue até à hora de início da sessão PLda semana seguinte; ficheiro TPC3r reformulado com o resultado do guião teatral; notas adicionais para este trabalho laboratorial: (i) as sessões laboratoriais da próxima semana serão num dos Lab. Informática do GAE no CP2 (Piso 2), (ii) a plataforma computacional a usar sempre será um servidor Unix (Linux) com as ferramentas GCC adequadas para SC, acessível remotamente (ler o guião para saber como),e (iii) disponibiliza-se aqui uma introdução ao ambiente Unix.)

03-abr-15 (T)
Não houve aulas (Férias da Páscoa).

03-abr-15 (PL5, PL7)
Não houve aulas (Férias da Páscoa).

06-abr-15 (PL2, PL4, PL8, PL10)
Não houve aulas (Férias da Páscoa).

07-abr-15 (PL1, PL3, PL11, PL12)
Não houve aulas (para equilibrar com as outras turmas).

07-abr-15 (PL9)
Continuação do exercício experimental da semana anterior.
(Notas de estudo: ficheiro
TPC3r reformulado com o resultado do guião teatral; 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 PL da semana seguinte; notas adicionais para este trabalho laboratorial: (i) as sessões laboratoriais da próxima semana serão num dos Lab. Informática do GAE no CP2 (Piso 2), (ii) a plataforma computacional a usar sempre será um servidor Unix (Linux) com as ferramentas GCC adequadas para SC, acessível remotamente (ler o guião para saber como),e (iii) disponibiliza-se aqui uma introdução ao ambiente Unix.)

11-abr-15 (T)
Caracterização das arquitecturas RISC.
Oportunidades para melhorar o desempenho de sistemas de computação: com introdução de paralelismo ao nível da instrução (paralelismo desfasado, pipeline; ao nível dos dados, computação vetorial;  paralelismo "real", VLIW e super-escalaridade), e no acesso à memória e sua hierarquização (interleaving, data-width, cache).
Evolução da arquitectura IA-32 nos processadores da Intel, do i8086 ao Sandy/Ivy Bridge, e Intel Many Integrated Core, MIC (Xeon Phi).
(Notas de estudo: novo conjunto de slides da série ISC, ISC_
6, que poderão ser complementados com vários sites na Web a pesquisar a partir do Wikipedia)

11-abr-15 (PL5, PL7)
Continuação do exercício experimental da semana anterior.
(Notas de estudo: ficheiro
TPC3r reformulado com o resultado do guião teatral; 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 PL da semana seguinte; notas adicionais para este trabalho laboratorial: (i) as sessões laboratoriais da próxima semana serão num dos Lab. Informática do GAE no CP2 (Piso 2), (ii) a plataforma computacional a usar sempre será um servidor Unix (Linux) com as ferramentas GCC adequadas para SC, acessível remotamente (ler o guião para saber como),e (iii) disponibiliza-se aqui uma introdução ao ambiente Unix.)

Semana

13-abr-15 (PL2, PL4, PL8, PL10)
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; Bry (Ch. 3.2) tem informação que complementa o material coberto nesta sessão laboratorial; enunciado do
TPC5, cuja resolução deverá ser entregue no início da sessão PL seguinte, que decorrerá como normalmente numa sala de aula e não no laboratório)

14-abr-15 (PL1, PL3, PL9, PL11, PL12)
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; Bry (Ch. 3.2) tem informação que complementa o material coberto nesta sessão laboratorial; enunciado do TPC5, cuja resolução deverá ser entregue no início da sessão PL seguinte, que decorrerá como normalmente numa sala de aula e não no laboratório)

17-abr-15 (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; 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: Bry (Ch 3.7), slides ISA_4 e um subconjunto desses slides, com animações, em PowerPoint)

17-abr-15 (PL5, PL7)
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; Bry (Ch. 3.2) tem informação que complementa o material coberto nesta sessão laboratorial; enunciado do TPC5, cuja resolução deverá ser entregue no início da sessão PL seguinte, que decorrerá como normalmente numa sala de aula e não no laboratório)

Semana 9

20-abr-15 (PL2, PL4, PL8, PL10)
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 PL será no mesmo laboratório que a última sessão experimental; exercícios resolvidos do TPC5r )

21-abr-15 (PL1, PL3, PL9, PL11, PL12)
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 PL será no mesmo laboratório que a última sessão experimental; exercícios resolvidos do TPC5r )

24-abr-15 (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: slides
ISA_5 )

24-abr-15 (PL5, PL7)
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 PL será no mesmo laboratório que a última sessão experimental; exercícios resolvidos do TPC5r )

Semana 10

29-abr-15 (PL1, PL2, PL3, PL4, PL5, PL6, PL7, PL9, PL10, PL11, PL12)
Teste de avaliação formativa.

01-mai-15 (T)
Feriado

Semana 11

04-mai-15 (PL1, PL3, PL9, PL11, PL12)
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); exercícios resolvidos do
TPC6r; enunciado do TPC7, com guião laboratorial incluído, cuja resolução deverá ser entregue até à hora de início da sessão PL seguinte (novamente em laboratório))

05-mai-15 (PL1, PL3, PL4, PL6)
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); exercícios resolvidos do
TPC6r; enunciado do TPC7, com guião laboratorial incluído, cuja resolução deverá ser entregue até à hora de início da sessão PL seguinte (novamente em laboratório))

08-mai-15 (T)
Análise do nível ISA do IA-32 em Linux: impacto da estruturação da informação numa HLL na execução 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 vetores, arrays multi-dimensionais, structures, union).
(Notas de estudo: Bry (Ch 3.8 e 3.9); slides ISA_6 )

08-mai-15 (PL5, PL7)
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); exercícios resolvidos do
TPC6r; enunciado do TPC7, com guião laboratorial incluído, cuja resolução deverá ser entregue até à hora de início da sessão PL seguinte (novamente em laboratório))

Semana 12   (Semana do Enterro da Gata)

11-mai-15 (PL2, PL4, PL8, PL10)
Não houve aula (de acordo com o calendário escolar da EEUM).

12-mai-15 (PL1, PL3, PL9, PL11, PL12)
Não houve aula (de acordo com o calendário escolar da EEUM).

15-mai-15 (T)
Não houve aula (de acordo com o calendário escolar da EEUM).

15-mai-15 (PL5, PL7)
Não houve aula (de acordo com o calendário escolar da EEUM).

Semana 13

18-mai-15 (PL2, PL4, PL8, PL10)
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 PL seguinte; exercícios resolvidos do TPC7r )

19-mai-15 (PL1, PL3, PL9, PL11, PL12)
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 PL seguinte; exercícios resolvidos do TPC7r )

22-mai-15 (T)
Avaliação de desempenho na execução de programas: objetivos e metodologias na avaliação de desempenho na execução de programas; potencialidades e limitações dos compiladores; análise de técnicas de otimização de código independentes da arquitetura do processador (code motion, strength reduction, partilha de sub-expressões), e de medição (escalas temporais, utilização de contadores de ciclos, 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).
(Notas de estudo: Bry (Ch. 3.15, Ch. 5.1 a 5.6, Ch. 9.0 e 9.3); sugere-se a leitura de P&H (Ch2.2, e 2.3); e slides
AvDes_1 )

22-mai-15 (PL5, PL7)
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 PL seguinte; exercícios resolvidos do TPC7r )

Semana 14

25-mai-15 (PL2, PL4, PL8, PL10)
Execução de funções com deficiências (no IA-32 em Linux), e respectiva análise do código gerado pelo compilador (em ambiente laboratorial).
(Notas de estudo: enunciado do
TPC9, com guião laboratorial incluído, cuja resolução deverá ser entregue até à hora de início da sessão PL seguinte; exercícios resolvidos do TPC8r )

26-mai-15 (PL1, PL3, PL9, PL11, PL12)
Execução de funções com deficiências (no IA-32 em Linux), e respectiva análise do código gerado pelo compilador (em ambiente laboratorial).
(Notas de estudo: enunciado do
TPC9, com guião laboratorial incluído, cuja resolução deverá ser entregue até à hora de início da sessão PL seguinte; exercícios resolvidos do TPC8r )

29-mai-15 (T)
Avaliação de desempenho na execução de programas: introdução aos fatores da arquitectura que maior impacto têm no desempenho, indispensável à compreensão das técnicas de otimização dependentes da máquina: pipeline, superescalaridade, hierarquia de memória; 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 arquiteturas para modelos manycore; 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. 
(Notas de estudo: Bry (Ch. 5.7); slides
AvDes_2 )

29-mai-15 (PL5, PL7)
Execução de funções com deficiências (no IA-32 em Linux), e respectiva análise do código gerado pelo compilador (em ambiente laboratorial).
(Notas de estudo: enunciado do
TPC9, com guião laboratorial incluído, cuja resolução deverá ser entregue até à hora de início da sessão PL seguinte; exercícios resolvidos do TPC8r )

Semana 15

02-jun-15 (PL2, PL4, PL8, PL10)
Execução de uma desafio de recuperação de um ficheiro extraviado, com utilização do depurador para correção de eventuais falhas na reconstrução.
(Notas de estudo: exercícios resolvidos do
TPC9r )

02-jun-15 (PL1, PL3, PL9, PL11, PL12)
Execução de uma desafio de recuperação de um ficheiro extraviado, com utilização do depurador para correção de eventuais falhas na reconstrução.
(Notas de estudo: exercícios resolvidos do
TPC9r )

06-jun-15 (T)
Avaliação de desempenho na execução de programas: análise de técnicas de otimização dependentes da máquina, nomeadamente a análise do comportamento dum Intel P6 em operações iterativas e respetivas consequências - loop unroll e com a introdução de paralelismo e de hierarquia de memória.
Outras técnicas de otimização de desempenho na execução de programas: breve introdução a técnicas usadas pelo gcc e análise da lei de Amdahl.
(Notas de estudo: Bry (Ch.  5.8, 5.10, 5.11, 5.14, 5.15);  slides
AvDes_3 )

06-jun-15 (PL5, PL7)
Execução de uma desafio de recuperação de um ficheiro extraviado, com utilização do depurador para correção de eventuais falhas na reconstrução.
(Notas de estudo: exercícios resolvidos do
TPC9r )


Página mantida por aproenca <at> di.uminho.pt
Última Modificação: 05 Jun 2015