115113 Software de Base
Trimestre 2011 Invierno
Instructor: Dr. Francisco
Javier Zaragoza Martínez.
Inicio y fin del curso: lunes
17 de enero a viernes 1 de abril de 2011.
Grupo: CSI81 (martes y jueves
de 16:30
a
18:00).
Asesorías: lunes,
miércoles y viernes de 09:15 a 11:30 en la
oficina H-264.
Salón: E-309.
Cupo: 50 estudiantes.
Contenido
Se cubrirá el contenido
oficial del curso (el cual se detalla
abajo). Es posible que el temario se cubra en un
orden distinto al allí mencionado.
- Descripción general de la estructura de una computadora.
- Lenguaje de máquina.
- Diseño de sistemas de programación.
- Ensamblador.
- Cargador y ligador.
- Macro-procesador.
Evaluación
La calificación del curso consta de 40 puntos obtenidos mediante
un proyecto de programación
dividido en varias etapas usando el
microcontrolador ATtiny10
de Atmel y 60
puntos obtenidos mediante tres
exámenes
parciales. No
habrá examen global. Además de obtener al menos 30
puntos
en los exámenes y al menos 20 puntos en el proyecto, se
requiere:
- obtener al menos un total de 60 puntos para acreditar con S,
- obtener al menos un total de 73 puntos para acreditar con B y
- obtener al menos un total de 87 puntos para acreditar con MB.
Las tareas y el proyecto se podrán entregar por correo
electrónico a
la cuenta sb en callix
y
podrán estar escritas en C o C++. Su cuenta
está en la misma máquina, a la que se pueden conectar con
ssh y que tiene
dirección IP 148.206.79.29.
Recuerden que, de acuerdo al Reglamento de
Alumnos de la UAM, es falta de los alumnos en contra de la
Institución el suplantar o permitir ser suplantado en la
realización de actividades académicas (Artículo 9)
y se impondrá desde amonestación escrita hasta
suspensión por dos trimestres (Artículo 13).
Calendario
El calendario de clases, de entrega de etapas del proyecto y de
exámenes escritos que muestro abajo es tentativo e irá
apareciendo paulatinamente. He anotado los números
de página de las notas a la derecha
de cada
tema.
- 18/01: Inicio del
curso. Software de aplicación y software de base (1-10).
- 20/01: Clase
cancelada por causas de fuerza mayor.
- 25/01: Estructura
del SIC y SIC/XE (11-25).
- 27/01: Formatos de instrucción del SIC/XE (26-36).
- 01/02: Ensamblador
simple y código objeto (37-51).
- 03/02: Tablas y
lógica del ensamblador (52-67).
- 08/02: Modos de
direccionamiento del SIC/XE (68-80).
- 09/02 a 11/02: Primer
examen
parcial: Introducción al software de base (1-80).
- 10/02: Primera sesión de preguntas sobre el proyecto.
- 15/02:
Relocalización de programas (81-91).
- 17/02: Literales,
símbolos y expresiones (92-110).
- 22/02: Bloques de programa y secciones de control (111-124).
- 24/02: Ensamblado con símbolos externos (125-135).
- 01/03: Segunda
sesión de preguntas sobre el proyecto.
- 02/03 a 04/03: Segundo examen
parcial: Ensambladores (81-135).
- 03/03:
Estaré en un congreso.
- 08/03: Opciones de diseño del ensamblador (136-147).
- 10/03: Cargadores básico y relocalizador (148-160).
- 15/03: Clase
cancelada por causas de fuerza mayor.
- 17/03: Ligado y
relocalización (161-174).
- 22/03: Opciones de
ligado independientes de la máquina
(175-192).
- 24/03: Opciones de diseño del cargador (193-210).
- 29/03:
Macroprocesadores básicos y algoritmo del
macroprocesador (211-235).
- 31/03:
Expansión condicional, parámetros con
palabras clave y opciones de diseño (236-248).
- 01 a 04/04: Tercer examen parcial:
Cargadores, ligadores y macroprocesadores
(136-248).
- 05/04: No habrá más tareas o exámenes.
- 08/04: Estas son las calificaciones que
pondré en el acta.
Bibliografía
- Atmel. ATtiny
4/5/9/10
Preliminary.
- Atmel. AVR
Instruction
Set. [Contiene los modos de direccionamiento y los
códigos de operación de las instrucciones.]
- Beck. System Software: An Introduction to
Systems Programming. Addison Wesley.
[Los
capítulos
1
a
4
contienen
todo
el
temario
del
curso.]
- Brookshear. Introducción
a
las
ciencias
de
la
computación. Addison Wesley.
- Donovan. Systems Programming. Mc Graw Hill.
- Kernighan y Pike. El
entorno
de
programación
UNIX. Prentice Hall.
- Kernighan y Pike. La
práctica
de
la
programación. Prentice Hall.
- Kleitz. Microprocessors and Microcontroller Fundamentals: the
8085 and 8051 Hardware and Software. Prentice Hall.
- Levine, G. Computación
y
programación
moderna. Addison Wesley. [Los
capítulos 3 y 5 contienen una introducción al curso.]
- Levine, J. Linkers &
Loaders. Morgan Kaufmann Publishers. [Este libro puede verse como
una continuación del capítulo 5 del curso.]
- Ullman. Fundamental Concepts of Programming Systems. Addison
Wesley.
- Wikipedia. Atmel
AVR Instruction Set.