Tipos
      
      
        Obligatoria de especialidad (Ingeniería de Computadores)      
     
    
      
        Requisitos
      
      
                  
                            - Prerrequisito:
                  AC2
                
- Prerrequisito:
                  PAR
                
 
     
    
    
       
  
    El principal objetivo de esta asignatura es que el alumno adquiera los fundamentos de consistencia de memoria y coherencia de cache en sistemas multiprocesador. El contenido de la asignatura cubre el espectro de multiprocesadores de pequeña escala hasta mutliprocesadores escalables. También se centra en la disponibilidad y utilización de instrucciones atómicas de lectura-modificación-escritura. En concreto los temas desarrollados capacitan para la evaluación del rendimiento de un sistema multiprocesador al ejecutar aplicaciones paralelas. Además capacitan para la utilización de lenguajes de descripción hardware y su utilización para la especificación de la jerarquía de memoria en un multiprocesador.  
  
    Profesorado
          Responsable
      
                  - 
            Adrià Armejach Sanosa ( 
 
    )
          
Otros
      
      
  
  
    Competencias
          Competencias Técnicas
              Competencias técnicas comunes
        
                      - 
              CT6 - Demostrar conocimiento y comprensión del funcionamiento interno de un computador y del funcionamiento de las comunicaciones entre ordenadores.                               
                                      - 
                      CT6.2 
                      - Demostrar conocimiento, comprensión y capacidad de evaluar la estructura y la arquitectura de los computadores, así como los componentes básicos que los conforman.
 
- 
              CT7 - Evaluar y seleccionar plataformas de producción hardware y software para la ejecución de aplicaciones y de servicios informáticos.                               
                                      - 
                      CT7.1 
                      - Demostrar conocimiento  de las métricas de calidad y saber utilizarlas.
 
Competencias Transversales
              Aprendizaje autónomo
        
                      - 
              G7 [Avaluable] - Detectar carencias en el propio conocimiento y superarlas mediante la reflexión crítica y la elección de la mejor actuación para ampliar este conocimiento. Capacidad para el aprendizaje de nuevos métodos y tecnologías y versatilidad para adaptarse a nueves situaciones.                               
                                      - 
                      G7.3 
                      - Aprendizaje autónomo: Capacidad de planificación y organización del trabajo personal. Aplicar los conocimientos adquiridos a la realización de una tarea en función de la pertenencia y la importancia, decidiendo la manera de llevarla a cabo y el tiempo que hay que dedicarle y seleccionando las fuentes de información más adecuadas. Identificar la importancia de establecer y mantener contactos con los compañeros de estudios, con el profesorado y con profesionales (networking). Identificar fórums de información sobre ingeniería TIC, sus avances y su impacto en la sociedad (IEEE, asociaciones, etc.).
 
Competencias Técnicas de cada especialidad
              Especialidad ingeniería de computadores
        
                      - 
              CEC2 - Analizar y evaluar arquitecturas de computadores incluyendo plataformas paralelas y distribuidas, y desarrollar y optimizar software para dichas plataformas.                              
                                      - 
                      CEC2.1 
                      - Analizar, evaluar, seleccionar y configurar plataformas hardware para el desarrollo y la ejecución de aplicaciones y servicios informáticos.
 
- 
              CEC3 - Desarrollar y analizar hardware y software para sistemas empotrados y/o de muy bajo consumo.                               
                                      - 
                      CEC3.2 
                      - Desarrollar procesadores específicos y sistemas empotrados; desarrollar y optimizar el software de estos sistemas. 
 
Objetivos
    
              - 
          Capacitación para comprender los conceptos básicos en multiprocesadores: terminología, organización, elementos que componen un multiprocesador, consistencia y coherencia de memoria.          
 Competencias relacionadas:
                      CEC2.1,
                      CT6.2,
                      G7.3,
- 
          Capacitación para comprender los conceptos básicos de comunicación y sincronización en un multiprocesador.          
 Competencias relacionadas:
                      CEC2.1,
                      CT6.2,
                      G7.3,
- 
          Capacitación para comprender las restricciones que impone la tecnología, trabas al funcionamiento ideal al implementar un multiprocesador y soluciones adoptadas.          
 Competencias relacionadas:
                      CEC3.2,
                      CT6.2,
- 
          Capacitación para analizar y evaluar de forma crítica un multiprocesador y sus elementos.          
 Competencias relacionadas:
                      CEC2.1,
                      CT7.1,
                      CT6.2,
