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.
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: