Ementa: Componentes do fluxo de dados e sua organização. Unidade lógica e aritmética. Unidade de controle. Memória. Vias de acesso. Elementos de um conjunto de instruções. Arquitetura Von Newman. Arquitetura de entrada e saída. Otimização de arquitetura.
Objetivo: Fornecer ao aluno conhecimentos básicos sobre Arquitetura de Computadores e sobre as técnicas básicas de projeto de máquinas programáveis. Capacitá-lo a avaliar e comparar diferentes arquiteturas. Capacitá-lo a apontar e diagnosticar problemas relacionados ao desempenho de sistemas ou sub-sistemas, bem como a prescrever soluções para optimizar o uso e desempenho de sistemas computacionais.
Pré-requisito: CI210
Importante:
(i) Esta disciplina tem uma das maiores taxas
de reprovação do Bacharelado em Ciência da
Computação.
É
imprescindível que o livro texto seja lido e
compreendido.
(ii) É
sugerido aos alunos não marcarem qualquer forma de viagem
antes de saberem se estão aprovados ou de final.
Possíveis
ausências do professor:
Representante turma: Fernando Bilinsk
Monitores: Guilherme
Politta e Gregory
Sholl e Santos (Atendimento 3a, 5a das
15:00hs às 18:00hs e 6a das 13:00hs às 19:00hs -
Local: Lab 4 e quando ocupado Lab 1-2) e Flávio Arieta
Netto (Atendimento
2a a 6a das 13:00hs às 15:00hs - Local: Lab 4 e quando
ocupado Lab 1-2)
Forum:
* Ao enviarem mensagem para o forum
coloquem no título da mensagem o rótulo
[CI212-2013-02]
Atendimento aos alunos: ao final da aula e na lista de
forum
Nota = (P1*0.35)+(P2*0.35) +(T*0.30) Nota Final
Não há segunda chamada, exceto nos casos previstos na Resolução 37-97.
Programa: aulas nas 3as e 5as às 13:30hs, no PH-11
---------------------------------------------------------------------------
27ago 1.1-8,2 apresentação, revisão do conjunto de instruções do MIPS
29 2.1-10 conj de instr do MIPS: acesso a estruturas de dados
03set 3.1-6 aritmética em ponto fixo e em ponto flutuante
05 5.1-4 circuito de dados, implementação ciclo longo
10 5.1-4 circuito de dados, implementação ciclo longo
12 5.1-4 exercícios ciclo longo
17 5.5-12 circuito de dados, implementação multiciclos
19 5.5-12 circuito de dados, implementação multiciclos
24 4.1-6 avaliação de desempenho
26 6.1-4 segmentação do circuito de dados
01out 6.1-4 segmentação do circuito de dados
03 6.1-6 riscos, bloqueios, adiantamento
08 6.1-4 exercícios segmentação
10 6.9-10 dependências de controle, exceções,
15 6.9-10 processadores superescalares, especulação
17 1-6 primeira prova
22 7.2-3 descrição do trabalho prático, cálculo de endereços, memória cache
24 7.2-3 memória cache, organização e projeto
29 7.6-10 memória cache, desempenho da memória cache
31 7.6-10 memória cache, desempenho da memória cache
05nov 7.6-10 desempenho da memória cache
07 7.5-10 memória virtual
12 ----- reservado para implementação do trabalho prático
14 ----- reservado para implementação do trabalho prático
19 7.5-10 memória virtual, TLB
21 7.5-10 memória virtual, hierarquias de memória
26 ----- entrega do trabalho prático
28 1-7 segunda prova
03dez ----- defesa do trabalho prático
05 ----- entrega das notas
16 ----- final do semestre
19 1-7 prova final
---------------------------------------------------------------------------
Listas de Exercícios: ponto flutuante, assembly e
aritmética, CPUs, segmentação,
caches, mem virtual, TLB e TP, E/S.
Provas de períodos anteriores: 08-2, 07-2, 07-1, 06-2, 06-1, 05-2, 02-2, 02-1, 01-2, 01-1, 00-2, 00-1
Lista
de exercícios:
Lista de exercícios 1 - Fazer os
números 2, 3, 4, 5, e 6 (assuntos: conjunto de
instruções e ciclo longo)
Lista de exercícios 2 - Fazer todos os
exercícios (assuntos: multiciclos e desempenho)
Lista de
exercícios 3 -
Fazer os números 1, 2, 3, 4, 7, 9, 10 e 11 (assuntos:
segmentação de circuito e desempenho)
Lista de exercícios 4 - Fazer todos os
exercícios (assuntos: hierarquia de memória, cache
e desempenho da memória cache)
Lista de exercícios 5 - Fazer os
números 2, 3, 5, 6, 10 e 11(assuntos: memória
virtual)
Trabalhos
práticos:
Material auxiliar e documentação: