====== 66.20. Organización de Computadoras ====== **Titular:** Dr. Ing. José Luis Hamkalo [[http://www.fi.uba.ar/materias/6620/|Página web oficial]] **Régimen del curso:** Clases teóricas de asistencia no obligatoria. Clases prácticas de asistencia obligatoria. Realización de 2 o 3 trabajos prácticos grupales obligatorios, con aprobación individual por alumno. El régimen de parciales y aprobación es el actualmente vigente para las materias de la Facultad. ++++Carreras| ^ Carrera ^ Créditos ^ Correlativas ^ Condición ^ | Ingeniería Electrónica | 6 | [[materias:66:09|66.09]] | Optativa | | Ingeniería en Informática | 6 | [[materias:66:02|66.02]] - [[materias:66:70|66.70]] | Obligatoria | ++++ ===== Programa ===== ++++Objetivos| La asignatura está orientada a desarrollar una formación básica suficiente para comprender y manejar los conceptos elementales correspondientes a una arquitectura clásica del tipo Von Newman. Se desarrollan conceptos generales aplicables a las diversas arquitecturas actuales, sin hacer referencia explícita a ninguna de ellas. El objetivo principal consiste en que los alumnos logren adquirir la destreza necesaria para: - reconocer las distintas unidades constitutivas de un sistema de cómputo. - Comprender los mecanismos intervinientes en el ciclo de ejecución de instrucciones. - Confeccionar programas elementales en seudo assembler. - Diseñar bancos de memoria y comprender los mecanismos de memoria virtual y cache. - Comprender el funcionamiento de los dispositivos de entrada salida y sus controladoras, así como desarrollar drivers elementales para los mismos. La tecnología informática moderna requiere que los profesionales de todas las especialidades de la informática entiendan tanto la circuitería como el software. la interacción entre estos dos elementos a distintos niveles ofrece un entorno para la comprensión de los fundamentos de la computación. Las ideas centrales sobre la estructura del computador y su diseño son las mismas, por lo tanto se mostrará la relación entre la circuitería y el software, centrándonos en los conceptos que constituyen la base de las computadoras actuales. Es importante que el alumno comprenda las interdependencias entre estas áreas, así como entender como trabaja un sistema y porqu‚ rinde como lo hace. Esta asignatura brinda las bases necesarias para que el alumno pueda encarar el estudio de Arquitecturas avanzadas y Sistems Operativos. ++++ ++++Programa sintético| - Estructura de Von Newman. - Unidades funcionales. - Conjunto de instrucciones. - Unidad Central de Procesos. - Unidades de control por Hardware y microprogramada. - Unidades aritméticas. - Bancos de memoria y memoria virtual. - Entrada salida, DMA e interrupciones. ++++ ++++Programa analítico| - **RENDIMIENTO:** Introducción; medición del rendimiento; relación entre las medidas. Elección de programas para evaluar el rendimiento. Comparación y resumen del rendimiento. Casos reales. - **INSTRUCCIONES:** Introducción. Operaciones de la circuitería del computador; operandos de la circuitería del computador. Representación de instrucciones en el computador. Instrucciones para la toma de decisiones Soporte para procedimientos en la circuitería del computador. Modos de direccionamiento, tablas y punteros. casos reales. - **ARITMÉTICA PARA COMPUTADORES:** Introducción. Números con y sin signo; suma y resta, operaciones lógicas. Construcción de una Unidad Aritm‚tica y Lógica. Multiplicación, división, coma flotante. Casos reales. - **EL PROCESADOR. CAMINOS DE DATO Y CONTROL:** Introducción. Construcción de un camino de datos. Realización de un esquema simple; realización multiciclo. Microprogramación, simplificación del diseño del control. Excepciones. - **MEMORIA INTERNA:** Introducción. Descripción del sistema de memoria de un computador. Memoria principal semiconductora. Bancos de memoria, organizaciones DRAM. Jerarquías de memoria. Principios básicos de la memoria cache, como medir y mejorar el rendimiento de la cache. Memoria virtual paginada por demanda y segmentada. Un marco común para la jerarquía de memoria. - **MEMORIA EXTERNA:** Discos magnéticos; organizaciones RAID. Memoria óptica. Cintas magnéticas. - **ENTRADA / SALIDA:** Dispositivos externos; módulos de entrada / salida. Buses, conexión de los dispositivos de E/S al procesador y la memoria. Interfases con el procesador, la memoria y el Sistema Operativo. E/S programada, dispositivos de interrupción; acceso directo a memoria; canales y procesadores de E/S. La interfase SCSI. Medidas de rendimiento de E/S. Diseño de un sistema de E/S. - **PIPE-LINE. MEJORA DEL RENDIMIENTO:** Perspectiva general del Pipe-Line. Pipe-Line del camino de datos. El control en el Pipe-Line. Riesgos de datos y anticipación, riesgos de datos y bloqueo. Riesgos de salto. Excepciones. Pipe-Line superescalar y dinámico. - **ARQUITECTURAS RISC:** Introducción. Características de la ejecución de instrucciones, el uso de una gran cantidad de registros. Compiladores optimizantes en el uso de registros. Pipe-Line en arquitecturas RISC. Controversia RISC versus CISC. Casos reales. - **PARALELISMO A NIVEL DE INSTRUCCIÓN Y PROCESADORES SUPERESCALARES:** Introducción. Pautas de diseño. Pentium II, PowerPC, MIPS R10000, Ultra Sparc-II. ++++ ++++Clases (2º Cuatrimestre 2006):| - Clase 1 (antecedentes históricos). - Clase 2 (principios cuantitativos, clase dada sin diapositivas). - Clase 3 (principios de arquitecturas de conjuntos de instrucciones). - Clase 4 (proceso de compilación, enlace y carga. Simulador PCSPIM). Leandro Santi. - Clase 5 (Jerarquías de memoria, parte 1, clase dada sin diapositivas). - Clase 6 (Jerarquías de memoria, parte 2, memoria virtual, clase dada sin diapositivas). - Clase 7 (optimizaciones de software). Augusto Vega. - Clase 8 (Camino de datos, secuenciamientop de instrucciones, clase dada sin diapositivas) - Clase 9 (Unidad de control, las diapositivas contienen solo una parte de lo dado en clase ) - Clase 10 (Pipeline). - Clase 11 (Tópicos avanzados). - Clase 12 (seguridad informática). Alejandro Gramajo - Clase 13 (entrada-salida). Juan Heguiabehere. ++++ ===== Cursos ===== ++++Mostrar cursos| ^ Curso ^ Modalidad ^ Docentes ^ Días ^ Horario ^ | 0 | T | Dr. Ing. José Luis Hamkalo | Jueves | 16:00- 19:00 | | 1 | PO | Ing. Leandro Santi, Ing. Hernán Pérez Masci | Martes | 19:00- 22:00 | | 2 | PO | Ing. Jonás Pfefferman, Augusto Javier Vega | Jueves | 19:00- 22:00 | ++++ ===== Material ===== ++++Parciales| - [[.20:parcial_2_20061102|1er Parcial - Práctica: Jueves - 02/11/2006]] - [[.20:parcial_2_20061123|2do Parcial - Práctica: Jueves - 23/11/2006]] - [[.20:parcial_2_20091806|2do Parcial - Práctica: Jueves - 18/06/2009 (pdf)]] - [[.20:parcial_2_20090608|3er Parcial - Práctica: Jueves - 06/08/2006 (pdf)]] ++++ ++++Material para el Final| - {{.20:temas_posibles.pdf|Archivo de temas posibles del final(de la página de la materia)}} - {{.20:resolucion_temas_posibles.pdf|Resolución de temas posibles}} ++++ ++++Finales| - [[.20:final_2_20070215|Final del 15 de Febrero del 2007]] - [[.20:final_2_20070222|Final del 22 de Febrero del 2007]] - [[.20:final_3_20071227|Final del 27 de Diciembre del 2007]] - [[.20:final_3_20080221|Final del 21 de Febrero del 2008]] - [[.20:final_20080228|Final del 28 de Febrero del 2008]] - {{:materias:66:20:organizacion_de_computadoras_66_11-jul.pdf|Final 11/07/12}} - [[.20:final_20130816|Final del 16 de Agosto del 2013]] - [[.20:final_10-02-2014|Final del 10/02/2014]] ++++ ===== Blibiografía ===== **Libro principal:** //"Computer Architecture a Quantitative Approach"//, Patterson David, John Hennessy, Morgan Kaufman Publisher. **Libro secundario:** //"Computer Organization and Design, the Hardware/Software Interface"//, D.A. Patterson, J.L. Hennessy. Morgan Kaufmann Publishers. ===== Enlaces ===== *[[http://www.computer.org|http://www.computer.org]] *[[http://www.acm.org|http://www.acm.org]] *[[http://www.cs.wisc.edu/~arch/www/|Computer Architecture Page]]