Diagrama de temas

  • 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.