Academia de Software de Sistemas 1 de 6 UNIVERSIDAD DE GUADALAJARA CENTRO UNIVERSITARIO DE CIENCIAS EXACTAS E INGENIERÍAS DIVISIÓN DE ELECTRÓNICA Y COMPUTACIÓN DEPARTAMENTO DE CIENCIAS COMPUTACIONALES DATOS GENERALES CLAVE DE LA MATERIA : CC206 NOMBRE DE LA MATERIA : PROGRAMACIÓN DE SISTEMAS TIPO : CURSO TEÓRICO CARÁCTER DEL CURSO : OBLIGATORIO ÁREA DE FORMACIÓN : BÁSICA PARTICULAR PREREQUISITOS : ESTRUCTURA DE ARCHIVOS DEPTO. DE ADSCRIPCIÓN : CIENCIAS COMPUTACIONALES ACADEMIA : SOFTWARE DE SISTEMAS CARGA HORARIA GLOBAL : 80 HORAS CARGA HORARIA SEMANAL : 4 HORAS VALOR EN CRÉDITOS : 11 CRÉDITOS FECHA DE ACTUALIZACIÓN : JULIO/2004 Calendario de Aplicación: 2006-A OBJETIVO GENERAL : EL ALUMNO ANALIZARA EN UN NIVEL OPERATIVO, LOS PRINCIPIOS DE FUNCIONAMIENTO DE LAS COMPUTADORAS BASADAS EN LA ARQUITECTURA DE VON NEWMANN Y DE HARVARD DESCRIBIENDO EL FUNCIONAMIENTO DE LOS PROGRAMAS ENSAMBLADORES, MACROENSAMBLADORES CARGADORES Y LIGADORES DE MEMORIA ASI COMO LA EJECUCION DE PROGRAMAS. OBJETIVOS ESPECÍFICOS: EXPRESADOS EN CADA MÓDULO DEL Programación de Sistemas CONTENIDO Academia de Software de Sistemas 2 de 6 UNIVERSIDAD DE GUADALAJARA DIVISIÓN DE ELECTRÓNICA Y COMPUTACIÓN DEPARTAMENTO DE CIENCIAS COMPUTACIONALES PROGRAMACIÓN DE SISTEMAS CONTENIDO TEMÁTICO PRINCIPAL Aplicar en el Calendario: 2006-A Módulo 1: Estructura de la computadora Objetivo: Entender con detalle los procesos lógicos que suceden en una computadora para que pueda ejecutar un programa en lenguaje máquina de una plataforma que en particular se define al iniciar el curso. 1.1 El modelo de Von Newmann y Harvard. 2h El alumno distinguirá las arquitecturas de computadoras de Von Newmann y Harvard. Revisando la definición de cada una de ellas. 1.2 Estructura lógica del procesador 2h El alumno explicara las partes que forman un microprocesador y su operación interna. Revisando la estructura a bloques de un microprocesador típico. 1.3 Lenguaje máquina 2h El alumno interpretara los códigos maquina del microcontrolador 68HC12 a partir de su conjunto de instrucciones. 1.4 Conjunto de registros y modelo de programación. 14h El alumno interpretará un programa en lenguaje ensamblador, conociendo los registros internos y modos de direccionamiento del microcontrolador 68HC12. 1.4.1. Conceptos de modelo de programación. El alumno distinguirá los registros internos del microcontrolador 68HC12 obtenidos a partir de las hojas de datos de MOTOROLA 1.4.2. Direccionamientos simples. (Inherente, Inmediato, Directo y Extendido) El alumno interpretara las operaciones de las instrucciones del microcontrolador 68HC12 en los direccionamientos Inherente, Inmediato, Directo y Extendido. 1.4.3. Direccionamiento Relativo de 8 bits. El alumno interpretara las operaciones de las instrucciones del microcontrolador 68HC12 en direccionamiento relativo calculando los saltos de 8 bits. 1.4.4. Direccionamiento Relativo de 16 bits. El alumno interpretara las operaciones de las instrucciones del microcontrolador 68HC12 en direccionamiento relativo calculando los saltos de 16 bits. 1.4.5. Direccionamiento Indexado. Programación de Sistemas Academia de Software de Sistemas 3 de 6 El alumno interpretara las operaciones de las instrucciones del microcontrolador 68HC12 en direccionamiento indexado usando los registros de índice. 1.4.6 Direccionamiento Indirecto. El alumno interpretara las operaciones de las instrucciones del microcontrolador 68HC12 en direccionamiento indirecto utilizando registros internos. 1.4.7. Otros direccionamientos. El alumno interpretara las operaciones de las instrucciones del microcontrolador 68HC12 en direccionamientos múltiples y combinados, como son: el relativo de 9 bits y los inherentes que utilizan operandos de registros, además de direccionamientos de otros microprocesadores. Módulo 2: Ensambladores Objetivo: Diseñar un ensamblador de dos pasos para lo cual el alumno requerirá conocer los diferentes esquemas de ensamblado. 2.1 Relación Arquitectura de máquinas y ensamblador El alumno relacionará la arquitectura de la maquina con la construcción de un programa en lenguaje ensamblador. 4h 2.1.1. Características Dependientes de la Maquina. El alumno concluirá las características del ensamblador que dependen del microcontrolador utilizado. 2.1.2. Características Independientes de la maquina. El alumno Concluirá las características del ensamblador que son comunes a los programas ensambladores independientemente del microprocesador que se este utilizando. 2.2 Modalidades de ensamblado 2h El alumno distinguirá los diferentes tipos de ensambladores en sus diferentes clasificaciones. 2.3 Técnicas de ensamblado. 4h El alumno manipulará las técnicas de ensamblado de código maquina mas utilizadas comercialmente. 2.3.1. Ensamblador de un paso. El alumno resolverá el trabajo de un ensamblador de un paso obteniendo el código maquina de un programa en lenguaje Ensamblador utilizando el algoritmo de un paso. 2.3.2. Ensamblador de dos o más pasos. El alumno resolverá el trabajo de un ensamblador de dos pasos obteniendo el código maquina de un programa en lenguaje ensamblador utilizando el algoritmo de dos pasos. 2.4 Gestión de memoria en el ensamblador Programación de Sistemas 2h Academia de Software de Sistemas 4 de 6 El alumno explicara la forma en que el ensamblador es capaz de gestionar el uso de memoria en la generacion del codigo maquina del programa en ensamblador. 2.5 Diseño y programación del ensamblador de dos pasos. 6h El alumno diseñara un algoritmo para un ensamblador de dos pasos del microcontrolador 68HC12. 2.5.1. Algoritmo de programación del paso 1 en el ensamblador de dos pasos. El alumno diseñara el algoritmo del primer paso de un ensamblador de dos pasos para el microcontrolador 68HC12 utilizando todas las herramientas de programación que sean necesarias. 2.5.2. Algoritmo de programación del paso 2 en el ensamblador de dos pasos El alumno diseñara el algoritmo del segundo paso de un ensamblador de dos pasos para el microcontrolador 68HC12 utilizando todas las herramientas de programación que sean necesarios. 2.5.3. Formato de Archivo objeto. El alumno modificara el diseño del ensamblador de dos pasos para que este pueda generar el código maquina en el formato s-record de MOTOROLA de 8 bits. Módulo 3: Cargador-Ligador Objetivo: Entender el funcionamiento de los esquemas más importantes de la carga y liga de módulos objeto. 3.1 Clases de cargadores 4h El alumno distinguirá las dos principales clases de cargadores de memoria y que se utilizan en una computadora personal. 3.1.1. Cargador Absoluto El alumno Explicara el funcionamiento de un cargador absoluto y sus aplicaciones. 3.1.2. Cargador Relativo El alumno explicara el funcionamiento de un cargador relativo y sus aplicaciones haciendo énfasis en las ventajas sobre el cargador absoluto. 3.2 Relación cargador-sistema operativo 2h El alumno explicara el uso de un cargador de memoria en un sistema operativo conociendo los diferentes cargadores utilizados en una PC. 3.3 Funciones del editor de enlace. 4h El alumno diseñara un editor de enlace conociendo las características de este en un sistema operativo. 3.3.1. Definición y funciones del editor de enlace. El alumno explicara la operación y ventajas de un editor de enlace revisando los archivos ejecutables de una PC. Programación de Sistemas Academia de Software de Sistemas 5 de 6 3.3.2. Algoritmo del editor de enlace. El alumno diseñara un programa ligador con el algoritmo de editor de enlace para el microcontrolador 68HC12. 3.4 El problema de liga de objetos y métodos de solución 2h El alumno explicara la operación y ventajas del ligador de objetos revisando el uso de los cargadores dinámicos. 3.5 Diseño y programación de un cargador 2h El alumno diseñara un programa que guarde los datos de un archivo objeto en un buffer de memoria de la PC simulando la operación de un cargador de memoria. Módulo 4: Macroprocesadores Objetivo: Entender el funcionamiento de las diversas modalidades de macroprocesamiento. 4.1 Importancia teórica de las macroexpresiónes y usos de un macroprocesador 2h El alumno describirá el uso de macros en un ensamblador y la utilidad de su utilización. 4.2 Macroprocesadores con argumentos y macroprocesadores recursivos 2h El alumno manipulara las macros de un macroensamblador utilizando argumentos y recursividad. 4.3 Incorporación de un procesador de macros al ensamblador 2h El alumno diseñara el algoritmo para la implementación de un procesador de macros al ensamblador del modulo 2. MODALIDAD DE ENSEÑANZA-APRENDIZAJE Centrada en el alumno, se recomienda que el profesor asesore y supervise el proceso de formación y retención de cada alumno, considerando fomentar su creatividad. BIBLIOGRAFÍA BÁSICA - System Software An Introduction to systems programming Leland L. Beck 3rd Edition Addison - Wesley 1997 ISBN 0-201-42300-6 - Barry Brey, Microprocesadores avanzados de Intel Prentice-Hall MATERIAL DE APOYO ACADÉMICO Programación de Sistemas Academia de Software de Sistemas 6 de 6 - Notas sobre el curso - Pizarrón y gis - Acetatos y proyector COMPETENCIAS QUE SE PUEDEN ADQUIRIR - Dominio de la programación de un sistema computacional. - Conocimiento de los modelos de ejecución de procesos en diversas plataformas - Capacidad para diseñar programas a nivel de sistema teniendo disponibles las hojas de datos de arquitectura y modelo de programación de diversas plataformas APLICACIÓN PROFESIONAL Entender la importancia de los programas de sistemas. Su diseño e implementación de acuerdo a necesidades y especificaciones dadas en problemas de la Industria, Comercio y Sociedad. EVALUACION Se realizara un examen departamental que comprenda los módulos 1, 2 y 3 después de la sesión 28. del cual se consideraran 2 hrs. Cada sesión tiene una duración de 2 hrs. Se solicitaran a los alumnos una cantidad de tareas las cuales formaran al promediarse 20 puntos y que requerirán como tiempo mínimo del alumno de 10 hrs. CRITERIOS DE EVALUACIÓN ORDINARIA Se evaluará durante el período escolar mediante: - Exámenes parciales 40% Examen departamental 40% Actividades 20 % CRITERIOS DE ACREDITACIÓN ORDINARIA Haber asistido al 80 % mínimo de clases y actividades registradas durante el curso, obtener un promedio global de 60 puntos en evaluación ordinaria de un máximo de 100. CRITERIOS DE EVALUACION EXTRAORDINARIA - Examen Departamental. 80 % Calificación ordinaria 20 % Estos criterios se tomaron con base en el reglamento general de evaluación y promoción de alumnos. CRITERIOS DE ACREDITACION EXTRAORDINARIA. Haber cubierto un 65 % mínimo de asistencia al curso y actividades registradas durante el curso, obtener una calificación mínima de 60 en evaluación extraordinaria. Programación de Sistemas