Arquitectura del Computador II (300CIG006)

Descripción del Curso

El curso de Arquitectura del Computador II introduce y discute la organización y estructura de un sistema de cómputo. En lugar de centrarse en marcas o en los últimos (nuevos) modelos de computadores del mercado, el enfoque es establecer las bases fundamentales de una manera gradual, a partir de los principios básicos y los conceptos fundamentales. El curso mostrará la evolución de conceptos para explotar las características arquitectónicas y tecnológicas que permiten arquitecturas más rápidas.

Información Básica

Objetivos

Al finalizar el curso los estudiantes podrán:

  1. Identificar los conceptos fundamentales de una arquitectura de cómputo digital.
    1. Identificar la estructura, los bloques fundamentales y la organización de un sistema de cómputo.
    2. Identificar el camino de datos de una arquitectura monociclo, multiciclo y pipeline y como fluyen los datos por este camino
    3. Reconocer cómo la unidad de control interpreta la instrucción a nivel de máquina
    4. Identificar las técnicas y jerarquías de paralelismo
    5. Identificar la jerarquía de memoria
    6. Reconocer las distintas formas de organización de la memoria caché
    7. Identificar las diferentes tecnologías usadas para la fabricación de memoria
    8. Identificar las diferentes redes de interconexión, empleadas en sistemas multiprocesador y multicomputador.
    9. Reconocer las técnicas empleadas para el manejo de dispositivos de entrada/salida
    10. Identificar los diferentes tipos de buses en una arquitectura de cómputo
    11. Reconocer cómo los dispositivos de entrada salida compiten por un acceso al bus y como se les concede acceso
    12. Identificar cómo las interrupciones se utilizan para implementar el control y la transferencia de datos en los dispositivos de entrada salida
    13. Reconocer las técnicas empleadas para manejo de memoria y redes de interconexión, empleadas en sistemas multiprocesador y multicomputador
    14. Reconocer la importancia de la coherencia de memoria cache en un sistema multiprocesador
  2. Diseñar y optimizar una arquitectura de cómputo digital.
    1. Diseñar un camino de datos para una arquitectura monociclo, multiciclo y pipeline
    2. Diseñar una unidad de control para una arquitectura monociclo
    3. Diseñar una unidad de control alambrada para una arquitectura multiciclo
    4. Diseñar una unidad de control microprogramada para una arquitectura multiciclo
    5. Seleccionar el mejor diseño de camino de datos y unidad de control que cumplen las restricciones impuestas.
    6. Optimizar un diseño en términos de velocidad y área.
    7. Entender por qué la jerarquía de memoria es importante para reducir la latencia con respecto al procesador.
  3. Implementar una arquitectura de cómputo digital.
    1. Implementar un camino de datos para una arquitectura multiciclo
    2. Implementar unidad de control alambrada para una arquitectura multiciclo
    3. Implementar unidad de control microprogramada para una arquitectura multiciclo
  4. Evaluar el desempeño de una arquitectura de cómputo digital.
    1. Reconocer la relación entre la disipación de potencia y el desempeño del equipo
    2. Identificar la diferencia entre el desempeño del procesador y el desempeño del sistema
    3. Evaluar y comparar el desempeño de la ejecución de algoritmos sobre diferentes arquitecturas de cómputo (monociclo, multiciclo, pipeline)
    4. Calcular el tiempo de ejecución de un algoritmo en un sistema multiciclo,monociclo y pipeline
    5. Reconocer que al adicionar varios procesadores en un chip se mejora el desempeño
    6. Evaluar las ventajas y desventajas de costo-desempeño para las diferentes formas de organización de la memoria cache

Contenido

Capítulo 1: Introducción e implementación de unidad de control y camino de datos

Sesión Horas de Clase Tópicos Bibliografía
1 2 Presentación del curso. Introducción.Abstracciones y tecnología de los computadores[1,cap 1]
2 2 Implementación de un camino de datos (Datapath) de la arquitectura mono ciclo.[1,cap 2 y5],[2,cap 4]
3 2 Implementación Unidad de control (Alambrada)Mono ciclo [1,cap 5]
4 2 Implementación de un camino de datos (Datapath) de la arquitectura multi ciclo[1,cap 5], [2, cap 4]
5 2 Implementación de unidad de control(Alambrada) de la arquitectura multi ciclo[1,cap 5]
6 2 Implementación Unidad de control (Microprogramada)de la arquitectura multi ciclo[1,cap 5]

Total de Horas: 12

Capítulo 2: Mejoras de desempeño,Taxonomía, paralelismo y métricas

Sesión Horas de Clase Tópicos Bibliografía
7 2 Introducción a ILP [1,cap 4],[4,cap 1]
8 6 Manejo de pipeline[1,cap 4],[4,cap 1]
11 2 Taxonomía[1,cap 7]
12 2 Sistemas de memoria compartida[1,cap 7]
13 4 Métricas[1,cap 1]

Total de Horas: 16

Capítulo 3: Jerarquía de memoria

Sesión Horas de Clase Tópicos Bibliografía
15 2 Jerarquía de memoria[1,cap 5], [4,cap 3]
16 2 Organización de la memoria y sus operaciones[1,cap 5], [4,cap 3]
17 6 Memoria cache[1,cap 5],[4,cap 3]
20 2 Memoria Virtual[1,cap 5],[4,cap 3]
21 2 Manejo de fallas y recuperación[1,cap 5]
22 4 Coherencia de cache[4,cap 11]

Total de Horas: 18

Capítulo 4: Dispositivos de entrada-salida, redes de interconexión

