Diferencia entre revisiones de «Organización del Computador II»

De Cuba-Wiki
Línea 115: Línea 115:


Empezar viendo los videos, luego completar información con las clases de Microarquitectura de Furfi, y recién ahí leer los papers que esperan leas para el final.
Empezar viendo los videos, luego completar información con las clases de Microarquitectura de Furfi, y recién ahí leer los papers que esperan leas para el final.
=== Oral ===
* Coherencia de Cache :
** Explicar las diferentes políticas de escritura, comparándolas según el uso de procesador y el uso del bus. ¿Cuál es más apta para un sistema Monoprocesador y cuál para un sistema SMP? Justificar.
** ¿Qué entiende por snooping y con qué elementos se implementa?¿Cómo se complementa con el protocolo MESI?
** En el protocolo MESI, ¿qué significa el estado ''Modified''?
** MESI, tenés una línea en estado ''Shared'', ¿qué significa?¿Qué pasa si la querés escribir?¿Es impreciso?
** Si un procesador quiere leer una línea que él no tiene pero otro cache tiene en estado ''Modified'', ¿qué secuencia de cosas pasan? 
** ¿Qué pasa si un procesador escribe en una linea con ''Modified''?¿Cómo afecta a la performance si se usa un protocolo con Write/copy back comparado con Write through?
   
* Predicción de Saltos :
**¿Cómo funciona un predictor de saltos de 2 bits? Motivación y funcionamiento. Incluir diagrama y transiciones de estado.
** ¿En qué situaciones funciona bien un predictor de saltos de 2 bits y mal uno de 1 bit?
** ¿Por qué usar un predictor de 2 bits y no uno de 1 bit, 3 bits, spec89, etc?
* Ejecución Fuera de Orden
** Concepto y funcionamiento general.
** Ventajas respecto de un esquema superescalar con ejecución en orden. Considerar que ambos modelos tienen la misma cantidad de vías de ejecución.
** ¿Qué obstáculos surgen de implementa ejecución fuera de orden? Detallar con ejemplos.
   
* Algoritmo de Tomasulo
** ¿Cuáles son los riesgos que resuelve?
** Explicar cuáles son los bloques de hardware que se agregan a un procesador superescalar, qué riesgos resuelve, y cómo funciona cada uno.
** ¿Qué le faltó al algoritmo de Tomasulo para tener excepciones precisas?
** ¿Cómo se establece la relación consumidor/productor según Tomasulo?¿Dónde está el tag o a qué hace referencia?
** ¿Qué elementos tiene un reorder buffer?
** Explicar la implementación de Intel del Algoritmo de Tomasulo en el Three Cores Engine, detallando cada parte involucrada.
   


=== Resúmenes ===
=== Resúmenes ===

Revisión del 05:29 18 mar 2021

Organización del Computador II es una materia dedicada al estudio de las arquitecturas IA-32 e IA-64 de Intel. Pertenece al área de Sistemas y, según el Plan de la Carrera, es una materia a ser cursada en Segundo año. Es correlativa de Organización del Computador I, y es requerida para cursar Sistemas Operativos.

Históricamente, esta materia se cursa los Martes y Jueves a la noche.

Contenidos

IA32
  • Operaciones básicas
  • Direccionamiento a memoria
  • Manejo de la pila y convencion C
  • Aritmética de números grandes
  • Strings
  • Vectores y matrices
  • MMX: Multimedia extension
  • FPU: Floating point unit
  • Listas enlazadas

Apuntes

IA-32

Parciales

Primeros parciales


Segundos parciales

Finales

Material para Finales

Recomendación (2018): Los finales de Alejandro Furfaro suelen ser orales (si no hay mucha gente, con más de 10 personas podés esperar que te tome escrito). Los orales duran 15-20 minutos y hace preguntas de microarquitectura: específicamente sobre coherencia de caché (protocolo MESI por ejemplo), predicción de saltos, y ejecución fuera de orden (algoritmo de Tomasulo). También suele tomar aplicaciones prácticas (microarquitectura P6, Netburst, HyperThreading, Pentium 4-M, Intel Core).

Empezar viendo los videos, luego completar información con las clases de Microarquitectura de Furfi, y recién ahí leer los papers que esperan leas para el final.

