Edición de «Organización del Computador II»
De Cuba-Wiki
Puedes deshacer la edición. Antes de deshacer la edición, comprueba la siguiente comparación para verificar que realmente es lo que quieres hacer, y entonces publica los cambios para así efectuar la reversión.
Revisión actual | Tu texto | ||
Línea 1: | Línea 1: | ||
'''Organización del Computador II''' es una materia dedicada al estudio de las arquitecturas [[Organización del Computador II#IA-32|IA-32]] e [[Organización del Computador II#IA-64 (Itanium)|IA-64]] de Intel. Pertenece al área de [[Sistemas (Area)|Sistemas]] y, según el [[Plan de la Carrera]], es una materia a ser cursada en [[Plan de la Carrera#Segundo año|Segundo año]]. Es correlativa de [[Organización del Computador I]], y es requerida para cursar [[Sistemas Operativos]]. | '''Organización del Computador II''' es una materia dedicada al estudio de las arquitecturas [[Organización del Computador II#IA-32|IA-32]] e [[Organización del Computador II#IA-64 (Itanium)|IA-64]] de Intel. Pertenece al área de [[Sistemas (Area)|Sistemas]] y, según el [[Plan de la Carrera]], es una materia a ser cursada en [[Plan de la Carrera#Segundo año|Segundo año]]. Es correlativa de [[Organización del Computador I]], y es requerida para cursar [[Sistemas Operativos]]. | ||
Línea 19: | Línea 17: | ||
== Apuntes == | == Apuntes == | ||
*[[ | *[[Apuntes primer parcial 03/10/2006 (Organización del Computador II)| Apuntes primer parcial 03/10/2006]]: Clase del 03/10/2006 de Emilio Platzer con tips para el primer parcial. | ||
*[[Apuntes segundo parcial 14/11/2006 (Organización del Computador II)| Apuntes segundo parcial 14/11/2006]]: Clase del 14/11/2006 de Emilio Platzer con tips para el segundo parcial. Temas: FPU y Listas. | |||
*[[Medio:resumen_2p_orga2.pdf| Apuntes segundo parcial 2do cuatri 2017: System Programming]] | *[[Medio:resumen_2p_orga2.pdf| Apuntes segundo parcial 2do cuatri 2017: System Programming]] | ||
*[ | *[[Glosario de términos técnicos (Organización del Computador II)|Glosario de términos técnicos de la materia]] | ||
*[[ | *[[Media:Resumen_Instrucciones_IA-32.pdf|Resumen de Instrucciones de IA-32]]: Resumen hecho a partir de extractos los manuales de Intel [Volumen 2] (2009). | ||
== IA-32 == | |||
*[[Ejercicios varios IA-32 (Organización del Computador II)| Ejercicios varios IA-32]]: Código assembler de funciones varias realizadas en el laboratorio. | |||
*[[Práctica Strings (Organización del Computador II)| Práctica de Strings]]: Ejercicios de la práctica de strings. | |||
*[[Práctica Vectores y Matrices (Organización del Computador II)| Práctica de Vectores y Matrices]]: Ejercicios de la práctica de vectores y matrices. | |||
*[[Práctica de Aritmética (Organización del Computador II)| Práctica de Aritmética]]: Ejercicios de la práctica de aritmética y relacionados. | |||
*[[Operaciones sobre listas (Organización del Computador II)|Operaciones sobre listas]]: Una posible manera de implementar en assembler varias operaciones sobre listas enlazadas. | |||
*[[Manejo del stack (Organización del Computador II)|Manejo del stack (pila)]]: Esquema para la creación de un stack frame. | |||
*[[Ejemplo de FPU (Organización del Computador II)|Ejemplo de FPU]]: Resolución del ejercicio 5 de la práctica de FPU. Nos muestra el manejo de la pila y el uso de las operaciones de la FPU. | |||
== IA-64 (Itanium) == | |||
'''Itanium ya no se da como tema desde que está Furfaro como profesor.''' | |||
*[[Itanium for Dummies (Organización del Computador II)| Itanium for Dummies]]: También conocido como ''"No sé nada de Itanium, ¿Cómo empiezo?"'' | |||
*[[Ejercicios varios Itanium (Organización del Computador II)| Ejercicios varios Itanium]]: Código assembler de funciones varias realizadas en el laboratorio de Itanium. Incluye sumador y Fibonacci versión iterativa y recursiva. | |||
*[[Rotación de Registros y Software Pipelining (Organización del Computador II)| Rotación de Registros y Software Pipelining]]: Apuntes de clase sobre Rotación de registros con ejercicio de ejemplo, próximamente también Software Pipelining. | |||
*[[SIMD (Organización del Computador II)| SIMD]]: Apuntes de clase del 26/10/2006 sobre el set de instrucciones SIMD de Itanium. | |||
*[[Software pipelining (Organización del Computador II)| Software pipelining]]: Apuntes de clase software pipelining. | |||
*[[Instrucciones de pipelining (Organización del Computador II)| Instrucciones de pipelining]]: Un mismo problema resuelto usando ctop, cexit, wtop y wexit para familiarizarse con estas instrucciones. | |||
*[[Suma de vectores con Software Pipelining (Organización del Computador II)| Suma de vectores con Software Pipelining]]: Un pequeño ejemplo útil para encarar el tema. | |||
*[[Mini-Tutorial de Software Pipelining (Organización del Computador II)| Mini-Tutorial de Software Pipelining]]: Un ejemplo de pipelining optimizando la escritura en el mismo vector que leemos. | |||
*[[Media:sp_basico.pdf|Ejemplo básico de Software Pipelining]]: Anónimo, cortesía de Fer (nadie lo probó, pero esta explicado). | |||
*[[Software pipelining para el TP (Organización del Computador II)| Software pipelining para el TP]]: Ejemplo de cómo tener en cuenta las latencias (la idea es que se use para el TP3). | |||
*[[Arquitectura Itanium (Organización del Computador II)|Arquitectura Itanium]]: Apuntes de las teóricas sobre las características generales de la arquitectura, a complementar con la presentación de la página. | |||
== Parciales == | == Parciales == | ||
===Primeros parciales=== | ===Primeros parciales=== | ||
*[[Medio:ORGA2 P1 1C 2011.pdf|Parcial del 17/05/11]] | |||
*[[Medio:Orga2_1recu_05-07-11.pdf|Recuperatorio del 05/07/11]] | |||
*[[Medio:ORGA2 P1 2C 2011.pdf|Parcial del 11/10/11]] | |||
*[[Medio:Orga2_1recu_01-12-11.pdf|Recuperatorio del 01/12/11]] | |||
*[[Medio:ORGA2 P1 1C 2012.pdf|Parcial del 15/05/12]] | |||
*[[Medio:Orga2_1recu_12-07-12.pdf|Recuperatorio del 12/07/12]] | |||
*[[Medio:Orga2_1parcial_09-10-12.pdf|Parcial del 09/10/12]] | |||
*[[Medio:Orga2_1recu_04-12-12.pdf|Recuperatorio del 04/12/12]] | |||
*[[Medio:ORGA2 P1 1C 2013.pdf|Parcial del 14/05/13]] | |||
*[[Medio:Orga2_1recu_11-07-13.pdf|Recuperatorio del 11/07/13]] | |||
*[[Medio:ORGA2 P1 2C 2013.pdf|Parcial del 01/10/13]] | |||
*[[Medio:Orga2_1recu_19-11-13.pdf|Recuperatorio del 19/11/13]] | |||
*[[Medio:ORGA2 P1 1C 2014.pdf|Parcial del 20/05/14]] | |||
*[[Medio:Orga2_1recu_03-07-14.pdf|Recuperatorio del 03/07/14]] | |||
*[[Medio:Orga2_1parcial_07-10-14.pdf|Parcial del 07/10/14]] | |||
*[[Medio:Orga2_1recu_25-11-14.pdf|Recuperatorio del 25/11/14]] | |||
*[[Medio:Orga2_1parcial_12-05-15.pdf|Parcial del 12/05/15]] | |||
*[[Medio:Orga2_1recu_30-06-15.pdf|Recuperatorio del 30/06/15]] | |||
*[[Medio:Orga2_1parcial_01-10-15.pdf|Parcial del 01/10/15]] | |||
*[[Medio:Orga2_1recu_01-12-15.pdf|Recuperatorio del 01/12/15]] | |||
*[[Medio:Orga2_1parcial_05-05-16_resuelto.pdf|Parcial del 05/05/16 (resuelto)]] | |||
*[[Medio:Orga2_1recu_07-07-16.pdf|Recuperatorio del 07/07/16]] | |||
*[[Medio:Orga2_1parcial_29-09-16.pdf|Parcial del 29/09/16]] | |||
*[[Parcial del 10/10/06 (Organización del Computador II)|Parcial del 10/10/06]] | |||
*[[Medio:Orga2_1recu_29-11-16.pdf|Recuperatorio del 29/11/16]] | |||
*[[Medio:Orga2-1P-11-05-17.pdf|Parcial del 11/05/17 (resuelto)]] | |||
*[[Medio:Orga2_1parcial_03-10-17_resuelto.pdf|Parcial del 03/10/17 (resuelto)]] | |||
*[[Medio:Orga2_1recu_23-11-17_resuelto.pdf|Recuperatorio del 23/11/17 (resuelto)]] | |||
*[[Medio:Orga2_1parcial_10-05-18_resuelto.pdf|Parcial del 10/05/18 (resuelto)]] | |||
===Segundos parciales=== | ===Segundos parciales=== | ||
*[ | *[[Parcial del 16/11/06 (Organización del Computador II)|Parcial del 16/11/06]] | ||
*Parcial del | *[[Medio:ORGA2 P2 1C 2011.pdf|Parcial del 28/06/11]] | ||
*[[Medio: | *[[Medio:Orga2_2recu_12-07-11.pdf|Recuperatorio del 12/07/11]] | ||
*[[Medio: | *[[Medio:ORGA2 P2 2C 2011.pdf|Parcial del 24/11/11]] | ||
*[[Medio: | *[[Medio:Orga2_2recu_13-12-11.pdf|Recuperatorio del 13/12/11]] | ||
*[[Medio: | *[[Medio:ORGA2 P2 1C 2012.pdf|Parcial del 26/06/12]] | ||
*[[Medio: | *[[Medio:Orga2_2recu_19-07-12.pdf|Recuperatorio del 19/07/12]] | ||
*[[Medio: | *[[Medio:ORGA2 P2 2C 2012.pdf|Parcial del 22/11/12]] | ||
*[[Medio:Orga2_2recu_11-12-12.pdf|Recuperatorio del 11/12/12]] | |||
*[[Medio:ORGA2 P2 1C 2013.pdf|Parcial del 27/06/13]] | |||
*[[Medio:ORGA2 P2 2C 2013.pdf|Parcial del 12/11/13]] | |||
*[[Medio:ORGA2 R2 2C 2013.pdf|Recuperatorio del 26/11/13]] | |||
*[[Medio:ORGA2 P2 1C 2014.pdf|Parcial del 24/06/14]] | |||
*[[Medio:Orga2_2recu_10-07-14.pdf|Recuperatorio del 10/07/14]] | |||
*[[Medio:Orga2_2parcial_18-11-14.pdf|Parcial del 18/11/14]] | |||
*[[Medio:Orga2_2recu_02-12-14.pdf|Recuperatorio del 02/12/14]] | |||
*[[Medio:Orga2_2parcial_23-06-15.pdf|Parcial del 23/06/15]] | |||
*[[Medio:Orga2_2recu_07-07-15.pdf|Recuperatorio del 07/07/15]] | |||
*[[Medio:Orga2_2parcial_19-11-15.pdf|Parcial del 19/11/15 (resuelto)]] | |||
*[[Medio:Orga2_2recu_10-12-15.pdf|Recuperatorio del 10/12/15]] | |||
*[[Medio:Orga2_2parcial_23-06-16.pdf|Parcial del 23/06/16]] | |||
*[[Medio:Orga2_2recu_14-07-16.pdf|Recuperatorio del 14/07/16]] | |||
*[[Medio:Orga2_2parcial_17-11-16.pdf|Parcial del 17/11/16]] | |||
*[[Medio:Orga2_2recu_06-12-16.pdf|Recuperatorio del 06/12/16]] | |||
*[[Medio:Orga2_2parcial_29-06-17.pdf|Parcial del 29/06/17 (resuelto)]] | |||
*[[Medio:Orga2_2recu_18-07-17.pdf|Recuperatorio del 27/07/17 (resuelto)]] | |||
*[[Medio:Orga2_2parcial_14-11-17_resuelto.pdf|Parcial del 14/11/17 (resuelto)]] | *[[Medio:Orga2_2parcial_14-11-17_resuelto.pdf|Parcial del 14/11/17 (resuelto)]] | ||
== Finales == | == Finales == | ||
*[[Orga2_final_09-03-18|Final de 09/03/2018]] | *[[Orga2_final_09-03-18|Final de 09/03/2018]] | ||
*[[ | *<s>[[Finales Dic-2006 (Organización del Computador II)| Finales de Diciembre del 2006]]: Finales ya tomados en Diciembre del 2006.</s> (precaución: en 2018 estos temas no se están tomando más) | ||
== Material para 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é | '''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é, predicción de saltos, y ejecución fuera de orden. 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. | 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. | ||
=== | === Resúmenes === | ||
*[[Media:Resumen_orga_2_-_Straminsky.pdf | Resumen de microarquitectura y otros temas para el final (Straminsky)]] | *[[Media:Resumen_orga_2_-_Straminsky.pdf | Resumen de microarquitectura y otros temas para el final (Straminsky)]] | ||
*[[Media:Res_orga2.zip | Resumen para el final (no aclara autor)]] : Contiene los latex y el pdf | |||
*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) [https://github.com/lbarrios/orga2-final/blob/master/preguntas-final.md Repositorio Github (Markdown)] [[Medio:Orga2_cuestionario_lbarrios.pdf| [PDF]]] | *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) [https://github.com/lbarrios/orga2-final/blob/master/preguntas-final.md Repositorio Github (Markdown)] [[Medio:Orga2_cuestionario_lbarrios.pdf| [PDF]]] | ||
**Resumen (autoevaluación resuelta) (lbarrios) (disclaimer: no garantizo que las respuestas sean 100% correctas) [https://github.com/lbarrios/orga2-final/blob/master/preguntas-final-resueltas.md Repositorio Github (Markdown)] [[Medio:Orga2_resumen_lbarrios.pdf| [PDF]]] | **Resumen (autoevaluación resuelta) (lbarrios) (disclaimer: no garantizo que las respuestas sean 100% correctas) [https://github.com/lbarrios/orga2-final/blob/master/preguntas-final-resueltas.md Repositorio Github (Markdown)] [[Medio:Orga2_resumen_lbarrios.pdf| [PDF]]] | ||
=== Videos === | === Videos === | ||
* [https:// | *[https://www.youtube.com/watch?v=zLP_X4wyHbY&feature=youtu.be&list=PL5PHm2jkkXmi5CxxI7b3JCL1TWybTDtKq Carnegie Mellon - Computer Architecture 2015 - Onur Mutlu]: Videos sobre los temas del final ('''MUY''' recomendado). Las clases importantes son la [https://www.youtube.com/watch?v=CkOPbj5KhP8&index=10&list=PL5PHm2jkkXmi5CxxI7b3JCL1TWybTDtKq 9], [https://www.youtube.com/watch?v=NCUDEgLfC_I&index=11&list=PL5PHm2jkkXmi5CxxI7b3JCL1TWybTDtKq 10], [https://www.youtube.com/watch?v=nMfbtzWizDA&index=13&list=PL5PHm2jkkXmi5CxxI7b3JCL1TWybTDtKq 11] (Habla de ROB), [https://www.youtube.com/watch?v=P-mXr9adbCc&index=14&list=PL5PHm2jkkXmi5CxxI7b3JCL1TWybTDtKq 12] (Habla de Tomasulo), [https://www.youtube.com/watch?v=z0EknfZdlIs&index=15&list=PL5PHm2jkkXmi5CxxI7b3JCL1TWybTDtKq 13], [https://www.youtube.com/watch?v=AXf_C5qOm8o&index=19&list=PL5PHm2jkkXmi5CxxI7b3JCL1TWybTDtKq 17] y [https://www.youtube.com/watch?v=4_Z07m8tf6k&index=20&list=PL5PHm2jkkXmi5CxxI7b3JCL1TWybTDtKq 18] (la [https://www.youtube.com/watch?v=JfjT1a0vi4E&index=32&list=PL5PHm2jkkXmi5CxxI7b3JCL1TWybTDtKq 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) | * 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) | ||
Línea 205: | Línea 133: | ||
** Parte 3: [https://www.youtube.com/watch?v=Oqfk7U2eaFY&list=PLAwxTw4SYaPnhRXZ6wuHnnclMLfg_yjHs] | ** Parte 3: [https://www.youtube.com/watch?v=Oqfk7U2eaFY&list=PLAwxTw4SYaPnhRXZ6wuHnnclMLfg_yjHs] | ||
=== Papers === | === Papers / Extractos === | ||
*[[Media:Understanding_Pipelining_and_Superscalar_Execution.pdf | Pipelining and Superscalar execution]] : Paper sobre temas de microarquitectura para el final. | *[[Media:Understanding_Pipelining_and_Superscalar_Execution.pdf | Pipelining and Superscalar execution]] : Paper sobre temas de microarquitectura para el final. | ||
*[http://www.nostarch.com/download/insidemachine_ch4.pdf Inside the Machine (Chapter 4): Superscalar Execution] : Capitulo de muestra sobre ejecución superescalar para preparar el final. | *[http://www.nostarch.com/download/insidemachine_ch4.pdf Inside the Machine (Chapter 4): Superscalar Execution] : Capitulo de muestra sobre ejecución superescalar para preparar el final. | ||
=== Bibliografía / Temas === | === 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. | * 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. | ||
*<s>[[Temas final Dic-2006 (Organización del Computador II)| 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.</s> (precaución: en 2018 estos temas no se están tomando más) | |||
== Recursos == | |||
*[[Media:fpu_stack.pdf|Planilla de stack trace FPU]]: Útil para ir explicando paso por paso el estado de la pila de FPU en el parcial. | |||
*[[Media:fpu_stack.svg|Planilla de stack trace FPU (fuente)]]: Archivo fuente de la planilla, hecho en [http://www.inkscape.org Inkscape SVG]. | |||
*[[Cómo conseguir los libros de Intel (Organización del Computador II)| Libros de Intel]]: Cómo conseguir gratuitamente una copia impresa de los libros de Intel de IA32 e IA64. | |||
== Enlaces externos == | == Enlaces externos == | ||
*[ | *[http://www.dc.uba.ar/people/materias/oc2 Página oficial de la materia] | ||
*[http://www.drpaulcarter.com/pcasm/pcasm-book-pdf.zip PC Assembly Language] | |||
*[http://webster.cs.ucr.edu/AoA/Linux/aoapdf.tar.gz Art of Assembly] | |||
*[http://www.jegerlehner.com/intel/IntelCodeTable_es.pdf Tabla de códigos x86] | *[http://www.jegerlehner.com/intel/IntelCodeTable_es.pdf Tabla de códigos x86] | ||
*[ | *[http://download.intel.com/design/Itanium/manuals/24531905.pdf Intel Itanium Architecture Software Developer's Manual - Volume 3: Instruction Set Reference] | ||
*[ftp://download.intel.com/design/Pentium4/manuals/25366621.pdf Intel 64 and IA-32 Architectures Software Developer's Manual, Volume 2A: Instruction Set Reference, A-M] | *[ftp://download.intel.com/design/Pentium4/manuals/25366621.pdf Intel 64 and IA-32 Architectures Software Developer's Manual, Volume 2A: Instruction Set Reference, A-M] | ||
*[ftp://download.intel.com/design/Pentium4/manuals/25366721.pdf Intel 64 and IA-32 Architectures Software Developer's Manual, Volume 2B: Instruction Set Reference, N-Z] | *[ftp://download.intel.com/design/Pentium4/manuals/25366721.pdf Intel 64 and IA-32 Architectures Software Developer's Manual, Volume 2B: Instruction Set Reference, N-Z] | ||
[[Category:Materias]] | [[Category:Materias]] | ||
[[Category:Computación]] | [[Category:Computación]] | ||
[[Category:Sistemas]] | [[Category:Sistemas]] |