Notas previas Todas las sesiones de teorı́a, problemas y tutorı́as se consideran de 1 hora. Las sesiones de prácticas son siempre de 2 horas semanales. Las sesiones de evaluación (control de teorı́a, control de prácticas y parciales) son también de 2 horas. Las sesiones de trabajo del alumno serán de duración variable, especificándose ésta en cada caso. A lo largo del documento, todas las sesiones cuya duración no esté explı́citamente indicada se considerará de una hora. Cada semana existe una sesión de tutorı́as en grupo que se dedicará a resolver dudas en común con todos los alumnos, retroalimentación de cómo llevan la asignatura, debates, etc. A lo largo del curso se realizarán 6 sesiones de control (dos por parcial), que consistirán en la realización de problemas en grupo. Cada sesión se realizará después de los siguientes temas (o grupos de temas): T1 y T2; T3; T4; T5 y T6; T7; T8. Los grupos de alumnos serán variables a lo largo del curso, y constituidos aleatoriamente por el profesor. Ese mismo grupo deberá proponer 5 preguntas de tipo test sobre la teorı́a del tema correspondiente (al estilo de las del examen, con tres respuestas posibles y sólo una de ellas válida) en la misma sesión de dos horas. Los problemas resueltos por el grupo y las preguntas de test propuestas serán entregadas conjuntamente al profesor, que las devolverá corregidas al grupo junto con los comentarios de corrección pertinentes. Además, el trabajo será evaluado con una nota común entre 0,0 y 0,5. A lo largo del curso, y convenientemente coordinadas con la teorı́a, se harán tres sesiones de control referentes a los contenidos aprendidos en clase de prácticas; se efectuarán de forma individual por alumno. Estas tres sesiones se corresponderán a 1: Representación de la información en el PCSPIM, 2: Representación de las instrucciones máquina en el PCSPIM, 3: Entrada-salida en MIPS. Al igual que en teorı́a, se dejarán dos horas a los alumnos para que resuelvan un boletı́n de ejercicios propuestos, que entregarán al profesor de prácticas para su corrección y evaluación. Cada uno de estos boletines puntúa entre 0,0 y 1,0 puntos. 1 La planificación semanal que se muestra a continuación tiene caracter orientativo, pudiendo sufrir algunas pequeñas modificaciones en función de las particularidades del calendario académico para cada grupo y del seguimiento diario de las clases. La nomenclatura empleada en la codificación de las sesiones es la siguiente: La primera letra indica: (T)eoria / (P)racticas y, tras ella, el número de tema de teorı́a o de práctica. A continuación, después del guión, la letra siguiente indica (S)esión de clase en el aula o laboratorio, resolución de (P)roblemas en el aula o laboratorio, trabajo del (A)lumno, (SC) Sesión de Control, (Tut)orı́as, (Rep)aso, o bien (EP) Examen Parcial. Planificación detallada del 1er trimestre (25/09/05 al 17/12/05) Trimestre 1. Semana 01 T0-S01 : Presentación del programa de la asignatura: Profesorado, tutorı́as, temario, desarrollo de las clases de teorı́a y de las clases de prácticas, evaluación de la teorı́a y de las prácticas (sesiones de control, exámenes parciales y examen final), material didáctico (SUMA). T1-S01 : Teorı́a tema 1: Apartado 1.1 Primera aproximación al computador. Apartado 1.2 Tratamiento y codificación de la información. Subapartado 1.2.1 Tratamiento de la información. Subapartado 1.2.1 Codificación de la información. Apartado 1.3 Parámetros básicos de los computadores. T1-S02 : Teorı́a tema 1: Apartado 1.4 Programas e instrucciones. Subapartado 1.4.1 Tratamiento de las instrucciones. Subapartado 1.4.2 Fases en la ejecución de una instrucción. Subapartado 1.4.3 Tipos de instrucciones. Subapartado 1.4.4 Lenguajes de programación. Apartado 1.5 Evolución histórica de los computadores. Generaciones. Subapartado 1.5.1 La prehistoria de la computación. Subapartado 1.5.2 La computación contemporánea. Subapartado 1.5.3 Primera generación. Subapartado 1.5.4 Segunda generación. Subapartado 1.5.5 Tercera generación. Subapartado 1.5.6 Cuarta generación. Subapartado 1.5.7 Evolución en la estructura interna del computador. Apartado 1.6 Clasificación de las arquitecturas. T1-A01 : Lectura de los apuntes y realización de problemas básicos de conversión entre unidades propuestos por el profesor (4 horas). 2 Tut-01 : Sesión de tutorı́as en grupo. Trimestre 1. Semana 02 T2-S01 : Teorı́a tema 2: Apartado 2.1 Introducción. Apartado 2.2 Sistemas de numeración. Subapartado 2.2.1 Representación posicional de los números. Subapartado 2.2.2 Sistema de numeración en base dos. T2-S02 : Teorı́a tema 2: Subapartado 2.2.3 Operaciones aritmético-lógicas con variables binarias. Subapartado 2.2.4 Representación en complementos. Subapartado 2.2.5 Códigos intermedios: octal y hexadecimal. T2-P01 : Problemas tema 2: Resolución de problemas de conversión entre bases (decimal, binario, octal y hexadecimal), y de operaciones aritméticas en binario (suma, resta, multiplicación y división). T2-A01 : Lectura de los apuntes y realización de problemas similares a los resueltos en clase propuestos por el profesor (2 horas). P1-S01 : Práctica 1: Constitución de grupos de prácticas de 2 personas, y utilización de herramientas básicas de conversión entre bases y de operaciones aritméticas en binario (2 horas). Tut-02 : Sesión de tutorı́as en grupo. Trimestre 1. Semana 03 T2-S03 : Teorı́a tema 2: Apartado 2.3 Representación interna de los datos. Subapartado 2.3.1 Representación interna de datos de tipo entero. T2-S04 : Teorı́a tema 2: Subapartado 2.3.2 Representación interna de datos de tipo real (1/2). T2-P02 : Problemas tema 2: Resolución de problemas de operaciones aritméticas de suma y resta en signo y magnitud, complemento a uno, complemento a dos, y representación sesgada. T2-A02 : Lectura de los apuntes y realización de problemas similares a los resueltos en clase propuestos por el profesor (2 horas). P1-S02 : Práctica 1: Representación de la información I (tipos de datos). Explicación de las directivas MIPS para el segmento de datos. Introducción a las herramienta PCSPIM (2 horas). Tut-03 : Sesión de tutorı́as en grupo. 3 Trimestre 1. Semana 04 T2-S05 : Teorı́a tema 2: Subapartado 2.3.2 Representación interna de datos de tipo real (2/2). T2-S06 : Teorı́a tema 2: Subapartado 2.3.3 Códigos de E/S. Apartado 2.4 Detección y corrección de errores en la información codificada (1/2). T2-P03 : Problemas tema 2: Resolución de problemas de conversión de decimal a formato IEEE-754 o similar, y viceversa. T2-A03 : Lectura de los apuntes y realización de problemas similares a los resueltos en clase propuestos por el profesor (2 horas). P1-S03 : Práctica 1: Representación de la información I (tipos de datos). Ejemplo exhaustivo de representación de la información (cadenas de caracteres, enteros de diferente tamaño y reales de simple y doble precisión). Introducción a la herramienta Floating Point Lab (2 horas). Tut-04 : Sesión de tutorı́as en grupo. Trimestre 1. Semana 05 T2-S07 : Teorı́a tema 2: Apartado 2.4 Detección y corrección de errores en la información codificada (2/2). T2-P04 : Problemas tema 2: Resolución de problemas de representación en formato IEEE-754 o similar, incluyendo la determinación de la normalización, del formato y de los valores lı́mite (1/2). T2-P05 : Problemas tema 2: Resolución de problemas de representación en formato IEEE-754 o similar, incluyendo la determinación de la normalización, del formato y de los valores lı́mite (2/2). T2-A04 : Lectura de los apuntes y realización de problemas similares a los resueltos en clase propuestos por el profesor (2 horas). P1-S04 : Práctica 1: Representación de la información I (tipos de datos). Realización del boletı́n de ejercicios de esta práctica (1/2) (2 horas). Tut-05 : Sesión de tutorı́as en grupo. Trimestre 1. Semana 06 T2-P06 : Problemas tema 2: Resolución de problemas de detección y corrección de errores, incluyendo la determinación de la eficiencia, la redundancia 4 y la distancia de Hamming de un código, y el cálculo de los bits de paridad con los métodos de paridad horizontal-vertical y código de Hamming. T1T2-SC : Sesión de control de los temas 1 y 2: Realización de 1 ó 2 problemas y planteamiento de 5 preguntas tipo test. Grupos de cuatro alumnos (2 horas). T2-A05 : Lectura de los apuntes y realización de problemas similares a los resueltos en clase propuestos por el profesor (2 horas). P1-S05 : Práctica 1: Representación de la información I (tipos de datos). Realización del boletı́n de ejercicios de esta práctica (2/2) (2 horas). Tut-06 : Sesión de tutorı́as en grupo. Trimestre 1. Semana 07 T3-S01 : Teorı́a tema 3: Apartado 3.1 Introducción. Apartado 3.2 Álgebra de Boole. Subapartado 3.2.1 Propiedades de interés del Álgebra de Boole. Subapartado 3.2.2 Funciones lógicas: ecuaciones lógicas y tablas de verdad. T3-S02 : Teorı́a tema 3: Subapartado 3.2.3 Simplificación de funciones lógicas. Apartado 3.3 Circuitos combinacionales comunes. Subapartado 3.3.1 Puertas lógicas básicas. T3-P01 : Problemas tema 3: Resolución de problemas de simplificación de funciones lógicas mediante mapas de Karnaugh e implementación de funciones lógicas mediante puertas lógicas básicas. T3-A01 : Lectura de los apuntes y realización de problemas similares a los resueltos en clase propuestos por el profesor (2 horas). P1-SC : Sesión de control de la práctica 1: Realización de un boletı́n de ejercicios por alumno (2 horas). Tut-07 : Sesión de tutorı́as en grupo. Trimestre 1. Semana 08 T3-S03 : Teorı́a tema 3: Subapartado 3.3.2 Codificadores y decodificadores. Subapartado 3.3.3 Multiplexores. Subapartado 3.3.4 Memorias ROM y PLAs. T3-S04 : Teorı́a tema 3: Subapartado 3.3.5 Unidad aritmético lógica. T3-P02 : Problemas tema 3: Resolución de problemas de implementación de funciones lógicas mediante decodificadores y multiplexores, y de evaluación o extensión de la implementación de la unidad aritmético lógica del 5 Subapartado 3.3.5. T3-A02 : Lectura de los apuntes y realización de problemas similares a los resueltos en clase propuestos por el profesor (2 horas). P2-S01 : Práctica 2: Sistemas digitales. Introducción a las herramientas Boole y Multimedia Logic (2 horas). Tut-08 : Sesión de tutorı́as en grupo. Trimestre 1. Semana 09 T3-S05 : Teorı́a tema 3: Apartado 3.4 Circuitos secuenciales comunes. Subapartado 3.4.1 Biestables (flip-flops). T3-S06 : Teorı́a tema 3: Subapartado 3.4.2 Diseño de un circuito secuencial. T3-P03 : Problemas tema 3: Resolución de problemas de diseño de circuitos secuenciales (autómata de Moore, implementación mediante biestables, cronograma). T3-A03 : Lectura de los apuntes y realización de problemas similares a los resueltos en clase propuestos por el profesor (2 horas). P2-S02 : Práctica 2: Sistemas digitales. Diseño y simulación de circuitos lógicos secuenciales sencillos con Boole y Multimedia Logic (1/2) (2 horas). Tut-09 : Sesión de tutorı́as en grupo. Trimestre 1. Semana 10 T3-S07 : Teorı́a tema 3: Subapartado 3.4.3 Registros y bancos de registros. Subapartado 3.4.4 Memorias SRAM. T3-S08 : Teorı́a tema 3: Subapartado 3.4.5 Memorias DRAM. Subapartado 3.4.6 Memorias asociativas. T3-P04 : Problemas tema 3: Resolución de problemas de diseño de circuitos secuenciales (autómata de Moore, implementación mediante biestables, cronograma). T3-A04 : Lectura de los apuntes y realización de problemas similares a los resueltos en clase propuestos por el profesor (2 horas). P2-S03 : Práctica 2: Sistemas digitales. Diseño y simulación de circuitos lógicos secuenciales sencillos con Boole y Multimedia Logic (2/2) (2 horas). Tut-10 : Sesión de tutorı́as en grupo. 6 Trimestre 1. Semana 11 T3-P05 : Problemas tema 3: Resolución de un problema de diseño de un circuito secuencial (autómata de Moore, implementación mediante biestables, cronograma). T3-SC : Sesión de control del tema 3: Realización de 1 ó 2 problemas y planteamiento de 5 preguntas tipo test. Grupos de cuatro alumnos (2 horas). T3-A05 : Lectura de los apuntes y realización de problemas similares a los resueltos en clase propuestos por el profesor (2 horas). P3-S01 : Práctica 3: Introducción a los conceptos de instrucción y operaciones realizables por un computador, repertorio de instrucciones MIPS, y representación de las instrucciones. (2 horas). Tut-11 : Sesión de tutorı́as en grupo. Trimestre 1. Semana 12 EP1-Rep: Repaso y resolución de dudas antes de la realización del 1er examen parcial (1 horas). EP1-Exa: Realización del 1er examen parcial (2 horas). EP1-A01 : Repaso de conceptos teóricos y prácticos antes de la realización del 1er examen parcial (4 horas). P3-S02 : Práctica 3: Representación de las instrucciones: Modos de direccionamiento en MIPS. Formato de instrucción R. Formato de instrucción I. Formato de instrucción J. Introducción al formato de presentación de la ventana de código en el PCSPIM. Escribir, ensamblar y ejecutar algunos programas sencillos (2 horas). Tut-12 : Sesión de tutorı́as en grupo. Planificación detallada del 2o trimestre (18/12/05 al 01/04/06) Trimestre 2. Semana 13 T4-S01 : Teorı́a tema 4: Apartado 4.1 Introducción. Subapartado 4.1.1 Conceptos de instrucción y repertorio de instrucciones. Subapartado 4.1.2 Operandos de la circuiterı́a del computador. Subapartado 4.1.3 Operaciones realizables por un computador. 7 T4-S02 : Teorı́a tema 4: Apartado 4.2 Repertorio de instrucciones del MIPS. Subapartado 4.2.1 Instrucciones aritmético-lógicas. Subapartado 4.2.1 Instrucciones de transferencia de datos. Subapartado 4.2.3. Instrucciones de salto y bifurcación. T4-P01 : Problemas tema 4: Resolución de problemas sencillos de programación con el repertorio de instrucción básico, que no lleve procedimientos ni instrucciones en punto flotante, ni pseudoinstrucciones. T4-A01 : Lectura de los apuntes y realización de algún problema de programación básico como los vistos en clase (2 horas). P3-S03 : Práctica 3: Continuación de la sesión de prácticas anterior y seguimiento con el profesor de un ejemplo de codificación de instrucciones de un programa completo. Codificación de pseudoinstrucciones (2 horas). Tut-13 : Sesión de tutorı́as en grupo. Trimestre 2. Semana Navidad 01 T4-A02 : Lectura del capı́tulo dedicado al lenguaje de la máquina del PattersonHennessy (4 horas). T4-A03 : Lectura de los apuntes y realización de algún problema de programación básico como los vistos en clase (4 horas). Trimestre 2. Semana Navidad 02 P3-A01 : Primera lectura del apéndice dedicado a la programación en ensamblador del MIPS del Patterson-Hennessy (4 horas). P3-A02 : Escribir, ensamblar y ejecutar algunos programas sencillos en el simulador PCSPIM (4 horas). Trimestre 2. Semana 14 T4-S03 : Teorı́a tema 4: Subapartado 4.2.4 Instrucciones para manejar procedimientos. Subapartado 4.2.5 Instrucciones de punto flotante. Subapartado 4.2.6 Pseudoinstrucciones. T4-S04 : Teorı́a tema 4: Apartado 4.3 Representación de las instrucciones. Subapartado 4.3.1 Modos de direccionamiento en MIPS. Subapartado 4.3.2 Formato de instrucción R. Subapartado 4.3.3 Formato de instrucción I. Sub8 apartado 4.3.4 Formato de instrucción J. T4-P02 : Problemas tema 4: Resolución de problemas de programación más complejos que pueden incluir cualquier instrucción del repertorio de instrucciones MIPS vistas en este tema. T4-A04 : Lectura de los apuntes y realización de algún problema de programación como los vistos en clase (2 horas). P3-S04 : Práctica 3. Realización de los ejercicios descritos en el boletı́n de esta práctica sobre representación interna de instrucciones y traducción de pseudoinstrucciones a instrucciones máquina (1/2) (2 horas). Tut-14 : Sesión de tutorı́as en grupo. Trimestre 2. Semana 15 T4-S05 : Teorı́a tema 4: Apartado 4.4 Alternativas a MIPS. Apartado 4.5 Ejecución de un programa. Subapartado 4.5.1 Compilador. Subapartado 4.5.2 Ensamblador. Subapartado 4.5.3 Montador. Subapartado 4.5.4 Subapartado Cargador. T4-S06 : Teorı́a tema 4: Apartado 4.6. Ejemplo de programa. Subapartado 4.6.1 Intercambio de posiciones en memoria. Subapartado 4.6.2 Ordenación de un array. T4-P03 : Problemas tema 4: Resolución de problemas de representación interna de instrucciones. T4-A05 : Lectura de los apuntes y realización de algún problema de representación de instrucciones como los vistos en clase (2 horas). P3-S05 : Práctica 3. Realización de los ejercicios descritos en el boletı́n de esta práctica sobre representación interna de instrucciones y traducción de pseudoinstrucciones a instrucciones máquina (2/2) (2 horas). Tut-15 : Sesión de tutorı́as en grupo. Trimestre 2. Semana Febrero 01 T4-A06 : Lectura de los apuntes del tema 4 y realización de algún problema de programación y de representación de instrucciones como los vistos en clase (4 horas). P3-A03 : Realización de ejercicios de representación de instrucciones en MIPS sobre PCSPIM (1/2) (4 horas). 9 Trimestre 2. Semana Febrero 02 P3-A04 : Realización de ejercicios de representación de instrucciones en MIPS sobre PCSPIM (2/2) (4 horas). P4-A01 : Lectura en profundidad del apéndice dedicado a la programación en ensamblador del MIPS del Patterson-Hennessy (4 horas). Trimestre 2. Semana Febrero 03 T4-A07 : Lectura de los apuntes del tema 4 y realización de algún problema de programación y de representación de instrucciones como los vistos en clase (4 horas). P4-A02 : Lectura en profundidad de los apuntes sobre programación en PCSPIM de la práctica 4 (4 horas). Trimestre 2. Semana Febrero 04 T5T6-A01 : Lectura en profundidad del capı́tulo sobre diseño de un procesador monociclo y multiciclo del Patterson-Hennessy (4 horas). P4-A03 : Realización de ejercicios sencillos de programación en MIPS (pequeñas modificaciones de código ya escrito, etc.) (4 horas). Trimestre 2. Semana 16 T4-SC : Sesión de control del tema 4: Realización de 1 ó 2 problemas y planteamiento de 5 preguntas tipo test. Grupos de cuatro alumnos (2 horas). T5-S01 : Teorı́a tema 5: Apartado 5.1 Visión general de la implementación. Apartado 5.2 Construcción del camino de datos monociclo. Subapartados 5.2.1-5.2.3 Componentes básicos. Subapartado 5.2.4 Esquema completo de implementación (1/2). T5-A01 : Leer los apuntes correspondientes a los apartados vistos en la primera sesión del tema 5 (2 horas). P3-SC : Sesión de control de la práctica 3: Realización de un boletı́n de ejercicios por alumno (2 horas). Tut-16 : Sesión de tutorı́as en grupo. 10 Trimestre 2. Semana 17 T5-S02 : Teorı́a tema 5: Subapartado 5.2.4 Esquema completo de implementación (2/2). Apartado 5.3. Diseño de la unidad de control principal. Subapartado 5.3.1 El control de la ALU. T5-S03 : Teorı́a tema 5: Subapartado 5.3.2 El resto de control. Apartado 5.4 Necesidad de la implementación multiciclo. T5-P01 : Problemas tema 5: Realización de un problema de implementación de una nueva instrucción en el esquema monociclo. T5-A02 : Leer los apuntes correspondientes a los apartados vistos en clase. Volver a resolver el problema visto en clase de implementación de una nueva instrucción (2 horas). P4-S01 : Práctica 4: Introducción a la programación en MIPS. Un primer programa ejemplo. El simulador PCSPIM (2 horas). Tut-17 : Sesión de tutorı́as en grupo. Trimestre 2. Semana 18 T6-S01 : Teorı́a tema 6: Apartado 6.1 Visión general de la implementación. Apartado 6.2 Descomposición de la ejecución de instrucciones en ciclos. Apartado 6.3 Modificaciones en la estructura del camino de datos. Apartado 6.4 Esquema completo de la implementación multiciclo (1/2). T6-S02 : Teorı́a tema 6: Apartado 6.4. Esquema completo de la implementación multiciclo (2/2). T5-P02 : Problemas tema 5: Realización de problemas de implementación de nuevas instrucciones en el esquema monociclo. T5-A03 : Resolución por parte del alumno de problemas de implementación de nuevas instrucciones en el esquema monociclo (2 horas). P4-S02 : Práctica 4: Aprendizaje programación en MIPS. Repaso al repertorio de instrucciones. Ejemplos (2 horas). Tut-18 : Sesión de tutorı́as en grupo. Trimestre 2. Semana 19 T6-P01 : Problemas tema 6: Resolución de problemas de implementación 11 de nuevas instrucciones en el esquema multiciclo. T6-P02 : Problemas tema 6: Resolución de problemas de implementación de nuevas instrucciones en el esquema multiciclo. T6-P03 : Problemas tema 6: Resolución de problemas de cálculo y comparación de tiempos de ejecución de programas en monociclo/multiciclo. T6-A01 : Resolución de problemas del tema 6, tanto de implementación de nuevas instrucciones como de comparación de tiempos de ejecución (2 horas). P4-S03 : Práctica 4: Llamadas al sistema. Utilización de la memoria. Convenio de uso de registros. Ejemplos (2 horas). Tut-19 : Sesión de tutorı́as en grupo. Trimestre 2. Semana 20 T6-S03 : Teorı́a tema 6: Apartado 6.5 Definición del control cableado. Subapartado 6.5.1 Máquinas de estado finitos (Recordatorio Tema 4). Subapartado 6.5.2 Necesidad de un control microprogramado. Apartado 6.6 Excepciones e interrupciones. T5T6-SC : Temas 5 y 6. Sesión de control: Realización de 1 ó 2 problemas y planteamiento de 5 preguntas tipo test. Grupos de cuatro alumnos (2 horas). T6-A02 : Resolución de problemas del tema 6, tanto de implementación de nuevas instrucciones como de comparación de tiempos de ejecución (2 horas). P4-S04 : Práctica 4: Programas de ejemplo, implementación, depuración y modificaciones (1/2) (2 horas). Tut-20 : Sesión de tutorı́as en grupo. Trimestre 2. Semana 21 EP2-Rep: Repaso y resolución de dudas antes de la realización del 2o examen parcial (1 horas). EP2-Exa: Realización del 2o examen parcial (2 horas). P4-S05 : Práctica 4: Programas de ejemplo, implementación, depuración y modificaciones (2/2). EP2-A01 : Repaso de conceptos teóricos y prácticos antes de la realización del 2o examen parcial (2 horas). Tut-21 : Sesión de tutorı́as en grupo. 12 Planificación detallada del 3er trimestre (02/04/06 al 15/06/06) Trimestre 3. Semana Santa 1 P4-A04 : Trabajo autónomo previo de la práctica de MIPS (1/6) (8 horas). Trimestre 3. Semana Santa 2 T7-A02 : Lectura previa del capı́tulo dedicado a la memoria del PattersonHennessy (4 horas). P4-A05 : Trabajo autónomo previo de la práctica de MIPS (2/6) (4 horas). Trimestre 3. Semana 22 T7-S01 : Teorı́a tema 7: Apartado 7.1 Introducción. Subapartado 7.1.1 Principio de localidad. Subapartado 7.1.2 Conceptos generales. Apartado 7.2 Memoria caché. T7-S02 : Teorı́a tema 7: Subapartado 7.2.1 Memoria caché de correspondencia directa. Bloques monopalabra y bloques multipalabra. T7-P01 : Problemas tema 7: Resolución de problemas sencillos de ubicación de palabras y bytes en pequeñas memorias de ejemplo. Cálculo de tasas de fallo. Introducción mediante variación del problema a los bloques multipalabra. Trabajar con ejemplos sobre la división de la dirección en campos. P4-S06 : Práctica 4: Realización por parte de los alumnos del proyecto de programación en MIPS, con soporte del profesor (1/5) (2 horas). T7-A01 : Lectura previa de los apuntes del tema 7 completos (2 horas). Tut-22 : Sesión de tutorı́as en grupo. Trimestre 3. Semana 23 T7-S03 : Teorı́a tema 7: Subapartado 7.2.2 Rendimiento de la caché. Subapartado 7.2.3 Memoria caché asociativa por conjuntos. Subapartado 7.2.4 Tratamiento de los fallos de caché. Fallos de lectura. Fallos de Escritura. T7-S04 : Teorı́a tema 7: Subapartado 7.2.5 Diseño del sistema de memoria para soportar cachés. Subapartado 7.2.6 Memorias caché multinivel. Sub13 apartado 7.2.7 Caracterı́sticas de las memorias caché en algunos sistemas actuales. T7-P02 : Problemas tema 7.: Ampliación de los ejemplos de ubicación de palabras a cachés asociativas de n vı́as, o completamente asociativas. Ejemplos sobre la división de la dirección en campos, ampliados al caso general. P4-S07 : Práctica 4: Realización por parte de los alumnos del proyecto de programación en MIPS, con soporte del profesor (2/5) (2 horas). P4-A06 : Trabajo autónomo de la práctica de MIPS (3/6) (2 horas). Tut-23 : Sesión de tutorı́as en grupo. Trimestre 3. Semana 24 T7-S05 : Teorı́a tema 7: Apartado 7.3 Memoria virtual. Subapartado 7.3.1 Conceptos de memoria virtual. Subapartado 7.3.2 Consideraciones de diseño de un sistema de memoria virtual. Subapartado 7.3.3 Localización de páginas. Tratamiento de los fallos de página. T7-S06 : Teorı́a tema 7: Subapartado 7.3.4 TLB (Translation Lookaside Buffer). Subapartado 7.3.5 Implementación de la protección con memoria virtual. Subapartado 7.3.6 Caracterı́sticas de la memoria virtual en algunos sistemas actuales. Apartado 7.4 Un marco común para las jerarquı́as de memoria. Apartado 7.5 Jerarquı́a de memoria de la DECStation 3100. T7-P03 : Problemas tema 7: Aplicación sencilla de la fórmula de rendimiento de cachés. Problema de simulación de un pequeño programa MIPS sobre una caché, que incluya cálculo del tamaño de la misma, dibujo, cálculo de tasas de fallo y cómputo del tiempo de ejecución basado en tasas de fallos calculadas. P4-S08 : Práctica 4: Realización por parte de los alumnos del proyecto de programación en MIPS, con soporte del profesor (3/5) (2 horas). T7-A03 : Realización de variaciones de problemas de jerarquı́a de memoria como los vistos en clase. P4-A07 : Trabajo autónomo de la práctica de MIPS (4/6). Tut-24 : Sesión de tutorı́as en grupo. Trimestre 3. Semana 25 T7-P04 : Problemas tema 7. Problema tı́pico de memoria virtual, que incluya dibujo y cálculo del tamaño de la tabla de páginas, un TLB, traducciones 14 de virtual a fı́sica, y una secuencia de accesos que genere o no fallos de TLB y de página. T7-SC : Sesión de control del tema 7: Realización de 1 ó 2 problemas y planteamiento de 5 preguntas tipo test. Grupos de cuatro alumnos (2 horas). P4-S09 : Práctica 4: Realización por parte de los alumnos del proyecto de programación en MIPS, con soporte del profesor (4/5) (2 horas). T7-A04 : Realización de variaciones de problemas de jerarquı́a de memoria como los vistos en clase. P4-A08 : Trabajo autónomo de la práctica de MIPS (5/6). Tut-25 : Sesión de tutorı́as en grupo. Trimestre 3. Semana 26 T8-S01 : Teorı́a tema 8: Apartado 8.1 Introducción. Apartado 8.2 Programación de la Entrada-Salida. Subapartado 8.2.1 E/S mapeada en memoria vs E/S aislada. T8-S02 : Teorı́a tema 8: Subapartado 8.2.2. Técnicas de comunicación CPUE/S: Polling. Subapartado 8.2.3. Técnicas de comunicación CPU-E/S: Interrupciones. Subapartado 8.2.4. Técnicas de comunicación CPU-E/S: Interrupciones y DMA. T8-P01 : Problemas tema 8: Problemas de rendimiento de E/S con polling, interrupciones y/o DMA. P4-S10 : Práctica 4: Realización por parte de los alumnos del proyecto de programación en MIPS, con soporte del profesor (5/5) (2 horas). P4-A09 : Trabajo autónomo de la práctica de MIPS (6/6). T8-A01 : Lectura de los apuntes del tema 8 (Primera parte: programación de la E/S) y tealización de problemas tı́picos del tema 8 como los vistos en clase. Tut-26 : Sesión de tutorı́as en grupo. Trimestre 3. Semana 27 T8-S03 : Teorı́a tema 8: Apartado 8.3 El papel del Sistema Operativo. Subapartado 8.3.1. Delegación de funciones al S.O. Subapartado 8.3.2. Modo usuario vs. Modo supervisor. T8-S04 : Teorı́a tema 8: Apartado 8.4 Implementación de la E/S. Subapar15 tado 8.4.1 Concepto de bus. Jerarquı́as de buses. Puentes. Subapartado 8.4.2 Elementos de diseño de un bus. Lı́neas de control. Lı́neas de información. Subapartado 8.4.3 Parámetros de los buses. Subapartado 8.4.4 Protocolos de acceso al bus. Temporización sı́ncrona. Protocolos de acceso al bus. Ejemplos de transferencia. Ancho de banda teórico y efectivo. Temporización ası́ncrona. Subapartado 8.4.5 Mecanismos de control de acceso. Subapartado 8.4.6 Algunos ejemplos de buses comerciales. T8-P02 : Problemas tema 8: Problemas de transacciones caché-memoria principal con protocolos sı́ncronos con cálculo de ancho de banda real y/o efectivo. P5-S01 : Práctica 5. Tratamiento de excepciones e interrupciones en MIPS. Conceptos de excepción e interrupción en MIPS. Rutinas de servicio. Registros del coprocesador 0. Ejemplo de tratamiento de excepciones en MIPS (2 horas). T8-A02 : Lectura de los apuntes del tema 8 (Segunda parte: Implementación de la E/S), y tealización de problemas tı́picos del tema 8 como los vistos en clase (2 horas). Tut-27 : Sesión de tutorı́as en grupo. Trimestre 3. Semana 28 EP3-Rep: Repaso y resolución de dudas previo a la realización del 3er examen parcial (1/4). T8-SC : Sesión de control del tema 8: Realización de 1 ó 2 problemas y planteamiento de 5 preguntas tipo test. Grupos de cuatro alumnos (2 horas). P5-S02 : Práctica 5: Entrada y salida en MIPS. Dispositivos mapeados en memoria. Programación de la E/S por encuesta (polling). Realización de ejercicios del boletı́n de la práctica (prueba excepciones y prueba polling) (2 horas). T8-A03 : Estudio del tema 8 y realización de problemas tı́picos del tema como los vistos en clase. P5-A01 : Lectura completa y repaso de los apuntes de la práctica 5. Tut-28 : Sesión de tutorı́as en grupo. Trimestre 3. Semana 29 16 EP3-Rep: Repaso y resolución de dudas previo a la realización del 3er examen parcial (2/4). EP3-Rep: Repaso y resolución de dudas previo a la realización del 3er examen parcial (3/4). P5-S03 : Práctica 5: Programación de la E/S por interrupciones. Realización de ejercicios del boletı́n de la práctica (prueba interrupciones) (2 horas). T7T8-A01 : Repaso de los temas 7 y 8 y realización de problemas tı́picos de los temas como los vistos en clase (2 horas). Tut-29 : Sesión de tutorı́as en grupo. Trimestre 3. Semana 30 EP3-A01 : Repaso por parte del alumno de los conceptos teóricos y prácticos correspondientes al segundo trimestre (2 horas). EP3-Rep: Repaso y resolución de dudas previo a la realización del 3er examen parcial (4/4). EP3-Exa: Realización del 3er examen parcial (2 horas). P5-SC : Sesión de control de la práctica 5: Realización de un boletı́n de ejercicios de E/S, polling, excepciones e interrupciones en MIPS por alumno (2 horas). Tut-30 : Sesión de tutorı́as en grupo. 17