Arquitetura de Computadores
Objetivos
Conhecimentos
- Organização geral do hardware de um sistema computacional.
- Representação no hardware de dados e instruções.
- Processo de tradução entre os programas em C, o assembly, e a linguagem máquina.
- Interface de baixo nível para os dispositivos de entradas/saídas.
- Características das unidades de memória.
Aptidões e competências
- Programação em C, assembly, e a tradução entre ambos.
- Compreensão profunda dos vários componentes da arquitetura de Von Neumann
Caracterização geral
Código
11152
Créditos
9.0
Professor responsável
Pedro Abílio Duarte de Medeiros
Horas
Semanais - 5
Totais - 65
Idioma de ensino
Português
Pré-requisitos
Conhecimentos de Introdução à Programação e de Sistemas Lógicos.
Bibliografia
Computer Systems: A Programmer''s Perspective, 2/Ed , Randal E. Bryant, David R. O''Hallaron. Prentice Hall, 2011
C Programming Language (2/Ed). Brian W. Kernighan, Dennis M. Ritchie. Prentice Hall, 1988.
How to Think Like a Computer Scientist - C Version, Thomas Scheffler and Allen B. Downey, June 27th, 2019, disponível em PDF em https://github.com/tscheffl/ThinkC/
Método de ensino
Nas aulas teóricas explicar-se-ão e discutir-se-ão os sucessivos tópicos do programa da cadeira. No último terço de cada aula proceder-se-á, sempre que possível, à resolução de um problema prático cuja solução requeira a aplicação dos conhecimentos aprendidos no início da aula.
Nas aulas práticas serão desenvolvidos diversos trabalhos práticos de programação, cujo objectivo é aplicar e consolidar os conceitos que foram aprendidos nas aulas teóricas. Após concluírem os trabalhos práticos de programação, os alunos devem também discutir com os docentes o comportamento dos programas desenvolvidos e o seu encadeamento com os conceitos aprendidos ao longo da cadeira
Método de avaliação
As notas de todos os elementos de avaliação são arredondadas às décimas.
Componentes da avaliação
- Componente prática NP:
Serão avaliados 4 trabalhos individuais (TPC). A avaliação pode incluir discussão oral ou prova prática em laboratório desses TPC.
NP = média dos 4 trabalhos
Alunos que obtiveram em anos anteriores uma nota igual ou superior à nota mínima podem usar essa nota na corrente edição da cadeira. Podem também melhorar essa nota neste ano letivo se o entenderem.
A nota mínima nesta componente é 8,0 valores.
- Componente teorico-prática, NT:
Serão realizados 2 testes e um exame final, presenciais e sem consulta.
NT é a média das notas dos 2 testes ou a nota do exame final.
Alunos que obtiveram em anos anteriores uma nota igual ou superior à nota mínima podem usar essa nota na corrente edição da cadeira. Podem também melhorar essa nota neste ano letivo se o entenderem.
A nota mínima nesta componente é 8,0 valores.
Nota final
se NP < 8,0 então NF = NP
se NT < 8,0 então NF = NT
se NT >= 8,0 e NP >= 8,0 então NF = 0,3 * NP + 0,7 * NT
Melhoria de nota ( após inscrição no CLIP)
Apenas é possível melhorar a componente teórico-prática no exame de recurso. A fórmula de cálculo da nota final é a que aparece acima.
Conteúdo
1. Programação em C
2. Representação numérica
3. Linguagem assembly: tipos de instruções, formato das instruções, procedimentos e convenção de chamadas a procedimentos.
4. Compilação, ligação, assemblagem, e carregamento.
5. Organização interna da unidade de processamento. Processador de ciclo único. Pipelines. Conceitos avançados do desenho de microprocessadores.
6. Caches e unidades memória. Introdução breve à memória virtual.
7. Entradas / saídas.