Arquitectura de Computadores I

2004 / 05

(2003 / 04)

horizontal rule

Docentes | Objectivos | Programa | Bibiografia | Avaliação | Enunciado dos Exames

 

horizontal rule

Novidades

02.Mar.2005 As notas do exame de recurso e a classificação final estão disponíveis (ver em avaliação). As orais realizam-se na sexta-feira (04/Mar) às 14h30 no Lab DI-0.12.

09.Fev.2005 O enunciado dos exames está disponível na secção enunciado dos exames.

07.Fev.2005 As orais, a efectuar apenas aos alunos reprovados e com nota no exame entre 8.0 e 9.4 (inclusive), decorrerão quarta-feira (09/Fev) entre as 14h e as 16h. Os exames podem ser consultados no mesmo dia após as 16h.

07.Fev.2005 As notas dos exames e a classificação dos mini-testes estão disponíveis (ver em avaliação).

27.Dez.2004 As notas dos mini-testes estão disponíveis (ver em avaliação).

27.Dez.2004 Os sumários das aulas teóricas estão actualizados.

22.Dez.2004 Está disponível a resolução do 2º Trabalho Para Casa (TPC2).

16.Dez.2004 Está disponível o enunciado do 2º Trabalho Para Casa (TPC2).

26.Nov.2004 Está disponível a resolução do 1º Trabalho Para Casa (TPC1).

19.Nov.2004 Está disponível o enunciado do 1º Trabalho Para Casa (TPC1).

18.Nov.2004 Já estão finalmente disponíveis os ficheiros com as apresentações das aulas teóricas. (ver material de apoio)

02.Nov.2004 Já estão actualizados os sumários das aulas teóricas.

25.Out.2004 Na 4ª feira, dia 27/Out/2004, irá ser dada uma aula extra (teórica), das 14h00 às 16h00, na sala CP2.101, para compensar as 2 aulas a que o docente faltou.
(inicialmente a aula estava prevista para a sala CP2.104)

13.Out.2004 Esta página contém as regras que definem a metodologia de avaliação.

29.Set.2004 Está disponível o enunciado dos módulos a resolver nas aulas teórico-práticas.

horizontal rule

Equipa docente
(para os emails acrescentar: @di.uminho.pt)

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

João Miguel Lobo Fernandes (Prof. Auxiliar)
email: jmf@...
Horário de atendimento:

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

António Joaquim André Esteves (Prof. Auxiliar)
email: esteves@...
Horário de atendimento: Quintas, 16h00 - 19h00

Carlos Machado (Assistente Convidado)
email: cmm@...
Horário de atendimento:

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

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. Embora a frequência destas aulas não seja obrigatória, é altamente recomendada.
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. A frequência destas aulas é obrigatória. O aluno que faltar a mais do que 3 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-17) + cotação 3 mini-testes (0-3)
O exame é constituído por questões teóricas (8,5) e práticas (8,5).
Os mini-testes são realizados nas aulas teóricas, sem aviso prévio.
Cada mini-teste é classificado de 0 a 100 valores.
Os alunos são colocados por ordem decrescente do somatório dos mini-testes que cada um realizou.
A cotação dos mini-testes é calculada em função da posição relativa na lista anterior.
Se X alunos fizerem pelo menos 1 mini-teste, então a cotação é:
bulletpara as posições de 1 a min(FLOOR(0,4*X);50), a cotação é: nº_mini-testes_feitos
bulletpara as posições de min(FLOOR(0,4*X)+1;51) a min(FLOOR(0,6*X);75), a cotação é: 2/3*nº_mini-testes_feitos
bulletpara as posições de min(FLOOR(0,6*X)+1;76) a FLOOR(0,8*X), a cotação é: 1/3*nº_mini-testes_feitos
bulletpara as posições de FLOOR(0,8*X)+1 a X, a cotação é: zero
Os alunos que não fizerem qualquer mini-teste têm cotação igual a zero.

Classificações finais

Classificações dos mini-testes e das duas primeiras chamadas

NOTAS: FLOOR(Y) representa o maior inteiro que não excede Y.

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;
bulletÉ proibida a utilização do telemóvel durante a prova;
bulletÉ aconselhada a utilização de uma calculadora.

horizontal rule

Enunciado dos Exames  

bullet Exame da 1ª chamada
bullet Exame da 2ª chamada
bullet Exame de recurso
bullet Exame da época especial

Página mantida por João M. Fernandes e António J. Esteves ( jmf@... e esteves@... )

Última alteração: 08 Março, 2005