Arquitectura de Computadores de Altas Prestaciones

Usted está aquí

Créditos
6
Tipos
Obligatoria
Requisitos
Esta asignatura no tiene requisitos, pero tiene capacidades previas
Departamento
AC
El principal objetivo de esta asignatura es que el alumno adquiera los fundamentos de las técnicas utilizadas a nivel de microarquitectura en los computadores de altas prestaciones, teniendo en cuenta las implicaciones en energía y potencia. Otro objetivo es la adquisición de las técnicas utilizadas a nivel de arquitectura para soportar la implementación eficiente de sistemas operativos.
El contenido de la asignatura cubre la aplicación de las técnicas de segmentación y paralelismo en el diseño de procesadores. En concreto los temas desarrollados capacitan para la evaluación del rendimiento de un sistema de cómputo al ejecutar aplicaciones y el conocimiento del soporte de la arquitectura para una implementación eficiente de sistemas operativos. Además capacitan para la utilización de lenguajes de descripción hardware y su utilización para la descripción de elementos de un procesador.

Profesores

Responsable

  • Jose M. Llaberia Griñó ( )

Otros

  • Angel Olivé Duran ( )
  • Miquel Moretó Planas ( )

Horas semanales

Teoría
1.5
Problemas
1.5
Laboratorio
1
Aprendizaje dirigido
0
Aprendizaje autónomo
7.46

Competencias

Competencias Técnicas de cada especialidad

Específicas

  • CTE1 - Capacidad para modelar, diseñar, definir la arquitectura, implantar, gestionar, operar, administrar y mantener aplicaciones, redes, sistemas, servicios y contenidos informáticos.
  • CTE6 - Capacidad para diseñar y evaluar sistemas operativos y servidores, y aplicaciones y sistemas basados en computación distribuida.
  • CTE7 - Capacidad para comprender y poder aplicar conocimientos avanzados de computación de altas prestaciones y métodos numéricos o computacionales a problemas de ingeniería.

Competencias Técnicas Genéricas

Genéricas

  • CG1 - Capacidad para proyectar, calcular y diseñar productos, procesos e instalaciones en todos los ámbitos de la ingeniería informática.
  • CG3 - Capacidad para dirigir, planificar y supervisar equipos multidisciplinares.
  • CG4 - Capacidad para el modelado matemático, cálculo y simulación en centros tecnológicos y de ingeniería de empresa, particularmente en tareas de investigación, desarrollo e innovación en todos los ámbitos relacionados con la Ingeniería en Informática.
  • CG6 - Capacidad para la dirección general, dirección técnica y dirección de proyectos de investigación, desarrollo e innovación, en empresas y centros tecnológicos, en el ámbito de la Ingeniería Informática.
  • CG8 - Capacidad para la aplicación de los conocimientos adquiridos y de resolver problemas en entornos nuevos o poco conocidos dentro de contextos más amplios y mulitidisciplinares, siendo capaces de integrar estos conocimientos.

Competencias Transversales

Actitud frente al trabajo

  • CTR5 - Tener motivación para la realización profesional y para afrontar nuevos retos, así como una visión amplia de las posibilidades de la carrera profesional en el ámbito de la Ingeniería en Informática. Tener motivación por la calidad y la mejora continua, y actuar con rigor en el desarrollo profesional. Capacidad de adaptación a los cambios organizativos o tecnológicos. Capacidad de trabajar en situaciones de falta de información y/o con restricciones temporales y/o de recursos.

Básicas

  • CB6 - Que los estudiantes sepan aplicar los conocimientos adquiridos y su capacidad de resolución de problemas en entornos nuevos o poco conocidos dentro de contextos más amplios (o multidisciplinares) relacionados con su área de estudio.

Objetivos

  1. Capacitación para aplicar las técnicas de segmentación y paralelismo en el diseño de procesadores.
    Competencias relacionadas: CTE1, CTR5,
  2. Capacitación para evaluar el rendimiento de un sistema de cómputo al ejecutar aplicaciones.
    Competencias relacionadas: CTE6, CTE7, CTR5, CG4,
  3. Capacitación para explotar las capacidades de un sistema de cómputo y soportar u ocultar las debilidades.
    Competencias relacionadas: CTE7, CTR5, CG4,
  4. Capacitación para diseñar y evaluar el soporte de la arquitectura para una implementación eficiente de sistemas operativos.
    Competencias relacionadas: CTE6, CTR5,
  5. Capacitación para la utilización de un lenguaje de descripción hardware y su aplicación en la especificación de elementos de un procesador.
    Competencias relacionadas: CTE1, CTE7, CG1, CG3, CG6, CG8,

Contenidos

  1. Computador y métricas de evaluación
    Elementos constituyentes de un computador, funcionamiento, jerarquía de memoria, multihilo, consumo de energía y métricas de evaluación
  2. Segmentación y paralelismo
    Utilización de la técnicas de segmentación y paralelismo para incrementar la productividad. Recursos necesarios
  3. Segmentación del proceso de interpretación de instrucciones
    Camino de datos de un procesador segmentado lineal y el control del mismo. Concepto de riesgos de datos y de secuenciamiento. Adecuación de semánticas
  4. Incremento de prestaciones
    Técnicas software y hardware para reducir el número de ciclos perdidos en un procesador segmentado
  5. Procesador multiciclo y superescalar
    Interpretación de instrucciones con latencia de ejecución mayor que la latencia de inicio. Utilización de la técnica de paralelismo para interpretar instrucciones
  6. Excepciones e interrupciones
    Necesidades en el camino de datos y en el control del mismo para la atención de interrupciones y excepciones y su gestión
  7. Multiprocesadores
    Elementos de un sistema multiprocesador. Cache privadas. Conceptos de consistencia de memoria y coherencia de cache.
  8. Lenguaje de descripción hardware VHDL
    Aprendizaje de un lenguaje de descripción de hardware

Actividades

Actividad Acto evaluativo


Lenguaje de descripción hardware

Aprendizaje del lenguaje VHDL para describir y simular circuitos lógicos. Descripción de componentes básicos en el camino de datos de un procesador y su verificación posterior
  • Laboratorio: Aprendizaje del los constructores básicos del lenguaje VHDL. Descripción y verificación de un sumador de un bit. Utilización de la descripción previa para describir y verificar un sumador de cuatro bits. Descripción y verificación de un camino de datos con un banco de registros y un sumador
  • Aprendizaje autónomo: Aprendizaje de los constructores básicos VHDL para describir circuitos combinatorios y secuenciales. Aprendizaje de las técnicas de verificación de circuitos. Preparación de las prácticas de laboratorio asociadas, contestar a les preguntes i reflexionar sobre les respostes
Objetivos: 5
Contenidos:
Teoría
0h
Problemas
0h
Laboratorio
5h
Aprendizaje dirigido
0h
Aprendizaje autónomo
14h

Análisis de un procesador serie

Estudio del camino de datos de un procesador serie. Identificación de las partes del camino de datos utilizadas por cada tipo de instrucción. Análisis y cálculo del retardo para cada tipo de instrucción y determinación del tiempo de ciclo del procesador
  • Laboratorio: Realizar las acciones y comprobaciones que se indican en la documentación
  • Aprendizaje autónomo: Estudiar la documentación de la práctica, contestar a las preguntas y reflexionar sobre las respuestas
Objetivos: 2
Contenidos:
Teoría
0h
Problemas
0h
Laboratorio
3h
Aprendizaje dirigido
0h
Aprendizaje autónomo
6h

Diseño del control de un procesador segmentado. Determinación del tiempo de ciclo

Análisis de camino de datos. Diseño del control para un funcionamiento que se adecue a la semántica del lenguaje máquina. Determinación del tiempo de ciclo
  • Laboratorio: Realizar las acciones y comprobaciones que se indican en la documentación e implementar el control del camino de datos
  • Aprendizaje autónomo: Estudiar la documentación de la práctica, diseñar el control del camino de datos, contestar a las preguntas y reflexionar sobre las respuestas
Objetivos: 1
Contenidos:
Teoría
0h
Problemas
0h
Laboratorio
3h
Aprendizaje dirigido
0h
Aprendizaje autónomo
8h

Diseño de un procesador mejorado

Diseño de un procesador segmentado con cortocircuitos para reducir los ciclos perdidos y el control del camino de datos resultante
  • Laboratorio: Realizar las acciones y comprobaciones que se indican en la documentación e implementar el control del camino de datos con cortocircuitos
  • Aprendizaje autónomo: Estudiar la documentación de la práctica, diseñar el control del camino de datos con cortocircuitos, contestar a las preguntas y reflexionar sobre las respuestas
Objetivos: 1 3
Contenidos:
Teoría
0h
Problemas
0h
Laboratorio
3h
Aprendizaje dirigido
0h
Aprendizaje autónomo
7h

Computador y métricas de evaluación

Desarrollo del tema 1 de la asignatura
  • Teoría: Descripción de los componentes básicos de un computador Von-Neumann incluyendo la jerarquía de memoria. Exposición de las métricas de evaluación utilizadas usualmente
  • Problemas: Realización de problemas relacionados con el tema
  • Aprendizaje autónomo: Estudio de los conceptos del tema y conceptos relacionados y realización de problemas para consolidar los conceptos
Objetivos: 2 3
Contenidos:
Teoría
2h
Problemas
3h
Laboratorio
0h
Aprendizaje dirigido
0h
Aprendizaje autónomo
9h

Segmentación y paralelismo

Desarrollo del tema 2 de la asignatura
  • Teoría: Descripción de las técnicas de segmentación y paralelismo para incrementar la productividad. Utilización de métricas para evaluar incrementos o reducciones de productividad y consumo energético
  • Problemas: Realización de problemas relacionados con el tema
  • Aprendizaje autónomo: Estudio de los conceptos del tema y conceptos relacionados y realización de problemas para consolidar los conceptos
Objetivos: 1 2
Contenidos:
Teoría
3h
Problemas
2h
Laboratorio
0h
Aprendizaje dirigido
0h
Aprendizaje autónomo
6h

Segmentación del proceso de interpretación de instrucciones

Desarrollo del tema 3 de la asignatura
  • Teoría: Aplicación de la técnica de segmentación al proceso de interpetación de instrucciones realizado por un procesador. Observación y análisis de la necesidad de adecuar una segmentación ingénua a la semántica del lenguaje máquina
  • Problemas: Realización de problemas relacionados con el tema
  • Aprendizaje autónomo: Estudio de los conceptos del tema y conceptos relacionados y realización de problemas para consolidar los conceptos
Objetivos: 1 2 3
Contenidos:
Teoría
3h
Problemas
3h
Laboratorio
0h
Aprendizaje dirigido
0h
Aprendizaje autónomo
10h

Incremento de prestaciones

Desarrollo del tema 4 de la asignatura
  • Teoría: Utilización de técnicas software y hardware para mejorar el rendimiento de un procesador segmentado básico
  • Problemas: Realización de problemas relacionados con el tema
  • Aprendizaje autónomo: Estudio de los conceptos del tema y conceptos relacionados y realización de problemas para consolidar los conceptos
Objetivos: 2 3
Contenidos:
Teoría
3h
Problemas
3h
Laboratorio
0h
Aprendizaje dirigido
0h
Aprendizaje autónomo
12h

Procesador multiciclo y superescalar

Desarrollo del tema 5 de la asignatura
  • Teoría: Utilización de varias ramificaciones en la microarquitectura para mejorar el rendimiento y soportar la capacidad de interpretar instrucciones en paralelo
  • Problemas: Realización de problemas relacionados con el tema
  • Aprendizaje autónomo: Estudio de los conceptos del tema y conceptos relacionados y realización de problemas para consolidar los conceptos
Objetivos: 1 2 3
Contenidos:
Teoría
3h
Problemas
3h
Laboratorio
0h
Aprendizaje dirigido
0h
Aprendizaje autónomo
10h

Excepciones e interrupciones

Desarrollo del tema 6 de la asignatura
  • Teoría: Control de excepciones en un procesador segmentado para que se adecue a la semántica del lenguaje máquina. Control de interrupciones para atender a dispositivos externos
  • Problemas: Realización de problemas relacionados con el tema
  • Aprendizaje autónomo: Estudio de los conceptos del tema y conceptos relacionados y realización de problemas para consolidar los conceptos
