Organização e Arquitetura de Computadores - CI212A (2013-2)


Este curso tem como base todo o material desenvolvido ao longo desses anos pelo professor Roberto A. Hexsel.

pipeline Arquitetura de Computadores é a ciência (arte?) de selecionar e interconectar componentes de hardware para produzir computadores que atendam a requisitos funcionais, de desempenho e custo. Nesta disciplina estudaremos a estrutura de um computador programável moderno, investigando as leis básicas da avaliação de desempenho, usando como exemplo o projeto dos circuitos de dados e de controle de um processador similar ao MIPS, com execução paralela de instruções com segmentação e super-escalaridade, bem como o projeto de sistemas eficientes de memória e de armazenamento. O conteúdo desta disciplina pressupõe familiaridade com: (i) análise e projeto de circuitos digitais (ci210); (ii) programação em linguagem de máquina (ci064); e (iii) programação em C e estruturas de dados (ci057).

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.

Calendário Acadêmico da UFPR

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

Avaliação: duas provas  e um trabalho prático     

 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

data livro assunto
---------------------------------------------------------------------------
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:

Projeto 1

*** O trabalho deve ser enviado para o email ci212ufpr AT gmail.com no dia 26/novembro até  às 15:30 hs. ***

Bibliografia:

Material auxiliar e documentação:

Outros Cursos de Organização de Computadores Slides do Professor Roberto


Última revisão: 20dez2013