Arquitectura de Computadores |
Direitos
de Autor & Copyright
Avisos
| Equipa docente | Objectivos |
Resultados da aprendizagem | Programa | Planificação
| Bibliografia | Notas de apoio
| FAQ
| Sumários
| Avaliação | Autoavaliação |
Reflexão
Ultima Modificação: 24 Jan 2006
departamento de informática |
Alberto José Proença
email: aproenca@di.uminho.pt
Horário de atendimento: Terça 15:00 - 18:00 ; Quinta 09:00 - 11:00
Alexandra Silva
email: xana@correio.ci.uminho.pt
Horário de atendimento: Quarta 14:00 - 16:00 na sala DI 0.02 ; outros períodos
a acordar pontualmente
A Arquitectura de Computadores, enquanto
integrada na área científica de Engenharia de Computadores (e da
Computação), pode ser vista sob a perspectiva de um engenheiro - como funciona
e como se constrói um computador - ou sob a perspectiva de um cientista - como
funciona e como tirar partido de um computador.
Sendo esta disciplina leccionada a uma licenciatura em Ciências, a ênfase será
colocada nos aspectos de compreensão da sua funcionalidade, na análise das suas
limitações e no aproveitamento das suas potencialidades.
Os objectivos de formação
definem, sob o ponto de vista da equipa docente, as expectativas desta, face ao
funcionamento e resultados da disciplina.
Nesta perspectiva, a equipa pretende
com esta disciplina que os alunos adquiram os conceitos fundamentais
relativos ao funcionamento dum computador, capacidades de utilização
consciente e eficiente das suas funcionalidades, e competências técnicas
na utilização de instrumentos/ferramentas de análise, correcção e/ou melhoria de
desempenho na execução de programas.
Nomeadamente, os objectivo de formação são:
Ao completar com sucesso a unidade curricular Arquitectura de Computadores, da Lic. Mat. e Ciências de Computação, cada estudante deverá demonstrar que adquiriu um conjunto de conhecimentos e capacidades que compreendem:
O grau de compreensão e de profundidade dos conhecimentos e competências adquiridas poderá variar de estudante para estudante, havendo necessidade de detalhar os níveis de exigência requeridos para a obtenção de classificações distintas entre os estudantes aprovados, numa escala de 10 a 20.
A lista detalhada dos resultados esperados do processo de aprendizagem da
unidade curricular Arquitectura de Computadores é apresentada numa
tabela, a qual estrutura o conjunto de conhecimentos e competências - que cada
estudante deverá demonstrar ter conseguido alcançar - pelos
principais temas/tópicos abordados na disciplina.
Essa tabela identifica os elementos (dessa lista detalhada dos resultados) que deverão
ser obrigatoriamente cumpridos para cada um dos
vários graus de exigência/qualidade.
Assim,
ao completar com sucesso a unidade curricular
Arquitectura de Computadores, da Lic. Mat. e Ciências de Computação, cada
estudante deverá demonstrar que adquiriu, de acordo com a tabela seguinte:
- um conjunto mínimo de conhecimentos e capacidades (especificados na coluna A
e resultando numa
classificação final de 10); ou
- conhecimentos e capacidades complementares que correspondem a uma
classificação final razoável (na coluna R, entre 11 e 14); ou
- conhecimentos e capacidades complementares que correspondem a uma
boa classificação final (na coluna B, entre 15 e 18); ou
- conhecimentos e capacidades
complementares que correspondem a uma classificação final excelente (na coluna E,
19 ou 20).
|
A |
R |
B |
E |
---|---|---|---|---|
Conhecimentos e competências específicas de Arquitectura de Computadores |
||||
- Identificar formas de
representação binária de informação num computador (textual, numérica,
audio-visual ou de comandos de um processador), e |
Ö - |
Ö Ö |
Ö Ö |
Ö Ö |
- Analisar ficheiros de documentos (c/ texto) e distinguir entre formatos proprietários de formatos baseados em texto anotado |
- | Ö | Ö | Ö |
- Reconhecer os sistemas de numeração binário e hexadecimal e aplicar técnicas de conversão entre sistemas |
Ö | Ö | Ö | Ö |
- Explicar a representação
de números inteiros e reais (norma IEEE 754), visualizar a sua
representação em binário, em ambiente laboratorial Linux/IA-32, |
Ö - - |
Ö Ö - |
Ö Ö Ö |
Ö Ö Ö |
- Descrever a estrutura
interna de um computador tipo e caracterizar funcionalmente cada um dos
seus principais módulos constituintes (CPU, memória, I/O e barramentos), |
Ö - |
Ö - |
Ö Ö |
Ö Ö |
- Identificar e caracterizar
os principais níveis de abstracção presentes num computador (HLL,
assembly, e linguagem máquina), ilustrar os mecanismos de conversão
e análise entre níveis na sua utilização em laboratório (gcc, gdb, ...),
ilustrar a execução, passo a passo, de uma instrução elementar em
linguagem máquina, e |
Ö - |
Ö Ö |
Ö Ö |
Ö Ö |
- Reconhecer as principais
características de um instruction set (nomeadamente, analisar e
avaliar as técnicas de especificação de operandos, caracterizar os
registos necessários num CPU, identificar e relacionar formatos de
instruções e identificar e caracterizar tipos de instruções), |
Ö - |
Ö - |
Ö Ö |
Ö Ö |
- Identificar e caracterizar
a operação das instruções mais comuns no IA-32 ( transferência de
informação, operações aritméticas/lógicas, controlo do fluxo de
execução), aplicar técnicas de codificação (de dados escalares e de
estruturas de controlo) de uma HLL imperativa e analisar e interpretar
código em assembly (no papel e no laboratório), |
Ö - - - - |
Ö Ö - - - |
Ö Ö Ö Ö - |
Ö Ö Ö Ö Ö |
- Identificar e descrever as
métricas que caracterizam o desempenho da execução de programas,
distinguir técnicas de optimização de desempenho dependentes e
independentes da máquina, descrever, aplicar e avaliar as técnicas de
desempenho independentes da máquina (as mais comuns), |
- - - |
Ö - - |
Ö Ö - |
Ö Ö Ö |
- Distinguir escalas de
tempo nos sistemas e técnicas de medição de desempenho, |
- - |
Ö - |
Ö Ö |
Ö Ö |
Competências genéricas |
||||
- Capacidade de utilizar
adequada e correctamente os recursos electrónicos disponibilizados (Web,
email), de aceder a toda a informação disponibilizada, |
Ö - - |
Ö - - |
Ö Ö - |
Ö Ö Ö |
- Capacidade de interpretar
correctamente os guiões e listas de problemas disponibilizados, |
Ö - - |
Ö Ö - |
Ö Ö Ö |
Ö Ö Ö |
- Capacidade de comunicação
escrita (em Português) na resolução de problemas e nas provas escritas,
|
Ö - - |
Ö - - |
Ö Ö - |
Ö Ö Ö |
Organização e estrutura de um computador
Conceito de computador.
Representação da informação no computador:
texto, números, informação multimédia e
comandos codificados para o processador.
Sistemas de numeração e conversão de bases; representação binária de
valores positivos e negativos.
Representação binária de valores reais em vírgula flutuante; a norma IEEE 754.
Análise da estrutura interna dum computador, com
destaque para o processador e para a organização da memória.
Análise da execução de instruções num computador.
Níveis de abstracção num computador.
Mecanismos para execução de programas; introdução a um ambiente laboratorial
(Intel IA-32 em Linux).
Análise da arquitectura do instruction set
Análise do funcionamento dum processador e respectivo instruction set: operações/operandos, acesso a dados, tipos e formatos de instruções, modelo de programação dum processador.
Análise do nível ISA do Intel IA-32 em Linux: operações aritméticas/lógicas e acesso a operandos, estruturas de controlo presentes em C, funcionamento das funções/procedimentos.
Análise comparativa do modelo de implementação numa arquitectura RISC versus IA-32.
Avaliação do desempenho de computadores
Metodologia de avaliação de desempenho de
computadores.
Medição de tempos de execução de programas e respectiva análise prática e
crítica.
Factores da arquitectura dum computador que influenciam o seu desempenho.
Breve introdução ao funcionamento dum processador em pipeline e
respectivas limitações.
Organização hierárquica da memória; noção e caracterização da cache.
Computer Organization and Architecture - Designing for Performance, William Stallings, Prentice Hall, 6th Ed., 2002
Computer Systems: A Programmer's Perspective (CS:APP), Randal Bryant and David O'Hallaron, Prentice Hall, 2002
How Computers Work, Ron White, 7th Ed., QUE Corporation, October 2003
Structured Computer Organization, Andrew S. Tanenbaum, 4th Ed., Prentice Hall, 1999
Computer Organization and Design: the
hardware/software interface, D.Patterson, J.Henessy, Morgan Kaufmann
Publishers, 3rd Ed., 2004; estando a 2ª edição traduzida em
Organização e Projeto de Computadores: a interface hardware/software,
Livros Técnicos e Científicos Ed. S.A., 2ª ed.,1999
Informação diversa para apoio ao estudo desta disciplina será disponibilizada electronicamente, e devidamente referenciada nos sumários.
Versão longa | Versão resumida
O funcionamento da disciplina de Arquitectura de Computadores está organizado em:
A avaliação nesta disciplina tem 2 objectivos principais:
No 1º semestre de 2004/05, a avaliação
desta disciplina do 2º ano pode ser efectuada de uma de 2 maneiras distintas:
A Avaliação A destina-se essencialmente aos estudantes repetentes, seguindo um modelo com características idênticas aos de anos anteriores, com as seguintes partes:
O que varia neste ano de 2004/05 é a existência das 2 componentes acima referidas - uma de satisfação de mínimos, outra classificativa - que estará presente em cada uma destas partes da avaliação, quer no exame final, quer nas fichas de avaliação prática.
Em conclusão: a Avaliação A consiste em 2 partes:
Nota: A aprovação na disciplina exige a satisfação de mínimos em cada uma das
provas que contêm essa exigência.
Este tipo de avaliação destina-se essencialmente aos estudantes inscritos pela 1ª vez e que façam um contrato de ensino-aprendizagem com o docente responsável da disciplina (ver adiante o texto tipo), com as seguintes partes:
Em conclusão: a Avaliação B consiste em 3 partes:
Nota: A aprovação na disciplina exige a satisfação de mínimos em cada uma das
provas que contêm essa exigência.
Texto tipo do contrato de ensino-aprendizagem
"1. Eu, xxxxx, estudante nº zzzz da UM inscrito na
disciplina de Arquitectura de Computadores da Lic. MCC, aceito e concordo com os
compromissos publicamente assumidos pelo docente responsável da disciplina, e em
contrapartida comprometo-me a:
(i) participar nas
sessões teóricas, tutoriais ou laboratoriais, quer de modo individual, quer
integrada/o num grupo;
(ii) ler e apreender o
conteúdo da documentação divulgada em cada semana, antes das sessões da semana
seguinte;
(iii) resolver individualmente ou em grupo os exercícios/problemas
que forem semanalmente propostos, entregando apenas aqueles cuja resolução tenha
compreendido;
(iv) manter um caderno da
disciplina onde sejam anotadas todos as actividades de aprendizagem no âmbito da
disciplina;
(v) efectuar as provas de avaliação que forem calendarizadas
durante o semestre.
2. Eu, Alberto José Proença, responsável
pelas actividades de ensino e de avaliação da disciplina de Arquitectura de
Computadores da Lic. MCC, comprometo-me perante as/os estudantes que
expressamente aceitarem este contrato de ensino-aprendizagem,a:
(i) preparar e leccionar as aulas de exposição teórica,dando
o meu melhor;
(ii) divulgar na Web os sumários e respectivo material de
estudo necessário a cada sessão teórica, teórico-prática ou laboratorial;
(iii) receber esses estudantes para
esclarecimentos de dúvidas no horário de atendimento ou noutro acordado, ou
disponibilizar idêntico atendimento de um aluno monitor;
(iv) avaliar com justeza
as actividades que esses estudantes efectuarem ao longo do
semestre, bem como as provas que realizarem, e segundo o modelo de Avaliação B;
(v) disponibilizar-me para acompanhar o percurso de aprendizagem de
cada estudante, e ainda a debater questões relacionadas com o modelo pedagógico
e de avaliação da disciplina, com vista a melhorar a qualidade e o funcionamento
da mesma.
3. O contrato será automaticamento rescindido
se:
(i) houver incumprimento injustificado
dos termos deste contrato; ou
(ii) ocorrer uma fraude; ou
(iii) a/o estudante que não conseguir demonstrar a satisfação de mínimos.
4. No caso de rescisão do contrato, passará a vigorar o modelo de Avaliação A."
Nota: A aprovação na disciplina exige a satisfação de mínimos em cada uma das
provas que contêm essa exigência.
Nota: A aprovação na disciplina exige a satisfação de mínimos em cada uma das
provas que contêm essa exigência.
Esta
publicação - incluindo a sua faculdade de impressão - e respectivos
conteúdos - que poderão incluir reproduções parciais de obra(s) alheia(s)
devidamente citadas, com a indicação do autor, título da obra, editor ou
outra fonte - destinam-se exclusivamente aos alunos da disciplina de
Arquitectura de Computadores, da Lic. Matemática e Ciências da Computação, da Universidade do
Minho, para uso pessoal e fins de aprendizagem electrónica (e-learning) e não
revestem qualquer finalidade lucrativa ou comercial.
Qualquer outra reprodução, total ou parcial, desta obra, por qualquer
suporte, modo ou processo, nomeadamente processo electrónico, mecânico ou
fotográfico, incluindo fotocópia, a modificação da obra, a sua
comunicação pública, a sua distribuição através de aluguer ou comodato,
sem qualquer autorização escrita do autor, é ilícita e passível de
procedimento judicial contra o infractor.