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
Ultima Modificação: 20 Fev 2006
departamento de informática |
Alberto José Proença
email: aproenca@di.uminho.pt
Horário de atendimento: Quarta 14:00 - 18:00
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 (i) os conhecimentos de base
relativos ao funcionamento dum computador, (ii) capacidades de utilização
consciente e eficiente das suas funcionalidades, (iii) aptidões técnicas
na utilização de instrumentos/ferramentas de análise, correcção e/ou melhoria de
desempenho na execução de programas, e (iv) aptidões transversais no
raciocínio crítico e criativo, no trabalho de grupo e na comunicação escrita e
oral.
Mais concretamente, no caso das competências específicas, 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, capacidades e aptidões que compreendem:
O grau de compreensão e de profundidade dos conhecimentos, capacidades e aptidões 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 (em especial o binário e o 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 - a variáveis escalares,
arrays, estruturas de controlo e funções - 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.
O funcionamento da disciplina de Arquitectura de Computadores está organizado em:
A avaliação nesta disciplina tem 2 componentes principais:
A avaliação nesta disciplina tem 2 objectivos principais:
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.