Oral

  • Coherencia de Cache :
    • Explicar las diferentes políticas de escritura, comparándolas según el uso de procesador y el uso del bus. ¿Cuál es más apta para un sistema Monoprocesador y cuál para un sistema SMP? Justificar.
    • ¿Qué entiende por snooping y con qué elementos se implementa?¿Cómo se complementa con el protocolo MESI?
    • En el protocolo MESI, ¿qué significa el estado Modified?
    • MESI, tenés una línea en estado Shared, ¿qué significa?¿Qué pasa si la querés escribir?¿Es impreciso?
    • Si un procesador quiere leer una línea que él no tiene pero otro cache tiene en estado Modified, ¿qué secuencia de cosas pasan?
    • ¿Qué pasa si un procesador escribe en una linea con Modified?¿Cómo afecta a la performance si se usa un protocolo con Write/copy back comparado con Write through?
  • Predicción de Saltos :
    • ¿Cómo funciona un predictor de saltos de 2 bits? Motivación y funcionamiento. Incluir diagrama y transiciones de estado.
    • ¿En qué situaciones funciona bien un predictor de saltos de 2 bits y mal uno de 1 bit?
    • ¿Por qué usar un predictor de 2 bits y no uno de 1 bit, 3 bits, spec89, etc?
  • Ejecución Fuera de Orden
    • Concepto y funcionamiento general.
    • Ventajas respecto de un esquema superescalar con ejecución en orden. Considerar que ambos modelos tienen la misma cantidad de vías de ejecución.
    • ¿Qué obstáculos surgen de implementa ejecución fuera de orden? Detallar con ejemplos.
  • Algoritmo de Tomasulo
    • ¿Cuáles son los riesgos que resuelve?
    • Explicar cuáles son los bloques de hardware que se agregan a un procesador superescalar, qué riesgos resuelve, y cómo funciona cada uno.
    • ¿Qué le faltó al algoritmo de Tomasulo para tener excepciones precisas?
    • ¿Cómo se establece la relación consumidor/productor según Tomasulo?¿Dónde está el tag o a qué hace referencia?
    • ¿Qué elementos tiene un reorder buffer?
    • Explicar la implementación de Intel del Algoritmo de Tomasulo en el Three Cores Engine, detallando cada parte involucrada.


Resúmenes

  • Resumen de temas y algunos papers: La parte de los papers esta mitad en ingles, mitad en castellano, se agreden aportes. Link a la fuente
  • Resumen de microarquitectura y otros temas para el final (Straminsky)
  • Autoevaluación modelo para preparar el final (lbarrios) (disclaimer: no son preguntas oficiales, son preguntas que se me ocurrieron mientras estudiaba, para luego poder hacer un simulacro de final y ver en qué puntos andaba flojo) Repositorio Github (Markdown) [PDF]
  • Un resumen para el final de Orga 2  : con todos los temas. 2 errores conocidos: 1) El pipeline de forwarding puede estar mal por un ciclo de clock 2) en MESI: Mesi usa la linea RFO (NO LA SHARED) cuando un cache que tiene una linea modified tiene que decirle a otro que la quiere leer que espere a que la escriba en memoria
  • ( Parte 1 | Parte 2 ): Todos los temas del final (2019) y resúmenes de los papers de Pentium 4, Hyper-Threading y Pentium M.
  • ( Mapa Conceptual.png ): Mapa conceptual con todos los temas tratados por las diapositivas de Furfi y los papers que dá para leer. Basándome en cuando di el final, no se maten tanto estudiandose todos los temas de los papers al pie de la letra, pero está bueno tenerlos en cuenta quiza para entender más a fondo como funciona todo lo explicado por Furfi. Lamentablemente no logro subir el archivo .vue a la wiki por lo que no puedo pasarlo por si lo quieren editar/mejorar. (Claramente estudiar este mapa no cumpliría con la aprobación del exámen, pero sirve como índice usando el resto de resumenes ya aportados para saber donde encontrar cada tema). Los papers están ordenados de izquierda a derecha en el orden que los da Furfi en su lista de descarga (que es el mismo orden que el que aparece en esta wiki).

Videos

  • Carnegie Mellon - Computer Architecture 2015 - Onur Mutlu: Videos sobre los temas del final (MUY recomendado). El link también incluye las clases en formato .ppt y .pdf para descargarse. Las clases (o lecturas) importantes son la 9, 10, 11 (Habla de ROB), 12 (Habla de Tomasulo), 13, 17 y 18 (la 28 habla de Coherencia de Caché (minuto 1:05:20) y la 29 habla de Snooping Protocols y MESI entre otras cosas).
  • Hay un curso de HPCA (High Performance Computer Architecture) que incluye todos los temas que entran en este final. Son videos de muy corta duración cada uno (de 2 a 5 minutos) en donde cada video explica un tema particular de forma autocontenida. A mí me sirvieron mucho, recomiendo darles una oportunidad (como complemento al resto del material)

Papers

Estos son los papers que se espera que se lean:


Material extra

Bibliografía / Temas

  • Computer Architecture. A quantitative approach. Henessy & Patterson. Ed. Morgan Kaufman : Muy buen libro aunque se zarpa un poco con el alcance. Los capítulos son el 2 y el 4, y el apéndice A.
  • Temas para las fechas de final de Diciembre del 2006: Temas dados por Patricia para el final de Diciembre del 2006 y detalles sobre la bibliografía. (precaución: en 2018 estos temas no se están tomando más)

Recursos

Enlaces externos