![]() |
Departamento de Electrónica y Comunicaciones Alfonso Alejandre Microprocesadores |
Esta asignatura pertenece al Segundo Curso de Ingeniería Técnica Sistemas y al Segundo Curso de Ingeniería Superior.
Aprovechando los conocimientos adquiridos en Introducción a las Computadoras (asignatura que cierra el acceso a Microprocesadores), se pasa a utilizar microprocesadores reales. Concretamente el intel 80386 y superiores. Existen dos grandes bloques en el curso
80386 en modo real. Se estudian sus características generales, el ensamblador y algunas funciones del S.O. A partir de ahí se pasa a hacer programas en ensamblador en prácticas de laboratorio.
80386 y posteriores en modo protegido. En esta parte nos dedicamos a estudiar la gestión de memoria por parte del micro, esto abarca la segmentación, la paginación y la caché. Este estudio se lleva a cabo de una forma exahustiva describiendo y analizando los diferentes registros, tablas y estructuras necesarias para llevar a cabo las gestión de uso y protección de la memoria.
Curso 2002-2003
Tema I: Características generales de los micros 80x86 y Pentiums.
1. Historia.
2. Otras características.
3. Organización de la memoria.
4. Alineamiento de datos, notaciones y convenios.
Tema II: Operandos, registros, direccionamientos y variables.
1. Reubicación de programas y direccionamiento mediante segmentos.
2. Registros de usuario.
3. Operandos de las instrucciones de datos enteros.
4. Operandos en memoria.
5. Variables y nombres de variables.
6. Ejemplos correctos e incorrectos:
7. Otros accesos a memoria.
Tema III: El modo real.
1. Traducción de dirección lógica a física.
2. El sistema de interrupciones.
3. La inicialización.
Tema IV: Las instrucciones que no rompen la secuencia.
1. Introducción.
2. Instrucciones con 2 operandos “normales”.
3. Instrucciones con 1 operando y un número de bits (rotaciones y “shifts”).
4. Instrucciones con 1 operando y una dirección de puerto.
5. Instrucción con 2 operandos forzados: un registro y un puntero (LEA).
6. Instrucciones con 1 operando.
7. Instrucciones sin operandos.
8. Instrucciones de multiplicación y división.
9. Instrucciones de manipulación de strings.
10. Instrucciones repetitivas.
Tema V: Las instrucciones de ruptura de secuencia.
1. Instrucciones NEAR (intrasegmento) y FAR (intersegmento).
2. Etiquetas y nombres de PROCs (procedures).
3. Instrucciones de salto condicional.
4. Instrucciones de saltos y llamadas a subrutimas incondicionales.
5. Retornos de subrutinas llamadas con CALL.
6. Paso de parámetros por pila.
7. Manejo de interrupciones software
Tema VI: Ejemplo de entorno en modo real: el MS-DOS.
1. Las System Calls.
2. Estructura software del PC en MS-DOS.
3. Las System Calls y las funciones BIOS.
4. System Calls para manejo de teclado y pantalla.
5. Tratamiento de ficheros en MS-DOS.
6. System Calls para manejo de ficheros y terminación del programa.
7. Las macros.
Tema VII: Diseño de programas en ensamblador para MS-DOS.
1. Esquema típico del programa.
2. El fichero macros.mac.
3. Los modelos de memoria.
4. Los directivos de apertura de segmento.
5. Otros directivos.
6. El proceso de ensamblado.
7. El Turbodebugger y su uso.
8. Las conversiones de ASCII a binario y viceversa.
9. El ensamblado automático.
10. Segunda sesión de prácticas.
11. Las librerías.
12. Las funciones de la librería convs.lib.
13. Tercera sesión de prácticas.
Tema VIII: La segmentación.
1. Introducción.
2. La protección en la carga de segmentos.
3. Las tablas GDT y LDT.
4. Los descriptores.
5. Los registros de segmento.
6. Los registros GDTR y LDTR.
7. Detalle de la carga directa de un registro de segmento.
8. Detalle de los accesos a memoria.
9. Las Call Gates.
10. Los retornos de subrutina intersegmento.
11. Introducción al cambio de tarea.
12. El registro TR y los descriptores de TSS.
13. Configuración del TSS.
14. El cambio de tarea directo.
15. El cambio de tarea a través de Task Gate.
16. Notas finales sobre el cambio de tarea.
17. Las interrupciones en modo protegido.
18. ¿Por qué hay 3 formas de atender interrupciones?.
19. Proceso de atención a interrupciones mediante subrutinas.
20. Proceso de atención a interrupciones mediante Task Gates.
21. Vectores reservados.
22. La instrucción IRET.
La carga del registro IP.
Instrucciones privilegiadas.
Tema IX: La paginación.
1. Memoria virtual.
2. Memoria virtual segmentada.
3. Memoria virtual paginada.
4. Memoria virtual de segmentos paginados.
5. Espacios de direccionamiento.
Paginación sin direcciones extendidas.
Paginación con direcciones extendidas.
Tema X: Memoria caché.
1. Velocidad de las memorias pipeline y caché.
2. Configuraciones de caché.
3. Carga de línea en caché: Acceso en modo página y bancos entrelazados.
4. Cachés serie y paralelo.
5. Criterios de escritura en memoria principal.
6. Coherencia entre cachés. Protocolo MESI.
La presente documentación ha sido elaborada por los profesores de la asignatura, consta de varios anexos y puede ser bajada para uso personal. No puede ser colocada en otras páginas web sin autorización de los autores.
|
Anexos. zip (455 KB.) Contiene los siguientes Anexos: Anexo A: Contiene un subconjunto del set de instrucciones del 80386 Anexo B: Contiene un subconjunto de las System Calls del MS-DOS Anexo C: Contiene información sobre el proceso de ensamblado y librería de rutinas de conversión Anexo E: Contiene un conjunto de tablas relacionadas con la segmentación y la paginación en los micros intel xx86
|
|
Seguidores Seguidores (638 KB) Contiene seguidores de clase para diferentes partes de la asignatura Seguidores de clase con proyector: Primer cuatrimestre en PPT. (5,4 MB.) Segundo Cuatrimestre PDF Contiene seguidores de clase de Segmentación, Paginación y Memoria caché (932 KB.)
|
|
Problemas y ejemplos Problemas de clase. (6.6 MB.) Diferentes problemas de los que se realizan en clase. Uno de los ficheros pertenece al tema 8 (enlace de ensamblador y el lenguaje C, que no se cursa con el nuevo programa de la asignatura, pero se ha mantenido su presencia.). Ejemplo de call gate en PPT.. (1 MB.) Problema detallado del proceso de llamada a una subrutina a través de una CALL GATE. Paginación en PPT (1,4 MB). PlantEXE.zip (31 KB) Contiene una plantilla para empezar a escribir programas en ensamblador para MS-DOS, permite que podamos visualizar con facilidad enteros y cadenas de caracteres.
|
|
Bibliografía Bibliografía recomendada para la asignatura.
|
Problemas examen curso 2003/2004 (80 páginas 718 KB.)
Problemas examen curso 2004/2005 (78 páginas 362 KB.)