![]() |
Sistemas de Computação |
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 |
Projecto
Ultima Modificação: 20 Fev 2007
departamento de informática |
|
Alberto José Proença
email: aproenca@di.uminho.pt
Horário de atendimento: Quarta 14:00 - 18:00
Os Sistemas de Computação, enquanto
UC integrada na área científica de Engenharia de Computadores (e da
Computação), podem ser vistos sob a perspectiva de um engenheiro de electrónica - como funciona
e como se constrói um computador - ou sob a perspectiva de um cientista da
computação - como
funciona e como tirar partido de um computador.
Sendo esta UC leccionada quer a uma licenciatura em Ciências de Computação, quer
a uma em Eng.ª Informática, nos objectivos gerais a ênfase será colocada
nos aspectos relacionados com a compreensão da funcionalidade de um computador,
a análise das suas
limitações e o aproveitamento das suas potencialidades.
Os objectivos de formação
definem as expectativas da equipa docente quanto ao funcionamento e
resultados previstos para a UC. Nesta perspectiva, a equipa pretende
com esta UC que os alunos adquiram:
(i) conhecimentos de base
relativos ao funcionamento dum computador,
(ii) capacidades de utilização
consciente e eficiente das funcionalidades de um computador.
(iii) aptidões técnicas
na utilização de instrumentos/ferramentas de análise, na correcção e/ou melhoria de
desempenho na execução de programas, e
(iv) aptidões transversais no contexto do trabalho de grupo, com
ênfase no planeamento e organização das actividades, no
raciocínio crítico e criativo, na elaboração de relatórios escritos e respectiva
apresentação oral..
No caso das competências específicas, os objectivo de formação são, mais concretamente:
Ao completar com sucesso a UC Sistemas de Computação, da Lic. 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
UC Sistemas de Computação é 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 UC.
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 UC Sistemas de Computação, da Lic. Ciências de Computação, cada
estudante deverá demonstrar que adquiriu, de acordo com a tabela seguinte:
- conhecimentos e capacidades mínimas indispensáveis para ficar Aprovado (especificados na coluna A); e
- conhecimentos e capacidades complementares que correspondem a uma
classificação final razoável, entre 11 e 14 (na coluna R); ou
- conhecimentos e capacidades complementares que correspondem a uma
boa classificação final, entre 15 e 18 (na coluna B); ou
- conhecimentos e capacidades
complementares que correspondem a uma classificação final excelente, 19
ou 20 (na coluna E).
|
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,
audiovisual 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, 7th Ed., 2006
Computer Systems: A Programmer's Perspective (CS:APP), Randal Bryant and David O'Hallaron, Prentice Hall, 2002
How Computers Work, Ron White, 8th Ed., QUE Corporation, November 2005
Structured Computer Organization, Andrew S. Tanenbaum, 5th Ed., Prentice Hall, 2006
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 UC será disponibilizada electronicamente, e devidamente referenciada nos sumários.
Nota1:
para efeitos de cumprimento do RIAPA existe controlo de presenças, e com
mais de 1/3 de faltas um estudante poderá não ser admitido a exame.
Nota2:
embora a frequência às aulas teóricas seja obrigatória, não se irá
excluir ninguém com base apenas no nº de faltas a estas aulas; contudo,
recomenda-se a presença nestas sessões.
Nota3:
a presença nas sessões TP é obrigatória, sendo recomendada a participação
activa de cada estudante como elemento complementar de avaliação.
Nota4:
a participação nas sessões tutoriais é altamente recomendada, pois a
experiência em UC's semelhantes tem vindo a comprovar a sua importância no
processo de aprendizagem e no sucesso alcançados pelos estudantes.
A avaliação nesta UC compreende 2 componentes principais:
Nota1:
as capacidades cognitivas e as aptidões intelectuais incluem
a capacidade de aquisição, retenção, compreensão e aplicação dos conhecimentos
adquiridos.
Nota2: as aptidões técnicas
e transversais são essencialmente avaliadas em trabalhos práticos, que incluem a pesquisa, análise e síntese de
conceitos, e a construção e/ou modificação e execução controlada de programas desenvolvidos
em C e assembly
Nota3: as provas escritas
resumem-se essencialmente ao exame final; contudo, a parte da matéria referente
aos resultados mínimos de aprendizagem poderá ser também avaliada em 3 fichas de
avaliação durante o semestre, e caso o estudante consiga a aprovação nesta
componente através destas fichas, fica dispensado duma parte do exame.
Nota4: a participação inclui a
resolução dos TPC's, a leitura prévia dos guiões práticos e a participação
activa nas sessões TP; esta componente é opcional.
Nota5: o trabalho prático será
avaliado em datas definidas, através da entrega de relatórios de grupo e defesa
em grupo e individual do trabalho realizado.
Nota6: a aprovação na UC exige a
satisfação do conjunto mínimo de resultados de aprendizagem nas 2 componentes de
avaliação: nas provas escritas e nos
trabalhos práticos; a não aprovação nos
trabalhos práticos conduz à Não Admissão a exame.
Nota7: para obtenção de uma classificação Excelente (>18)
poderão ser
necessários elementos complementares de avaliação.
A classificação final nesta UC, para os estudantes Aprovados, é uma média pesada de vários elementos:
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 UC de Sistemas de
Computação, da Lic. 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.