Saltar para:
Logótipo
This page in english Ajuda Autenticar-se
Formação regular da Biblioteca |fevereiro a maio
Você está em: Início > EIC0016
Autenticação




Mapa das Instalações
Edifício A (Administração) Edifício B (Aulas) - Bloco I Edifício B (Aulas) - Bloco II Edifício B (Aulas) - Bloco III Edifício B (Aulas) - Bloco IV Edifício C (Biblioteca) Edifício D (CICA) Edifício E (Química) Edifício F (Minas e Metalurgia) Edifício F (Minas e Metalurgia) Edifício G (Civil) Edifício H (Civil) Edifício I (Electrotecnia) Edifício J (Electrotecnia) Edifício K (Pavilhão FCNAUP) Edifício L (Mecânica) Edifício M (Mecânica) Edifício N (Garagem) Edifício O (Cafetaria) Edifício P (Cantina) Edifício Q (Central de Gases) Edifício R (Laboratório de Engenharia do Ambiente) Edifício S (INESC) Edifício T (Torre do INEGI) Edifício U (Nave do INEGI) Edifício X (Associação de Estudantes)

Microprocessadores e Computadores Pessoais

Código: EIC0016     Sigla: MPCP

Áreas Científicas
Classificação Área Científica
OFICIAL Arquitectura de Computadores

Ocorrência: 2018/2019 - 2S Ícone do Moodle

Ativa? Sim
Unidade Responsável: Departamento de Engenharia Eletrotécnica e de Computadores
Curso/CE Responsável: Mestrado Integrado em Engenharia Informática e Computação

Ciclos de Estudo/Cursos

Sigla Nº de Estudantes Plano de Estudos Anos Curriculares Créditos UCN Créditos ECTS Horas de Contacto Horas Totais
MIEIC 220 Plano de estudos a partir de 2009/10 1 - 6 56 162

Docência - Responsabilidades

Docente Responsabilidade
João Paulo de Castro Canas Ferreira Regente

Docência - Horas

Teóricas: 2,00
Teórico-Práticas: 2,00
Tipo Docente Turmas Horas
Teóricas Totais 1 2,00
João Paulo de Castro Canas Ferreira 2,00
Teórico-Práticas Totais 9 18,00
Bruno Miguel Carvalhido Lima 4,00
António José Duarte Araújo 6,00
João Paulo de Castro Canas Ferreira 2,00
João Paulo Filipe de Sousa 6,00
Mais informaçõesA ficha foi alterada no dia 2019-02-04.

Campos alterados: Objetivos, Resultados de aprendizagem e competências, Métodos de ensino e atividades de aprendizagem, Fórmula de cálculo da classificação final, Obtenção de frequência, Bibliografia Complementar, Observações, Software de apoio à Unidade Curricular, Componentes de Avaliação e Ocupação, Bibliografia Obrigatória, Programa

Língua de trabalho

Português

Objetivos

ENQUADRAMENTO

Os computadores pessoais, seja como computadores de mesa ou como plataformas móveis, constituem uma ferramenta ubíqua nas sociedades modernas. A sua arquitetura reflete o avanço tecnológico atual, mas também estabelece os limites das suas capacidades e desempenho . Variantes do conjunto de instruções ARM são usadas na grande maioria das plataformas móveis (tablete, telemóveis) atualmente em uso. Tanto a arquitetura do sistema como o conjunto de instruções têm um impacto profundo na prática diária dos engenheiros informáticos.

OBJETIVOS ESPECÍFICOS

A unidade curricular de Microprocessadores e Computadores Pessoais tem por objectivo desenvolver, combinar e aplicar de forma integrada conceitos das áreas de Arquitectura de Computadores e de Linguagens de Programação. Por um lado, a unidade curricular explora as relações entre o conjunto de instruções do CPU e a programação de baixo nível (linguagem "assembly"). Por outro lado, reconhecendo que a arquitectura de computadores pessoais modernos vai muito para além da arquitectura do CPU, a unidade curricular abordará a arquitectura geral de um PC, incluindo o subsistema de armazenamento de dados e outros periféricos. Após a conclusão com sucesso desta unidade curricular, o estudante terá adquirido a capacidade de identificar e descrever a arquitectura das plataformas computacionais em uso actualmente, bem como a capacidade de aplicar as técnicas de programação "assembly" na implementação de algoritmos. 

DISTRIBUIÇÃO PERCENTUAL

  • Componente científica: 60%
  • Componente tecnológica: 40%

Resultados de aprendizagem e competências

Após completar esta unidade curricular, os estudantes serão capazes de:

  • Identificar e descrever os principais subsistemas de um computador pessoal;
  • Descrever e avaliar o desempenho de sistemas de aramazenamento de dados (discos magnéticos);
  • Descrever, selecionar e avaliar o desempenho de diferentes métodos de comunicação com periféricos ("polling", interrupções, DMA)
  • Explicar os princípios de funcionamento de barramentos de comunicação com periféricos.
  • Explicar e avaliar a contribuição de cada subsistema para o desempenho global;
  • Usar ferramentas de compilação e depuração ("assembler", depurador);
  • Descrever a arquitetura do conjunto de instruções ARMv8 (64-bit version);
  • Desenvolver curtos em linguagem "assembly" ARMv8;
  • Explicar o funcionamento de programas em "assembly" ARMv8;
  • Explicar os mecanismos de invocação de subrotinas;
  • Utilizar subrotinas para implementar programas modulares;
  • Processar dados em representação de vírgula flutuante;
  • Usar instruções SIMD para aproveitamento explícito de paralelismo de dados;
  • Estabelecer a correspondência entre código C/C++ e código "assembly".

