Organização e Arquitetura de Computadores - CI212B (2019-1) 

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

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.
(iii) Não é permitido o uso de celular durante a aula. Caso você precise usá-lo por questões pessoais, converse com o professor ante da aula para verificar se é possível o uso.
(iv) Há aula normalmente em véspera de feriado e será contabilizada a presença. Apenas não haverá aula nos casos previstos no calendário da universidade. Veja
Calendário Acadêmico da UFPR

Representante turma B:  Vinicius Pacheco - email vinipac88 AT gmail.com
Monitor: Não há.

Email do Forum: ci212-2019-01 AT googlegroups.com com o rótulo da mensagem [CI212-2019-01]

Forum:
ci212-2019-01 AT googlegroups.com:
Os responsáveis por criar e manter a lista do forum são/é o<s> representante<s> de turma
* É fundamental que os alunos se inscrevam no forum para terem um melhor apoio sobre as listas de exercícios e trabalhos práticos
* Ao enviarem mensagem para o forum coloquem no título da mensagem o rótulo [CI212-2019-01]

Atendimento aos alunos: ao final da aula e na lista de forum

Avaliação: duas provas e trabalhos práticos

Nota = (P1*0.15)+(P2*0.15)+(TP1*0.35)+(TP2*0.35)

Não há segunda chamada, exceto nos casos previstos na Resolução 37-97.

Programa: aulas nas 3as e 5as às 13:30hs turma B na sala PC-16.

As datas referentes ao calendário abaixo ainda serão ajustadas, bem como as datas das avaliações.
 
data livro assunto
---------------------------------------------------------------------------

01 19fev 1.1-8,2   apresentação da disciplina

02 21    1.1-8,2   revisão do conjunto de instruções do MIPS
03 26    2.1-10    acesso a estruturas de dados
04 28    5.1-4     revisão circuito de dados, implementação ciclo longo

   20    -----     feriado - carnaval
05 07mar 5.1-4     revisão circuito de dados, implementação ciclo longo
06 12    5.5-12    circuito de dados, implementação multiciclos

07 14    5.5-12    circuito de dados, implementação multiciclos

08 19    5.5-12    exercícios multiciclos
09 21    4.1-6     avaliação de desempenho
10 26    4.1-6     avaliação de desempenho
11 28    6.1-4     segmentação do circuito de dados
12 02abr 6.1-4     segmentação do circuito de dados
13 04    6.1-6     riscos, bloqueios, adiantamento
14 09    6.9-10    dependências de controle, exceções

15 11    6.9-10    descrição do trabalho prático 1 e exercícios circuitos segmentados     
16 16    6.9-10    exercícios circuitos segmentados  e processadores superescalares, especulação 
17 18    6.9-10   
prova teórica 1
18 23    7.2-3     cálculo de endereços, memória cache
19 25   
7.2-3     cálculo de endereços, memória cache
20
30   
-----     estudo e preparação para o trabalho prático 1 e 2

21 02mai -----     estudo e preparação para o trabalho prático 1 e 2
22
07    -----     estudo e preparação para o trabalho prático 1 e 2

23 09    -----     estudo e preparação para o trabalho prático 1 e 2
24 14    7.6-10    memória virtual

25 16    7.6-10    memória virtual, TLB e exercícios
26 21    7.6-10    trabalho
prático 1
27 23    7.5-10    trabalho prático 1

28 28    7.5-10    trabalho prático 1

29 30    7.5-10    trabalho prático 1
30 04jun 7.5-10    exercícios de reforço sobre processadores e memória virtual, hierarquias de memória,exercícios de memória virtual
31 06    7.5-10    exercícios de reforço sobre processadores e memória virtual, hierarquias de memória,exercícios de memória virtual
32 11   
1-7       prova teórica 2
33 13    -----     trabalho prático 2
34 18    -----     trabalho prático 2
   20    -----     feriado - corpus christi

35 25    -----     trabalho prático 2
36 27    -----    
notas - último dia letivo de aula do semestre
   02jul -----     semana estudos para exame final
   04    1-7       prova final 
   09    -----     verificação da prova final

Proceedings Template - WORD
---------------------------------------------------------------------------

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 o número 2 (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:

Instruções TR2

 
Bibliografia:

Material auxiliar e documentação:

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


Última revisão: 05junho2019