Diferencia entre revisiones de «Organización del Computador II»
De Cuba-Wiki
(No se muestran 16 ediciones intermedias del mismo usuario) | |||
Línea 6: | Línea 6: | ||
; IA32 : | ; IA32 : | ||
* Operaciones | * Operaciones básicas | ||
* Direccionamiento a memoria | * Direccionamiento a memoria | ||
* Manejo de la pila y convencion C | * Manejo de la pila y convencion C | ||
* | * Aritmética de números grandes | ||
* Strings | * Strings | ||
* Vectores y matrices | * Vectores y matrices | ||
Línea 15: | Línea 15: | ||
* FPU: Floating point unit | * FPU: Floating point unit | ||
* Listas enlazadas | * Listas enlazadas | ||
== 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. | ||
*[[Glosario de términos técnicos (Organización del Computador II)|Glosario de términos técnicos de la materia]] | |||
== IA-32 == | == 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) == | == IA-64 (Itanium) == | ||
*[[ | *[[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. | ||
*[http://cuba.exp.dc.uba.ar/files/orga2/sp_basico.pdf Ejemplo básico de Software Pipelining]: Anónimo, cortesía de Fer | *[http://cuba.exp.dc.uba.ar/files/orga2/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=== | ||
*[[ | *[[Parcial del 10/10/06 (Organización del Computador II)|Parcial del 10/10/06]] | ||
===Segundos parciales=== | |||
*[[Parcial del 16/11/06 (Organización del Computador II)|Parcial del 16/11/06]] | |||
== Finales == | == Finales == | ||
*[[ | *[[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. | ||
*[[Finales Dic-2006 (Organización del Computador II)| Finales de Diciembre del 2006]]: Finales ya tomados en Diciembre del 2006. | |||
== Recursos == | == Recursos == | ||
*[http://cuba.exp.dc.uba.ar/files/orga2/fpu_stack.pdf Planilla de stack trace FPU]: | *[http://cuba.exp.dc.uba.ar/files/orga2/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. | ||
*[http://cuba.exp.dc.uba.ar/files/orga2/fpu_stack.svg Planilla de stack trace FPU (fuente)]: Archivo fuente de la planilla, hecho en [http://www.inkscape.org Inkscape SVG]. | *[http://cuba.exp.dc.uba.ar/files/orga2/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 == |
Revisión del 22:15 23 sep 2007
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.
- Glosario de términos técnicos de la materia
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)
- 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
Segundos parciales
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.
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