III Jornadas: Docencia de ISA en Informtica yyComputadores III Jornadas: Docencia de ISA en Informtica Computadores
ARQUITECTURA E INGENIERA DE COMPUTADORES ARQUITECTURA E INGENIERA DE COMPUTADORES
Jos Snchez Moreno Jos Snchez Moreno Dpto. Informtica yyAutomtica Dpto. Informtica Automtica E.T.S.I. Informtica E.T.S.I. Informtica UNED UNED Instituto de Automtica yyFabricacin, Universidad de Len Instituto de Automtica Fabricacin, Universidad de Len 25-26 de octubre de 2004 25-26 de octubre de 2004
Marco de la asignatura
E.T.S.I. Informtica:
4 curso de la titulacin de Ingeniero en Informtica. Asignatura troncal de 9 crditos (5 tericos + 4 prcticos). Unos 1.100 alumnos en el presente curso acadmico. Descriptores BOE:
Arquitecturas paralelas. Arquitecturas orientadas a aplicaciones y lenguajes.
Relacin con asignaturas del 1er ciclo
1er curso
Gestin
1er cuatr.
Sistemas
E. T.C. I E. T.C. II
2 cuatr.
2 curso
1er cuatr.
Estructuras de Datos y Algoritmos
2 cuatr.
Sistemas Operativos
Sistemas Operativos I
3er curso 4 curso
1er cuatr.
Redes
Anual
Arquitectura e Ingeniera de Computadores
Relacin con asignaturas del 2 ciclo
4 curso
1er cuatr. 2 cuatr. Arquitectura e Ingeniera de Computadores Sistemas Informticos I
5 curso
1er cuatr. Sistemas Distribuidos
2 cuatr.
Proyecto Fin de Carrera
Objetivos de A.I.C.
1 parte de la asignatura: Mejora de prestaciones en monoprocesadores
Enfoque cuantitativo de las relaciones coste/rendimiento existentes en el diseo de un computador. Nuevos conceptos arquitectnicos:
Arquitectura RISC. Segmentacin. Mejora del rendimiento de la jerarqua de memoria. Procesadores vectoriales.
Programacin con un simulador de un procesador RISC.
Objetivos de A.I.C.
2 parte de la asignatura: Arquitecturas y procesamiento paralelo Multiprocesadores (memoria compartida):
Redes de interconexin dinmicas. Coherencia de cache.
Multicomputadores (memoria distribuida):
Redes de interconexin estticas. Clusters: construccin y caracterizacin. Paradigma de paso de mensajes.
Programacin paralela:
Sobre clusters con PVM (Parallel Virtual Machine) -> prcticas. Sobre multiprocesadores.
Temario de la 1 parte
1. Fundamentos del diseo de computadores Conceptos bsicos: latencia, productividad. Ley de Amdahl. 2. Rendimientos y coste Medidas del rendimiento: MIPS, MFLOPS. Anlisis coste circuito integrado, estacin trabajo. 3. Diseo de repertorios de instrucciones Anlisis del uso de modos de direccionamiento, instrucciones y operandos. 4. Ejemplo y medidas de repertorios de instruc. Estudio de un procesador RISC: DLX. Anlisis del uso del repertorio de instrucciones. 8. Diseo de la jerarqua de memoria Principios y conceptos bsicos. Rendimiento de la memoria cache y principal. Mejoras: prebsqueda, cache de dos niveles. Control cableado, control microprogramado. Reduccin del CPI, coste unidad de control. 6. Segmentacin Conceptos bsicos. Riesgos estructurales, de datos y de control. Planificacin dinmica de la segmentacin. Otras mejoras: desenrollamiento, seg. software. 7. Procesadores vectoriales Conceptos bsicos: mquina vectorial DLXV. Mejoras y anlisis del rendimiento.
5. Tcnicas de implementacin de procesadore
Temario de la 2 parte
1. Introduccin a las arquitecturas paralelas Aspectos bsicos. Ejemplos. Redes de interconexin estticas. Clusters. Programacin de clusters por paso de mensajes Paradigmas algortmicos de programacin de clusters. 2. Tipos de computacin paralela: Taxonoma Clasificacin de Flynn: SISD, SIMD, MIMD, MISD. Taxonomas de las arquitecturas paralelas: 5. PVM (Parallel Virtual Machine) Caractersticas. Arquitectura de PVM. Programacin de aplicaciones en PVM. Ejemplos de PVM. 3. Sistemas de memoria compartida. Multiprocesadores. Redes de interconexin dinmicas: - Medio compartido, conmutadas Protocolos de coherencia de cache. 6. Paralelizacin de algoritmos de clasificacin Ejemplos de clasificacin paralela.
4. Sistemas de memoria distribuida. Multicomputadore
Plan de Actuacin Docente (1/7)
Textos base:
1 parte: Mejora de prestaciones en sistemas monoprocesador. Arquitectura de Computadores: Una aproximacin cuantitativa J. Hennessy y D.A. Patterson. Madrid: McGraw Hill, 1993. Problemas y ejercicios de Estructura y Tecnologa de Computadores III J. Snchez. Madrid: UNED, 1998. 2 parte: Arquitecturas y procesamiento paralelo. Procesamiento paralelo: Teora y programacin S. Dormido, R. Hernndez, S. Ros, J. Snchez. Madrid: Sanz y Torres, 2003.
Plan de Actuacin 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. Organizacin y diseo 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 tecnologa de computadores (2 edicin). Madrid: Sanz y Torres, 2000. W. Stallings. Organizacin y arquitectura de computadores (5 edicin). Madrid: Prentice Hall, 2000.
Plan de Actuacin 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. Hernndez, J.C. Lzaro, R. Dormido y S. Ros. Estructuras de Datos y Algoritmos. Madrid Prentice-Hall, 2001.
Plan de Actuacin Docente (4/7)
Gua de Curso. Gua Didctica. Enseanza asistida por ordenador:
CD-ROMs proporcionados por la E.T.S.I.Informtica. Correo electrnico (
[email protected]). Servidor WWW. Curso virtual WebCT.
Plan de Actuacin Docente: Prcticas (5/7)
Parte fundamental de la formacin del alumno. Problemas:
Gran nmero de alumnos: 1.100 en el curso actual. Posible crecimiento. Si son presenciales y obligatorias: 1er ciclo -> Centros Asociados. 2 ciclo -> Departamentos.
Solucin propuesta:
Realizacin voluntaria de prcticas de simulacin. 1 parte: Programacin con el ensamblador de DLX. 2 parte: Programacin en C de una mquina PVM.
Plan de Actuacin Docente: Prcticas (6/7)
Material de prcticas: Guin de prcticas 1 y 2 parte, software, manuales. Disponible en el WWW, WebCT, CD-ROMs.
Guin de prcticas 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 Actuacin Docente (7/7)
Evaluacin:
Pruebas presenciales
1 parte: Test con veinte preguntas 2 parte: Test con veinte preguntas.
Prcticas de carcter 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)
Distribucin Temario (5T + 4P)
1 PARTE: Mejora de prestaciones en monoprocesadores 1. Fundamentos del diseo de computadores. 2. Rendimientos y coste. 3. Diseo de repertorios de instrucciones: Alternativas y principios. 4. Ejemplos y medidas de utilizacin de repertorios de instrucciones. 5. Tcnicas bsicas de implementacin de procesadores. 6. Segmentacin. 7. Procesadores vectoriales. 8. Diseo de la jerarqua de memoria. 2 PARTE: Arquitecturas y procesamiento paralelo 1. Introduccin a las arquitecturas paralelas. 2. Tipos de computacin paralela. Taxonoma. 3. Sistemas de memoria compartida. Multiprocesadores. 4. Sistemas de memoria distribuida. Multicomputadores: Clusters. 5. PVM (Parallel Virtual Machine) 6. Paralelizacin de algoritmos de clasificacin. 2% 8% 12% 10% 10% 8% 2% 4% 4% 2% 8% 14% 9% 7%