Diferencia entre revisiones de «Organización del Computador II»
De Cuba-Wiki
(Agrega recuperatorio del segundo parcial del 14/07/2016) |
(Agrega segundo parcial del 17/11/16) |
||
Línea 83: | Línea 83: | ||
*[[Medio:Orga2_2parcial_23-06-16.pdf|Parcial del 23/06/16]] | *[[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_2recu_14-07-16.pdf|Recuperatorio del 14/07/16]] | ||
*[[Medio:Orga2_2parcial_17-11-16.pdf|Parcial del 17/11/16]] | |||
*[[Medio:Orga2_2parcial_29-06-17.pdf|Parcial del 29/06/17 (resuelto)]] | *[[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_2recu_18-07-17.pdf|Recuperatorio del 27/07/17 (resuelto)]] |
Revisión del 01:40 14 nov 2017
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
- 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: Clase del 14/11/2006 de Emilio Platzer con tips para el segundo parcial. Temas: FPU y Listas.
- Apuntes segundo parcial 2do cuatri 2017: System Programming
- Glosario de términos técnicos de la materia
- 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: Código assembler de funciones varias realizadas en el laboratorio.
- Práctica de Strings: Ejercicios de la práctica de strings.
- Práctica de Vectores y Matrices: Ejercicios de la práctica de vectores y matrices.
- Práctica de Aritmética: Ejercicios de la práctica de aritmética y relacionados.
- Operaciones sobre listas: Una posible manera de implementar en assembler varias operaciones sobre listas enlazadas.
- Manejo del stack (pila): Esquema para la creación de un stack frame.
- 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)
El Itanium ya no se da como tema desde por lo menos el 2do cuatrimestre del 2017.
- Itanium for Dummies: También conocido como "No sé nada de Itanium, ¿Cómo empiezo?"
- 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: Apuntes de clase sobre Rotación de registros con ejercicio de ejemplo, próximamente también Software Pipelining.
- SIMD: Apuntes de clase del 26/10/2006 sobre el set de instrucciones SIMD de Itanium.
- Software pipelining: Apuntes de clase software pipelining.
- Instrucciones de pipelining: Un mismo problema resuelto usando ctop, cexit, wtop y wexit para familiarizarse con estas instrucciones.
- Suma de vectores con Software Pipelining: Un pequeño ejemplo útil para encarar el tema.
- Mini-Tutorial de Software Pipelining: Un ejemplo de pipelining optimizando la escritura en el mismo vector que leemos.
- Ejemplo básico de Software Pipelining: Anónimo, cortesía de Fer (nadie lo probó, pero esta explicado).
- 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: Apuntes de las teóricas sobre las características generales de la arquitectura, a complementar con la presentación de la página.
Parciales
Primeros parciales
- Parcial del 10/10/06
- Parcial del 15/05/11
- Parcial del 11/10/11
- Parcial del 17/05/12
- Parcial del 14/05/13
- Parcial del 01/10/13
- Parcial del 20/05/14
- Parcial del 05/05/16 (resuelto)
- Parcial del 11/05/17 (resuelto)
- Parcial del 03/10/17 (resuelto)
Segundos parciales
- Parcial del 16/11/06
- Parcial del 28/06/11
- Recuperatorio del 12/07/11
- Parcial del 24/11/11
- Recuperatorio del 13/12/11
- Parcial del 26/06/12
- Recuperatorio del 19/07/12
- Parcial del 22/11/12
- Recuperatorio del 11/12/12
- Parcial del 27/06/13
- Parcial del 12/11/13
- Recuperatorio del 26/11/13
- Parcial del 24/06/14
- Recuperatorio del 10/07/14
- Parcial del 18/11/14
- Recuperatorio del 02/12/14
- Parcial del 23/06/15
- Recuperatorio del 07/07/15
- Parcial del 19/11/15 (resuelto)
- Recuperatorio del 10/12/15
- Parcial del 23/06/16
- Recuperatorio del 14/07/16
- Parcial del 17/11/16
- Parcial del 29/06/17 (resuelto)
- Recuperatorio del 27/07/17 (resuelto)
Finales
- 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.
- Finales de Diciembre del 2006: Finales ya tomados en Diciembre del 2006.
- Resumen de microarquitectura y otros temas para el final
- Resumen para el final : Contiene los latex y el pdf
- Pipelining and Superscalar execution : Paper sobre temas de microarquitectura para el final.
- Inside the Machine (Chapter 4): Superscalar Execution : Capitulo de muestra sobre ejecución superescalar para preparar el final.
- Los finales de Alejandro Furfaro suelen ser orales (si no hay mucha gente). Duran 15-20 minutos y hace preguntas de microarquitectura, específicamente sobre coherencia de Caché, predicción de saltos, microarquitectura Netburst y Pentium III.
- Carnegie Mellon - Computer Architecture 2015 - Onur Mutlu: Videos sobre los temas del final (MUY recomendado). Las clases importantes son la 9, 10, 11, 12, 13, 17 y 18.
Recursos
- Planilla de stack trace FPU: Útil para ir explicando paso por paso el estado de la pila de FPU en el parcial.
- Planilla de stack trace FPU (fuente): Archivo fuente de la planilla, hecho en Inkscape SVG.
- Libros de Intel: Cómo conseguir gratuitamente una copia impresa de los libros de Intel de IA32 e IA64.
Enlaces externos
- Página oficial de la materia
- PC Assembly Language
- Art of Assembly
- Tabla de códigos x86
- Intel Itanium Architecture Software Developer's Manual - Volume 3: Instruction Set Reference
- Intel 64 and IA-32 Architectures Software Developer's Manual, Volume 2A: Instruction Set Reference, A-M
- Intel 64 and IA-32 Architectures Software Developer's Manual, Volume 2B: Instruction Set Reference, N-Z