Laboratório de Computadores
Áreas Científicas |
Classificação |
Área Científica |
OFICIAL |
Arquitectura de Computadores |
Ocorrência: 2008/2009 - 2S
Ciclos de Estudo/Cursos
Língua de trabalho
Português
Objetivos
Conhecer e ser capaz de utilizar a interface de hardware dos periféricos mais habituais de um PC,
Ser capaz de desenvolver software de baixo nível e de software embebido para a plataforma PC,
Aprender a usar a linguagem de programação C de modo estruturado, usando a linguagem C++ como referência,
Conhecer e utilizar várias ferramentas de desenvolvimento de software.
No final da disciplina os alunos terão usado os principais modelos de acesso a hardware e desenvolvido programas de alto nível relativamente complexos que os utilizam, e serão capazes de utilizar essas competências noutras plataformas de hardware.
Programa
A linguagem de programação C: principais diferenças em relação à linguagem C++, metodologias de estruturação tomando C++ como referência.
Programação combinada em C e Assembly nos processadores i386.
Organização da memória em execução e o mecanismo de chamada, passagem de parâmetros, armazenamento local e retorno de valores de funções.
A criação e utilização de bibliotecas e o mecanismo de ligação estática de código objecto.
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 altifalante, o porto série e o porto paralelo.
Periféricos de entrada/saída e seus modos de funcionamento.
Mapeamento directo no espaço de endereçamento de memória.
Registos de controlo de entrada/saída.
As interrupções nos processadores i386, 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.
Utilização de ferramentas de desenvolvimento de software: gcc, make, gdb, ar, 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
Nas aulas teóricas será efectuada a exposição dos conceitos, sempre perspectivados através da sua utilização prática, e serão também esclarecidos os detalhes necessários à realização dos trabalhos práticos.
Nos primeiras 8 semanas das aulas laboratoriais serão elaborados 8 pequenos trabalhos práticos, cada um deles sobre um periférico do PC; nas 4 semanas finais será proposto pelos alunos e elaborado um projecto que integre de modo harmonioso a maioria dos periféricos e técnicas estudadas.
Será tida especial atenção à coordenação entre as aulas teóricas e as práticas.
Software
Ambiente de desenvolvimento DJGPP
MS-DOS ou Windows 9x
Assemblador NASM
Tipo de avaliação
Avaliação distribuída sem exame final
Componentes de Avaliação
Descrição |
Tipo |
Tempo (Horas) |
Peso (%) |
Data Conclusão |
Participação presencial (estimativa) |
Participação presencial |
65,00 |
|
|
|
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
Soma_i(0,05 * Nota_Aula_i ) + 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 poderá ser efectuada no fim do semestre uma pequena prova prática individual que decidirá a aprovação ou a nota final.
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.