Esta UC é lecionada em diversos ciclos de estudos de licenciatura. A caraterização apresentada é feita a um nível de abstração que possibilite que, em diferentes licenciaturas, alguns aspetos possam ser objeto de maior ou menor aprofundamento.
Programa
1. Organização e estrutura de um computador
A informação num computador: representação da informação (texto, números, imagens e comandos para o processador); representação binária de inteiros e de valores reais (inc. norma IEEE 754).
Estrutura interna dum computador; execução de instruções; níveis de abstração; execução de programas num ambiente laboratorial (x86 em Linux).
2. Arquitetura do instruction set
Estrutura dum instruction set: operações/operandos, acesso a dados, tipos e formatos de instruções, modelo de programação dum processador.
O nível ISA do x86 em Linux: operações aritméticas e acesso a operandos, estruturas de controlo em C, funções/procedimentos.
Análise comparativa do instruction set de outras arquiteturas com a do IA-32.
3. Avaliação do desempenho de computadores
Metodologia de avaliação de desempenho.
Fatores da arquitetura dum computador no seu desempenho
Bibliografia
Computer Systems: A Programmer's Perspective (CS:APP), Randal Bryant and David O'Hallaron, Pearson, 3rd Ed., 2015.
Computer Organization and Design: the hardware/software interface, D.Patterson, J.Henessy, Morgan Kaufmann Publishers, 4th Ed., 2011.
Resultados da aprendizagem
Ao completar com sucesso a UC cada estudante deverá demonstrar que adquiriu os seguintes conhecimentos, capacidades e aptidões:
- reconhecer a organização e estrutura funcional dum computador;
- adquirir capacidades para acompanhar a evolução da estrutura dos sistemas de computação;
- reconhecer as principais características da arquitetura de um instruction set;
- analisar a funcionalidade de programas imperativos (tipo C), com recurso ao assembly e a linguagem máquina;
- aplicar técnicas com impacto no desempenho na execução de código;
- analisar código compilado para linguagem máquina;
- aptidões transversais, nomeadamente a ter desenvolvido a capacidade de raciocínio na resolução de problemas, e a capacidade de comunicação escrita e oral