Arquitectura de Computadores 
1997/98
 
 Avaliação da componente prática
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 Equipa docente
Listagem dos docentes da disciplina e modos de os contactar
 Objectivos Objectivos
Definição sumária dos objectivos da disciplina
 Programa Programa
Programa proposto para o semestre, quer em termos de sessões teóricas, quer teórico-práticas
 Bibliografia Bibliografia
Lista da documentação necessária para um acompanhamento eficaz da disciplina
 Avaliação Avaliação
Metodologia de avaliação adoptada, e sua implementação ao longo do semestre
 Sumários (Teórica e Prática) 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) 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): 
- dum PC ou Mac na rede da UM, na directoria: \\MSMASTER\pub\ftp\um_net\cursos\mcc\ac97-98 
- por ftp (com login anonymous e password o seu endereço de email) no servidor: ftpnt.ci.uminho.pt na directoria um_net\cursos\mcc\ac97-98 
Equipa docente
 Docente responsável pela leccionação teórica:
Docente responsável pela leccionação teórica:
 Docente responsável pela leccionação teórico-prática:
Docente responsável pela leccionação teórico-prática: 
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 a organização e estrutura dum computador
 o interface do processador com os programas escritos em linguagens imperativas de alto nível o interface do processador com os programas escritos em linguagens imperativas de alto nível
 a metodologia de programação em linguagem máquina 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", "Structured Computer Organization",
- A.S.Tanembaum, 3rd Ed., Prentice Hall, 1990 
 "Computer Architecture and Design", "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