Arquitectura e Organização de Computadores
Áreas Científicas |
Classificação |
Área Científica |
OFICIAL |
Arquitectura de Computadores |
Ocorrência: 2010/2011 - 1S
Ciclos de Estudo/Cursos
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. 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;
- 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 combinacionais e sequenciais;
- Explicar o funcionamento de circuito lógicos básicos como comparadores e somadores;
- Analisar o funcionamento de máquinas de estado do tipo Moore;
- 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 funcionamento de "pipelines" e o seu impacto no desempenho;
- Determinar o impacto dos conflitos de dados e controlo de "pipeline" no desempenho de “pipelines”;
- Distinguir entre memórias estáticas e dinâmicas, e identificar as respectivas áreas de utilização;
- Explicar o funcionamento de memórias "cache";
- Avaliar numericamente a influência da hierarquia de memória sobre o desempenho.
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 SEQUENCIAIS 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.
8-PROGRAMAÇÃO EM LINGUAGEM “ASSEMBLY”: 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.
Bibliografia Obrigatória
Patterson, David A.;
Computer organization and design. ISBN: 978-0-12-374493-7
Cópias de acetatos e textos fornecidos
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
Durante o semestre serão realizados quatro (4) questionários 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 relativa aos questionários (NQ) é 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 NQ>= 7,5 e que o número de faltas às aulas teórico-práticas não exceda 4.
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 (NFinal) da disciplina é calculada segundo a seguinte fórmula:
NFinal= 0,7xNT + 0,3xNQ
Para obter aprovação à disciplina, NFinal deve ser superior ou igual a 10 valores e NT deve ser igual ou superior a 7,5 valores, em que NT corresponde à média aritmética das classificações obtidas em dois (2) testes a efectuar durante o semestre:
- O 1º teste terá lugar no dia 2 de Dezembro de 2010 (quinta-feira), com início às 14h30
- O 2º teste terá lugar no dia 26 de Janeiro de 2011 (quarta-feira), com início às 14h30
Os 2 testes (sem consulta) têm o mesmo peso, tendo cada teste a duração de 90 minutos.
As provas de avaliação não realizadas contam zero para as médias.
Para classificações superiores a 18 valores é exigida a realização de provas orais de "defesa" para que essas classificações sejam eventualmente atribuídas.
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 classificação final é calculada pela média aritmética das classificações dos testes: NFinal = NT
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 através da realização dos testes da disciplina no ano lectivo seguinte, sendo a classificação final calculada pela média aritmética das classificações dos testes.
Observações
Esclarecimento de dúvidas:
Os docentes estão disponíveis para esclarecer quaisquer dúvidas sobre a disciplina. Para marcarem eventuais sessões de esclarecimento os alunos interessados poderão ou contactar directamente os docentes por e-mail, ou recorrer ao Secretariado do MIEIC (mieic@fe.up.pt) para esse efeito.