Arquiteturas Avançadas de Computadores - CI312 (2012-1)

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. Neste curso investigaremos, qualitativa e quantitativamente, alternativas e técnicas de projeto para atender a requisitos de projeto por vezes contraditórios. Por exemplo, estudaremos como processadores executam muitas instruções concorrentemente, e porque os sistemas de memória devem ser quase tão sofisticados quanto os processadores a que servem. Este não é um curso introdutório e pressupõe familiaridade com o conteúdo das disciplinas CI212 e CI215.

Horário: 3a,5a 17:30-19:00, na sala EQ14 (próx passarela da BR116)

Ementa: Arquitetura, organização e microarquitetura; técnicas de implementação de processadores; sistemas de memória; sistemas de entrada e saída; redes de interconexão; multiprocessadores.

Objetivo: Estudar os componentes de sistemas computacionais correntes (processador, memória e periféricos) e investigar as relações dos componentes entre si, e entre aqueles e o sistema operacional. A ênfase do curso será nas técnicas que devem ser usadas para se obter alto desempenho dos componentes individuais e do sistema completo.

Avaliação: um trabalho (30%), duas provas (35+35%).
Nao há segunda chamada exceto nos casos previstos nos artigos 92-106 da Resolução cepe37-97.

Programa:

data  livro	assunto:                    (rev1.3-17set2012)  [artigos ci702]
------------------------------------------------------------------------------.
06mar 1.1-6     introdução, tendências tecnologias relevantes   CMOS
08    1.8-10    medidas de desempenho, princípios de projeto    
13    AppB.1    revisão de memória (memória em CMOS)            Denning
15    AppB.1-3  caches I
20    2.1-3     caches II                                       Jouppi
22    AppB.4-5  memória virtual I
27    2.4-5     memória virtual	II (MV no MIPS)                 Popek
03abr AppA.1-9  CdI: tipos, operações, codificação, MIPS        Wulf
10    AppC.1-5  segmentação, riscos, dep dados, dep controle    Smith
12    AppC.6    operações multiciclo, pipeline MIPS R4000
17    AppC.1-6  prev desvios, interrupções, superescalares      ----   
      3.1-3     paralelismo no nível de instrução               
      3.4-6     algoritmo de Tomasulo, especulação
19    AppC,3    exercícios
24    3.7-10    escalonamento estático e dinâmico               MIPS 4k
26    3.11-12   memória e multithreading
03mai AppC,3    exercícios
08    A-C,1-3   prova                                           ----
10    4.1-2     rev prova, introd. processamento paralelo
15    5.1-4     multiprocessadores                              Shreekant
18set 5.5-7     sincronização e consistência
20    5.8       desempenho de multicores
25    4.1-2     paralelismo nos dados, vetores                  Barroso
27    AppD      organização do sistema de E/S, discos
02out --        introdução a VHDL                               Ruemmler
04    AppF      interconexões
09    6.1-6     computação de larga-escala, cloud-computing     Hillis
11    A-F,1-6   prova
16    ----      entrega do trabalho
18out A-F,1-6   final
-------------------------------------------------------------------------

Listas de Exercícios memória, segmentação, escalonamento dinâmico, escalonamento estático, processamento paralelo, proc paralelo ii, E/S, redes.
Provas de anos anteriores: 2011, 2009, de ci086: 2007, 2006, 2005, 2004.

Trabalho:

Bibliografia:

Pré-requisito: Computer Organization & Design: The Hardware/Software Interface, D A Patterson e J L Hennessy, 3a. Ed, Morgan Kauffman Publ., 2004, ISBN 1-55860-604-1, que é visto em CI212.
É conveniente estar cursando (ou ter cursado) CI215. Última vez em que ministrei CI212 e CI215.

Material auxiliar e documentação:


Última revisão: 07mar12
volta para: encargos| página