![]() |
Sistemas de Computação |
Direitos
de Autor & Copyright
Avisos
| Equipa docente | Objectivos |
Resultados da aprendizagem | Programa | Planificação
| Bibliografia | Notas de apoio
| Sumários
| Avaliação | Autoavaliação |
Projecto
Ultima Modificação: 22 Abr 2008
departamento de informática |
|
Alberto José Proença
email: aproenca<at>di.uminho.pt
Horário de atendimento: Terça 16:00 - 18:00 ; Quinta 14:00 - 17: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 a uma licenciatura em Ciências de Computação, 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 com
ênfase no raciocínio crítico e criativo, no planeamento e organização das actividades,
no trabalho de grupo, e 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
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
Informação diversa para apoio ao estudo desta UC será disponibilizada electronicamente, e devidamente referenciada nos sumários.
Nota1:
existe controlo de presenças nas sessões teórico-práticas 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:
as sessões tutoriais apenas funcionarão se houver recursos humanos
disponíveis; a participação nestas é altamente recomendada, pois a
experiência em UC's anteriores 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 a 2 testes, contendo estes no seu todo um conjunto de
10 questões de resposta certa obrigatória, referente
aos resultados mínimos de aprendizagem; esta é uma condição necessária
(mas não suficiente) para se ter sucesso na disciplina; case o estudante falhe
até 2 questões, ser-lhe-á dada uma segunda oportunidade para demonstrar que
adquiriu essas competências em falta.
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.