Ministerio de Cultura y Educación Universidad Nacional de San Luis Facultad de Ciencias Físico Matemáticas y Naturales Departamento: Informatica Área: Area II: Sistemas de Computacion |
I - Oferta Académica | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
|
II - Equipo Docente | ||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
III - Características del Curso | |||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
IV - Fundamentación |
---|
La creciente demanda de mayor poder computacional de los procesadores ha dado origen al diseño de arquitecturas complejas con unidades funcionales especializadas, memorias de alta velocidad, 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 las involucradas en los procesadores convencionales. Las arquitecturas avanzadas pueden ser aprovechadas mediante prácticas de programación que tengan en cuenta sus características particulares.
|
V - Objetivos / Resultados de Aprendizaje |
---|
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 jerarquía de memoria. *Conocer las características de los procesadores segmentados y las particularidades consideraras al medir el desempeño de los mismos. *Identificar los caminos de datos empleados por los distintos tipos de instrucciones en los procesadores RISC. *Determinar los principios generales en los procesadores súper-escalares. *Percibir la complejidad requerida para soportar interrupciones en los sistemas que explotan el paralelismo a nivel de instrucción. |
VI - Contenidos |
---|
Unidad 1: Los procesadores RISC y su desempeño.
Procesadores RISC. El MIPS. Señales de control y camino de datos del MIPS. Conjunto de instrucciones y desempeño. Frecuencia y ciclo de reloj. Tiempo por instrucción. Unidades pequeñas de tiempo. Ecuación de tiempo de CPU. Relación entre el ciclo de reloj y el tiempo de CPU. Desempeño y tiempo de ejecución. Aceleración (speed-up). Ley de Amdahl. Unidad 2: Procesadores Segmentados. ¿Qué es la segmentación?. Comportamiento básico de los procesadores segmentados. Desempeño ideal. Problemas de la segmentación: los riesgos. Distintos tipos de riesgos: estructurales, de datos y de control. Dependencia de datos. Riesgos de datos: RAW, WAW, WAR. Los atascos (stalls). Adelantamiento. Atascos inevitables. Impacto de los riesgos en el desempeño de los procesadores segmentados. Penalidades por saltos. Predicción dinámica de saltos. Salto demorado. Excepciones. Manejo de las excepciones en procesadores segmentados. Unidad 3: Organización de la memoria. Jerarquía de memorias. Memorias cache. Éxito y Fallo. Consideraciones generales del empleo de cache. Organizaciones de cache: directas, asociativas y conjunto asociativo. Desempeño de memorias cache. Tipos de cache: write-back y write-through. Manejo de las escrituras. Comportamiento de la jerarquía de memorias. Penalidades por fallo. Máquina de estados finita de un controlador de cache. Unidad 4: Paralelismo a nivel de instrucción. Despacho múltiple estático. Desenrollar iteraciones en despacho múltiple. Despacho múltiple dinámico. |
VII - Plan de Trabajos Prácticos |
---|
Práctico Nro. 1: Programación assembly.
Práctico de aula. Programación en MIPS32. Camino de datos. Práctico de máquina. Programación usando PathSim Práctico Nro. 2: Medidas de Performance. Práctico de aula. Uso de la Ley de Amdhal para el cálculo de la aceleración (Speed-up). Uso de la ecuación de tiempo de la CPU. Práctico Nro. 3: Segmentación y riesgos. Práctico de aula. Implementación del pipelining del MIPS32. Impacto de problemas en el pipe: riesgos estructurales y de datos. Los riesgos de control: técnicas utilizadas para las instrucciones de salto. Planificación estática de instrucciones para reducir los riesgos. Práctico Nro. 4: Distintas organizaciones de memoria cache. Práctico de aula. Técnicas de ubicación de bloques en mapeo directo, conjuntos asociativos y completamente asociativa. Pasos en la lectura y escritura de la memoria cache. Reduciendo los fallos de cache: Incidencia del tamaño de la cache en el desempeño de los procesadores. Práctico de mquina: uso del simulador SMPCache. |
VIII - Regimen de Aprobación |
---|
* Regularización
Para regularizar la materia el alumno deberá cumplir con los siguientes requisitos: Aprobar los dos exámenes parciales, o sus correspondientes recuperaciones sobre temas que abarcan las cuatro unidades. Aquellos alumnos que lo necesiten tendrán derecho a una recuperación integradora. Mostrar compromiso con la materia a través de asistencia regular a clase y realización de los prácticos de aula y máquina. * 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 este trabajo práctico el alumno tendrá derecho a rendir un examen con iguales características que los alumnos regulares. |
IX - Bibliografía Básica |
---|
[1] Computer Organization & Design. David A. Patterson and John L. Hennessy. 5th Edition. Editorial Morgan Kaufmann. (2014)
[2] Microprocessor Architecture. From simple pipeline to chip multiprocessor. Jean-Loup Baer. (2010) [3] Computer architecture a quantitative approach. John Hennessy y David Patterson. 5th Edition. Editorial Morgan Kaufmann. (2013) |
X - Bibliografia Complementaria |
---|
[1] Computer Architecture design and performance. Barry Wilkinson.Editorial Prentice-Hall (1996).
[2] Zemian & otros, “The PH processor: a soft embedded core for use in university research and teaching” [3] P.M. Sailer & D.R. Kaeli "The DLX Instruction Set Architecture Handbook" Morgan Kaufmann, 1996. [4] M.Flynn, “Computer engineering 30 years after the IBM Model 91" [5] D.A. Pattersson, D.R. Ditzel "The Case for the Reduced Instruction Set Computer" Commun. ACM, year 1985, num.1, vol.28, pag.8--21 |
XI - Resumen de Objetivos |
---|
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 segmentados y las particularidades consideraras al medir el desempeño de los mismos. *Percibir la complejidad requerida para computar soluciones en sistemas súper-escalares. |
XII - Resumen del Programa |
---|
Medidas de performance. Jerarquía de memorias. Memorias cache. Procesadores segmentados. Tipos de riesgos. Desempeño en sistemas segmentados. Impacto de los saltos condicionales en un procesador segmentado. Predicción de saltos. Procesador segmentado. Coherencia de cache. Procesadores super-escalares. El paralelismo a nivel de instrucciones y las interrupciones.
|
XIII - Imprevistos |
---|
Comunicarse con la cátedra.
Arquitectura del Procesador II. gaguirre@unsl.edu.ar 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 D5700HHW. Bloque II, 1ºpiso, Box 25 Tel 0266 4520300 Interno 2125 |
XIV - Otros |
---|
|