Arquitectura de Computadores I
2006 / 07
Docentes | Objectivos | Programa | Bibiografia | Avaliação
Novidades
29.Setembro.2008 - Resultados da Época Especial 2008 - aqui | |
21.Set-Resultados da Época Especial - aqui | |
13.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 | |
07.Fev - Enunciados dos exames da época normal: 1ª chamada 2ª chamada | |
17.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. | |
17.Jan - Conjuntos de instruções e datapath do MIPS - Estes são fornecidos juntamente com os enunciados da prova escrita. | |
27.Dez - Acetatos em formato PowerPoint - na página das aulas teóricas. | |
26.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. |
|
Luís Paulo Peixoto dos Santos
Horário de atendimento: 5as. feiras das 09h30 às 12h30
|
Prof. Alberto Proença
Horário de atendimento: a definir
Prof. António Pina
Horário de atendimento: a definir
Pretende-se com esta disciplina - relacionada com a engenharia dos computadores - que os alunos adquiram os conceitos fundamentais relativos ao funcionamento dum computador, nomeadamente:
a organização e estrutura dum computador (na sequência dos conhecimentos obtidos no 1º ano em CSI) | |
o interface do processador com os programas escritos em linguagens imperativas de alto nível | |
o interface do processador com os restantes componentes de um computador (memória, I/O) | |
a avaliação do desempenho do computador e factores que o afectam | |
mecanismos de aceleração do desempenho: hierarquia de memória e pipeline | |
organizaçã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.
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:
constantes | |
variáveis escalares | |
estruturas de controlo de fluxo | |
variáveis estruturadas | |
invocaçã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.
Bibliografia essencial
"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
“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:
"Computer Organization and Architecture - Designing for Performance" William Stallings, 5th Ed., Prentice Hall, 2000 http://www.prenhall.com/books/esm_0130812943.html |
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)Regras para os exames:
O exame é individual; | |
Cada aluno pode consultar uma folha A4 manuscrita, com o conteúdo que entender útil; | |
Classificaçõ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; | |
Os alunos devem colocar em cima da carteira o respectivo cartão de estudante; | |
Tentativas 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; | |
É proibida a utilização do telemóvel durante a prova; | |
É aconselhada a utilização de uma calculadora. |
Página mantida por Luís Paulo Santos
Última alteração: 29 Setembro, 2008