Objetivos: 2 4
Contenidos:
Teoría
1h
Problemas
1h
Laboratorio
0h
Aprendizaje dirigido
0h
Aprendizaje autónomo
7h

Multiprocesadores

Desarrollo del tema 7 de la asignatura
  • Teoría: Introducción al paralelismo utilizando varios procesadores. Conceptos de consistencia de memoria y coherencia en la jerarquía de memoria
  • Problemas: Realización de problemas relacionados con el tema
  • Aprendizaje autónomo: Estudio de los conceptos del tema y conceptos relacionados y realización de problemas para consolidar los conceptos
Objetivos: 1 2 3
Contenidos:
Teoría
2h
Problemas
2h
Laboratorio
0h
Aprendizaje dirigido
0h
Aprendizaje autónomo
8h

Examen final

Evaluación de la consolidación de los conceptos expuestos durante el curso mediante la respuesta a problemas y preguntas de razonamiento sobre conceptos expuestos
Objetivos: 1 2 3 4
Semana: 15 (Fuera de horario lectivo)
Tipo: examen final
Teoría
0h
Problemas
0h
Laboratorio
0h
Aprendizaje dirigido
3h
Aprendizaje autónomo
0h

Prueba

Evaluación de los objetivos correspondientes a los tres primeros temas
Objetivos: 1 2 3
Semana: 8
Tipo: examen de teoría
Teoría
1h
Problemas
0h
Laboratorio
0h
Aprendizaje dirigido
0h
Aprendizaje autónomo
0h

Prueba

Evaluación de los objetivos correspondientes a los tres primeros temas
Objetivos: 1 2 3
Semana: 8
Tipo: examen de problemas
Teoría
0h
Problemas
1h
Laboratorio
0h
Aprendizaje dirigido
0h
Aprendizaje autónomo
0h

Metodología docente

Clases de teoria en las cuales se desarrollan los conceptos y hay participación de los alumnos.
Clases de problemas donde se aplican los conceptos desarrollados en las clases de teoría y el agente activo es el alumno.
Clases de laboratorio donde se aplican los conceptos desarrollados en clase de teoría en un ejemplo concreto de procesador. El agente activo es el alumno y la colaboración entre los elementos que componen el grupo es el medio para incrementar o asentar el conocimiento.
El curso se desarrolla de forma contructiva. Esto es, se parte de los conceptos adquiridos en el grado y en cada tema de la asignatura se incrementa el conocimiento y la capacidad de comprender, analizar y razonar sobre aspectos de un procesador. Esta capacitación es además cuantitativa.

Método de evaluación

Las competencias tienen un peso proporcional al tiempo dedicado a ellas en las actividades y se evalúan de forma indirecta apartir de las notas de la prueba, examen final y laboratorio.
Las dos pruebas se realizan de forma consecutiva el mismo día y constituyen un único examen.
Prueba (P): Prueba escrita donde se evalúan los objetivos correspondientes a los tres primeros temas.
Examen final (F): Prueba escrita donde se evalúan todos los objetivos de la asignatura.
Laboratorio (L): Se evalúa a partir de los informes entregados en cada una de las sesiones prácticas y, en su caso, de una entrevista personal.

La nota final (NF) se calcula mediante la siguiente expresión:
NF = max (0.8 x F, (0.65 x F + 0.15 x P) ) + 0.2 x L


El nivel de consecución de la competencia transversal se evalúa
indirectamente a partir de las notas de la prueba y del examen final.
La nota correspondiente es:
A si 8.5 =< NF; B si 7 =< NF < 8.5; C si 5 =< NF < 7; D si NF < 5

Bibliografía

Básica:

Capacidades previas

Circuitos lógicos combinacionales y secuenciales. Funcionamiento de un computador: componentes, interconexiones, excepciones e interrupciones. Lenguaje máquina: programación y representación de datos. Jerarquía de memoria: funcionamiento y mecanismos que la soportan. Sistemas operativos: traducción de direcciones, gestión de excepciones e interrupciones