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.
- Desenhar os componentes básicos de um CPU.
Caracterização geral
Código
11152
Créditos
9.0
Professor responsável
Pedro Abílio Duarte de Medeiros, Vítor Manuel Alves Duarte
Horas
Semanais - 5
Totais - 65
Idioma de ensino
Português
Pré-requisitos
Conhecimentos de Introdução à Programação e de Sistemas Lógicos.
Bibliografia
Principal: Computer Systems: A Programmer''''''''s Perspective, 2/Ed , Randal E. Bryant, David R. O''''''''Hallaron. Prentice Hall, 2011
Alternativo: Computer Organization and Design: The Hardware/Software Interface (revised Fourth Edition). David A. Patterson, John L. Hennessy. Morgan Kaufmann, 2011.
Complementar: C Programming Language (2nd Edition). Brian W. Kernighan, Dennis M. Ritchie. Prentice Hall, 1988.
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
Componentes da avaliação
- Avaliação prática e de frequência, NP:
Serão avaliados 5 pequenos 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 melhores trabalhos
Alunos que obtiveram frequência em 2017/18 ou 2018/19, estão dispensados de obter fequência e de fazer os trabalhos, ficando com a nota NP do ano passado. Também não necessitam de estar inscritos nos turnos práticos, mas podem assistir às aulas sempre que existam lugares na sala.
- Avaliação teorico-prática, NT:
É constituída pela média de dois testes ou por um exame final (escritos, s/consulta).
NOTA: todas as notas dos TPC, testes, exame, NP, NT são arredondadas às décimas.
Frequência
Um aluno é considerado como tendo frequentado as aulas e admitido a avaliação apenas se obtiver notas maiores que 9,5 em pelo menos 3 TPC.
Nota final
Em caso de obter frequência, a nota final, NF, é calculada por média ponderada das componentes prática (NP) e testes ou exame (NT), de acordo com a seguinte regra:
se NT >= 8,5 então NF = 20% NP + 80% NT
se NT < 8,5 então NF = NT
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.