- 
          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 multiprocesador          
 Competencias relacionadas:
                      CEC3.2,
                      CT7.1,
                      CT6.2,
Contenidos
      
    
              - 
          Motivación          
 Trabas existentes para explotar el paralelismo a nivel de instrucción. Incremento de la productividad de un procesador utilizando la técnica multihilo. Aprovechamiento del número de transistores disponibles en un chip mediante la técnica de replicación de procesadores.
- 
          Consistencia y coherencia de memoria          
 Conceptos de consistencia de memoria y coherencia de cache. Modelo de memoria especificado en el lenguaje máquina. Necesidad de mantener la coherencia entre las copias de un dato.
- 
          Multiprocesador básico          
 Elementos de un sistema multiprocesador. Cache privadas. Red de interconexión: Soporte de un modelo de consistencia. Coherencia de cache.
- 
          Comunicación y sincronización          
 Soporte del lenguaje máquina a la comunicación y sincronización. Mecanismos básicos de sincronización.
- 
          Multiprocesador de pequeña escala          
 Incremento del rendimiento. Reducción del ancho de banda necesario. Protocolos de coherencia de cache.Multiprocesador en un chip.
- 
          Multiprocesador escalable          
 Implicaciones del número de procesadores en la arquitectura de un multiprocesador. Interconexión de varios chips multiprocesador.
Actividades
    
      Actividad
      Acto evaluativo
    
    
    
                      
          
            
              Prueba
              Evaluación de los objetivos correspondientes a los tres primeros temas              
              
                              
Objetivos:
                                  1
                                  4
                                  5
                                            
                                                              Semana: 
                  8                                    
                                            
            
 
            
           
         
        
                      
          
            
              Consolidación
              Examen final. Evaluación de todos los objetivos de la asignatura.              
              
                              
Objetivos:
                                  1
                                  3
                                  4
                                  5
                                  2
                                            
                                                              Semana: 
                  15                  (Fuera de horario lectivo)                  
                                            
            
 
            
           
         
        
                      
          
            
              Motivación
              Estudiar los conceptos teóricos del tema y resolver los ejercicios y problemas propuestos.              
              
                              
Objetivos:
                                  1
                                  4
                                  5
                                            
                              Contenidos:
                
                                          
             
            
           
         
        
                      
          
            
              Consistencia y coherencia de memoria
              Estudiar los conceptos teóricos del tema y resolver los ejercicios y problemas propuestos.              
              
                              
Objetivos:
                                  1
                                  5
                                            
                              Contenidos:
                
                                          
             
            
           
         
        
                      
          
            
              Multiprocesador básico
              Estudiar los conceptos teóricos del tema y resolver los ejercicios y problemas propuestos.              
              
                              
Objetivos:
                                  1
                                  4
                                  5
                                            
                              Contenidos:
                
                                          
             
            
           
         
        
                      
          
            
              Comunicación y sincronización 
              Estudiar los conceptos teóricos del tema y resolver los ejercicios y problemas propuestos.              
              
                              
Objetivos:
                                  5
                                  2
                                            
                              Contenidos:
                
                                          
             
            
           
         
        
                      
          
            
              Multiprocesador de pequeña escala
              Estudiar los conceptos teóricos del tema y resolver los ejercicios y problemas propuestos.              
              
                              
Objetivos:
                                  3
                                  5
                                            
                              Contenidos:
                
                                          
             
            
           
         
        
                      
          
            
              Multiprocesador escalable
              Estudiar los conceptos teóricos del tema y resolver los ejercicios y problemas propuestos.              
              
                              
Objetivos:
                                  3
                                  4
                                            
                              Contenidos:
                
                                          
             
            
           
         
        
                      
          
            
              Consolidación
              Consolidación de los conceptos desarrollados durante el curso.              
              
                              
Objetivos:
                                  1
                                  3
                                  4
                                  5
                                  2
                                            
                              Contenidos:
                
                                          
             
            
           
         
        
           
  
  
    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 multiprocesador. 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 asignaturas precedentes y en cada tema de la asignatura se incrementa el conocimiento y la capacidad de comprender, analizar y razonar sobre aspectos de un multiprocesador. Esta capacitación es además cuantitativa.   
  
    Método de evaluación
      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 genérica 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  
  
  
    Capacidades previas
    Las enumeradas en las asignaturas IC, EC, PE, AC, PAR, AC2