Información Básica
-
Créditos: 3
-
Horas de clase: 5 / semana (3 horas de clase, 2 Laboratorio)
-
Horas de trabajo independiente: 4 / semana
-
Pre-requisitos: Lógica Digital y Lenguaje de Máquina
-
Tipo de curso: Núcleo de Formación Fundamental.
Descripción del Curso
El curso de Arquitectura de Computador introduce y discute la organización y estructura de sistemas multiprocesador y multinucleo, al igual que la jerarquía de memoria y la relación con los dispositivos de entrada y salida. Este curso esta orientado con un enfoque, en el que gradualmente el estudiante pueda comprender y diferenciar estos sistemas de cómputo frente a un sistema monoprocesador. Y de esta manera logre una actitud crítica hacia sistemas de cómputo paralelo que resuelven problemas donde se requiere máquinas de alto desempeño.
Objetivos
Al finalizar el curso los participantes podrán:
-
Identificar los conceptos fundamentales de una arquitectura de cómputo paralela.
-
Identificar los conceptos básicos de los dispositivos de entrada y salida.
-
Identificar los protocolos usados en la comunicación de los dispositivos de entrada y salida.
-
Identificar los métodos usados para la programación de dispositivos de entrada y salida.
-
Identificar cómo las interrupciones se utilizan para implementar el control y la transferencia de datos en los dispositivos de entrada salida.
-
Identificar la jerarquía de memoria y reconocer las distintas formas de organización de la memoria caché.
-
Comprender las ventajas y desventajas de la jerarquía de memoria y los compromisos en el coste-rendimiento.
-
Identificar las diferencias entre sistemas de memoria compartida y distribuida.
-
Identificar los elementos que definen una arquitectura de cómputo paralela .
-
Identificar las técnicas y jerarquías de paralelismo.
-
Definir la funcionalidad que los sistemas paralelos y distribuidos deben entregar para satisfacer alguna necesidad.
-
Familiarizarse con los modelos de programación paralela
-
Reconocer las técnicas empleadas para el manejo de memoria y redes de interconexión, empleadas en sistemas multiprocesador y multinucleo.
-
Reconocer la importancia de la coherencia de memoria cache en un sistema multiprocesador.
-
-
Diseñar e implementar un tipo de memoria cache y una arquitectura con paralelismo a nivel de instrucciones
-
Diseñar e implementar una memoria cache.
-
Diseñar e implementar un camino de datos y una unidad de control para una arquitectura con paralelismo a nivel de instrucciones.
-
-
Evaluar el desempeño de una arquitectura de cómputo monoprocesador y multinucleo
-
Identificar la diferencia entre el desempeño del procesador y el desempeño del sistema.
-
Evaluar y comparar el desempeño de la ejecución de algoritmos sobre diferentes arquitecturas de cómputo (Sistema secuencial y paralelo).
-
Reconocer que al adicionar varios procesadores en un chip se mejora el desempeño.
-
Evaluar las ventajas y desventajas de costo-desempeño para las diferentes formas de organización de la memoria cache.
-
Se desarrollan competencias en
-
Herramientas de simulación para hardware
-
Lenguaje de descripción hardware VHDL
-
Tarjeta de desarrollo con FPGA
-
Lenguaje C
Contenido
Capítulo 1: Dispositivos de entrada-salida
Sesión | Horas teóricas | Prácticas acompañadas | Temas | Profundidad | Bibliografía |
---|---|---|---|---|---|
1 | 3 | Presentación del curso. Introducción.Fundamentos de entrada/salida : handshaking, buffering, E/S programable,E/S dirigida por interrupciones. | Familiaridad | [3] | |
2 | 2 | Clasificación de dispositivos de entrada-salida | Uso | [2,3] | |
3 | 3 | Buses: protocolos de bus, arbitraje, acceso directo a memoria (DMA) | Familiaridad | [2,3] | |
4 | 2 | Implementación de un protocolo de bus en VHDL | Evaluación | [2,3] | |
5 | 3 | Estructura de la interrupciones : vectorizado y priorizado, reconocimiento de interrupción | Uso | [2,3] | |
6 | 2 | Manejo de interrupciones | Uso | [2,3] | |
7 | 3 | Sistema de almacenamiento y tecnologías, tipos de almacenamiento externo y organización física.Codificación, compresión e integridad de datos (Fiabilidad a través de la redundancia) | Uso | [2,3] | |
8 | 2 | Manejo de dispositivos de almacenamiento | Uso | [2,3] |
Total de Horas: 20.
Sesión | Horas de trabajo independiente | Temas | Bibliografía |
---|---|---|---|
1-4 | 4 | Lectura de dispositivos de entrada-salida. | [2, 3] |
5-6 | 4 | Lectura de interrupciones. | [2,3] |
7-8 | 4 | Lectura de tecnología de almacenamiento. | [1,3] |
Total de Horas: 12
Capítulo 2: Jerarquía de Memoria
Sesión | Horas teóricas | Prácticas acompañadas | Temas | Profundidad | Bibliografía |
---|---|---|---|---|---|
9 | 1.5 | Jerarquía de memoria. | Familiaridad | [2,3] | |
9 | 1.5 | Organización de la memoria y sus operaciones. | Familiaridad | [2,3] | |
10 | 2 | Diseño de distintos tipos de memoria en VHDL | Uso | [2,3] | |
11-12 | 6 | Memoria cache , políticas de ubicación reemplazo y actualización | Familiaridad | [2,3] | |
13 | 2 | Taller de memoria cache | Evaluación | [2,3] | |
14 | 3 | Efectos de la localidad espacial y temporal sobre el rendimiento en los procesadores. | Uso | [2,3] | |
15 | 2 | Simulación e Implementación de memorias | Evaluación | [2,3] |
Total de Horas: 18.
Sesión | Horas de trabajo independiente | Temas | Bibliografía |
---|---|---|---|
9-15 | 4 | Diseño proyecto I (Implementación memoria cache). | [2, 3] |
9-15 | 4 | Diseño proyecto I (Implementación memoria cache). | [2,3] |
9-15 | 4 | Diseño proyecto I (Implementación memoria cache). | [2,3] |
Total de Horas: 12
Capítulo 3: Introducción a las Arquitecturas Paralelas
Sesión | Horas teóricas | Prácticas acompañadas | Temas | Profundidad | Bibliografía |
---|---|---|---|---|---|
16 | 3 | Qué son las arquitecturas paralelas, tendencias en las aplicaciones, arquitecturas y tecnologías. | Familiaridad | [1,2,4] | |
17-18 | 6 | Tipos de paralelismo y Taxonomía de las arquitecturas paralelas (Taxonomía de Flynn). | Familiaridad y uso | [1,2,3] | |
19-21 | 6 | Análisis de una arquitectura con paralelismo a nivel de instrucciones | Uso | [2] | |
22 | 3 | Diferencias entre arquitecturas basadas en memoria compartida, distribuida e hibrida. | Familiaridad | [1,2,3] | |
23 | 3 | Coherencia en cache | Familiaridad,Uso | [2,3] | |
24 | 3 | Modelos de programación paralela (basados en memoria compartida, hilos, memoria distribuida, modelo de datos en paralelo) | Familiaridad | [1] | |
25 | 2 | Taller de modelos de programación paralela | Evaluación | [1] |
Total de Horas: 26.
Sesión | Horas de trabajo independiente | Temas | Bibliografía |
---|---|---|---|
16-25 | 4 | Diseño proyecto II (Implementación Arquitectura con paralelismo a nivel de instrucciones). | [2, 3] |
16-25 | 4 | Diseño proyecto II (Implementación Arquitectura con paralelismo a nivel de instrucciones). | [2,3] |
16-25 | 4 | Diseño proyecto II (Implementación Arquitectura con paralelismo a nivel de instrucciones). | [2,3] |
16-25 | 4 | Diseño proyecto II (Implementación Arquitectura con paralelismo a nivel de instrucciones). | [2,3] |
Total de Horas: 16
Capítulo 4: Desempeño y figuras de mérito
Sesión | Horas teóricas | Prácticas acompañadas | Temas | Profundidad | Bibliografía |
---|---|---|---|---|---|
26-28 | 9 | Concepto de latencia, tiempo de ciclo, ancho de banda. Métricas de desempeño para sistemas monoprocesador (SISD) y sistemas paralelos (CPI, Speedup, Eficiencia), cargas de trabajo, benchmarks representativos y figuras de mérito. | Familiaridad | [1,2,3] | |
29 | 3 | Tiempo de acceso a memoria promedio, latencias en memoria principal versus disco y memoria en la red. | Familiaridad y uso | [1,2,3] | |
30-31 | 4 | Taller de métricas | Evaluación | [1,2,3] |
Total de Horas: 16.
Sesión | Horas de trabajo independiente | Temas | Bibliografía |
---|---|---|---|
26-29 | 6 | Lecturas: Ventajas y desventajas de tecnologías en el desempeño de arquitecturas actuales. Preparación de exposición. | [1,2,3,5,6] |
26-29 | 4 | Preparación de reporte escrito | [2,3,5,6] |
Total de Horas: 10
Bibliografía
-
Barlas, Gerassimos., Multicore and GPU Programming An Integrated Approach. Morgan Kaufman Publishers, 2015
-
Hennessy, John L. and Patterson, David A., Computer organization and design: the hardware,software 5th ed, Elsevier., 2013
-
William Stallings, Computer Organization and Architecture: Designing for Performance ,10th ed., Pearson Education, 2015
-
Culler,David E., Parallel computer architecture : a hardware, software approach., Morgan Kaufman Publishers. , 1999.
-
IEEE Xplore
-
ACM Digital Library
Instalaciones
Salón de clase con computador y proyector. Laboratorio de sala de simulación Electrónica.