Escolas Superiores Portais
ESEESAESTGESSESCEESDL MULTIMÉDIAINTERNACIONAL
Escola Superior de Educação
Escola Superior Agrária
Escola Superior de Tecnologia e Gestão
Escola Superior de Saúde
Escola Superior de Ciências Empresariais
Escola Superior de Desporto e Lazer
SASOTICEMPREGO
 
   
 

Programa Unidade Curricular

Curso
Unidade Curricular
Ano
Periodo
ECTS
Ano Letivo
Engenharia da Computação Gráfica e Multimédia
Arquitecturas e Sistemas de Computadores
1
S1
6
202021

 
T
TP
TC
P
PL
L
S
E
EC
O
OT
Horas de Contacto
0
32
0
0
32
0
0
0
0
0
0

Equipa Docente
Nome
Carga Letiva na UC
Docente
Paulo Emanuel da Costa Pereira Afonso
64
Responsável
Vítor Manuel Ferreira
32

Resumo
Nesta unidade curricular abordar-se-á a arquitetura básica de um sistema computacional descriminando os seus principais componentes fundamentais bem como a importância destes no desenvolvimentos e execução das aplicações informáticas.

Para tal usar-se-á uma plataforma aberta ("open-source") como é o caso do Raspberry Pi com um processador RISC onde a linguagem assembly será aflorada.

Também se fará uma pequena introdução aos microprocessadores com o Arduino onde o aluno terá a oportunidade de apresentar um mini-projecto em C.

Objetivos da Aprendizagem
1- A invenção do transístor em 1947 - o principal marco-histórico da arquitectura e sistemas de computadores
2- Saber o que é um Byte e saber em que situação deve ser utilizado
3- A importância dos múltiplos (Kilo, Mega, Giga e Tera) e dos sub-múltiplos (mili, micro, nano e pico) e saber em contextos devem ser usados
4- Entender definitivamente a noção de frequência bem como qual a sua correspondente unidade no SI: o Hertz
5- Saber identificar os principais marcos históricos ao longo da evolução dos computadores e sua divisão em 4 principais gerações: 1ª geração (aproximadamente 1945-1955), 2ª geração (1955-1965), 3ª geração (1965-1980) e 4ª geração (1980 até a actualidade)
6- Saber identificar os principais blocos funcionais de um Computador: o modelo de von Neumann - Input->Store/Memory->Process->Store/Memory->Output
7- Saber identificar a Unidade de Processamento Central (CPU) de um computador sabendo descrever como funciona e para que serve: o ciclo Fetch->Decode->Execute
8- Saber identificar e caracterizar os diferentes tipos de memória volátil (RAM e SRAM) e não-volátil (ROM, ERPOM, SSD, HD,SD)
9- Saber justificar a necessidade de um sistema computacional precisar de diferentes tipos de memória e como esta afecta directamente o seu desempenho
10- Saber o que se entende por memória-virtual e cache
11- Saber identificar um programa em Assembly bem como a sua importância nos sistemas computacionais a realizar tarefas em tempo-real
12- Tendo por base a plataforma open-source Raspberry Pi com um processador RISC (Advanced RISC Machine - ARM) saber ler, interpretar, compilar e executar um programa escrito em assembly: as, gcc
13- Introdução aos micro-controladores usando a plataforma open-source Arduino.
14- Saber o que significam os acrónimos RISC e CISC bem como saber diferenciar estas duas grandes famílias de processadores.
15- Saber definir com o máximo rigor o que se entende por um Computador
16- Saber o que significa o acrónimo bit, para que serve e a sua relação directa com um interruptor

Conteudos Programáticos
Horas
1- Arquitectura básica de um computador e Breve resenha histórica da evolução dos computadores
8
2- Sistemas Decimal, binário e hexadecimal
4
3- O que é um computador
8
4- Qual a finalidade e a função de uma CPU: o ciclo ''fetch'', ''decode'' e ''execute''
8
5- As diferenças entre as memórias RAM e as ROM; A necessidade de um computador ter este dois tipos de memórias
4
6- Como a RAM afecta o desempenho computacional
4
7- As diferenças entre os processadores RISC e CISC
2
8- As diferenças entre um computador e um micro-controlador: como por exemplo, o raspberry pi vs o arduino.
2
9- Estudo de uma plataforma aberta computacional: o Raspberry Pi
4
10- Programação em assembly para o processador RISC do Raspberry Pi B+: ARM(1176JZF-S)
18

Metodologias de Ensino
Usando como referência o site cambridgegcsecomputing.org tentar-se-á expor e discutir a matéria, realizando os trabalhos práticos aí propostos devendo cada discente submeter para a plataforma moodle todos os trabalhos realizados. A principal plataforma computacional a estudar será assim o Raspberry Pi.

Avaliação
3 épocas de avaliação = 3 períodos temporais de avaliação:

1. Contínua/época de frequência - começa na 1ª semana e termina na 16ª semana de aulas:
1.1 PL - Fazer todos os trabalhos práticos para desenvolver as competências mínimas exigidas (peso=50% da nota final)
1.2 TP - Frequência online no moodle (peso=50% da nota final) - para quem fizer pelo menos 80% dos trabalhos práticos. Se a Frequência>=9,5 então
FINAL = (TP/2+PL/2)*percentagemDosTrabalhosPraticosEntreguesNoMoodle

2. 17ª semana - Época normal só para quem não foi avaliado na época contínua FINAL = Exame Época Normal (online - moodle) 100%

3. Época de recurso (online - moodle) 100%, todos podem ir (inclusivamente quem já obteve aprovação >= 10 e pretende subir nota); é o único exame que requer inscrição na secretaria e tem um custo associado!

NOTA: Todos devem ter uma assiduidade de pelo menos 80% de acordo com o regulamento pedagógico.

Bibliografia Principal
Tanenbaum, A. S. & Austin, T. (2013). Structured Computer Organization (6th Edition). Prentice Hall.

Upton, E. & Halfacree, G. (2012). Raspberry Pi® User Guide. Online from URL: http://www.cs.unca.edu/~bruce/Fall14/360/RPiUsersGuide.pdf

Raspberry Pi for Dummies: Chapter 5 (pp. 71-104) - Chapter 5: Using the Linux Shell.



Bibliografia Complementar
Yurichev, D. (2013). Reverse Engineering for Beginners. Online from URL: https://github.com/dennis714/RE-for-beginners.

Delgado J. & Ribeiro, C. (2010). Arquitectura de Computadores, 4.ª Ed. FCA. Lidel.
 
 
 

Em destaque

EM AGENDA

D S T Q Q S S
 
 
1
 
2
 
3
 
4
 
5
 
6
 
7
 
8
 
9
 
10
 
11
 
12
 
13
 
14
 
15
 
16
 
17
 
18
 
19
 
20
 
21
 
22
 
23
 
24
 
25
 
26
 
27
 
28
 
29
 
30
 
31
 
 
 
Format: 2020-12-01
Format: 2020-12-01