Português English
Contato

Lista de Disciplinas | CMP199

DISCIPLINA: CMP199 – Arquitetura e Organização de Processadores Modernos

Professor: Luigi Carro
Carga Horária: 60 horas
Créditos: 4
Pré-requisitos: nenhum
Semestre: oferecida sempre nos primeiros semestres

Súmula
Revisão de conceitos de arquitetura e organização.
Revisão de Arquiteturas de Conjunto de Instruções RISC e CISC.
Revisão de Organização de processadores: bloco operacional e bloco de controle.
Revisão de Organização de memórias: hierarquias de memória, memória principal,
memórias cache, memória virtual.
Paralelismo: pipelines e superpipelines, superescalaridade – paralelismo de instruções e dados.
Especulação e ordenação: Execução em order e fora de ordem, predicação e especulação de instruções.
Arquiteturas Superescalares e VLIW, unidades de execução SIMD e MIMD, processadores de uso geral, unidades de processamento gráficos e unidades de processamento-em-memória.
Novas tecnologias de memória: voláteis, não-voláteis, integração memória+lógica, integração em 3D.

Objetivos
O objetivo da disciplina é capacitar o aluno a compreender as diferentes alternativas de arquitetura e organização de uma unidade de processamento, reconhecendo o seu impacto sobre fatores como desempenho, custo e complexidade de desenvolvimento e área, dissipação de potência e consumo energético, assim como a sua consequente adequação a diferentes tipos de produtos eletrônicos e diferentes classes de aplicações.

A disciplina enfatiza o estudo da organização do bloco operacional e seu impacto na implementação do bloco de controle. Este estudo é estendido para sistemas computacionais do estado-da-arte, em especial processadores de uso geral (GPPs),
unidades de processamento gráfico (GPUs) e unidades de processamento-emmemória (PIMs), considerando seus recursos de paralelismo de instruções e dados, execução especulativa, hierarquia de memória e modelo de acesso aos dados.

Conteúdo programático
Aula Data TÓPICO
1 Introdução
2 Rev. Conceitos de arquitetura e organização
3 Rev. Arquiteturas RISC e CISC – Especificação do Trabalho
4 Rev. Org. de Processadores: Bloco Operacional
5 Rev. Org. de Processadores: Bloco Operacional/Controle
6 Rev. Org. de Processadores: Bloco de Controle
7 Rev. Hierarquia de memórias: Hierarquia de Memórias Cache – Memória principal, memórias cache
8 Rev. Hierarquia de memórias: memórias cache, memória virtual
9 Simuladores: GEM5/BOOM
10 Simuladores: GEM5/BOOM
11 Paralelismo de instruções: Pipelines, Superscalaridade e VLIW
12 Trabalho/Feriado
13 Paralelismo de Dados: Dados Escalares – multi-issue superscalar vs multi-issue VLIW. Dados Vetoriais – SIMD, MIMD
14 Trabalho/Feriado
15 Especulação e Ordenação: Execução em ordem e fora-de-ordem, Predicação e Especulação Localidade de Dados: Espacial/Temporal
16 Trabalho/Feriado
17 Arquiteturas: Single-Issue vs Superscalar vs VLIW vs Multi-Core vs GPU (big-picture)
18 Arquiteturas: Multi-Core vs GPU (detalhes Muti-core)
19 Arquiteturas: Multi-Core vs GPU (detalhes GPU Multi-Core->SM)
20 Arquiteturas: SIMD vs MIMD (detalhes ExecUnit GPP vs GPU)
21 Limitações Banda de Memória (limites de acesso externo vs interno — problemas para multi-core e GPU)
22 Processamento em Memória – (foco em memristor – pros e cons)
23 Processamento em Memória – (foco em lógica na memoria – CPUs, FUs, etc)
24 Novas Tecnologias de Memória e Integração
25 ?? slot para feriado ?? Novas Tecnologias de Memória e Integração
26 Trabalho no projeto
27 Trabalho no projeto
28 Prova
29 Trabalho no projeto
30 Seminários sobre processadores para 3 algoritmos

Método de trabalho:

Aulas expositivas. Seminários apresentados pelos alunos sobre unidades de processamento de diferentes arquiteturas. Experimentação de diferentes arquiteturas através de trabalhos práticos com uso de ferramentas de
simulação.

Procedimentos de avaliação: Avaliação através de trabalhos de implementação e demonstração de conhecimento de arquiteturas tradicionais e estado-da-arte de processadores, apoiado por ferramentas de simulação. Avaliação através de provas formadas pelas questões mais pertinentes na área. A nota final será dada em função de 50% do trabalho final e 50% da prova.

Bibliografia
• D.PATTERSON e J.HENNESSY. Organização e Projeto de Computadores: a
Interface Hardware/Software. LTC, Rio de Janeiro, 2000. (Segunda edição)
• M.J.FLYNN. Computer Architecture – Pipelined and Parallel Processor Design.
Jones and Bartlett Publishers, Sudbury, 1995.
• M.JOHNSON. Superscalar Microprocessor Design. Prentice-Hall, Englewood Cliffs,
1991.
• B.WILKINSON. Computer Architecture – Design and Performance. Prentice-Hall,
Hemel Hempstead, 1996. (2a. edição).
• J.HENNESSY e D.PATTERSON. Computer Architecture: A Quantitative Approach.
Morgan Kaufmann, San Francisco, 1996. (2a. edição).