Unidade Curricular:Código:
Arquitetura de Computadores832ACPT
Ano:Nível:Curso:Créditos:
2LicenciaturaEngenharia Informática6 ects
Período Lectivo:Língua de Instrução:Nº Horas:
Primeiro SemestrePortuguês/Inglês78
Objectivos de Aprendizagem:
Este curso tem como objetivo estudar a arquitectura e operação interna de um computador com foco na programação do microprocessador e na interface entre o hardware e o software.
Ao completar com sucesso esta unidade curricular os alunos devem ser capazes de:
1. Descrever os componentes básicos da estrutura interna dum computador
2. Utilizar a representação binária de inteiros com e sem sinal
3. Descrever a arquitectura do conjunto de instruções MIPS.
4. Descrever o ciclo de instrução do processador.
5. Desenvolver programas simples em linguagem "assembly” MIPS.
6. Utilizar subrotinas para implementar programas modulares.
7. Traduzir programas simples em C para “assembly” MIPS e vice-versa.
8. Processar dados em representação de vírgula flutuante.
9. Explicar as funções do ligador, compilador e assemblador.
10. Analisar técnicas de aumento de desempenho dos processadores.
11. Identificar os mecanismos de entrada e saída de baixo nível usados pelo processador.
Conteúdos Programáticos:
1. Introdução. Conceitos básicos, tecnologia. Representação numérica de inteiros. Operações aritméticas com inteiros.
2. Conjunto de Instruções. Arquitectura do MIPS. Acesso à memória. Tomada de decisões. Procedimentos. Representação de instruções. Traduzindo e iniciando um programa.
3. Representação em vírgula flutuante. IEEE 754. Operações Aritméticas. Vírgula flutuante no MIPS.
4. O Processador: Dados e Controlo. Uma Implementação básica do MIPS. O ciclo de instrução no Hardware.
5. Introdução ao “pipelining”. Problemas associados ao “pipelining”. “Pipelining” no MIPS.
6. Hierarquia de Memórias. Desenho de sistemas de “cache”. Análise do desempenho.
7. Mecanismos de entrada/saída de baixo nível. Entrada/Saída programada e por interrupções. Suporte a entrada/saída no MIPS.
Demonstração da Coerência dos Conteúdos Programáticos com os Objectivos da Unidade Curricular:
Sendo uma unidade curricular de introdução à Arquitectura de Computadores, os conteúdos são organizados por forma a cobrir os componentes principais do computador com enfase na estrutura, operação e programação do microprocessador. Os conceitos fundamentais da organização e estrutura interna dos computadores são apresentados no capítulo introdutório, o conjunto de instruções, a representação de informação e a optimização são apresentados nos capítulos seguintes e finalmente são estudados os mecanismos de I/O de baixo nível. Os objectivos da aprendizagem são atingidos complementando os conceitos teóricos com exemplos concretos executados em ambiente de laboratório recorrendo a simuladores e equipamentos físicos.
Metodologias de Ensino (Avaliação Incluída):
A transmissão de conhecimentos nesta unidade curricular será efetuada recorrendo a aulas de cariz teórico-prático e prático em ambiente laboratorial. Nas aulas teóricas são apresentados os conceitos fundamentais à compreensão dos temas do programa. Nas aulas práticas os alunos são confrontados com problemas reais que têm que resolver eventualmente recorrendo a equipamentos físicos ou virtuais (no contexto de simuladores) apropriados. A avaliação será calculada de acordo com a seguinte fórmula:
Nota Prática = 0,8* (Trabalho Prático) + 0,2 * Fichas Práticas
Nota Teórica = (Teste Teórico 1 + Teste Teórico 2)/2
Nota Final = (2*Nota Teórica + Nota Prática) / 3
Tanto a Nota Prática como a Nota Teórica têm que ser positivas (>= 9,5) para serem consideradas para a determinação da nota final. Se alguma das componentes não for positiva a unidade curricular não será concluída, ficando a componente positiva preservada durante o período indicado nos regulamentos.
Demonstração da Coerência das Metodologias de Ensino com os Objectivos de Aprendizagem da Unidade Curricular:
Os objectivos de aprendizagem estão centrados na compreensão do funcionamento interno do computador, do conhecimento dos seus componentes, e da utilização do conjunto de instruções do processador. A resolução de fichas de exercícios e um projecto prático de programação permitem aos alunos adquirirem as competências necessárias.
Bibliografia:
[1] Hennessy & Patterson – Computer organization and design: The Hardware/Software Interface, 5th edition – Morgan Kauffman 2013.
[2] A.S. Tanenbaum - Structured Computer Organization 6th edition – Prentice Hall 2013
[3] Stallings, W –Computer Organization and Architecture 10th edition – Prentice Hall 2015.
[4] José Delgado, Carlos Ribeiro, "Arquitectura de Computadores, 5ª Edição", FCA 2014.