Modo de trabalho

Presencial

Pré-requisitos (conhecimentos prévios) e co-requisitos (conhecimentos simultâneos)

Pré-requisitos:

EIC0083: princípios da programação em linguagem "assembly" e de organização de computadores.

Co-requisitos:

EIC0012: princípios básicos de programação em linguagem C/C++.

Programa


  1. Introdução às plataformas computacionais.

  2. Interface com periféricos: "polling", interrupções, DMA. Barramentos de comunicação com periféricos.

  3. Subsistema de armazenamento de dados.

  4. Modelo de programação da arquitetura ARMv8. Modos de endereçamento. Funcionalidade e organização de um "Assembler".

  5. Instruções de transferência de dados, aritméticas e lógicas. Instruções de controlo de fluxo: saltos incondicionais e condicionais.

  6. Sub-rotinas (invocação, passagem de parâmetros). Programação modular.

  7. Processamento de dados representados em vírgula flutuante.

  8. Instruções SIMD para  aproveitamento explícito de paralelismo de dados.

Bibliografia Obrigatória

David Patterson, John Hennessy; Computer Organization and Design: The Hardware/Software Interface ARM Edition, Elsevier / Morgan Kaufmann, 2016. ISBN: 9780128017333 (Notar que outras versões não usam o mesmo CPU.)
João Canas Ferreira; Apresentações das aulas teóricas

Bibliografia Complementar

Bruce Jacob; Spencer W. Ng ; David T.Wang; Memory Systems - Cache, DRAM, Disk (Existe no portal Knovel)

Observações Bibliográficas

O livro de Patterson & Hennessey está disponvel no portal Knovel

Métodos de ensino e atividades de aprendizagem

Aulas Teóricas: Exposição oral dos diversos temas da disciplina que serão acompanhados, sempre que se considere oportuno, com apresentação de exemplos e a respetiva discussão.

Aulas Práticas: A metodologia das aulas práticas baseia-se na apresentação, discussão e resolução de problemas que serão testados numa plataforma computacional ou num emulador de CPU.

Software

DS-5 Community Edition

Palavras Chave

Ciências Tecnológicas > Engenharia > Engenharia de computadores

Tipo de avaliação

Avaliação distribuída com exame final

Componentes de Avaliação

Designação Peso (%)
Exame 50,00
Teste 50,00
Total: 100,00

Componentes de Ocupação

Designação Tempo (Horas)
Estudo autónomo 106,00
Frequência das aulas 56,00
Total: 162,00

Obtenção de frequência

O estudante não pode exceder o número limite de faltas correspondente a 25% das aulas práticas previstas.

Apenas estão isentos de obter frequência os estudantes que a tenham obtido no ano letivo 2017/18.

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

A avaliação tem as seguintes componentes:

  • Dois testes (M1 e M2)
  • Exame final

Componentes em falta valem 0.

Os testes constituem a avaliação distribuída.

Os testes têm duas partes: 1)  escolha múltipla, com duração de 45 minutos (sem consulta); 2) questões de desenvolvimento ou exercícios de programação, duração de 45 minutos.

A nota da avaliação distribuída é calculada por:

Nota avaliação distribuída = (M1 + M2)/2

Para estudantes que tenham obtido frequência em 2017/18, pode ser considerada a nota de avaliação distribuída obtida nesse ano.

A classificação final é calculada por

Nota Final = máximo(0,5 x Exame + 0,5 x Avaliação distribuída; Exame)

A aprovação à unidade curricular exige cumulativamente:

  • Nota de avaliação distribuída igual ou superior a 5,0 valores (em 20) em alguma ocorrência da UC;
  • Nota de exame superior a 5,0 valores (em 20);
  • Nota final (arredondada às unidades) igual ou superior a 10 valores.

A prova de exame tem a duração de 2H00 (sem consulta).

Melhoria de classificação

A classificação global pode ser melhorada através da realização de uma prova escrita de dificuldade semelhante à do exame.

Observações

O desenvolvimento de aplicações em Microcomputadores exige conhecimentos relacionados com Arquitetura de Computadores, constituição de Microcomputadores baseados em Microprocessadores, Programação em Linguagens de baixo nível (Assembly) e ligação a dispositivos físicos exteriores. Esta unidade curricular, surgindo no plano de estudos na sequência da disciplina de Arquitetura e Organização de Computadores, tem por objetivo desenvolver e aplicar estes conceitos no contexto da arquitetura ARMv8.

Recomendar Página Voltar ao Topo
Copyright 1996-2019 © 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: 2019-05-20 às 23:56:28 | Política de Utilização Aceitável | Política de Proteção de Dados Pessoais