Última actualización: 17/05/2022


Curso Académico: 2022/2023

Organización de Computadores
(13885)
Doble Grado en Ingeniería Informática y Administración de Empresas (Plan 2011) (Plan: 258 - Estudio: 233)


Coordinador/a: MORENO LORENTE, LUIS ENRIQUE

Departamento asignado a la asignatura: Departamento de Ingeniería de Sistemas y Automática

Tipo: Obligatoria
Créditos: 6.0 ECTS

Curso:
Cuatrimestre:




Objetivos
El objetivo de este curso es que el estudiante conozca la evolución y estructura interna de las arquitecturas de los computadores y los principales factores que influyen en las prestaciones de un computador. Entre los conceptos en los que se profundizará están: las condiciones necesarias para el paralelismo, el diseño del repertorio de instrucciones, la microarquitectura del procesador y las principales técnicas de paralelismo interno que se aplican en los procesadores actuales con el fin de mejorar sus prestaciones (caches en el procesador, planificación dinámica de instrucciones, predicción de saltos, superescalaridad) . Por último se abordarán las máquinas superescalares, supersegmentadas y VLIW como evolución de los procesadores en la búsqueda de un mayor grado de paralelismo a nivel de instrucción. Para lograr este objetivo el alumno adquirirá los Program Outcomes (PO) siguientes: a, b, c, d, e, f, g, h, i, k.¿Relacionados con las competencias siguientes:¿ 1 Competencias Transversales/Genéricas¿ 1.1 Capacidad de análisis y síntesis. (PO: b, e, g)¿ 1.2 Capacidad de organizar y planificar. (PO: b, c, h) ¿ 1.3 Resolución de problemas (PO: a, e, k)¿ 1.4 Trabajo en equipo (PO: d)¿ 1.5 Capacidad de aplicar los conocimientos en la práctica PO: a, b, c, e, f, i, k)¿ 2 Competencias Específicas¿ 2.1 Cognitivas (Saber) (PO: a, b, c, e, f, h, k)¿ - Conocer los elementos básicos que constituyen la arquitectura del computador, del procesador y su importancia en el rendimiento. - Comprender las condiciones básicas que se requieren para el paralelismo, analizar las dependencias existentes en el software y como afectan en la ejecución de dicho software en un computador con diferentes arquitecturas. - Conocer la estructura básica y forma de procesamiento de un procesador segmentado y cuales son los problemas básicos que limitan la eficiencia en el procesamiento. - Conocer los métodos avanzados que para de aumento del paralelismo de ejecución a nivel de procesador se utilizan en la arquitecturas actuales. 2.2 Procedimentales/Instrumentales (Saber hacer) (PO: b, c, e, k)¿ - Métodos de reordenación del código de un programa para mejorar la eficiencia de su ejecución. - Utilizar un simulador para analizar las ined¡ficiencias de ejecución.¿ - Usar herramientas de simulación y monitorización de arquitecturas de procesadores ¿ 2.3 Actitudinales (Ser) (PO: e, g, h, i)¿ - Capacidad para generar nuevas ideas (creatividad)¿ - Actitud crítica respecto a las arquitecturas de procesadores actuales¿ - Preocupación por las prestaciones de las arquitecturas de procesadores actuales. ¿ - Motivación para busqueda de mejores soluciones - Interés por investigar y buscar soluciones a nuevos problemas relacionados con la arquitectura de los procesadores actuales. En cuanto a las capacidades, éstas las podemos clasificar en dos grupos uno de capacidades específicas y otro de capacidades más genéricas o destrezas. En cuanto a las capacidades específicas, al finalizar el curso el alumno será capaz de: ¿ Entender el funcionamiento de un procesador segmentado básico. ¿ Analizar las dependencias existentes en un cierto código y su efecto sobre el procesamiento. ¿ Comprender el funcionamiento y limitaciones de los procesadores existentes y las lineas de mejora. ¿ Interpretar los datos sobre prestaciones obtenidos de la ejecución de un código sobre una máquina. En cuanto a las capacidades generales o destrezas, durante el curso se trabajarán: ¿ Visión de conjunto respecto al problema complejo de la ejecución de instrucciones en un procesador segmentado. ¿ Habilidad para diseñar y llevar a cabo experimentos de optimización de un código, así como organizar, analizar e interpretar los resultados. Esta capacidad se trabajará especialmente en las prácticas de laboratorio así como en la resolución y discusión de casos de estudio. ¿ Capacidad para trabajar en equipo de forma cooperativa, crítica y respetuosa con las soluciones propuestas por los demás, crea
Descripción de contenidos: Programa
El programa se descompone del siguiente modo : 1. Introducción a la computación en paralelo. Concepto de paralelismo y evolución histórica. 2. Organización general de un computador. 3. Condiciones para el paralelismo y análisis de las prestaciones. Análisis de dependencias. Niveles de paralelización y tamaño de grano. Caracterización del rendimiento. Modelos de rendimiento teórico. 4. Fundamentos de la segmentación. Conceptos básicos de la segmentación. Estructura de control de las unidades funcionales segmentadas. 5. Procesadores segmentados. Etapas básicas de un procesador segmentado con planificación estática de instrucciones. Tipos de riesgos y soluciones a los mismos. Ejecución multiciclo. Planificación dinámica de instrucciones. Predicción dinámica de saltos. 6. Arquitecturas superescalares , supersegmentadas y VLIW. Conceptos de procesador superescalar y supersegmentado. Prestaciones de un procesador superescalar y de un procesador supersegmentado. Procesadores VLIW. Situación actual de los procesadores.
Actividades formativas, metodología a utilizar y régimen de tutorías
Las actividades que se llevan a cabo en la impartición de la asignatura son: 1. Clases magistrales. Presentación de los principales conceptos. Discusión y aclaración de dudas sobre los conceptos. Se trabajará sobre transparencias que se les darán a los alumnos para facilitar el aprendizaje además de un texto o textos básicos de referencia requeridos en la asignatura. 2. Clases de ejercicios prácticos. Sesiones en las que se plantean problemas y se deja a los estudiantes en grupos que planteen sus soluciones. 3. Laboratorios. A los alumnos (en equipos pequeños) se les propondrán casos prácticos de estudio, deberán estudiarlos y posteriormente sacar los datos de simulación y analizarlos. Se utilizará el conocimiento de los temas tratados en clases magistrales y clases prácticas en la asignatura. Se hará un estudio previo, se trabajará en el laboratorio y posteriormente se entregará un informe escrito con los resultados y soluciones propuestas. Adenda COVID-19: Con motivo de la situación provocada por el COVID-19, si fuese necesario tanto las clases de teoría como las clases de ejercicios practicos se realizarán on-line, las prácticas se intentaran realizar en los laboratorios salvo imposibilidad en cuyo caso se adaptarían también para hacerlas on line.
Sistema de evaluación
  • Peso porcentual del Examen Final 0
  • Peso porcentual del resto de la evaluación 100

Bibliografía básica
  • D. A. PATTERSON y J. L . HENNESSY. Estructura y diseño de computadores: interficie circuitería/programación. Ed Reverté. 2000
  • J. L. HENNESSY y D.A. PATTERSON. Computer Architecture: A Quantitative Approach. Fourth Edition. Ed Elsevier . 2007
  • J. SILC et al,. Processor Architecture?. Springer Verlag. 1999
  • J.P. SHEN y M.H. LIPPASTI. Modern Processor Design: Fundamentals of superscalar processors. Ed Mac Graw Hill. 2005
  • K. HWANG. Advanced Computer Architecture. Mc Graw-Hill. 1993
Bibliografía complementaria
  • A.R. OMONDI. The Microarchitecture of Pipelined and Superscalar Computers. Kluwer Academic Publishers. 1999
  • H. S. STONE. High Performance Computer Architecture. Ed Addison Wesley. 1993
  • P. M. KOGGE. The Architecture of Pipelined Computers. Ed Mc Graw Hill. 1981

El programa de la asignatura podría sufrir alguna variación por causa de fuerza mayor debidamente justificada o por eventos académicos comunicados con antelación.