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: 2010/2011 - 1S

Ativa? Sim
Unidade Responsável: Electrónica e Sistemas Digitais
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 8 Plano de estudos de Transição a partir de 2010/11 3 - 8 87 216
Plano de estudos oficial 3 - 8 87 216

Língua de trabalho

Português

Objetivos

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

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;
• especificar extensões simples da unidade de processamento;
• 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 respectivas á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;
• explicar os problemas associados à utilização de memórias "cache" em sistemas com múltiplos processadores.

Adicionalmente os estudantes deverão ser capazes de:
• projectar, 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.
• explicar oralmente (na forma de apresentações formais ao colegas de turma) as opções tomadas na realização desse trabalho.

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. Instruções de sincronização.
• Conceitos básicos de programação em linguagem "assembly". Assemblador.
• Organização de uma unidade de processamento. Unidade 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. Aspectos básicos da interacção entre memórias cache e múltiplas unidades de processamento.

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

Software

PCSpim @ http://pages.cs.wisc.edu/~larus/spim.html
PIC32 Starter Kits Software @ http://www.microchip.com

Tipo de avaliação

Avaliação distribuída sem exame final

Componentes de Avaliação

Descrição Tipo Tempo (Horas) Peso (%) Data Conclusão
Participação presencial (estimativa) Participação presencial 70,00
1º miniteste Exame 1,00 2010-10-22
2º miniteste Exame 1,00 2010-12-17
Projecto PIC32 Defesa pública de dissertação, de relatório de projeto ou estágio, ou de tese 80,00 2010-12-14
Relatório Defesa pública de dissertação, de relatório de projeto ou estágio, ou de tese 15,00 2010-12-14
Apresentação Defesa pública de dissertação, de relatório de projeto ou estágio, ou de tese 5,00 2010-12-14
Total: - 0,00

Componentes de Ocupação

Descrição Tipo Tempo (Horas) Data Conclusão
Preparação para o 1º miniteste Estudo autónomo 20 2010-10-22
Preparação para o 2º miniteste Estudo autónomo 20 2010-12-17
Total: 40,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 = 60% x T + 40% x L
T: Média dos 2 Testes.
L: Somatório das componentes: Projecto, Relatório e Apresentações.
Importante: L não pode exceder T em mais de 4 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:
Projecto a realizar nas aulas laboratoriais e que terminará com a realização dum Relatório final. Sensivelmente a meio e no fim do trabalho os estudantes deverão fazer breves Apresentações públicas (na sala de aula para os colegas) sobre o andamento/conclusão do mesmo.

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

Não se aplica.

Melhoria de classificação

Como se trata de uma unidade curricular de avaliação distribuída sem exame final, a melhoria de classificação é possibilitada pela repetição da frequência no ano lectivo seguinte.
Recomendar Página Voltar ao Topo
Copyright 1996-2025 © 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: 2025-08-01 às 12:22:29 | Política de Utilização Aceitável | Política de Proteção de Dados Pessoais | Denúncias