Arquitectura de Computadores I

2006 / 07

(2005 / 06)

Material de apoio Aulas TP Teóricas

horizontal rule

Docentes | Objectivos | Programa | Bibiografia | Avaliação

horizontal rule

Novidades

bullet29.Setembro.2008 - Resultados da Época Especial 2008 - aqui
bullet21.Set-Resultados da Época Especial - aqui
bullet13.Fev- Resultados da época de Recurso e Normal  - aqui.
NOTA 1:  As orais e consulta das provas escritas realizam-se na 5a feira, dia 15 de Fevereiro, às 09h00, no Laboratório do DI onde decorreram as aulas TP.
NOTA 2: Algumas das classificações da Época Normal foram alteradas devido a um erro no fórmula de cálculo
bullet07.Fev - Enunciados dos exames da época normal:
1ª chamada
2ª chamada
bullet17.Jan - Metodologia de avaliação - A avaliação da componente teórico-prática passa a corresponder à nota máxima entre a obtida durante o semestre (TPC's + Questão) e a resposta à questão extra do exame. Assim sendo, todos os alunos podem responder a esta questão nas respectivas provas escritas.
bullet17.Jan - Conjuntos de instruções e datapath do MIPS - Estes são fornecidos juntamente com os enunciados da prova escrita.
bullet27.Dez - Acetatos em formato PowerPoint - na página das aulas teóricas.
bullet26.Set - Endereço para comunicação com docentes - Os alunos devem usar o endereço  lesi2ac1_cx@di.uminho.pt para comunicar com os docentes desta disciplina.

 

horizontal rule

Equipa docente

bullet Docente responsável pela disciplina e aulas teóricas

Luís Paulo Peixoto dos Santos
Horário de atendimento: 5as. feiras das 09h30 às 12h30

bullet Docentes responsáveis pelas aulas teórico-práticas

Prof. Alberto Proença
Horário de atendimento: a definir

Prof. António Pina
Horário de atendimento: a definir

horizontal rule

Objectivos

Pretende-se com esta disciplina - relacionada com a engenharia dos computadores - que os alunos adquiram os conceitos fundamentais relativos ao funcionamento dum computador, nomeadamente:

bulleta organização e estrutura dum computador (na sequência dos conhecimentos obtidos no 1º ano em CSI)
bulleto interface do processador com os programas escritos em linguagens imperativas de alto nível
bulleto interface do processador com os restantes componentes de um computador (memória, I/O)
bulleta avaliação do desempenho do computador e factores que o afectam
bulletmecanismos de aceleração do desempenho: hierarquia de memória e pipeline
bulletorganização de um processador

Para atingir estes objectivos, a disciplina segue uma estrutura e orientação que tira partido da formação de base dos estudantes em linguagens de programação: são introduzidas as características da linguagem máquina que dão suporte a construções de alto-nível presentes na linguagem C. A análise destas características recorre à utilização de um compilador (gcc) em ambiente Linux. O conjunto de instruções mais utilizado é o da arquitectura Intelx86, complementado com uma comparação com o conjunto de instruções do MIPS.

A componente de avaliação do desempenho acompanha a matéria leccionada nas aulas teóricas, incluindo progressivamente mais parâmetros como a organização do processador (single cycle, multiciclo, pipeline) e a hierarquia de memória.

horizontal rule

Programa

Introdução à arquitectura e organização dos computadores

A máquina de Von Neumann.

Organização de um computador actual: barramentos e componentes fundamentais.

Níveis de abstração: aplicação, linguagens de alto nível, sistema operativo, assembly, instruction set architecture (ISA), micro-arquitectura, nível lógico. Mecanismos de conversão entre níveis.

Estágios de execução de uma instrução: fetch, decode, execute.

A arquitectura do conjunto de instruções

Tamanho da palavra, registos visíveis, tipos de instruções, número de operandos e modos de endereçamento.

O conjunto de instruções IA32.

Suporte a construções de linguagens de alto nível

O assembly como interface do processador com linguagens imperativas de alto nível: 

bulletconstantes
bulletvariáveis escalares
bulletestruturas de controlo de fluxo
bulletvariáveis estruturadas
bulletinvocação de funções e procedimentos

A arquitectura do conjunto de instruções: comparação RISC vs. CISC

Diferenças na filosofia de concepção do conjunto de instruções: RISC vs. CISC

O conjunto de instruções do MIPS: tipos de instruções, número de operandos, modos de endereçamento e formato de instruções.

O conjunto de instruções do MIPS: suporte a construções de linguagens de alto-nível.

Medição do desempenho de computadores

Identificação das características a medir num computador (latência e throughput), e suas influências nos tempos de execução dum programa.

Métricas na medição do desempenho: CPI, #I, clock cycle time.

Factores na organização do processador, barramentos e memória que influenciam o desempenho.

Impacto da codificação em assembly no desempenho dos programas: estruturação do código e dados, opções de optimização dos compiladores.

Selecção de programas para o cálculo do desempenho (benchmarks), com análise do SPEC.

Hierarquia de memória

Introdução aos princípios da localidade (espacial e temporal) e propriedades numa hierarquia de memória (inclusão e consistência).

Conceitos associados a cada nível da hierarquia: bloco (linha/página), hit, miss, colocação e modo de acesso aos blocos, estratégias de substituição de blocos e estratégias de escrita.

Medição do desempenho dum sistema com várias organizações de memória.

Interface com periféricos

Análise do esquema de interligação entre o CPU/memória e os controladores de periféricos : barramentos.

Interface de periféricos com o CPU/memória: sequência de acções e papel do sistema operativo (SO). Funções do SO na comunicação com periféricos: mecanismos de comunicação e transferência de informação com e sem intervenção directa do CPU.

Mecanismos de interrupção e identificação de causas de excepção/interrupção; manuseamento de excepções/interrupções.

Organização interna dum CPU (MIPS)

Identificação do conjunto de instruções a suportar no modelo de arquitectura a projectar, com apresentação dum modelo genérico de implementação do MIPS.

Construção dos principais blocos no datapath do MIPS para a execução do subconjunto de instruções previamente definido.

Desenho do datapath e controlo para uma abordagem single cycle.

Vantagens e desvantagens associadas com uma abordagem multiciclo.

Pipeline: conceitos, data e branch hazards, superescalaridade e pipeline dinâmico.

horizontal rule

Bibliografia essencial

bullet"Computer Organization and Design: the hardware/software interface"
D.Patterson, J.Henessy, Morgan Kaufmann Publishers,
2nd Ed., 1997

Página www com extensões ao livro: http://www.mkp.com/cod2e

SPIM: Simulador do MIPS - http://www.cs.wisc.edu/~larus/spim.html

bullet“Computer Systems: A Programmer's Perspective”
 Randal E. Bryant, David R. O'Hallaron;
 Prentice-Hall; ISBN 013034074X; Agosto, 2002
http://csapp.cs.cmu.edu/

Bibliografia complementar:

bullet"Computer Organization and Architecture - Designing for Performance"
William Stallings, 5th Ed., Prentice Hall, 2000
http://www.prenhall.com/books/esm_0130812943.html

horizontal rule

Metodologia de avaliação  

A disciplina de Arquitectura de Computadores I está organizada em aulas teóricas (2*1h / semana) e aulas teórico-práticas (TP) (2h /sem).
As aulas teóricas são usadas para discussão e transmissão dos conceitos fundamentais relacionados com a arquitectura e organização dos computadores.  As aulas teórico-práticas são usadas para consolidação dos conceitos e técnicas apresentadas nas aulas teóricas, através da resolução de exercícios.
Embora a frequência das aulas não seja obrigatória, é altamente recomendada. O aluno que faltar a mais do que 2 aulas TP perde o seu lugar no turno em que está inscrito, podendo este ser ocupado por outro interessado. Apenas serão admitidos na aula TP os alunos acompanhados de uma impressão do módulo a resolver nessa aula.

Avaliação:

Nota final = exame (0-18) + avaliação contínua (0-2)
O exame é constituído por questões teóricas (9,0) e práticas (9,0).
A avaliação contínua relaciona-se com os módulos das sessões TP.  Cada módulo inclui um conjunto de questões que o aluno deve responder antes da aula e entregar ao docente no início da aula. Adicionalmente, cada módulo incluirá no fim 1 ou 2 perguntas sobre o assunto tratado, que os alunos entregarão ao docente, resolvidas na própria aula. A avaliação contínua dependerá do número de questões resolvidas e da avaliação das mesmas.

Alteração 17.Janeiro - A avaliação da componente teórico-prática passa a corresponder à nota máxima entre a obtida durante o semestre (TPC's + Questão) e a resposta à questão extra do exame. Assim sendo, todos os alunos podem responder a esta questão nas respectivas provas escritas.
 
Aqueles alunos que, justificadamente, não reúnam condições para frequentar as sessões TP, devem contactar o docente responsável nas 4 primeiras semanas de aulas (até 10 de Outubro). Poderão responder a uma questão extra no exame, correspondente aos 2 valores em falta, sendo-lhes concedidos 15 minutos extra para o fazer.  

Regras para os exames:

bulletO exame é individual;
bulletCada aluno pode consultar uma folha A4 manuscrita, com o conteúdo que entender útil;
bulletClassificações de 8 a 9,4 valores no exame escrito possibilitam a realização de uma prova oral, onde o aluno tem a oportunidade de demonstrar que a classificação obtida na prova escrita não corresponde ao seu nível real de conhecimentos;
bulletOs alunos devem colocar em cima da carteira o respectivo cartão de estudante;
bulletTentativas de fraude (incluindo conversas com os vizinhos, utilização de cábulas, utilização de telemóveis, etc.) resultam na anulação imediata da prova e eventual instauração dum processo disciplinar;
bulletÉ proibida a utilização do telemóvel durante a prova;
bulletÉ aconselhada a utilização de uma calculadora.

horizontal rule

Página mantida por Luís Paulo Santos

Última alteração: 29 Setembro, 2008