Contenido de XSL

Procesadores de Alto Rendimiento

Centro
Facultad de Informática
Titulación
Grado en Ingeniería Informática
Curso académico
2018/19
Curso
X
Nº Créditos
6
Idiomas
Castellano
Euskera

DocenciaAlternar navegación

Distribución de horas por tipo de enseñanza
Tipo de docenciaHoras de docencia presencialHoras de actividad no presencial del alumno/a
Magistral4040
P. Laboratorio2050

Guía docenteAlternar navegación

ObjetivosAlternar navegación

Las competencias específicas del grado que quedan cubiertas son : IC1, IC2, IC3, IC5.



A continuación detallamos las competencias teóricas y prácticas que se presumen adquirirán los alumnos:



Entender la reordenación dinámica de la ejecución de las instrucciones.

Entender el paralelismo a nivel de instrucción de los procesadores superescalares.

Analizar y entender las optimizaciones que hacen los compiladores.

Capacidad de programar con OpenMp.

Entender la parte vectorial de los procesadores: intra-register vectorization.

Capacidad de usar las placas gráficas para la ejecución paralela de aplicaciones de propósito general.

Analizar los pocesadores para sistemas de tiempo real y empotrados.

TemarioAlternar navegación

Tema 1

Procesadores Multiciclo.

Después de repasar los procesadores segmentados lineales de la familia ARM, se analizan los procesadores que reordenan dinámicamente la ejecución de las instrucciones: procesadores multiciclo Scoreboard y Tomasulo. Nos centraremos en la descripción de las unidades funcionales, la Memoria y las estaciones de reserva. Se resaltan las diferencias entre la reordenación dinámica y la estática realizada por los compiladores.



Tema 2

Procesadores Superescalares.

Se analizan los procesadores superescalares como el medio utilizado para aumentar el paralelismo implícito de las instrucciones. Se estudia la influencia en la eficiencia de las optimizaciones de los compiladores, atendiendo fundamentalmente a las optimizaciones específicas para procesadores superescalares y su jerarquía de memoria. Se introduce la ejecución especulativa.



Tema 3

Procesadores multithreading y multicores.

Se presentan los procesadores que permiten avanzar en la ejecución paralela de los programas, en este caso de bajo coste: paralelismo a nivel de thread dentro de un procesador, y usando varios procesadores o cores en el mismo chip. Se estudian los mecanismos para mantener la coherencia de las memorias cache basados en protocolos snoopy. Se trabaja en el uso de OpenMp y de algunas librerías como Intel-Math.



Tema 4

Procesadores orientados a tratamiento vectorial y gráfico.

Se presentan los fundamentos de las máquinas vectoriales, y se profundiza en el uso de intra-register vectorization (tipo SSE, MMX). Así mismo, se trabaja en el uso de las placas gráficas, GPU, para aplicaciones de propósito general, GPGPU utilizando CUDA. También se trabaja con la librería Intel-IPP orientada a tratamiento gráfico.





MetodologíaAlternar navegación

Durante el desarrollo de clases y laboratorios se llevarán a cabo, de forma sistemática, actividades de trabajo en grupo, discusión y presentación de resultados de ejercicios, con el fin de impulsar la participación directa en el desarrollo del curso y de fomentar la motivación del alumnado. Se tendrá en cuenta el uso de metodologías activas.

Sistemas de evaluaciónAlternar navegación

La evaluación será continua:

a) se evaluan dos grupos de problemas que se desarrollan a modo de programas en el laboratorio (cada grupo con un peso final en la nota del 10%). Los programas los desarrollan individualmene y/o en grupo. Las herramientas que utilizarán son: gcc, OpenMp, SSE y CUDA. Para optar a ello se exige un 75% de asistencia.

b) se da la posibilidad de realizar dos examenes escritos (a mitad de curso y al final), con un peso del 40% cada uno, también sometido a la exigencia de asistencia. Los que decidan un único examen no tendrán opción a la nota del laboratorio.

BibliografíaAlternar navegación

Bibliografía básica

En los siguientes dos libros aparecen la mayoría de los apartados referenciados en el temario.



ESTRUCTURA Y DISEÑO DE COMPUTADORES. LA INTERFAZ SOFTWARE/HARDWARE.

D.A. Patterson, J.L. Hennessy. (2. ed). Editorial Reverte. 2011.



COMPUTER ARQUITECTURE. A QUANTITATIVE APPROACH.

J.L. Hennessy, D.A. Patterson (4. ed.) Morgan Kaufmann, 2007







Bibliografía de profundización

Las siguientes reseñas son complementarias:

ORGANIZACION DE COMPUTADORES.
V.C. Hamacher, Z.G. Vranesic y S.G. Zaky. Ed. McGraw-Hill, 2003 (5. edición).

ORGANIZACION Y ARQUITECTURA DE COMPUTADORES.
W. Stallings. Ed. Prentice-Hall, 2006 (7. edición)

GruposAlternar navegación

01 Teórico (Castellano - Mañana)Mostrar/ocultar subpáginas

Calendario
SemanasLunesMartesMiércolesJuevesViernes
1-15

12:30-14:00

09:00-10:30

Profesorado

01 P. Laboratorio-1 (Castellano - Mañana)Mostrar/ocultar subpáginas

Calendario
SemanasLunesMartesMiércolesJuevesViernes
1-15

10:45-12:15

Profesorado

31 Teórico (Euskera - Mañana)Mostrar/ocultar subpáginas

Calendario
SemanasLunesMartesMiércolesJuevesViernes
1-15

12:30-14:00

09:00-10:30

Profesorado

31 P. Laboratorio-1 (Euskera - Mañana)Mostrar/ocultar subpáginas

Calendario
SemanasLunesMartesMiércolesJuevesViernes
1-15

10:45-12:15

Profesorado