Arquitetura de Computadores

Objectivos

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 VersionThomas 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.

Cursos

Cursos onde a unidade curricular é leccionada: