![]()
![]()
Aulas: Segundas e Quartas, 11:10 - 12:50, ICEx
2015.
Professor: Renato
Ferreira, ICEx 4022.
O objetivo dessa disciplina é fazer uma introdução às arquiteturas e ao projeto de sistemas nas tecnologias emergentes no mercado de microprocessadores. Em particular, estaremos focando nos aspectos funcionais das arquiteturas, as razões pelas quais as diversas decisões de projeto foram tomadas e as dificuldades impostas por essas decisões para a programação eficiente nessas arquiteturas. O objetivo é servir como um contato inicial do aluno com as arquiteturas emergentes, suas idiosincrasias e as estratégias para se obter eficiência. Nesse sentido, os alunos estariam sendo expostos aos novos desenvolvimentos na área de arquiteturas e sistemas, o que aumentaria seu valor de mercado, e poderia também conduzir a pesquisa em diferentes aspectos de programação para essas arquiteturas. Como pré-requisitos, os alunos devem ter feito as matérias de arquiteturas (OC1, OC2 e Software Básico), Redes, AEDS3, Compiladores e, preferencialmente, alguma matéria em programação paralela e distribuída. Nessa disciplina não se pretende apresentar novos conceitos, mas sim as arquiteturas emergentes, e como os conceitos já conhecidos se aplicam, ou precisam ser adaptados a elas.
Nessa disciplina serão estudadas as seguintes arquiteturas emergentes:
NVIDIA G80 GPU
IBM/Sony/Toshiba Cell Broadband Engine
Intel Multicore
O curso será primariamente baseado em artigos e apresentações dos diversos fabricantes e pesquisadores engajados em pesquisa nas arquiteturas que iremos estudar. Além desses, usaremos o seguinte livro texto como base para programação paralela e distribuída:
Patterns for Parallel Programming, de Timothy G. Mattson, Beverly A. Sanders e Berna L. Massingill
# |
Data |
Assunto |
Referências |
1 |
01/03 |
Introdução ao curso |
|
2 |
03/03 |
Não houve aula |
|
3 |
08/03 |
Padrões em programação paralela |
|
4 |
10/03 |
Não houve aula |
|
5 |
15/03 |
Padrões em programação paralela |
|
6 |
17/03 |
Padrões em programação paralela |
|
7 |
22/03 |
Arquitetura do NVIDIA G80 |
|
8 |
24/03 |
Arquitetura do NVIDIA G80 |
|
9 |
29/03 |
Programação no NVIDIA G80 |
|
10 |
31/03 |
Programação no NVIDIA G80 |
|
11 |
05/04 |
Programação no NVIDIA G80 |
|
12 |
07/04 |
Programação no NVIDIA G80 |
|
13 |
12/04 |
Arquitetura do Cell BE |
|
14 |
14/04 |
Programação no Cell BE |
|
15 |
19/04 |
Programação no Cell BE |
|
16 |
21/04 |
Recesso – Tiradentes |
|
17 |
26/04 |
Recesso – Mostra das Profissões |
|
18 |
28/04 |
Recesso – Mostra das Profissões |
|
19 |
03/05 |
Ambientes de programação para o Cell BE |
|
20 |
05/05 |
Cell BE - Encerramento |
|
21 |
10/05 |
Multi-cores Intel |
|
22 |
12/05 |
Intel Thread Building Blocks |
|
23 |
17/05 |
|
|
24 |
19/05 |
|
|
25 |
24/05 |
|
|
26 |
26/05 |
|
|
27 |
31/05 |
|
|
28 |
02/06 |
|
|
29 |
07/06 |
|
|
30 |
09/06 |
|
|
31 |
14/06 |
|
|
32 |
16/06 |
|
|
33 |
21/06 |
|
|
34 |
23/06 |
|
|
35 |
28/06 |
Oitava de final da Copa 2010 |
|
36 |
30/06 |
|
|
| 37 | 05/07 | ||
38 |
07/07 |
Semifinal da Copa 2010 |
|