Laboratório de Computadores
Áreas Científicas |
Classificação |
Área Científica |
OFICIAL |
Arquitectura de Computadores |
Ocorrência: 2007/2008 - 2S
Ciclos de Estudo/Cursos
Língua de trabalho
Português
Objetivos
Conhecer e utilizar a interface de hardware dos periféricos mais habituais de um PC,
Ganhar capacidade de desenvolver software de baixo nível e de software embebido para a plataforma PC,
Ganhar familiaridade com algumas ferramentas de desenvolvimento de software
Programa
Programação combinada em C e Assembly nos processadores x86 da Intel
Organização da memória em execução e o mecanismo de chamada, passagem de parâmetros, armazenamento local, retorno de valores de subrotinas
Criação e utilização de bibliotecas de rotinas e ligação de código objecto
Periféricos de entrada/saída e seus modos de funcionamento
Estudo de alguns dos periféricos típicos de um PC, como o teclado, o rato, a placa gráfica, o relógio de tempo real, o temporizador, o porto série e o porto paralelo.
Mapeamento directo no espaço de endereçamento de memória
Registos de controlo de entrada/saída
Interrupções nos processadores da intel, o controlador de interrupções do PC, escrita de rotinas de interrupção em Assembly e em C,
Acesso a periféricos no modo polled e por interrupção
Introdução à utilização de ferramentas de desenvolvimento de software: gcc, make, gdb, prof, diff, patch, CVS e SVN.
Bibliografia Complementar
Daniel W. Lewis; Fundamentals of Embedded Software: Where C and Assembly Meet, 1002. ISBN: 0-13-061589-7
Muhammad Ali Mazidi; 80X86 IBM PC and Compatible Computers: Assembly Language, Design, and Interfacing Volumes I & II, Prentice Hall, 2003. ISBN: 0-13-061775-X
Observações Bibliográficas
A bibliografia indicada é-o apenas a título indicativo, não cobrindo todos os assuntos abordados nas aulas, e contendo por outro lado muito material adicional que não será utilizado. Considera-se que a documentação fornecida no decorrer da disciplina é suficiente.
Métodos de ensino e atividades de aprendizagem
Leccionação expositiva dos conceitos e de alguns detalhes necessários à realização dos trabalhos.
Elaboração de 8 trabalhos práticos sobre vários componentes de hardware do PC, usando linguagem C, Assembly e interrupções, e de um projecto final proposto pelos alunos e que integre de modo harmonioso alguns desses componentes.
Software
Assemblador NASM
Ambiente de desenvolvimento DJGPP
MS-DOS ou Windows-95/98/ME
Tipo de avaliação
Avaliação distribuída sem exame final
Componentes de Avaliação
Descrição |
Tipo |
Tempo (Horas) |
Peso (%) |
Data Conclusão |
Aulas da disciplina (estimativa) |
Participação presencial |
62,00 |
|
|
Trabalho final de integração |
Trabalho escrito |
48,00 |
|
2008-06-06 |
Oito trabalhos, um por aula e por cada componente de hardware |
Trabalho escrito |
48,00 |
|
2008-05-02 |
|
Total: |
- |
0,00 |
|
Obtenção de frequência
É obrigatória a elaboração, participação e apresentação do Projecto final de integração e não exceder o limite de 4 faltas.
Fórmula de cálculo da classificação final
0,05 * (Nota_Aula_1 + ... + Nota_Aula_11) + 0,35 * Projecto + 0,10 * ApreciaçãoGlobal
Onde Nota_Aula_i é a nota atribuída ao cumprimento dos objectivos definidos para a aula i, e onde i varia de 1 a 11.
Provas e trabalhos especiais
Em casos limite ou de dúvida pode ser efectuada no fim do semestre uma pequena prova prática individual que decidirá a a nota final ou aprovação.
Avaliação especial (TE, DA, ...)
Idêntica à dos alunos normais.
Melhoria de classificação
Elaboração de um conjunto de trabalhos práticos a apresentar no ano lectivo seguinte.
Observações
Requisitos recomendados: Aprovação nas disciplinas de Programação e de Microprocessadores e Computadores Pessoais.