Arquitectura de Computadores I
2002 / 03
Novidades
[15.Set.2003] Estão disponíveis na página "Notas" os resultados da época especial. | |
[1.Mar.2003] Estão disponíveis na página "Notas" os resultados da época de recurso. | |
[7.Fev.2003] Estão disponíveis na página "Notas" os resultados da 2ª chamada da época Normal. | |
[6.Fev.2003] Estão disponíveis na página "Notas" os resultados da 1ª chamada da época Normal. | |
[31.Jan.2003] Está disponível na página "Exames" o Exame da 2ª chamada da época normal. | |
[7.Jan.2003] Está disponível na página "Notas" a classificação da componente teórico-prática de todos os turnos. | |
[24.Dez.2002] Está disponível na página "Exames" o Exame Tipo. | |
[14.Dez.2002] Resumo da matéria leccionada com apontadores para as referências bibliográficas, acetatos e módulos teórico-práticos. | |
[13.Dez.2002] Para compensar o facto dos módulos 6 e 8 não terem sido resolvidos nalguns dos turnos Teórico-Práticos, são disponibilizadas as suas resoluções: Módulo 6 e Módulo 8. | |
[11.Out.2002] O conjunto completo de instruções do Intel Pentium 4 pode ser consultado na página "Material de Apoio". Note que se trata de um manual com 1000 páginas e que usa uma notação diferente da adoptada pelo GAS (GNU Assembler). | |
[9.Out.2002] Verificar em "Metodologia de Avaliação" o regime de excepção para os alunos que, justificadamente, não podem cumprir a componente teórico-prática. | |
[4.Out.2002] Na página "Material de apoio"
estão disponíveis em formato PDF os capítulos 1, 2 e 3 do livro "Computer
Systems: A Programmers's Perspective" de R. Bryant e D. Hallaron. O
capítulo 3 é essencial para o acompanhamento de grande parte da matéria
desta disciplina. | |
[4.Out.2002] Na página "Material de apoio"
encontram-se os conjuntos de instruções e registos do IA32 e MIPS32.
Esta material é INDISPENSÁVEL para as próximas aulas TP. | |
[2.Out.2002] Na página "Material de apoio" pode encontrar as fontes e instruções para instalar o gcc para MIPS numa máquina Linux/Intel x86 |
Docente responsável pela disciplina e aulas teóricas |
Luís Paulo Peixoto dos Santos (Prof. Auxiliar)
psantos@di.uminho.pt
Horário de atendimento: 2as. feiras 14h .. 17h ; 4as. feiras 10h .. 12h
Docentes responsáveis pelas aulas teórico-práticas |
Luís Paulo Peixoto dos Santos
António Joaquim André Esteves (Prof. Auxiliar)
esteves@di.uminho.pt
Horário de atendimento:
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 | |
mecanismos 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. São comparados 2 conjuntos de instruções com filosofias diferentes: IA32 e 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 e número de operandos e modos de endereçamento.
Comparação de dois instruction sets concretos: o MIPS R2000/R3000 e o 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 |
Comparação entre código gerado para o MIPS e o IA32.
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.
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 e memória que influenciam o desempenho.
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.
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. 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 aula também não é obrigatória. No entanto, 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.
A avaliação tem 3 componentes:
5 trabalhos para casa (TPC), distribuídos via www e a serem entregues em manuscritos impreterivelmente no princípio da aula TP designada para tal; as resoluções serão discutidas no início de cada aula, podendo a classificação ser penalizada se o aluno não demonstrar ser capaz de explicar a sua resolução. Esta componente vale 10% da nota final (2 valores); | |
2 fichas práticas resolvidas na primeira metade de 2 aulas teórico-práticas. Esta componente vale 10% da nota final (2 valores) | |
exame final, correspondendo 50% à componente teórica e 50% à componente teórico-prática, valendo 80% da nota final (16 valores) |
Aqueles alunos que, justificadamente, não reúnam condições para entregar os TPC ou participar nas fichas práticas, deverão responder a mais uma questão no exame, correspondente aos 4 valores em falta, sendo-lhes concedidos 20 minutos extra para o fazer.
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 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; | |
É proibida a utilização do telemóvel durante a prova; |
Página mantida por Luís Paulo Peixoto dos Santos ( psantos@di.uminho.pt )
Última alteração: 15 Setembro, 2003