Saltar para:
Logótipo
Você está em: Início > EEC0138

Computadores

Código: EEC0138     Sigla: COMP

Áreas Científicas
Classificação Área Científica
OFICIAL Electrónica e Sistemas Digitais

Ocorrência: 2014/2015 - 1S

Ativa? Sim
Unidade Responsável: Departamento de Engenharia Eletrotécnica e de Computadores
Curso/CE Responsável: Mestrado Integrado em Engenharia Electrotécnica e de Computadores

Ciclos de Estudo/Cursos

Sigla Nº de Estudantes Plano de Estudos Anos Curriculares Créditos UCN Créditos ECTS Horas de Contacto Horas Totais
MIEEC 51 Plano de estudos oficial 3 - 8 70 216

Língua de trabalho

Português

Objetivos

Esta unidade curricular introduz os princípios de funcionamento de um computador moderno e a sua arquitetura geral, com especial ênfase na contribuição de cada subsistema para o desempenho global. Para além desta vertente de “Arquitetura de Computadores”, onde será dado um especial destaque à arquitetura MIPS, esta unidade curricular visa também dotar os estudantes de competências para projetar e manusear sistemas embutidos baseados em microprocessadores em geral, e no microcontrolador PIC32 em particular.

Resultados de aprendizagem e competências

Após completar esta unidade curricular, os estudantes deverão ser capazes de: 
- identificar e descrever os principais subsistemas de um computador pessoal: unidade de processamento, memória e periféricos; 
- explicar e avaliar o desempenho de computadores em cenários simples envolvendo a equação fundamental do desempenho e a lei de Amdahl; 
- classificar e caracterizar os tipos de instruções de uma unidade de processamento; 
- explicar os princípio básicos da codificação de instruções e identificar o seu impacto sobre o desempenho; 
- escrever programas simples em linguagem "assembly" envolvendo operações aritméticas e booleanas, testes e saltos; 
- descrever o funcionamento de uma unidade de processamento uniciclo; 
- descrever e explicar o conceito de "pipeline" e o seu impacto no desempenho; 
- descrever o funcionamento de uma unidade de processamento em "pipeline"; 
- aplicar os conhecimentos de máquinas de estados à análise da unidade de controlo de uma unidade de processamento em "pipeline"; 
- identificar os conflitos de dados e de controlo que podem surgir numa unidade de processamento em "pipeline"; 
- calcular o impacto dos conflitos de "pipeline" no desempenho para cenários simples; 
- distinguir entre memórias estáticas e dinâmicas, e identificar as respetivas áreas de utilização; 
- explicar o princípio de funcionamento dos dois tipos de memórias; 
- identificar os vários níveis da hierarquia de memória de um computador pessoal; 
- explicar o princípio de funcionamento da memória "cache"; 
- descrever a organização de uma memória "cache" (associatividade) e o tratamento de falhas de acesso;
- avaliar numericamente a influência da hierarquia de memória sobre o desempenho; 

Adicionalmente os estudantes deverão ser capazes de: 
- projetar, montar e testar um microcomputador simples (CPU+Mem+I/O); 
- recordar as características dos principais tipos de periféricos e interfaces (formas de interligação e barramentos de comunicação) em microcontroladores em geral e do PIC32 em particular; 
- escrever código em linguagem assembly e em C para o microprocessador PIC32; 
- usar o IDE MPLAB da Microchip para escrita e debug de programas; 
- desenvolver pequenos sistemas, incluindo a identificação dos periféricos necessários, a sua interligação ao microcontrolador através das interfaces e barramentos mais apropriados, e a escrita do código que satisfaça os requisitos funcionais apresentados. 
- descrever na forma dum relatório, o trabalho prático desenvolvido.

Modo de trabalho

Presencial

Programa

