Código |
14332
|
Ano |
1
|
Semestre |
S2
|
Créditos ECTS |
6
|
Carga Horária |
PL(30H)/T(30H)
|
Área Científica |
Informática
|
Objectivos de Aprendizagem |
Esta unidade curricular tem como objetivos que os alunos adquiram conhecimentos sobre: A) Estrutura e modo de funcionamento dos computadores digitais; B) Linguagens de programação de alto-nível e linguagem máquina; C) Execução das instruções pelo processador; D) Análise do desempenho e técnicas para melhoria do desempenho; E) Organização da memória; F) Microprocessadores versus microcontroladores; G) Programação em linguagem de baixo nível (Assembly).
No final da unidade curricular o aluno deve saber descrever a estrutura interna de um processador digital e o modo como são executados os programas. O aluno também ficará a conhecer as principais caracteristicas de outros elementos que constituem um computador digital como a memória e os periféricos de entrada e de saída. O aluno deve assim ficar a entender a arquitetura de um computador digital, quais os seus elementos principais e o modo como se interligam. Isto irá permitir-lhe acompanhar a constante evolução tecnológica da área.
|
Conteúdos programáticos |
Aulas teóricas - Introdução à arquitetura dos computadores: unidades de entrada/saída, memória, unidade de processamento; - Tecnologia dos computadores e evolução histórica; - Arquitetura de Von Neumann, memória de dados e de programas; - Códigos de representação; - Estrutura dos processadores: registos, ALU(Aritmetic and Logic Unit), unidade de controlo; - Barramentos (bus): controlo, dados e endereços; - Hierarquia de memória: cache, memória principal, memória secundária. - Avaliação do desempenho; - Técnicas para melhoria do desempenho: arquitecturas RISC& CISC, pipelining, paralelismo, multiprocessamento, GPU, técnicas de compilação; - Arquiteturas de microcomputadores (Harvard) – placas Arduino e Raspberry Pi; - Embedded Systems;
Aulas práticas - Programação em linguagem Assembly x86, usando o assembler FASM (Flat Assembler); - Programação usando a placa microcontrolada Arduino no simulador Tinkercad;
|
Metodologias de Ensino e Critérios de Avaliação |
Aulas teóricas: exposição dos conceitos ; Aulas práticas: resolução de exercícios práticos em laboratório com computadores;
Avaliação Teórica(TE) (freq. / exames) = 12 valores , realização obrigatória
Prática(TP) = 8 valores, dois trabalhos feitos na aula, ambos de realização obrigatória, com entrega de um pequeno relatório(pode ser apenas uma folha de rosto); a nota dos trabalhos conta para todos os exames. Adicionalmente, realização de trabalhos práticos semanais, não cotados, para consolidação de conhecimentos.
Mínimos: TE+TP = 6, ter presença na frequência de avaliação e realizar os dois trabalhos cotados.
Atribuição da classificação de Não Admitido: - não cumprimento dos mínimos; - fraude comprovada em qualquer elemento de avaliação;
Em caso de dúvida pode ser solicitada a defesa/justificação de qualquer um dos elementos de avaliação.
|
Bibliografia principal |
[1] “Arquitetura e organização de computadores”, William Stallings, Pearson, 2017; [2] “Computer Systems - Digital Design, Fundamentals of Computer Architecture and Assembly Language”, Ata Elahi, Springer, 2018; [3] “Essentials of Computer Architecture”, Douglas Comer, Second edition, CRC Press, 2017; [4] “Computer Architecture: A Quantitative Approach”, John L. Hennessy, David A. Patterson; Morgan Kaufmann Publishers, 6th Edition, 2017; [5] “ARQUITETURA DE COMPUTADORES”, 5ª Edição Atualizada, José Delgado, Carlos Ribeiro, FCA, 2014 [6] Textos disponíveis na página da cadeira e apontamentos das aulas (IntroFASM.pdf)
|
Língua |
Português
|