III III Jornadas: Docencia de de ISA ISA en en Informática y Computadores ARQUITECTURA E INGENIERÍA DE COMPUTADORES José José Sánchez Moreno Dpto. Dpto. Informática y Automática E.T.S.I. Informática UNED UNED Instituto de de Automática y Fabricación, Universidad de de León León 25-26 25-26 de de octubre de de 2004 2004
Marco de la asignatura E.T.S.I. Informática: 4ª curso de la titulación de Ingeniero en Informática. Asignatura troncal de 9 créditos (5 teóricos + 4 prácticos). Unos 1.100 alumnos en el presente curso académico. Descriptores BOE: Arquitecturas paralelas. Arquitecturas orientadas a aplicaciones y lenguajes.
Relación con asignaturas del 1 er ciclo 1 er curso 1 er cuatr. Gestión E. T.C. I Sistemas 2º cuatr. E. T.C. II 2º curso 1 er cuatr. Estructuras de Datos y Algoritmos 2º cuatr. Sistemas Operativos Sistemas Operativos I 3 er curso 1 er cuatr. Redes 4º curso Anual Arquitectura e Ingeniería de Computadores
Relación con asignaturas del 2º ciclo 4º curso 1 er cuatr. Arquitectura e Ingeniería de Computadores 2º cuatr. Sistemas Informáticos I 5º curso 1 er cuatr. Sistemas Distribuidos 2º cuatr. Proyecto Fin de Carrera
Objetivos de A.I.C. ª parte de la asignatura: Mejora de prestaciones en monoprocesadores Enfoque cuantitativo de las relaciones coste/rendimiento existentes en el diseño de un computador. Nuevos conceptos arquitectónicos: Arquitectura RISC. Segmentación. Mejora del rendimiento de la jerarquía de memoria. Procesadores vectoriales. Programación con un simulador de un procesador RISC.
Objetivos de A.I.C. ª parte de la asignatura: Arquitecturas y procesamiento paralelo Multiprocesadores (memoria compartida): Redes de interconexión dinámicas. Coherencia de cache. Multicomputadores (memoria distribuida): Redes de interconexión estáticas. Clusters: construcción y caracterización. Paradigma de paso de mensajes. Programación paralela: Sobre clusters con PVM (Parallel Virtual Machine) -> prácticas. Sobre multiprocesadores.
Temario de la 1ª parte 1. Fundamentos del diseño de computadores Conceptos básicos: latencia, productividad. Ley de Amdahl. 2. Rendimientos y coste Medidas del rendimiento: MIPS, MFLOPS. Análisis coste circuito integrado, estación trabajo. 3. Diseño de repertorios de instrucciones Análisis del uso de modos de direccionamiento, instrucciones y operandos. 4. Ejemplo y medidas de repertorios de instruc. Estudio de un procesador RISC: DLX. Análisis del uso del repertorio de instrucciones. 5. Técnicas de implementación de procesadore Control cableado, control microprogramado. Reducción del CPI, coste unidad de control. 6. Segmentación Conceptos básicos. Riesgos estructurales, de datos y de control. Planificación dinámica de la segmentación. Otras mejoras: desenrollamiento, seg. software. 7. Procesadores vectoriales Conceptos básicos: máquina vectorial DLXV. Mejoras y análisis del rendimiento. 8. Diseño de la jerarquía de memoria Principios y conceptos básicos. Rendimiento de la memoria cache y principal. Mejoras: prebúsqueda, cache de dos niveles.
Temario de la 2ª parte 1. Introducción a las arquitecturas paralelas Aspectos básicos. Ejemplos. 4. Sistemas de memoria distribuida. Multicomputadore Redes de interconexión estáticas. Clusters. Programación de clusters por paso de mensajes Paradigmas algorítmicos de programación de clusters. 2. Tipos de computación paralela: Taxonomía Clasificación de Flynn: SISD, SIMD, MIMD, MISD. Taxonomías de las arquitecturas paralelas: 5. PVM (Parallel Virtual Machine) Características. Arquitectura de PVM. Programación de aplicaciones en PVM. Ejemplos de PVM. 3. Sistemas de memoria compartida. Multiprocesadores. Redes de interconexión dinámicas: - Medio compartido, conmutadas 6. Paralelización de algoritmos de clasificación Protocolos de coherencia de cache. Ejemplos de clasificación paralela.
Plan de Actuación Docente (1/7) Textos base: 1ª parte: Mejora de prestaciones en sistemas monoprocesador. Arquitectura de Computadores: Una aproximación cuantitativa J. Hennessy y D.A. Patterson. Madrid: McGraw Hill, 1993. Problemas y ejercicios de Estructura y Tecnología de Computadores III J. Sánchez. Madrid: UNED, 1998. 2ª parte: Arquitecturas y procesamiento paralelo. Procesamiento paralelo: Teoría y programación S. Dormido, R. Hernández, S. Ros, J. Sánchez. Madrid: Sanz y Torres, 2003.
Plan de Actuación Docente (2/7) Textos complementarios: Para ambas partes: J.L. Hennessy y D.A. Patterson. Computer Architecture: A Quantitative Approach (3th. ed). San Francisco, CA: Morgan Kaufmann Publishers, 2002. D. Sima, T. Fountain y P. Kacsuk. Advanced Computer Architectures. Reading, MA: Addison Wesley, 1997. 1ª parte: D.A. Patterson y J.L. Hennessy. Organización y diseño de computadoras: La interfaz hardware/software. Madrid: McGraw-Hill, 1995. P.M. Sailer y D.R. Kaeli. The DLX instruction set architecture handbook. San Francisco, CA: Morgan Kaufmann Publishers, 1996. S. Dormido, M.A. Canto, J. Mira y A. Delgado. Estructura y tecnología de computadores (2ª edición). Madrid: Sanz y Torres, 2000. W. Stallings. Organización y arquitectura de computadores (5ª edición). Madrid: Prentice Hall, 2000.
Plan de Actuación Docente (3/7) Textos complementarios: 2ª parte: D. E. Culler y J. Pal. Parallel Computer Architecture. A Hardware/Software Approach. San Francisco, CA: Morgan Kaufmann, 1999. K. Hwang y Z. Xu. Advanced Computer Architecture: Parallelism, Scalability, Programmability. New York, NY: McGraw-Hill, 1993. A. Geist, A. Beguelin, J. Dongarra, W. Jiang, R. Manchek y V. Sunderam. PVM: Parallel Virtual Machine. A Users' Guide and Tutorial for Networked Parallel Computing. Cambridge, MA: MIT Press, 1994. V. Kumar, A. Grama, A. Gupta y G. Karypis. Introduction to Parallel Computing. Design and analysis of algorithms. Redwood City, CA: The Benjamin/Cummings Publishing Company, Inc., 1994. R. Hernández, J.C. Lázaro, R. Dormido y S. Ros. Estructuras de Datos y Algoritmos. Madrid Prentice-Hall, 2001.
Plan de Actuación Docente (4/7) Guía de Curso. Guía Didáctica. Enseñanza asistida por ordenador: CD-ROMs proporcionados por la E.T.S.I.Informática. Correo electrónico (aic@dia.uned.es). Servidor WWW. Curso virtual WebCT.
Plan de Actuación Docente: Prácticas (5/7) Parte fundamental de la formación del alumno. Problemas: Gran número de alumnos: 1.100 en el curso actual. Posible crecimiento. Si son presenciales y obligatorias: 1 er ciclo -> Centros Asociados. 2º ciclo -> Departamentos. Solución propuesta: Realización voluntaria de prácticas de simulación. 1ª parte: Programación con el ensamblador de DLX. 2ª parte: Programación en C de una máquina PVM.
Plan de Actuación Docente: Prácticas (6/7) Material de prácticas: Guión de prácticas 1ª y 2ª parte, software, manuales. Disponible en el WWW, WebCT, CD-ROMs. Guión de prácticas Simulador WinDLX PVM, Linux, Gcc WWW WebCT CD-ROM Memoria del trabajo realizado Programas en ensamblador Programas C PVM e-mail correo postal
Plan de Actuación Docente (7/7) Evaluación: Pruebas presenciales 1ª parte: Test con veinte preguntas 2ª parte: Test con veinte preguntas. Prácticas de carácter voluntario: Informes de los profesores-tutores.
Simulador WinDLX
Curso virtual en WebCT (1/3)
Curso virtual en WebCT (2/3)
Curso virtual en WebCT (3/3)
Distribución Temario (5T + 4P) 1ª PARTE: Mejora de prestaciones en monoprocesadores 1. Fundamentos del diseño de computadores. 2. Rendimientos y coste. 3. Diseño de repertorios de instrucciones: Alternativas y principios. 4. Ejemplos y medidas de utilización de repertorios de instrucciones. 5. Técnicas básicas de implementación de procesadores. 6. Segmentación. 7. Procesadores vectoriales. 8. Diseño de la jerarquía de memoria. 2ª PARTE: Arquitecturas y procesamiento paralelo 1. Introducción a las arquitecturas paralelas. 2. Tipos de computación paralela. Taxonomía. 3. Sistemas de memoria compartida. Multiprocesadores. 4. Sistemas de memoria distribuida. Multicomputadores: Clusters. 5. PVM (Parallel Virtual Machine) 6. Paralelización de algoritmos de clasificación. 2% 4% 4% 2% 8% 14% 9% 7% 2% 8% 12% 10% 10% 8%