Logotipo e link para a Universidade do Minho

Sistemas de Computação
Lic. Eng.ª Informática, 1º ano
2006/2007
Docente responsável: A.J.Proença

Vista da Rua do Souto no Séc. XVI

 

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 

(LESI-AC1, 2006/2007)
(
LMCC-AC, 2005/2006)

Ultima Modificação: 28 Fev 2007

 

 departamento de informática

Equipa docente

Alberto José Proença
email: aproenca<at>di.uminho.pt
Horário de atendimento:  Quarta 14:00 - 17:00

António Manuel Pina
email: pina<at>di.uminho.pt
Horário de atendimento:  Quarta 14:00 - 17:00

Luís Paulo Santos
email: psantos<at>di.uminho.pt
Horário de atendimento:  Quarta 14:00 - 17:00

Rui Castro Mendes
email: azuki<at>di.uminho.pt
Horário de atendimento:  Quarta 14:00 - 17:00

 

Topo...


Objectivos

Gerais

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.

De formação

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:

 

Topo...


Resultados da aprendizagem

Gerais

Ao completar com sucesso a UC Sistemas de Computação, da Lic. Eng.ª Informática, 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.

Resultados esperados do processo de aprendizagem: detalhe

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. Eng.ª Informática, 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).
 


Resultados esperados em LEI/SC (2006/07): demonstrar que consegue:
 


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
- descrever como a informação é efectivamente representada num computador

Ö
-
Ö
Ö
Ö
Ö
Ö
Ö

- 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) e aplicar mecanismos de conversão de/para binário,
- ilustrar a representação de casos concretos através da resolução de problemas, e
- analisar as limitações de um sistema finito na representação de informação numérica

Ö
-
-
Ö
Ö
-
Ö
Ö
Ö
Ö
Ö
Ö

- 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),
- caracterizar a melhoria de desempenho através da introdução de formas de paralelismo no hardware do CPU (SIMD, pipeline, superescalaridade) e da hierarquia de memória (níveis de cache e memória virtual)

Ö

-

Ö

-

Ö

Ö

Ö

Ö

- Identificar e caracterizar os principais níveis de abstracção presentes num computador (HLL, assembly, e linguagem máquina), descrever os mecanismos de conversão e análise entre níveis e sua utilização prática (com gcc, gdb, ...), ilustrar a execução, passo a passo, de uma instrução elementar em linguagem máquina, e
- explicar conceptualmente os mecanismos de conversão entre níveis

Ö

-
Ö

Ö
Ö

Ö
Ö

Ö

- 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),
- ilustrar a aplicação dessas características a diferentes arquitecturas de CPU (CISC ou RISC)

Ö
 

-

Ö
 

-

Ö
 

Ö

Ö
 

Ö

- 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 ,
- compreender a estrutura do código e dos contextos gerados por um compilador para suporte à invocação de procedimentos e funções (em HLL),
- entender e aplicar técnicas de engenharia inversa a código binário (no papel e no laboratório),
- compreender a organização em memória e métodos de acesso e manipulação de dados estruturados em C, e respectiva análise da codificação para assembly, e
- analisar comparativamente a implementação de funções em modelos de arquitectura distintos (RISC versus IA-32)


Ö



-

-

-

-

Ö



Ö

-

-

-

Ö


Ö

Ö

Ö

-

Ö


Ö

Ö

Ö

Ö

- 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),
- descrever, aplicar e avaliar técnicas de desempenho dependentes da máquina (processador e memória), aplicar técnicas de análise de desempenho baseadas no profiling de aplicações, e
- explicar as limitações na aplicação automática de técnicas de optimização pelos compiladores


-


-

-

Ö


-

-

Ö

Ö

-

Ö

Ö

Ö

- Distinguir escalas de tempo nos sistemas e técnicas de medição de desempenho,
- identificar e caracterizar técnicas de medição de tempos de execução de programas, e ilustrar a aplicação de contadores intervalares e de contadores de ciclos de clock

-

-
Ö

-
Ö

Ö
Ö

Ö

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,
- de autonomamente aceder a fontes complementares de informação, e
- de selectivamente pesquisar, processar e arquivar informação complementar à UC

Ö

-
-
Ö

Ö
-
Ö

Ö
Ö
Ö

Ö
Ö

- Capacidade de interpretar correctamente os guiões e listas de problemas disponibilizados,
- de interpretar os manuais e interactuar eficientemente com as ferramentas informáticas de análise e debugging, e
- de criativamente resolver os problemas mais complexos com base na informação disponibilizada

Ö

-

-
Ö

Ö

-
Ö

Ö

Ö
Ö

Ö

Ö

- Capacidade de planear e organizar actividades, e de comunicação escrita (em Português) na resolução de problemas e nas provas escritas,
- de comunicação escrita na elaboração de textos sucintos (relatórios, questões de desenvolvimento,  ...), e eventual defesa oral, e
- de comunicação escrita (noutra língua) e/ou oral em exposições de temas/tópicos

Ö

-

-
Ö

Ö

-
Ö

Ö

-
Ö

Ö

Ö
         

 

Topo...


Programa

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.

 

Topo...


Bibliografia

Computer Organization and Architecture - Designing for PerformanceWilliam 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.

 

Topo...

 


Avaliação  


O funcionamento da UC de Sistemas de Computação está organizado em:

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:

Classif_final = Max [ (10%*Particip + 20%*TrabalhoP + 70%*Exame) , (25%*TrabalhoP + 75%*Exame) ]

 

Topo...


Direitos de Autor & Copyright

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. Eng.ª Informática, 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.

Topo...

 


Página mantida por aproenca@di.uminho.pt
Ultima Modificação: 28 Fev 2007