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: Sistemas de ComputacionAÑO: 2002 (Id: 1833)
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
Co-ResponsableGROSSO, ALEJANDRO LEONARDO20  hs.PROFESOR ADJUNTO EXC.Efectivo
Jefe Trab. Prác.BERON, MARIO MARCELO20  hs.JEFE DE TRABAJOS PRAC. EXC.Temporal
Auxiliar de 1ºORDO#EZ, GUILLERMO DANIEL 10  hs.AYUDANTE DE 1RA. SEMI. Interino
Auxiliar de 1ºMOLINA, SILVIA MARTA 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.

1b
 Hs.
2 Hs.
4 Hs.
 Hs.
Asignatura
Otro: 
Duración: 14 semanas
Período del 12/08/02 al 15/11/02

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,
division de tareas en etapas concurrentes, ejecucion de intrucciones
a medida que estan 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
practicas 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 analisis 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
Medidas de performance. Aceleración (speed-up). Ley de Amdahl.
Jerarquía de memorias. Memorias cache. Hit y Miss. Consideraciones
generales del empleo de cache. Performance de memorias cache. Tipos
de cache:write-back y write-through.

Unidad 2 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.

Unidad 3 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 4 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.


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 un
a 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 trabajo práctico que cubre la primera mitad de la materia. Este trabajo puede ser individual o de a dos alumnos.
Aprobar un exámene parcial, o su correspondiente recuperación. Aquellos alumnos que estén en condiciones tendrán derecho a una recuperación adicional por trabajo.

* 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 15 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)

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, pp 57-65, 2000, 1975.
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)



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 interconexion
necesarias en estos sistemas.



 

 

PROGRAMA SINTETICO


Medidas de performance. Jerarquía de memoria. 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 I.
Departamento de Informática.
Facultad de Cs. Fisico, Matemáticas y Naturales.
Universidad Nacional de San Luis.
Ejercito de los Andes 950. CP 5700.