Arquitectura de Computadores

1997/98


Avaliação da componente prática

Página do ano lectivo 1996/97

Ficheiro com todos os exercícios apresentados nas aulas práticas (Word) e (PS)


Equipa docente

Listagem dos docentes da disciplina e modos de os contactar

Objectivos

Definição sumária dos objectivos da disciplina

Programa

Programa proposto para o semestre, quer em termos de sessões teóricas, quer teórico-práticas

Bibliografia

Lista da documentação necessária para um acompanhamento eficaz da disciplina

Avaliação

Metodologia de avaliação adoptada, e sua implementação ao longo do semestre

Sumários (Teórica e Prática)

Listagem dos sumários das aulas; a construir ao longo do semestre

Notas para estudo (Notas da última semana: teóricas e práticas)

Semana a semana: cópias de acetatos (alguns comentados), guiões de trabalho, exercícios para avaliação e/ou auto-avaliação (em WWW)


Este documento (ac.geral) está disponível em formato electrónico (Word, PS e HTML):

Existem outros documentos nestas directorias.


Equipa docente

Docente responsável pela leccionação teórica:

Alberto José Proença (Prof. Associado)
email: aproenca@ci.uminho.pt
Horário de atendimento: Ter 10:00-13:00; Qui 14:00-17:00

Docente responsável pela leccionação teórico-prática:

Luís Paulo Peixoto dos Santos (Assistente)
email: psantos@di.uminho.pt
Horário de atendimento: Seg 15:00-18:00 ; Qua 10:00-13:00


Objectivos

Pretende-se com esta disciplina - relacionada com a engenharia dos computadores - que os alunos adquiram os conceitos fundamentais relativos ao funcionamento dum computador, nomeadamente:

a organização e estrutura dum computador
o interface do processador com os programas escritos em linguagens imperativas de alto nível
a metodologia de programação em linguagem máquina

Para atingir estes últimos objectivos a disciplina segue uma estrutura e orientação que tira partido da formação de base dos estudantes em linguagens de programação: a partir de programas em C ou Pascal são introduzidas as características da linguagem máquina, com sessões teórico-práticas em metodologia de programação em linguagem máquina, baseadas no instruction set de um processador real simulado (MIPS R2000/R3000).


Programa proposto

Semana 1


Introdução à organização de um computador.

Semana 2


Análise do funcionamento dum processador.
Representação de dados numéricos: inteiros e reais (norma IEEE).

Semana 3


Mecanismos para a execução de programas: compilador, assembler, linker, loader.
Análise laboratorial da estrutura de um computador.

Semana 4


Modelo de programação de um processador. Introdução à programação em linguagem máquina.

Semana 5


Análise dum instruction set dum processador RISC (MIPS): operações aritméticas e de transferência de informação.
Introdução ao ambiente de programação xspim e ao assembler.

Semana 6

Análise dum instruction set dum processador RISC (MIPS): instruções para a tomada de decisões e para suporte à invocação de procedimentos.
Técnicas de programação em assembly.

Semana 7


Metodologia de construção de um programa em assembly.
Sessão laboratorial com xspim.

Semana 8


Análise de uma alternativa CISC (I86).
Construção de programas em binário e assembly.

Semana 9


Computação aritmética com análise de uma ALU rudimentar.
Análise da execução de programas em assembly.

Semana 10


Computação aritmética: multiplicação e divisão.
Exercícios de programação em assembly/binário.

Semana 11


Computação aritmética: operações em fp.
Manipulação de vectores com apontadores e índices.

Semana 12

Medição do desempenho de computadores.
Técnicas de programação de procedimentos e funções.

Semana 13


Hierarquia de memória e memórias caches.
Análise comparativa de programas em assembly (MIPS e I80x86).


Bibliografia

A disciplina Arquitectura de Computadores vai seguir essencialmente o livro:

"Computer Organization and Design: the hardware/software interface", D.Patterson, J.Henessy, Morgan Kaufmann Publishers, 1994

nomeadamente os capítulos 1.Computer Abstractions and Technology, 2.The Role of Performance, 3.Instructions: Language of the Machine, 4.Arithmetic for Computers e 7.Large and Fast: Exploiting Memory Hierarchy, bem como o apêndice A (Assemblers, Linkers and the SPIM Simulator); o apêndice E será reformulado de modo a cumprir idênticos objectivos (Another Approach to Instruction Set Architecture) mas com referência à arquitectura do i86.

As aulas teóricas serão leccionadas à base de acetatos, os quais contêm essencialmente os tópicos de cada assunto a ser analisado. Cópias desses acetatos, eventualmente com notas adicionais, serão igualmente disponibilizados (ver em Notas para estudo).

A componente de programação em linguagem máquina baseia-se num simulador (xspim) duma arquitectura RISC (MIPS R2000/R3000), instalado num sistema Unix do CIUM (athena), e acessível por terminal X. Existem também versões para computadores pessoais, que poderão ser copiadas por quem o desejar (por ftp: versão PC ou versão LINUX).

Bibliografia complementar recomendada para leitura adicional:

"Structured Computer Organization",
A.S.Tanembaum, 3rd Ed., Prentice Hall, 1990
"Computer Architecture and Design",
A.J.van de Goor, Addison-Wesley, 1989


Avaliação

A disciplina de ArqComp está organizada em aulas teóricas (2*1h/sem) e em sessões teórico-práticas (2h/sem). A frequência às aulas teóricas não é obrigatória, mas é recomendada; a frequência às sessões teórico-práticas é obrigatória (existe controlo de presenças; com mais de 1/3 de faltas o aluno poderá não ser admitido a exame).

As aulas teóricas são utilizadas para se transmitirem os conceitos necessários à compreensão da matéria. O material leccionado nestas aulas é encadeada, pelo que se torna indispensável o seu regular acompanhamento. Esporadicamente serão propostos exercícios para resolução individual e entrega na semana seguinte, com efeitos na avaliação.

As sessões teórico-práticas têm por objectivo aplicar os conceitos adquiridos nas teóricas e ainda desenvolver técnicas de programação em linguagem máquina. A prática na utilização destas técnicas de programação adquire-se com a resolução de exercícios e/ou construção de pequenos programas, os quais serão propostos semanalmente para resolução fora das aulas; alguns destes são de resolução individual e entrega obrigatória para avaliação, outros são apenas para teste dos conhecimentos adquiridos.

No fim do semestre realiza-se o exame final da disciplina, em duas chamadas. As perguntas do exame serão semelhantes aos exercícios propostos durante o semestre, e irão avaliar não apenas a capacidade de compreensão das matérias leccionadas, como ainda a participação efectiva nas sessões teórico-práticas.

Pesos relativos das diversas componentes de avaliação:

 


Página mantida por psantos@di.uminho.pt.
Ultima Modificação: 29 Set 1997