Ministerio de Educación, Ciencia y Tecnología
Universidad Nacional de San Luis
FACULTAD DE CS. FISICO MAT. Y NAT.

ANEXO II

PROGRAMA DEL CURSO: ARQUITECTURA DEL PROCESADOR II

DEPARTAMENTO DE:   INFORMATICA
AREA: Area II: Sistemas de Computacion (FCFMyNAÑO: 2004 (Id: 3469)
Estado: En tramite de Aprobación

 

I - OFERTA ACADÉMICA

CARRERAS PARA LAS QUE SE OFRECE EL MISMO CURSO

PLAN DE ESTUDIOS
ORD. Nº

CRÉDITO HORARIO

   

SEM.

TOTAL

LIC. EN CIENCIAS DE LA COMPUTACION11/98690

II - EQUIPO DOCENTE

Funciones

Apellido y Nombre

Total hs en
este curso

Cargo y Dedic.

Carácter

Responsable

AGUIRRE, GUILLERMO CARLOS20  hs.PROFESOR ADJUNTO EXC.Interino
ColaboradorGROSSO, ALEJANDRO LEONARDO5  hs.PROFESOR ADJUNTO EXC.Efectivo
Jefe Trab. Prác.BERON, MARIO MARCELO20  hs.JEFE DE TRABAJOS PRAC. EXC.Temporal
Auxiliar de 1ºPERNA, JUAN IGNACIO 10  hs.AYUDANTE DE 1RA. SEMI. Interino

III - CARACTERÍSTICAS DEL CURSO

CREDITO HORARIO SEMANAL
MODALIDAD
REGIMEN

Teórico/

Práctico

Teóricas

Prácticas de

Aula

Práct. de lab/ camp/

Resid/ PIP, etc.

1c
 Hs.
2 Hs.
4 Hs.
 Hs.
Asignatura
Otro: 
Duración: 14 semanas
Período del 09/08/2004 al 12/11/2004

IV.- FUNDAMENTACION

La creciente demenda de mayor poder computacional de los procesadores ha dado origen a arquitecturas complejas con unidades funcionales especializadas, memorias de alta velocidad, multiprocesadores, división de tareas en etapas concurrentes, ejecución de intrucciones a medida que están disponibles sus operandos, etc. Todas estas particularidades hacen necesaria la aplicación de técnicas y estrategias más complejas que la involucradas en los procesadores simples. Las arquitecturas avanzadas están concebidas para procesar problemas específicos que deben ser identificados y resueltos mediante prácticas de programación especiales.


V.- OBJETIVOS

Al finalizar el curso los alumnos deberan poder:

*Identificar los principales parámetros que miden el desempeño de los procesadores.

*Reconocer las similitudes y diferencias entre los distintos esquemas de memorias cache.

*Desarrollar el análisis cuantitativo del desempeño de procesadores
provistos con memoria cache.

*Conocer las características de los proccesadores pipeline y las
particularidades consideraras al medir el desempeño de los mismos.

*Comprender el funcionamiento general de los procesadores de arreglo y
las particularidades de los problemas que se adecuan a estas arquitecturas.

*Dominar los detalles involucrados en el funcionamiento de los procesadores pipeline con etapas multiciclo y los estrategias empleadas para despachar instrucciones fuera de orden.

*Describir el modo en que se realizan las computaciones en los
sistemas dataflow.

*Percibir la complejidad requerida para computar soluciones en sistemas de multiprocesadores y las redes de interconexion necesarias en estos sistemas.

*Determinar como se clasifican los diferentes procesadores según el nivel de paralelismo que presentan.



 


VI. - CONTENIDOS

Unidad 1: Performance en monoprocesadores.
Unidades pequeñas de tiempo. Frecuencia y ciclo de reloj. Medidas de performance. Tiempo de repuesta y throughput. Set de instrucciones y desempeño. Camino de datos y control en DLX. Aceleración (speed-up). Ley de Amdahl. Medidas de performance con un solo número.

Unidad 2: Memorias.
Jerarquía de memorias. Localidad temporal y espacial. Memorias cache. Hit y Miss. Consideraciones generales del empleo de cache. Organizaciones de cache: directas, asociativas y conjunto asociativo. Performance de memorias cache. Tipos de cache:write-back y write-through. Memoria virtual y cache. Comportamiento de la jerarquía de memorias. Caso de estudio.

Unidad 3: Pipelining.
¿Qué es pipelining?. La implementación en DLX. Comportamiento básico del pipeline en DLX. Performance ideal. Problemas en los pipe: los hazards. Distintos tipos de hazards: estructurales, de datos y de control. hazards de datos: RAW, WAW, WAR. Impacto de los hazards en el análisis de la performance. Penalidades por branch. Detección de branch. Técnicas de predicción de branch. Salto demorado. Características generales del procesador MIPS R4000.

Unidad 4: Pipelines avanzados y dependencias de control.
Pipelines de etapas multiciclo. Tablas de latencia e intervalo de iniciación. Paralelismo a nivel de instrucción. Desenrrollando iteraciones. Dependencias. Dependencias de datos. Arquitecturas data-flow: estáticas y dinámicas. Scheduling dinámico de instrucciones. Scoreboarding. Algoritmo de Tomasulo, aplicación en una unidad de punto flotante. Superpipeline y superescalar. Despacho de instrucciones en orden y fuera de orden.

Unidad 5: Arquitecturas multiprocesadores.
Clasificación de Flynn. Nivel de paralelismo en los programas. Procesadores vector y arreglo de procesadores. Particularidades de los procesadores vector. Performance de los procesadores vector. Arquitecturas de memoria centralizada (UMA) y distibuida (NUMA). Redes de interconexión: consideraciones generales. Interconexiones estáticas y dinámicas. Esquemas de única etapa y de múltiples etapas. Sistemas de buses. Redes crossbar. Memorias multipuerto. Redes Omega. Redes bloqueantes y no bloqueantes. Redes Butterfly. Cache en sistemas de multiprocesadores.


VII. - PLAN DE TRABAJOS PRÁCTICOS

Prácticos Nro. 1 y 2: Medidas de Performance
Uso de la Ley de Amdhal para el cálculo de la perfomance ganada por una mejora (Speedup). Uso de la ecuación de la CPU. Memoria Cache: Uso
de las ecuaciones de la CPU para el cálculo del tiempo de CPU.
Comparación de la performance con y sin acceso a la memoria cache.

Prácticos Nro. 3 y 4: Memorias cache
Distintas organizaciones de memoria cache. Técnicas de ubicaciones de
bloques: mapeo directo, conjuntos asociativos, memoria completamente asociativa. Pasos en la lectura y escritura de la memoria cache.
Reduciendo los miss de cache: Comparación entre diferentes
arquitecturas con memoria cache de diferentes tamaños.

Prácticos Nro. 5 y 6: Pipelining.
Comparación entre arquitecturas no pipelineadas y pipelineadas.
Implementación del pipelining del DLX. Implementación y Comparación de las mejoras de la arquitectura original. Problemas en el pipe:
Hazard de estructurales: Soluciones, hazard de datos: RAW, WAW, WAR,
detenciones del pipe, forwarding, hazard de control: técnicas
utilizadas para las instrucciones de salto. Planificación estática de
instrucciones para reducir los hazards. Implementación de un pipeline
con unidades de punto flotante.

Prácticos Nro. 7 y 8: Planificación Dinámica
Algoritmo de scoreboarding. Manejo de los distintos tipos de hazards. Algoritmo de Tomasulo. Manejo de los distintos tiposde hazards. Scoreboarding vs. Tomasulo

Práctico Nro. 9: Arquitecturas vector
Set de instrucciones de DLXV. Performance de los procesadores vectos. Rutinas para manipular operandos vector.


VIII - RÉGIMEN DE APROBACIÓN

* Regularización
Para regularizar la materia el alumno deberá cumplir con los siguientes requisitos:
Aprobar un examen parcial, o su correspondiente recuperación sobre temas que abarcan las tres primeras unidades.
Aprobar un trabajo práctico que cubre las últimas dos unidades de la materia. Este trabajo puede ser defendido y presentado en grupos de hasta 4 alumnos.
Aquellos alumnos que estén en condiciones tendrán derecho a una recuperación adicional por trabajo.
Mostrar compromiso con la materia a través de asistencia regular a clase y realización de los prácticos de alula.

* Examen Final
Los alumnos regulares deberán rendir un examen final (que podrá ser oral o escrito) que consistirá en preguntas sobre los temas desarrollados durante el dictado de la materia.
* Alumnos libres
Los alumnos que desean rendir libre la materia se deberán poner en contacto con la cátedra con 5 días de anticipación a los efectos de realizar un práctico, el cual contendrá ejercicios similares a los desarrollados en los prácticos durante el dictado de la materia. Aprobando éste trabajo práctico el alumno tendrá derecho a rendir un examen oral con iguales características que el de los alumnos regulares.



IX.a - BIBLIOGRAFÍA BÁSICA

Computer architecture a quantitative approach. John Hennessy y David
Patterson. 2nd Edition. Editorial Morgan Kaufmann. (1996)

Computer Organization & design. David Patterson and Jhon L. Hennessy. 2nd Edition. Editorial Morgan Kaufmann. (1998)

Advanced computer architecture. Kai Hwang. 2nd Edition. Editorial McGraw-Hill(1993)

Computer Architecture design and performance. Barry Wilkinson.
Editorial Prentice-Hall (1996)

Computer system Architecture. Morris Mano. Prentice-Hall (1993)



IX b - BIBLIOGRAFÍA COMPLEMENTARIA

Roland N. Ibbett \\\"HASE DLX Simulation Model,\\\" IEEE Micro, Vol 20, no 3, p 57-65, 2000.

P.M. Sailer & D.R. Kaeli \\\"The DLX Instruction Set Architecture
Handbook\\\" Morgan Kaufmann, 1996.

P.S. Coe, F.W. Howell, R.N. Ibbett and L.M. Williams \\\"A Hierarchical
Computer Architecture Design and Simulation Environment\\\" ACM Transactions on Modeling and Computer Simulation vol. 8, no. 4 (October 1998)

James E. Smith \"Characterizing computer performance with a single number\"Communications of the ACM. Oct. 1988 Vol 32 Nro 10.



COMPLEMENTO DE DIVULGACION


OBJETIVOS DEL CURSO


Al finalizar el curso los alumnos deberan poder:

*Identificar los principales parámetros que miden el desempeño de los procesadores.

*Desarrollar diferentes analisis cuantitativos del desempeño de procesadores provistos con memoria cache.

*Conocer las características de los proccesadores pipeline y las particularidades consideraras al medir el desempeño de los mismos.

*Comprender el funcionamiento general de los procesadores de arreglo y las particularidades de los problemas que se adecuan a estas arquitecturas.

*Describir el modo en que se realizan las computaciones en los sistemas dataflow.

*Percibir la complejidad requerida para computar soluciones en sistemas de multiprocesadores y las redes interconexión necesarias en estos sistemas.

 

 

PROGRAMA SINTETICO


Medidas de performance. Jerarquía de memorias. Memorias cache. Procesadores pipeline. Tipos de hazards. Performance en sistemas pipelining. Impacto de los branches en el pipe. Pipeline multiciclo. Latencia e intervalo de iniciación. Arquitecturas data-flow. Planificación dinámica de instrucciones. Multiprocesadores. Arquitecturas UMA y NUMA. Coherencia de cache. Nivel de paralelismo de los programas. Sistemas de interconexión.



 


IMPREVISTOS

Comunicarse con la cátedra.
Arquitectura del Procesador II.
Departamento de Informática.
Facultad de Cs. Físico, Matemáticas y Naturales.
Universidad Nacional de San Luis.
Ejército de los Andes 950. CP 5700.