Topic outline

  • Arquitectura e Ingeniería de Computadores (2011)

    arquitectura-computadores.jpg                

         

    Profesores

    Valentín Puente Varona

    Pablo Abad Fidalgo

    Departamento de Electrónica y Computadores

     

     

     

     

     

      

     

    El objetivo fundamental de la asignatura es facilitar al alumno/a una visión precisa de cómo el software interacciona con el hardware subyacente. El alumno/a debe adquirir una visión aproximada de cómo funciona el procesador y el sistema de memoria de un computador actual.

    En particular, se espera que el alumno/a este capacitado para llevar a cavo evaluaciones cualitativas, utilizando las figuras de merito, sobre el rendimiento de un computador ejecutando un programa, y sepa efectuar comparaciones adecuadas entre diferentes opciones de diseño alternativas. Comprender las técnicas concurrentes utilizadas por los computadores actuales, para reducir el tiempo de ejecución de forma implícita o explicita al código máquina ejecutado. Ser conscientes del impacto que tiene en el rendimiento del computador las decisiones tomadas a la hora de programar en alto nivel.

    Relacionar la evolución en las técnicas de integración con los cambios sufridos en la arquitectura de los computadores actuales y como sus restricciones condicionaran la evolución futura de los computadores.

     

    Palabras Clave de la Asignatura

    TLP, Coste, Paralelismo, Arquitectura de Computadores, Procesador, Rendimiento, DLP, ILP, ISA, Micro-Arquitectura.

  • Programa

    programa

     

     

    Datos identificativos de la Asignatura

    • Asignatura:  Arquitectura e Ingeniería de Computadores

    • Código: 5411

    • Departamento / Área: Departamento de Electrónica y Computadores

    • Título: Grado en Ingenieria Informática

    • Centro: Facultad de Ciencias

    • Créditos ECTS: 6

    • Idioma de impartición: Español

    • Profesor responsable: Valentín Puente Varona

    • Otros profesores: Pablo Abad Fidalgo

     

     

     

        Programa de la asignatura    

     

    Tema 1. Fundamentos del diseño de computadores

    • Qué es un computador y que papel juega en su desarrollo la arquitectura de computadores.

    • Tendencias y dependencias.

    • Métricas de evaluación: parámetros y fundamentos tecnológicos:

      • Coste.

      • Rendimiento.

      • Consumo energético.

      • Fiabilidad.

     

    Tema 2. El repertorio de instrucciones

    • La frontera hardware/software.

    • Definición y virtudes a perseguir por el repertorio de instrucciones: perspectiva histórica.

    • Influencia de los compiladores y la implementación.

    • Modelos de ISA: memoria, acumulador, stack y registros.

    • Modos de direccionamiento.

    • Control de flujo.

    • Filosofía RISC y CISC.

     

    Tema 3. Jerarquía de Memoria I: memorias caché

    • Tendencias y coste en tecnologías de almacenamiento.

    • El efecto “Memory–Wall”.

    • Localidad espacial y temporal y justificación de la jerarquía de memoria.

    • Implementación de las cachés.

    • El ABC de las cachés: asociatividad, tamaño de bloque y capacidad.

    • Modelo de las 3C en los fallos de caché.

    • Prefetch software y prefetch hardware.

    • Políticas de escritura.

    • Evaluación y métricas de efectividad en las cachés.

    • Efecto de la caché en el rendimiento del procesador.

     

    Tema 4. Jerarquía de Memoria II: memoria principal

    • Memoria Virtual:

      • Parámetros.

      • Traducción de direcciones.

      • Tabla de páginas.

      • Reducción del coste en el proceso de traducción.

      • Caches físicas y virtuales.
    • DRAM:

      • Implementación de memoria de alta densidad DRAM.

      • Fiabilidad en memoria: detección y corrección de errores.

      • Evolución histórica de las memorias DRAM: memorias modo página, página rápida, SDRAM y DDRAM.

     

    Tema 5. ILP 1: segmentación

    • Repaso segmentación.

    • Dependencias de datos.

    • Dependencias de control:

      • Predicción dinámica de saltos.

      • Ejecución especulativa.

     

    Tema 6. ILP 2: Multi-Issue

    • Limites de la segmentación.

    • Ejecución superescalar.

    • Pipelines diversificados: pipelines 2-wide issue, unidades FP.

    • Implicaciones Multi-Issue:

      • Fech de múltiples instrucciones y trace caché.

      • Wide decode.

      • Dependencias y redes de cortocircuito.

      • Wide write back.
    • Wide-Issue con planificación estática: VLIW.

     

    Tema 7. ILP 3: planificación dinámica

    • Limitaciones de la ejecución en orden.

    • Planificación estática y dinámica de instrucciones:

      • Buffer de instrucciones y registros físicos y lógicos.
    • Algoritmos de planificación dinámica:

      • Scoreboard.

      • Tomasulo.
    • Estado preciso y ejecución especulativa con planificación dinámica: alternativas de diseño:

      • Arquitectura ROB/RS segmentada.

      • Arquitectura con renombre verdadero.
    • Dependencias en instrucciones de acceso a memoria y acceso especulativo a memoria.

     

    Tema 8. TLP I: multiprocesarores

    • Verificabilidad y límites en la complejidad de diseño: perspectiva histórica de la ley de Moore.

    • Paralelismo a nivel de Thread.

    • SMP.

    • Coherencia caché.

    • Sincronización.

    • Consistencia en Memoria

     

    Tema 9. TLP II: multiprocesadores on-chip y multithreading

    • FCMT.

    • FGMT.

    • SMT.

    • CMP.

    • Sun Niagara.

     

    Tema. 10 DLP

    • Aprovechamiento del paralelismo a nivel de datos con vectoriales.

    • Extensiones vectoriales del ISA.

    • Acelaración vectorial basada en GPU.

  • Bibliografía

    bibliografia

      

     

        Básica    

     

    •  Henessy, D. & Patterson, D.A. (2007): «Computer architecture: a quantitative aproach». Morgan Kaufmann. 4ª Ed. ISBN : 978-0-12-370490-0.

     

     

     

        Complementaria    

     

    • Shen, J.P. & Lipasti, M.H. (2006): «Modern microprocessor design». McGraw Hill. 1ª Ed. ISBN : 0-07-057064-7.

  • Materiales de Clase

    materiales

     

     

    • MC-F-001. Presentación de la asignatura.
    • MC-F-002. Tema 1. Fundamentos del diseño de computadores.
    • MC-F-003. Tema 2. El repertorio de instrucciones.
    • MC-F-004. Tema 3. Jerarquía de Memoria I: memorias caché.
    • MC-F-005. Tema 4. Jerarquía de Memoria II: memoria principal.
    • MC-F-006. Tema 5. ILP 1: segmentación.
    • MC-F-007. Tema 6. ILP 2: Multi-Issue.
    • MC-F-008. Tema 7.1. ILP 3: planificación dinámica (1).
    • MC-F-009. Tema 7.2. ILP 3: planificación dinámica (2).
    • MC-F-010. Tema 8. TLP I: multiprocesarores.
    • MC-F-011. Tema 9. TLP II: multiprocesadores on-chip y multithreading.
    • MC-F-012. Tema 10. DLP.
    • MC-F-013. Tema 11. Putting it all together: Intel Nehalem.
  • Prácticas

    practicas

      

     

    • PR-F-001. Práctica 1. Introducción al laboratorio de AIC.
    • PR-F-002. Práctica 2. Jerarquía de memoria.
    • PR-F-003. Práctica 3. Paralelismo a nivel de instrucción.
    • PR-F-004. Práctica 4. Complemento ILP y previo TLP.
    • PR-F-005. Práctica 5. Paralelismo a nivel de Thread.
  • Ejercicios

    ejercicios

     

      

    • EP-F-001. Hoja de problemas 1. Fundamentos de diseño de computadores.
    • EP-F-002. Hoja de problemas 2. Jerarquía de Memoria.
    • EP-F-004. Hoja de problemas 4. TLP & DLP.
  • Pruebas de Evaluación

    evaluacion

     

     

        Criterios de evaluación    

     

    60% Teoría

    • Examen escrito en junio.

       

    40% Prácticas

    1. Parte obligatoria calificable mediante examen escrito en junio. Su contribución a la nota de la Práctica será 6/10, aproximadamente.

    2. Parte opcional calificable por Memoria + Presentación. Su contribución a la nota de la Práctica será 4/10, aproximadamente. Descripción de la Evaluación Continua: actividades que debe desarrollar el alumno/a y su valoración.

  • Guía de Aprendizaje

    guia

     

     

  • Sobre el Profesor

    profesor

     

     

    logo_UC    

    Valentín Puente Varona

     

    Departamento de Electrónica y Computadores

    UNIVERSIDAD DE CANTABRIA
     
    Más información

     

    logo_UC    

    Pablo Abad Fidalgo

     

    Departamento de Electrónica y Computadores

    UNIVERSIDAD DE CANTABRIA
     
    Más información