Arquiteturas Avançadas de Computadores - CI312 (2015-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 pc16

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:
CI312: dois trabalhos (15%+25%), duas provas (30+30%).
CI702: dois trabalhos (15%+25%), duas provas (25+25%), artigos (10%).
Leitura de artigos e discussão nas quintas 19:00-20:00.
Modelo para os resumos.
Nao há segunda chamada exceto nos casos previstos nos artigos 92-106 da Resolução cepe37-97.

Atendimento: antes/após as aulas e por e-mail

Programa:

data  livro	assunto:                    (rev0.2-07nov2014)  
-------------------------------------------------------------------------------.
24fev 1.1-6     introdução, tendências tecnologias relevantes (CMOS)
26    1.8-10    medidas de desempenho, princípios de projeto    espec T1

03mar AppC.1-5  segmentação, riscos, dep dados
05    AppC.6    dep controle, previsão de desvios
10    AppC.1-6  interrupções, superpipelining                   
12    ---       exercícios
17    AppB.1    revisão de memória (memória em CMOS)
19    AppB.1-3  caches I
24    2.1-3     caches II
26    AppB.4-5  memória virtual I
31    2.4-5     memória virtual	II

02abr 2.4-5     memória virtual	no MIPS
07    ---       exercícios
09    3.1-3     paralelismo no nível de instrução
14    3.4-6     algoritmo de Tomasulo
16    3.7-12    escalonamento estático e dinâmico            entrega T1
21    ---       feriado Tiradentes 
23    3.12      multithreading
28    AppC,1-3  exercícios
30    A-C,1-3   prova

05mai slides    rev prova, introdução a VHDL                 espec T2
07    slides    introdução a VHDL (cont)
12    ???       aritmética de ponto flutuante
14    4.1-2     introdução à computação paralela
19    5.1-4     multiprocessadores
21    5.5-7     sincronização e consistência
26    AppD      organização do sistema de E/S   
28    AppD      E/S: discos

02jun AppD      interface com SO
04    ---       feriado Corpus Christi
09    5.8       desempenho de multicores
11    4.1-2     paralelismo nos dados, vetores
16    4,5,6     exercícios
18    ---       discussão sobre SO x memória não-volátil
23    A-F,1-6   prova
30    ----      entrega e demonstração do T2

07jul 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.
Provas de anos anteriores: 2015, 2013, 2012, 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: 15out2014
volta para: encargos| página