Arquitectura e Organização de Computadores
Áreas Científicas |
Classificação |
Área Científica |
OFICIAL |
Arquitectura de Computadores |
Ocorrência: 2011/2012 - 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 arquitetura 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 estudantes serão capazes de:
- Identificar e descrever os principais subsistemas de um computador pessoal;
- Descrever e interpretar formatos básicos de representação de informação numérica;
- Explicar e efetuar operações aritméticas elementares em base binária;
- Explicar e avaliar o desempenho de computadores em cenários simples envolvendo a equação fundamental do desempenho e a lei de Amdahl;
- Identificar e explicar o funcionamento de circuitos lógicos combinacionais e sequenciais;
- Explicar o funcionamento de circuitos lógicos básicos como comparadores e somadores;
- Analisar e projetar módulos de memória;
- 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 respetivas áreas de utilização;
- Entender o conceito de hierarquia de memória e avaliar a influência da organização do sistema de memória de memória no desempenho do processador.
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 concetual 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.
2-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, subtração, multiplicação, divisão). Códigos ASCII e Unicode. Representação em vírgula flutuante no formato IEEE-754.
3-NOÇÕES BÁSICAS DE DESEMPENHO DE PROCESSADORES: Equação básica de desempenho. Benchmarks (SPEC). Consumo de energia. Lei de Amdahl.
4-CIRCUITOS LÓGICOS: Circuitos combinacionais: Álgebra de Boole. Expressões booleanas. Portas lógicas elementares. Diagramas lógicos. Exemplos de circuitos combinacionais: comparador, multiplexador, somador/subtrator. Circuitos sequenciais: Elementos de memória; Circuitos biestáveis (flip-flop D); Registos e banco de registos; Módulos de memória.; Contadores; Pipelines (datapath) - introdução a pipelines = unidades funcionais + registos.
5-CONJUNTO DE INSTRUÇÕES E PROGRAMAÇÂO DE UM PROCESSADOR: Tipos de instruções: aritméticas, lógicas, comparação e salto. Modos de endereçamento. Codificação de instruções. Programação em linguagem Assembly: Conceitos básicos de programação em linguagem "assembly". Assemblador.
6-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.
7-SISTEMAS DE MEMÓRIA: Organização dos sistemas de memória. Hierarquias de memória; Introdução às memórias cache. Influência da organização dos sistemas de memória no desempenho dos processadores.
Bibliografia Obrigatória
Patterson, David A.;
Computer organization and design. ISBN: 978-0-12-374493-7
Cópias de acetatos e textos fornecidos
Conjuntos de exercícios resolvidos e exercícios propostos
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 respetiva 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 |
62,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 |
64 |
|
|
Total: |
64,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 (0) para as médias.
Fórmula de cálculo da classificação final
Para os estudantes com frequência, a classificação final (NFinal) da disciplina é calculada segundo a expressão seguinte:
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 efetuar durante o semestre:
- O 1º teste terá lugar no dia 30 de novembro de 2011 (quarta-feira) às 14h30
- O 2º teste terá lugar no dia 25 de janeiro de 2012 (quarta-feira) às 14h30
Os 2 testes, com a duração de 90 minutos cada um, terão o mesmo peso e serão realizados sem consulta.
As provas de avaliação não realizadas contam zero (0) 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: Estudantes 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 Direção de curso, poderão submeter-se a provas de avaliação de substituição em datas a estabelecer pelos docentes da unidade curricular.
Avaliação especial (TE, DA, ...)
Estudantes 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 (UC) de avaliação distribuída sem exame final, a melhoria de classificação é possibilitada através da realização dos testes da UC no ano letivo 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 unidade curricular. Para marcarem eventuais sessões de esclarecimento os estudantes interessados poderão ou contactar diretamente os docentes por e-mail, ou recorrer ao Secretariado do MIEIC (mieic@fe.up.pt) para esse efeito.