- Introdução. Áreas de aplicação de computadores e suas características. Programas: linguagens de alto nível, linguagens de baixo nível. Modelo conceptual da execução de um programa.
- Componentes de um computador: CPU (percurso de dados e unidade de controlo), memória, periféricos de entrada/saída. Evolução da tecnologia de processadores e memórias.
- Noções básicas de desempenho de CPUs. Equação básica de desempenho. Benchmarks (SPEC). Consumo de energia. Lei de Amdahl.
- Conjunto de instruções de um processador. Tipos de instruções: aritméticas, lógicas, comparação e salto. Modos de endereçamento. Codificação de instruções.
- Conceitos básicos de programação em linguagem "assembly". Assemblador.
- Organização de uma unidade de processamento. Organização uniciclo de um CPU. Conceito de pipelining. Organização de um percurso de dados em pipeline. Controlo de pipeline. Conflitos de pipeline: conflitos de dados e de controlo. Estratégias de tratamento dos conflitos. Impacto dos conflitos sobre o desempenho.
- Memórias estáticas e dinâmicas: organização e modelo conceptual. Hierarquias de memória.
- Memórias cache: princípio de funcionamento, organização interna, associatividade, tratamento de falhas de cache. Desempenho de CPU com memória cache. Redução das penalidades associadas a falhas de acesso.

Bibliografia Obrigatória

David A. Patterson, John L. Hennessy; Computer organization and design. ISBN: 978-0-12-374493-7
Lucio Di Jasio; Programming 32-bit Microcontrollers in C: Exploring the PIC32, Newnes, 2008. ISBN: 978-0-75-068709-6

Métodos de ensino e atividades de aprendizagem

Nas aulas teóricas serão expostos os assuntos sobre a arquitetura de computadores em geral e a arquitetura MIPS em particular, acompanhados da resolução de exercícios.

Nas aulas laboratoriais será apresentado o microcontrolador PIC32 com especial ênfase na sua programação em linguagem C. As primeiras aulas serão se apresentação dos diversos periféricos embutidos no PIC32 após o que se seguirá um projeto a desenvolver pelos estudantes.

Software

MPLAB @ http://www.microchip.com/mplab/
MARS @ http://courses.missouristate.edu/KenVollmar/MARS/

Tipo de avaliação

Avaliação distribuída sem exame final

Componentes de Avaliação

Designação Peso (%)
Teste 70,00
Trabalho laboratorial 30,00
Total: 100,00

Componentes de Ocupação

Designação Tempo (Horas)
Elaboração de relatório/dissertação/tese 10,00
Estudo autónomo 70,00
Frequência das aulas 70,00
Trabalho laboratorial 60,00
Total: 210,00

Obtenção de frequência

• Presença nas aulas laboratoriais de acordo com o estipulado nas Normas Gerais de Avaliação.
• Obtenção de nota positiva na componente laboratorial (L).

Fórmula de cálculo da classificação final

Nota final = 70% x T + 30% x L
T: Média pesada dos 2 Testes (60% para o melhor e 40% para o pior).
L: Somatório das componentes: Projeto e Relatório.
IMPORTANTE: L não pode exceder T em mais de 4 valores!

RECURSO: Estudantes que não obtenham aprovação pela fórmula anterior, poderão efetuar um teste de recurso sobre a matéria de ambos os testes, que caso seja positivo permitirá a obtenção duma nota final igual a 10 valores. Para se candidatarem à realização deste teste, os estudantes terão que possuir:
- uma componente L de pelos menos 10 valores.
- uma componente T de pelo menos 6 valores.

Provas e trabalhos especiais

Provas:
2 testes (sem consulta) com duração de 75 minutos, a realizar durante o período de aulas.
Trabalhos Especiais:
Projeto a realizar nas aulas laboratoriais e que terminará com a realização dum relatório final.

Avaliação especial (TE, DA, ...)

Não se aplica.

Melhoria de classificação

A melhoria de ambas as componentes pode ser efetuada no ano letivo seguinte:
- a componente T pela realização dum exame que cobrirá a matéria dada nas aulas teóricas
- a componente L pela realização dum novo projeto

Recomendar Página Voltar ao Topo
Copyright 1996-2024 © Faculdade de Engenharia da Universidade do Porto  I Termos e Condições  I Acessibilidade  I Índice A-Z  I Livro de Visitas
Página gerada em: 2024-08-20 às 19:28:42 | Política de Utilização Aceitável | Política de Proteção de Dados Pessoais | Denúncias