Organização e Arquitetura de Computadores - CI212 (2011-2)

pipeline Arquitetura de Computadores é a ciência (há quem diga "arte") de selecionar e interconectar componentes de hardware para produzir computadores que atendam a requisitos funcionais, de desempenho e de 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 por 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 (ci210); e (iii) programação em C e estruturas de dados (ci056).

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 a organização, a arquitetura e microarquitetura (técnicas básicas de projeto). 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: Esta disciplina têm 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. As transparências não substituem o livro!

Avaliação: duas provas e um trabalho, nota = P1*0,35 + P2*0,35 + T*0,3.
Não há segunda chamada, exceto nos casos previstos na Resolução 37-97.
A pior nota dentre P1 e P2 poderá ser substituída pela nota de uma prova sobre toda a matéria no dia 22dez.

Programa: aulas as 19:00 nas 3as (sala PH11) e 5as (sala PA02)

data  livro     assunto  (rev 1.1-13set)
---------------------------------------------------------------------------
13set 1.1-8     apresentação, revisão do conjunto de instruções do MIPS
15    2.1-10    conj de instr do MIPS: acesso a dados, funções
20    3.1-4     aritmética em ponto fixo: 4 operações
22    3.5       aritmética em ponto flutuante
27    4.1-4     circuito de dados, revisão da versão de ciclo longo
29    1.4-5     avaliação de desempenho, potência
04out 4.5-6     segmentação do circuito de dados
06    4.7       segmentação, riscos de dados, bloqueios, adiantamento
11    4.8-9     segmentação, riscos de controle, exceções
18    4.10-11   paralelisno no nível de instrução, proc. superescalares
20    1-4       revisão, exercícios
25    ---       primeira prova
27    5.1-2     resolução da prova; cálculo de endereços, memória cache
01nov 5.2-3     cache: organização, projeto, desempenho
08    5.2-3     cache: organização, projeto, desempenho (cont.)
10    5.4-5     memória virtual
17    5.4-5     memória virtual, TLB
22    6.1-5     dispositivos, barramentos, vazão e latência
24    6.6-9     interfaces com CPU+SO, desempenho
29    7.1-2     introdução à programação paralela
01dez 7.1-3     multiprocessadores com memória compartilhada
06    1-8       segunda prova 
08    ---       resolução da prova; especif. do trabalho, revisão VHDL
13    6.1-9     exercícios E/S
15    ---       revisão VHDL (exemplo)
20    ---       demonstração do trabalho entrega do trabalho
22    ---       demonstração do trabalho prova substitutiva
10jan 1-8       final
---------------------------------------------------------------------------

Especificação do Trabalho

Listas de Exercícios: ponto flutuante, assembly e aritmética, segmentação, caches, mem virtual, TLB e TP, E/S.
Provas de períodos anteriores: 10-2, 08-2, 07-2, 07-1, 06-2, 06-1, 05-2, 02-2, 02-1, 01-2, 01-1, 00-2, 00-1

Bibliografia:

Material auxiliar e documentação:


Última revisão: 20jun11
volta para: encargos |página