Sesión Horas de Clase Tópicos Bibliografía
24 2 • Fundamentos de entrada/salida [1,cap 6],[5,cap 6]
25 2 • Estructura de la interrupciones : vectorizado y priorizado[1,cap 6],
26 2 • Buses[1,cap 6]
27 4 • Introducción a redes[3, cap 1 y 7]
29 4 • Redes de interconexión[3, cap 1 y 7]

Total de Horas: 14

Resultados de Programa (ABET)

(A) La habilidad para aplicar conocimientos de matemáticas, ciencias e ingeniería.

(B) La habilidad para analizar un problema e identificar los requerimientos necesarios para su definición y solución.

(C) La habilidad para diseñar, implementar y evaluar procesos y sistemas computacionales.

(D) La habilidad para funcionar en equipos de trabajo.

(E) El entendimiento de la responsabilidad profesional y ética.

(F) La habilidad para comunicarse efectivamente.

(G) La habilidad para analizar los impactos de la computación y la ingeniería en las personas, organizaciones y la sociedad.

(H) El reconocimiento de la necesidad de, y la habilidad para, continuar con el desarrollo profesional.

(I) La habilidad para usar las técnicas, destrezas y herramientas modernas para la práctica de la computación.

(J) La habilidad para aplicar los fundamentos y principios de las matemáticas y de la computación en el modelamiento y diseño de sistemas computacionales de manera que se demuestre comprensión de las ventajas y desventajas en las decisiones de diseño.

(K) La habilidad para aplicar los principios de diseño y desarrollo de software en la construcción de sistemas de diferente complejidad.

Relevancia del curso con los resultados de programa

Resultados de Programa
A B C D E F G H I J K
Relevancia 4 4 1 1 2 2 2

Escala: (1) baja relevancia - (5) alta relevancia.

Integración de objetivos, contenido y metodología del curso

Resultados del Programa Indicadores de Desempeño Objetivos/Contenido del Curso Actividades de aprendizaje Instrumentos de medición
(A) Aplicación de Conocimientos (A1) Identificar los fundamentos científicos y los principios de ingeniería que rigen un proceso o sistema. (Conocimiento) (A2) Resolver problemas relacionados con la disciplina y otras áreas por medio de la utilización de conocimientos, modelos y formalismos de las ciencias de la computación, las matemáticas y la ingeniería. (Aplicación) (A3) Analizar conjuntos de datos. (Análisis) Todos Exposiciones del profesor, solución de ejercicios, tareas y lecturas Exámenes, proyectos, laboratorio
(C) Diseño (C1) Utilizar estándares de codificación en la implementación de componentes de software. (Aplicación). (C2) Identificar componentes, interacciones, relaciones e interfaces entre componentes. (Análisis). (C3) Diseñar procesos y componentes de software haciendo uso de la notación, técnicas y herramientas adecuadas. (Síntesis). Todos Exposiciones del profesor, solución de ejercicios, tareas y lecturas Exámenes, proyectos, laboratorio
(D) Trabajo en equipo (D2) Participar en tareas y en la toma de decisiones. (Respuesta - Afectivo). (D4) Definir tareas, roles y responsabilidades. (Aplicación). Proyectos,laboratorios. Proyectos,laboratorios, seguimiento a los cronogramas
(F) Comunicación efectiva (F1) Producir textos de manera efectiva teniendo en cuenta la estructura, coherencia, flujo, ortografía y correcto uso del lenguaje. (Aplicación). (F4) Defender ideas con precisión y claridad. (Evaluación). proyectos, laboratorios sustentación de proyectos, Informes escritos de proyectos
(I) Uso de herramientas y técnicas (I2) Utilizar herramientas de diseño, modelamiento y simulación. (Aplicación). . (I3) Combinar herramientas de software y hardware para resolver un problema. (Síntesis). Cp1,3 Exposiciones del profesor, laboratorios tarea, proyectos, laboratorios
(J) Modelamiento y diseño de sistemas computacionales (J4) Evaluar decisiones de diseño basándose en principios matemáticos y de computación. (Evaluación). . Cp1,3 Exposiciones del profesor, laboratorios, tarea, proyectos, laboratorios (ISE Xilinx, simulador MipsIt)
(K) Desarrollo de software (K2) Implementar e integrar componentes de software respetando los criterios de diseño. (Aplicación). . Cp1,3,4 Exposiciones del profesor, laboratorios, informes y sutentación de laboratorios y proyectos (ISE Xilinx)

Calificación y Balance de Evaluación del Curso

Instrumento Porcentaje A B C D E F G H I J K
Parcial I 30% 6.25% 10% 4.75% 5% 4%
Parcial II 20% 10% 10%
Parcial III 15% 8.75% 6.25%
Proyecto 25% 5% 5% 5% 5% 5%
Laboratorio 10% 1.25% 2.75% 2.5%3.5%

Uso de material en exámenes

No está permitido el uso de notas de clase, bibliografía, computadores personales ni teléfonos celulares. En caso que así se indique se puede utilizar calculadora.

Asistencia

Obligatoria

Bibliografía

  1. Hennessy, John L. y Patterson, David A., Computer organization and design: the hardware,software 5th ed, Elsevier., 2013
  2. Tanenbaum Andrew, Structured computer organization 5th ed., Prentice-Hall, 2006 .
  3. Duato,José., Interconnection networks: an engineering approach, Morgan Kaufman Publishers, 2003.
  4. John Paul Shen y Mikko H. Lipsti, Arquitectura de computadores, Mc Graw Hill, 2006.
  5. William Stallings, Computer Organization and Architecture: Designing for Performance ,7th ed., Pearson Education, 2006.

Material de este semestre

 
materias/arquitectura_del_computador_ii.txt · Última modificación: 2017/01/23 09:05 por msacanamboy
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki