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: 2001 (Id: 1057)
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

GROSSO, ALEJANDRO LEONARDO20  hs.PROFESOR ADJUNTO EXC.Efectivo
Co-ResponsableAGUIRRE, GUILLERMO CARLOS20  hs.PROFESOR ADJUNTO EXC.Interino
Jefe Trab. Prác.BERON, MARIO MARCELO20  hs.JEFE DE TRABAJOS PRAC. EXC.Temporal
Auxiliar de 1ºMALDOCENA, PAULINO DANIEL 10  hs.AYUDANTE DE 1RA. SEMI. Efectivo
Auxiliar de 1ºMOLINA, SILVIA MARTA 10  hs.AYUDANTE DE 1RA. SEMI. Temporal
Auxiliar de 1ºDNL 10  hs.AYUDANTE DE 1RA. SEMI. Temporal
Auxiliar de 2ºALFONSO, MARCELO IGNACIO 8  hs.AYUDANTE DE 2DA. SIMP.Interino

DNL: Docente no listado

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 13/08/01 al 16/11/01

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. Problema de
coherencia de cache. Protocolos para mantener la coherencia de cache:
Snoopy y directorio.


VII. - PLAN DE TRABAJOS PRÁCTICOS

Práctico Nro. 1: 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.
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 tamanos.

Práctico Nro. 2 y 3: 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 Planificación dinámica de
instrucciones: Scoreboarding.

Práctico Nro. 4: Arquitectura multiprocesadores
Requerimiento de bandwith en un sistema de único bus. Ruteo de
requerimientos a través de redes Omega. Redes bloqueantes: estimación
del número de pasadas. Secuenciamiento de requerimientos concurrentes
por medio de redes de combinación.


VIII - RÉGIMEN DE APROBACIÓN

* Regularización
Para regularizar la materia el alumno deberá cumplir con los siguientes requisitos:
Aprobar un exámene parcial, con su correspondiente recuperación.
* 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. Editorial Morgan Kaufmann. (1996)

Advanced computer architecture. Kai Hwang. 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.