Anda di halaman 1dari 7

UNIVERSIDAD NACIONAL AUTNOMA DE MXICO FACULTAD DE INGENIERA PROGRAMA DE ESTUDIO ESTRUCTURA Y PROGRAMACIN DE COMPUTADORAS 09 Asignatura Clave 1429 4

Semestre Crditos

Ingeniera Elctrica Ingeniera en Computacin Ingeniera en Computacin Divisin Departamento Carrera en que se imparte Asignatura: Horas: Total (horas): Obligatoria Tericas 4.5 Semana 4.5 Prcticas 0.0

16 Semanas 72.0 hrs

Modalidad: Curso. Asignatura obligatoria antecedente: Ninguna Asignatura obligatoria consecuente: Sistemas Operativos Objetivo(s) del curso: El alumno explicar los conceptos fundamentales de organizacin y programacin de una computadora, que le permitan llevar a cabo el anlisis, diseo y desarrollo de programas del sistema, mismos que facilitarn al usuario del equipo interactuar de una manera ms eficiente con ste. Temario NM. NOMBRE 1. Estructura de la mquina 2. Presentacin de un caso real 3. Ensambladores 4. Maquinas virtuales 5. Encadenadores y cargadores 6. Asignacin de memoria 7. Programacin de entrada/salida

HORAS 8.0 26.0 12.0 8.0 6.0 6.0 6.0 72.0 0.0 72.0

Prcticas de laboratorio Total 1 Estructura de la mquina

Objetivo: El alumno explicar los conceptos que le permitan analizar funcionalmente los distintos elementos, tanto de software como de hardware que constituyen una computadora y su repercusin en las caractersticas de operacin del sistema. Contenido:

1.1 Bloques funcionales de una computadora: Memoria, procesador central, dispositivos de entrada/salida. 1.2 Bloques funcionales de un procesador: Unidad de control, Unidad Aritmtica y Lgica, Decodificador, Registro de direcciones, Registro de datos, Apuntador a la pila, Contador del programa, Registro de instruccin, Registro de banderas, Registros de propsito general y Mecanismo de interrupcin. 1.3 Funcionamiento de una computadora: Ciclos de obtencin, interpretacin y ejecucin de una instruccin. 1.4 Esquemas de direccionamiento: Mquinas de '3+1', '3', '2', '1' y '0' direcciones. 1.5 Modos de direccionamiento inmediato, directo, indirecto, registro, relativo al PC e indexado.

2 Presentacin de un caso real Objetivo: El alumno aprender a elaborar programas en lenguaje ensamblador para un procesador especfico. Contenido: 2.1 Arquitectura del procesador. 2.2 Modos de direccionamiento. 2.3 Conjunto de instrucciones. 2.4 Programacin en lenguaje ensamblador. 2.5 Depuracin de programas.

3 Ensambladores Objetivo: El alumno describir el funcionamiento y el diseo de un programa ensamblador capaz de procesar un lenguaje simblico y las directivas comnmente empleadas. Contenido: 3.1 El lenguaje de mquina y el lenguaje humano: Necesidad de un traductor. 3.2 Caractersticas de un lenguaje simblico. 3.3 Funciones y caractersticas de un ensamblador. Ensambladores de una, una y media y dos pasadas. 3.4 Diseo de un ensamblador: Contador de localidades, instrucciones, tablas de smbolos, Directivas, etc. 3.5 Macroinstrucciones y macroensambladores. 4 Maquinas virtuales Objetivo: El alumno comprender las caractersticas, el funcionamiento y el diseo de una mquina virtual capaz de procesar instrucciones y las directivas ms comunes. Contenido: 4.1 Definicin de las Maquinas Virtuales.

4.2 Instrucciones bsicas de las mquinas virtuales (Assemblies). 4.3 Mquina Virtual de Java. 4.4 Mquina Virtual de Microsoft CLI (ROTOR).

5 Encadenadores y cargadores Objetivo: El alumno comprender las caractersticas y funcionamiento de los programas tipo encadenadores y tipo cargadores, adems de mostrar la importancia de stos en un sistema de cmputo. Contenido: 5.1 El problema de la carga inicial. 5.2 Funciones y caractersticas de un encadenador y un cargador. 5.3 Cargadores de traduccin-ejecucin. 5.4 Cargadores: Absoluto y relocalizable. 5.5 Encadenadores. 5.6 Otros tipos de encadenadores y cargadores. 6 Asignacin de memoria Objetivo: El alumno explicar las diferentes tcnicas empleadas para dar solucin al problema de asignacin de memoria en una computadora. Contenido: 6.1 Memoria continua. 6.2 Memoria particionada: Particiones estticas, dinmicas y relocalizables. 6.3 Memoria virtual: Paginacin y segmentacin. 7 Programacin de entrada/salida Objetivo: El alumno programar la entrada y salida para diferentes dispositivos. Contenido: 7.1 Entrada/salida programada. 7.2 Interrupciones. 7.3 Acceso directo a memoria.

8 Arquitectura y programacin de computadoras paralelas Objetivo: El alumno explicar los conceptos relacionados con las arquitecturas paralelas y conocer algunas herramientas y tcnicas de la programacin paralela Contenido: 8.1 Introduccin al paralelismo 8.2 Multiprocesadores

8.3 Programacin paralela

Bibliografa bsica: ABEL, Peter IBM pc assembly language and programming 5a edicin U.S.A. Prentice Hall, 2001 ROJAS, Poce Alberto Ensamblador bsico Mxico Alfaomega, 1996

Temas para los que se recomienda:

1, 2, 3, 5, 6, 7

1, 2, 3, 5, 6, 7 BIRMELIN, Michael Manual de los procesadores 80xxx y pentium Barcelona Espaa Marcombo Boixareu Editores, 1995 1, 2, 3, 5, 6, 7 KIP, R. Irvine, Assembly Language for Intel Based Computers 4a edicin U.S.A. Prentice may, 2002 1, 2, 5, 6, 7 ALI MAZIDI MUHAMMAD, GILLISPIE MAZIDI, JANICE, 80x86 IBM PC and compatible computers: Assembly Lenguage, Design and Interfacing 3a edicin U.S.A. Prentice Hall, 2000 1, 2, 3, 5, 6, 7 STUTZ, David Shared Source CLI Essentials U.S.A. OReilly, 2003 4

John,L. Hennessy, David A. Patterson,Morgan Kaufmann

Computer Architecture: A Quantitative Approach, Morgan Kaufmann second edition, 1996. 8 David E. Culler, Jaswinder P. Singh, with Anoop Gupta Parallel Computer Architecture Morgan Kaufmann, 1998. 8 Kai Hwang, Zhiwei Xu Scalable Parallel Computing WCB/McGraw-Hill, 1998. David R. Butenhof,Addison-Wesly, Programming with POSIX Threads Professional Computing Series, 1997. Peter S. Pacheco Parallel Programming with MPI Morgan Kaufmann, 1997.

Justificacin Las limitaciones de la arquitectura clsica, tanto fsicas como lgicas, estn haciendo de ella una arquitectura que no satisface las necesidades actuales del cmputo, como son el manejo de procesos complejos en tiempo real (ej. Control de viajes, animaciones, comunicaciones), se necesitan realizar simulaciones (ej. de molculas, de poblaciones, prediccin meteorolgica, modelos mecnicos), entre otras. Las demandas de una enorme potencia de clculo, las tendencias tecnolgicas y las tendencias en arquitectura sealan a la arquitectura paralela como la solucin ms viable que se tiene hasta el momento. Dentro de la carrera de Ingeniera en Computacin se tiene la materia de computo de Alto Desempeo

Programa del curso (congelado)


Seccin 1: Capa fsica Captulo 1.- Introduccin al paralelismo

Necesidad del procesamiento paralelo. Rendimiento de computadores. Taxonoma de Flynn. Ley de Amdahl. Tipos de paralelismo. Entornos de programacin paralela.

Captulo 2.- Estructuras segmentadas


Encauzamiento. Mejora en el rendimiento. Tipos de cauces. Encauzamiento de instrucciones. Reordenacin de cdigo y desenrollado de bucles.

Captulo 3.- Paralelismo a nivel de instruccin


Introduccin al paralelismo a nivel de instruccin. Planificacin dinmica. Prediccin dinmica de saltos. Renombrado de registros. Procesadores superescalares y supersegmentados. Organizacin en computadores superescalares. Rendimientos. VLIW (very long instruction word). Arquitectura de la memoria entrelazada.

Captulo 4.- Multiprocesadores


Arquitecturas paralelas. Convergencia de arquitecturas paralelas. Modelos de programacin. Evolucin de los modelos arquitectnicos. Arquitecturas de memoria compartida. Arquitectura de paso de mensajes. La convergencia de las arquitecturas. Sistemas de paralelismo de datos. Flujo de datos. Redes de interconexin. La coherencia en cache.

Seccin 2: Capa lgica Captulo 5.- Programacin paralela


Importancia de la programacin en sistemas paralelos. Ejemplos de diferentes problemas paralelizables. Creacin de un programa paralelo. Limites de concurrencia (ley de Amdahl). Paralelizacin de un programa ejemplo, implementacin en diferentes paradigmas de programacin: espacio de direcciones compartidas y paso de mensajes.

Captulo 6.- Programacin paralela de sistemas SMP


Programacin multihebra. Creacin, estados y finalizacin de hebras. Sincronizacin: mutex, variables de condicin. Barreras. OpenMP.

Captulo 7.- Programacin paralela de paso de mensajes


Principios de la programacin por paso de mensajes. Estructura de un programa MPI. Mensajes, comunicaciones colectivas. Entrada/salida en sistemas MPI.

Anda mungkin juga menyukai