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/19estã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.

Cursos

Cursos onde a unidade curricular é leccionada: