Jorge L. Ortega Arjona


Información Personal
Personal Information
Proyectos de Investigación
Research Projects
Publicaciones
Publications
Actividades de Docencia
Teaching Activities
Actividades de Difusión
Sitios de Interés
Interesting Sites
Computación en América Latina

Arquitectura de Computadoras
  • Clave: 0605

  • Número de Créditos: 10

  • Area: Ciencias de la Computación

  • Semestre: 5


Objetivo

El curso de Arquitectura de Computadoras comprende el estudio de la teoría, técnicas, tecnologías y métodos de la fusión de los dominios tradicionalmente considerados como hardware y software, haciendo énfasis en cada uno de sus componentes, a fin de comprender los sistemas de cómputo. El objetivo general es conocer la estructura y funcionamiento básicos del hardware y software.


Temas
  1. Medidas de desempeño y principios cuantitativos de diseño de computadoras

  2. Organización de una computadora

  3. El conjunto de instrucciones, diseño y características

  4. Organización funcional

  5. Pipeline

  6. La jerarquía de memoria

  7. Entrada/Salida, canales

  8. Sistemas de multiprocesador

  9. Tendencias en arquitecturas modernas


Prácticas de Laboratorio


Contenidos
  1. Medidas de desempeño y principios cuantitativos de diseño de computadoras
    • Tendencias tecnológicas, de costo y de uso de las computadoras

    • Labores del diseñador de computadoras, relación costo-beneficio

    • Medidas de desempeño, benchmarks, criterios de evaluación

  2. Organización de una computadora
    • Concepto de arquitectura de Von Neumann, componentes fundamentales

    • Etapas de ejecución de instrucciones

  3. El conjunto de instrucciones, diseño y características
    • Clasificación de arquitecturas del conjunto de instrucciones

    • Operandos, tipos y tamaño

    • Modos de direccionamiento

    • Formatos de instrucción

    • La relación entre el diseño del conjunto de instrucciones y el compilador

  4. Organización funcional
    • Ruta de datos, unidades funcionales

    • Señales de control

    • Unidades de control, alternativas de diseño (microprogramadas .vs.alambradas, organización horizontal y vertical)

  5. Pipeline
    • Concepto de pipeline y de paralelismo a nivel de instrucción

    • Revisión del ciclo de ejecución de instrucción

    • Características de diseño que facilitan el pipeline

    • Hazards, su clasificación y métodos de solución

    • Medidas de desempeño del pipeline

  6. La jerarquía de memoria
    • Organización de la memoria, relación costo-desempeño

    • Memorias caché, esquemas de colocación de bloque, mapeo de direcciones

    • Políticas de reemplazo, de manejo de escritura y de fallos de escritura en caché

    • Medidas de desempeño de memoria caché

  7. Entrada/Salida, canales
    • Esquemas de manejo de entrada salida, interrupciones

    • Canales (buses), canales síncronos y asíncronos, bus-master y arbitraje

    • Dispositivos de almacenamiento externo, discos, medidas de desempeño en discos, alternativas de diseño de controladores, detección y corrección de errores

    • Acceso directo a memoria

    • Relación entre el sistema de E/S y el sistema operativo, impacto en el desempeño

  8. Sistemas de multiprocesador
    • La clasificación de Flynn (SISD, SIMD, MIMD, MISD)

    • Comunicación entre procesadores

    • Arquitecturas de memoria centralizada compartida

    • Arquitecturas de memoria distribuida compartida

    • Sincronización

    • Coherencia de cachés

    • Clusters, sistemas de paso de mensajes, despachadores de procesos

  9. Tendencias en arquitecturas modernas
    • Arquitecturas superescalares

    • Esquemas de predicción de salto

    • Prefetch

    • Arquitecturas VLIW, ruteo de instrucciones, construcción de bundles

    • Ejecución especulativa, mecanismos de retiro, rollback

    • Predicación


Bibliografía

  • Hennessy, J. and Patterson, D.
    Computer Architecture: A Quantitative Approach , 2nd edition
    Morgan Kaufmann, 1996
  • Mano, M.M.
    Computer System Architecture, 3rd edition
    Prentice-Hall, Inc., 1992
  • Stallings, W.
    Computer Organization and Architecture: Designing for Performance
    Prentice Hall, 1999


Jorge L. Ortega Arjona
Ultima modificación:
11 de febrero, 2003