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

Arquitectura e Organização de Computadores

Código: EIC0083     Sigla: AOCO

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

Ocorrência: 2009/2010 - 1S

Ativa? Sim
Unidade Responsável: Electrónica e Sistemas Digitais
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 162 Plano de estudos a partir de 2009/10 1 - 6 56 162

Língua de trabalho

Português - Suitable for English-speaking students

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. A análise da tecnologia de implementação física dos computadores (circuitos lógicos e de memória), associada à explicação das formas elementares de representação de informação em formato digital, permitirá aos alunos identificar e descrever princípios fundamentais da operação dos computadores, das linguagens de programação e do desenvolvimento de software.

Após completar esta unidade curricular, os alunos serão 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;
- descrever e interpretar formatos básicos de representação de informação numérica;
- explicar e efectuar operações aritméticas elementares em base binária;
- identificar e explicar o funcionamento de circuitos lógicos elementares;
- distinguir circuitos combinacionais e sequenciais;
- determinar os diagramas lógicos correspondentes a uma expressão booleana e vice-versa;
- explicar o funcionamento de circuito lógicos básicos como comparadores e somadores, bem como estabelecer as equações booleanas correspondentes;
- analisar o funcionamento de máquinas de estado do tipo Moore;
- criar máquinas de estados para controlar sistemas simples;
- 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.

Programa

1. 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.

2. 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.

3. Noções básicas de desempenho de CPUs. Equação básica de desempenho. Benchmarks (SPEC). Consumo de energia. Lei de Amdahl.

4. Representação de informação: representação binária de números inteiros (com e sem sinal). Bases 8 e 16. Operações aritméticas elementares (adição, subtracção, multiplicação, divisão). Códigos ASCII e Unicode. Representação em vírgula flutuante formato IEEE-754.

5. Circuitos lógicos combinacionais. Expressões booleanas. Portas lógicas elementares. Diagramas lógicos. Circuitos lógicos: comparador, multiplexador, somador/subtractor.

6. Circuitos síncronos. Elementos de memória. Máquinas de estados tipo Moore. Controladores baseados em máquinas de estados.

7. 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.

8. Conceitos básicos de programação em linguagem "assembly". Assemblador.

9. 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.

10. Memórias estáticas e dinâmicas: organização e modelo conceptual. Hierarquias de memória.

11. 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

Patterson, David A.; Computer organization and design. ISBN: 978-0-12-374493-7

Métodos de ensino e atividades de aprendizagem

A unidade curricular tem uma componente teórica baseada em aulas de exposição dos diversos temas que serão acompanhados, sempre que considerado oportuno, da apresentação de exemplos e respectiva discussão. As aulas teórico-práticas incluem a apresentação, análise e resolução de um conjunto de questões e de casos de estudo, bem como a realização de curtos questionários.

Palavras Chave

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

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 68,00
Teste de avaliação nº 1 Exame 18,00
Teste de avaliação nº 2 Exame 18,00
Total: - 0,00

Componentes de Ocupação

Descrição Tipo Tempo (Horas) Data Conclusão
Estudo Estudo autónomo 58
Total: 58,00

Obtenção de frequência

A nota de frequência é baseada nos resultados de quatro questionários a serem realizados nas aulas teórico-práticas. Cada questionário tem a duração de 15 minutos e é realizado individualmente, sem consulta de apontamentos.

A nota de frequência (NFreq) é igual à média aritmética dos três melhores questionários (todos os questionários têm o mesmo peso).

Para obtenção de frequência, é necessário que NFreq >= 7,5.

As provas de avaliação não realizadas contam zero para as médias.

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

Para os alunos com frequência, a classificação final é determinada pela nota de frequência e pelas classificações obtidas em dois testes a efectuar durante o semestre.

Cada teste (sem consulta) tem a duração de 60 minutos. Ambos os testes têm o mesmo peso. As provas de avaliação não realizadas contam zero para as médias.

A classificação final (NFinal) é dada por: NFinal = 0, 7 x T + 0,3 x NFreq

Para obter aprovação à disciplina, NFinal deve ser superior ou igual a 10 valores, e a média aritmética dos testes (T) deve ser igual ou superior a 7,5 valores.

O teste nº 1 terá lugar no dia 20/Novembro/2009.

O teste nº 2 terá lugar no dia 02/Fevereiro/2010.

Provas e trabalhos especiais

Faltas justificadas a componentes de avaliação: alunos que tenham atempadamente apresentado justificação para eventuais faltas a alguma das componentes de avaliação, e desde que essas faltas sejam consideradas justificadas pela Direcção de curso, poderão submeter-se a provas de avaliação de substituição em datas a estabelecer pelos docentes da disciplina.

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

Alunos dispensados da presença nas aulas teórico-práticas deverão obrigatoriamente realizar os testes.

Neste caso, a nota final é dada pela média aritmética das classificações dos testes: NFinal = T.

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 frequência da disciplina no ano lectivo seguinte.
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-07-22 às 14:30:38 | Política de Utilização Aceitável | Política de Proteção de Dados Pessoais | Denúncias