Designação | Código | Curso | Regime | Regente |
---|
Sistemas de Computação | 14268 [J302N1] | Licenciatura em Engenharia Informática [ENGINF] | S2 | João Miguel Lobo Fernandes |
Objetivos | 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. |
Método de avaliação | 1. Participação dos alunos na preparação e execução das práticas experimentais 2. Prova(s) escrita(s) individual 3. Exame de recurso. |
Funcionamento | Turno: T 1; Docente: João Miguel Lobo Fernandes; Dep.: DI; Horas: 30. Turno: T 2; Docente: João Miguel Lobo Fernandes; Dep.: DI; Horas: 30. Turno: PL 1; Docente: André Martins Pereira; Dep.: DI; Horas: 30. Turno: PL 2; Docente: André Martins Pereira; Dep.: DI; Horas: 30. Turno: PL 3; Docente: André Martins Pereira; Dep.: DI; Horas: 30. Turno: PL 4; Docente: Paulo Rafael Costa Sousa; Dep.: DI; Horas: 30. Turno: PL 5; Docente: André Leite Ferreira; Dep.: DI; Horas: 30. Turno: PL 6; Docente: André Leite Ferreira; Dep.: DI; Horas: 30. Turno: PL 7; Docente: Paulo Rafael Costa Sousa; Dep.: DI; Horas: 30. Turno: PL 8; Docente: Paulo Rafael Costa Sousa; Dep.: DI; Horas: 30. Turno: PL 9; Docente: Manuel José Domingues Alves; Dep.: DI; Horas: 30. Turno: PL 10; Docente: Manuel José Domingues Alves; Dep.: DI; Horas: 30. |