Conhecimentos de Base Recomendados
Conceitos básicos de Sistemas Digitais
Métodos de Ensino
Aulas Teóricas essencialmente com exposição detalhada, recorrendo a meios audiovisuais, dos conceitos, princípios e teorias fundamentais e com a resolução pontual de exercícios práticos elementares.
Nas aulas Aulas Práticas é feita a apresentação de conceitos Teóricos e realização de exercícios práticos que demostram a importância da matéria e exemplifiquem a sua aplicação a situações reais
Resultados de Aprendizagem
Objectivos
A unidade curricular de Tecnologias e Arquitecturas de Computadores tem como finalidade, por um lado, dar continuidade à disciplina de Sistemas Digitais explicando e concretizando a aplicabilidade de um conjunto de tecnologias estudadas na referida unidade curricular, progredindo para conceitos mais avançados de que se destacam por exemplo os dispositivos de lógica programável. Por outro lado, é objectivo dar a conhecer as principais tecnologias subjacentes aos diversos elementos computacionais. São também estudadas as principais medidas de desempenho dos diversos elementos computacionais, bem como as principais arquitecturas de computadores. É estudada não apenas a parte física, Hardware, mas também a componente lógica, Software, necessária à comunicação dos diversos elementos, utilizando para isso a linguagem Assembly. É também estudado todo o processo de representação digital de informação – Sistemas de Numeração.
Competências
Conhecimento e Compreensão
A.1. Identificar o conceito subjacente aos Dispositivos de Lógica Programável.
A.2. Identificar os principais componentes de um computador.
A.3. Explicar as tecnologias, composição e medidas de desempenho dos principais componentes de um computador, nomeadamente memórias primárias, memórias secundárias e processadores.
A.4. Explicar o processo de leitura e escrita dos principais componentes de um computador, nomeadamente memórias primárias, memórias secundárias e processadores.
A.5. Compreender como o conjunto de instruções de um processador afecta a complexidade da sua construção e o seu desempenho.
A.6. Compreender e interpretar o processo de representação digital de informação – Sistemas de Numeração.
A.7. Explicar o modo de funcionamento do computador, a mais baixo nível, em particular a forma como o processador processa, interpreta e executa as instruções, utilizando para isso a linguagem Assembly.
A.8. Definir as características mais importantes de determinado componente computacional.
Aplicação de Conhecimentos
B.1. Analisar produtos ou elementos constituintes de um PC, de forma a exemplificar as vantagens e desvantagens das tecnologias de uns relativamente aos outros.
B.2. Desenvolver e testar soluções, em Assembly.
Tomada de Decisões Fundamentadas
C.1 Justificar propostas de soluções relativamente aos componentes e respectivas tecnologias que deverão equipar determinado computador, face a um conjunto de características existentes ou funcionalidades desejáveis.
Realização de Julgamento
D.1. Avaliar soluções usadas em diferentes computadores, demonstrando atitude crítica.
Comunicação
E.1. Elaborar documentação apropriada, relativa a estudos de mercado, referentes a diversos componentes integrantes de um computador.
E.2. Produzir relatórios técnicos e manuais de utilizador para as aplicações desenvolvidas.
E.3. Apresentar e explicar os projectos desenvolvidos de um modo claro.
Competências de Auto-aprendizagem
F.1. Desenvolver projectos, com elevado grau de autonomia, com aplicação de conceitos para além dos apreendidos nas aulas.
F.2. Acompanhar e entender a evolução tecnológica dos diversos elementos computacionais e em especial dos processadores.
Programa
Componente Teórica:
I Processadores
I.1. Tecnologias.
I.2. Estrutura e composição.
I.3. Funcionamento.
I.4. A evolução dos processadores, principais tecnologias, características, diferenças e medidas de desempenho.
II. Memórias Primárias
II.1. Tipos.
II.2. Tecnologias.
II.3. Estrutura e composição.
II.4. Processo de leitura e escrita de informação.
II.5. Funcionamento.
II.6. Formatos de armazenamento.
III. Memórias Secundárias
III.1. Tipos.
III.2. Tecnologias.
III.3. Estrutura e composição.
III.4. Processo de leitura e escrita de informação.
III.5. Funcionamento.
III.6. Formatos de armazenamento.
Componente Prática:
I. Representação digital de informação – Sistemas de Numeração
I.1. Conversões entre Bases.
I.2. Aritmética Binária.
I.3. Representação dos números negativos – Códigos bipolares: Código de sinal e valor absoluto, Código de Complementos de 1 e Código de Complementos de 2.
I.4. Código ASCII.
I.5. Formato dos números decimais: Vírgula Flutuante (Norma IEEE 754-185).
II. Níveis de representação de software
II.1. Linguagens de programação: Linguagens máquina, Linguagens Assembly e Linguagens de alto nível. Tradutores. Compiladores e Linkers.
III. Linguagem Assembly para o 8086
III.1. Organização da memória: Registos, Segmentos, Normalização de endereços e Modos de Endereçamento.
III.2. Declaração de variáveis.
III.3. Conjunto de Instruções
III.4. MASM: Directivas e Pseudo-Opcodes.
III.5. Procedimentos e Funções.
III.6. A memória de vídeo.
Docente(s) responsável(eis)
Estágio(s)
NAO
Bibliografia
Bibliografia Principal:
1. Tanenbaum A. (2002). Structured Computer Organization. New Jersey: Prentice-Hall. (Cota 1A-2-62 (ISEC)).
2. White R. (2002). How Computer works. Publisher QUE. Indianapolis. (Cota 1A-2-78 (ISEC)).
3. Mazidi M. A ; Mazidi J. (2000). The 80×86 IBM PC and Compatible Computers: Assembly Language, Design and Interfacing (Volumes I & II), Upper Saddle River, NJ: Prentice Halll. (Cota 1A-2-66 (ISEC))
Bibliografia Complementar:
1. Monteiro, R., Neves, F., Pereira, J., Rodrigues, N. e Martinho. (2004). Tecnologias dos Equipamentos Informáticos. Edição FCA.