Arquitetura de Computadores (2021/2022) - Departamento de Informática
Descrição

Os alunos irão adquirir conhecimentos teóricos e práticos de arquitectura de computadores, sendo esta última categoria adquirida através de aulas de laboratório e uma série de trabalhos de casa práticos e projectos.Esta cadeira permitirá aos alunos compreender as linguagens assembly, e a relação destas com as linguagens de alto nível (exemplo da linguagem C). Adicionalmente, os alunos compreenderão de que forma o assembly é traduzido para linguagem máquina, e como é executado pelo hardware, focando-se vários aspectos da sua organização, incluindo o processador, a memória, ou as entradas/saídas para os restantes componentes.

Objectivos

Conhecimentos

Aptidões e competências

Programa

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.

Bibliografia Principal

Computer Systems: A Programmer''''s Perspective, 2/Ed , Randal E. Bryant, David R. O''''Hallaron. Prentice Hall, 2011

Operating Systems: Three Easy Pieces v1.00 (2018), Remzi Arpaci-Dusseau e Andrea Arapci-Dusseau, disponível emhttps://pages.cs.wisc.edu/~remzi/OSTEP/#book-chapters

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 andAllen B. Downey,June 27th, 2019, disponível em PDF emhttps://github.com/tscheffl/ThinkC/


Requisitos Prévios

Conhecimentos de Introdução à Programação e de Sistemas Lógicos.

Esforço do Aluno
  Horas por crédito 28
  Horas p/ semana Semanas Horas
Aulas práticas e laboratoriais   26.0
Aulas teóricas   39.0
Avaliação   6.0
Estudo   60.0
Projectos e trabalhos   120.0
Total de Horas 251
ECTS 9.0