Asignatura "Fundamentos y Arquitectura de Computadores"
Información curso 2010/2011
Segundo curso, Ingeniería Técnica en Telecomunicación
Escuela Universitaria Politécnica
Universidad de Valladolid
Asignatura semestral de 9 créditos, troncal.
Profesor: Diego R. Llanos
Área de Arquitectura y Tecnología de Computadores
Departamento de Informática
(ATC, LSI, CCIA)
Descriptor
Unidades funcionales. Nivel de transferencia de registros. Interpretación de instrucciones. Microprogramación. Sistemas Operativos.
Objetivos, conocimientos, aptitudes y destrezas que se deben adquirir
El objetivo fundamental de la asignatura es el conocimiento de la estructura interna y funcionamiento de un sistema informático. Para cada uno de los temas se proponen objetivos de aprendizaje específicos.
Programa de teoría
1. Abstracciones y Tecnología de Computadores
Objetivos: Comprender la estructura jerárquica de la organización funcional de un computador. Situar el desarrollo de la informática en su perspectiva histórica.
Secciones:
1.2 Debajo de los programas
1.3 Debajo de la cubierta
1.4 Circuitos integrados
1.5 Casos reales
1.6 Ejercicios
Bibliografía de este tema: Las secciones correspondientes de la obra de Patterson-Hennessy, tomo 1, tema 1 (ver Bibliografía más abajo).
2. Representación de datos
Objetivos: Conocer los fundamentos de la representación de datos numéricos enteros y reales en diferentes sistemas de numeración, así como la representación en memoria de otras estructuras de datos.
Secciones:
2.2 Representación de números enteros en diferentes bases
2.3 Mecanismos de representación binaria. Ventajas e inconvenientes
2.4 Representación de números reales
2.5 Representación de datos no numéricos (Apéndice en PDF: Tabla ASCII)
2.6 Ejercicios
Bibliografía de este tema: No se sigue una bibliografía específica. Puede consultarse cualquier obra de Fundamentos de Informática en la que se citen los sistemas de numeración.
3. Instrucciones: Lenguaje de la máquina
Objetivos: Desarrollar y comprender la organización y arquitectura de los sistemas de computadores, tanto al nivel de transferencia de registro como al nivel de programación. Conocer el juego de instrucciones de los sistemas MIPS. Comprender los compromisos derivados del diseño de un juego de instrucciones.Secciones:
3.2 Operaciones de la circuitería del computador
3.3 Operandos de la circuitería del computador
3.4 Representación de instrucciones en el computador
3.5 Instrucciones para la toma de decisiones
3.6 Soporte para procedimientos
3.7 Más allá de los números
3.8 Otros estilos de direccionamiento del MIPS
3.9 Ejercicios
Bibliografía de este tema: Las secciones correspondientes de la obra de Patterson-Hennessy, tomo 1, tema 3 (ver Bibliografía más abajo).
4. Aritmética para computadores
Objetivos: Comprender la implementación de las operaciones lógicas y aritméticas (tanto de números enteros como para números en coma flotante), así como los principales algoritmos utilizados para su resolución.
Secciones:
4.2 Suma y resta
4.3 Operaciones lógicas
4.4 Construcción de una Unidad Aritmético-Lógica (ALU)
4.5 Multiplicación
4.6 División
4.7 Coma flotante
4.8 Ejercicios
Bibliografía de este tema: Las secciones correspondientes de la obra de Patterson-Hennessy, tomo 1, tema 4 (ver Bibliografía más abajo).
5. El procesador: camino de datos y de control
Objetivo: Comprender la necesidad de los sistemas de secuenciamiento de caminos (o rutas) de datos y su funcionamiento.
Secciones:
5.2 Construcción de un camino de datos
5.3 Realización de un esquema sencillo
5.4 Microprogramación: Simplificación del diseño de control
5.5 Realizaciones uniciclo y multiciclo. Segmentación.
5.6 Ejercicios
Bibliografía de este tema: Las secciones correspondientes de la obra de Patterson-Hennessy, tomo 1, tema 5 (ver Bibliografía más abajo).
6. Jerarquía de Memoria
Objetivos: Conocer el funcionamiento de los diferentes sistemas de memoria, sus ventajas e inconvenientes, los mecanismos existentes para acelerar su funcionamiento y los problemas asociados a su utilización.
Secciones:
6.2 Principios básicos de las caches
6.3 Medición y mejora del rendimiento de las caches
6.4 Ubicación y reemplazo de bloques
6.5 Ejercicios
Bibliografía de este tema: Las secciones correspondientes de la obra de Patterson-Hennessy, tomo 2, tema 7 (ver Bibliografía más abajo). La sección 6.4 de este tema se estudiará condensando las ideas más relevantes de la sección 7.5 del libro citado.
7. Entrada / Salida
Objetivos: Comprender la utilidad y el funcionamiento de los sistemas de E/S, su interacción con el resto de componentes del computador y sus limitaciones.
Secciones:
7.2 Tipos de dispositivos de E/S y sus características
7.3 Tipos de buses
7.4 Direccionamiento de dispositivos de E/S
7.5 Transferencia de datos a dispositivos
7.6 Comunicaciones del dispositivo con el ordenador
7.7 Interfaz de dispositivos a través del SO
7.8 Ejercicios
Bibliografía de este tema: Las secciones correspondientes de la obra de Patterson-Hennessy, tomo 2, tema 8 (ver Bibliografía más abajo).
8. Introducción a los sistemas operativos
Objetivos: Comprender la necesidad de la utilización de sistemas operativos para simplificar la programación y utilización de computadores, y en definitiva conocer la relación entre el sistema operativo y la arquitectura de computadores. Introducir los conceptos y principios fundamentales de los sistemas operativos, sus metodologías de construcción y su gestión de los recursos de la máquina.
Secciones:
8.2 Fundamentos de los sistemas operativos
8.3 Gestión de procesos
8.4 Gestión de memoria
Bibliografía de este tema: No se sigue una bibliografía específica. Puede consultarse cualquier obra de Introducción a los Sistemas Operativos, como Sistemas Operativos: Una visión aplicada, de J. Carretero et al (McGraw-Hill); Sistemas Operativos: Conceptos fundamentales, A. Silberschatz y P. Galvin (Alhambre Logman); o Sistemas Operativos Modernos, A. S. Tanenbaum (Prentice-Hall).
Programa de Prácticas
Objetivo: Aplicar los conocimientos adquiridos sobre la
arquitectura de computadores y los sistemas operativos en la
resolución de cuestiones prácticas. Se llevarán a
cabo un total de cuatro prácticas, consistentes en la
programación en ensamblador de diferentes aplicaciones. Las
prácticas se realizarán en parejas, debiendo entregar al
final de cada una de ellas el código fuente del programa
desarrollado.
Condiciones de entrega de prácticas
- La entrega de cada práctica se realizará por correo electrónico.
- Sólo deberán enviarse los ficheros fuente de la práctica.
- En las dos primeras líneas del fichero fuente enviado
deberá figurar el número de la práctica y el
nombre
completo del alumno que la ha realizado, con el siguiente
formato:
# Práctica número X
# García García, Juan
- Sólo se admitirán las prácticas que lleguen a la dirección de correo electrónico indicada hasta las 23:59 del día fijado como fecha de entrega de la misma.
- La entrega de las prácticas es obligatoria para poder presentarse al examen final de la asignatura.
- La detección de copias en las prácticas realizadas por diferentes alumnos conllevará el suspenso automático de las prácticas de todos ellos.
Práctica número 1: Introducción al ensamblador MIPS.
- Objetivo: Que el alumno tome contacto con el juego de instrucciones MIPS y con el entorno de simulación spim.
- Enunciado: prac-01.pdf
- Fecha límite de entrega de la práctica: 23 de octubre de 2010.
Práctica número 2: Subrutinas.
- Objetivo: Familiarizarse con el procesamiento de números, vectores y cadenas de caracteres.
- Enunciado: prac-02.pdf
- Fecha límite de entrega de la práctica: 6 de noviembre de 2010.
Práctica número 3: Operaciones en coma flotante.
- Objetivo: Familiarizarse con las operaciones aritméticas en coma flotante.
- Enunciado: prac-03.pdf
- Fecha límite de entrega de la práctica: 27 de noviembre de 2010.
Práctica número 4: Procesamiento numérico avanzado.
- Objetivo: Familiarizarse con algoritmos de procesamiento numérico avanzado.
- Enunciado: prac-04.pdf
- Fecha límite de entrega de la práctica: 2 de enero de 2011.
- Calificaciones de la práctica: notas-prac4.pdf <--!>
- Calificaciones de la práctica: notas-prac4-10-11.pdf
Convocatoria Extraordinaria de Prácticas.
- Objetivo: Sintetizar los conocimientos adquiridos en las cuatro prácticas anteriores.
- Todos aquellos alumnos que no obtengan un mínimo de 5 en la nota media ponderada de las prácticas (ver el apartado "Examen y calificación final", más abajo) deberán realizar de nuevo las prácticas que hayan suspendido para poder presentarse a la convocatoria extraordinaria de Julio.
- Fecha límite de entrega de las prácticas: 31 de mayo de 2011.
Metodología
La asignatura consta de cinco horas semanales de teoría y de problemas y una hora semanal de prácticas en el laboratorio. La asistencia a las clases de teoría o de laboratorio no es obligatoria, aunque sí la entrega de las prácticas (ver "Métodos y criterios de evaluación", más abajo).
Bibliografía
- Bibliografía
básica: Estructura y
Diseño de Computadores, D. Patterson y J. Hennessy, Ed.
Reverté, ISBN 84-291-2616-3.
Esta obra se distribuye en tres tomos. La correspondencia entre los temas de la asignatura y los capítulos de cada tomo se describe en el Temario indicado más arriba. - Bibliografía complementaria: Organización de
Computadores
(quinta edición), C. Hamacher, Z. Vrasenic, S. Zaky, Ed. McGraw
Hill, ISBN84-481-3951-8.
Métodos y criterios de evaluación
La asignatura se aprueba con una nota mínima de cinco en las partes teórica y práctica.
Importante: Para poder presentarse al examen teórico, el alumno deberá tener aprobada la parte práctica.
Para la evaluación de la parte teórica de la asignatura se realizará un examen final en las fechas indicadas en la convocatoria oficial. Respecto de la nota de prácticas, se obtiene como una media ponderada de las notas de cada una de las prácticas entregadas, según la siguiente fórmula:
Nota prácticas = Nota práctica uno * 0,14 + Nota práctica dos * 0,21 + Nota práctica tres * 0,28 + Nota práctica cuatro * 0,37
La calificación final se obtiene como sigue:
Nota final = Nota prácticas * 0,3 + Nota examen *0,7
Importante: A aquellos alumnos que tengan aprobada la asignatura "Laboratorio de Ordenadores", del Plan Viejo de I.T. Telecomunicación, se les convalidará la parte práctica de esta asignatura, con la siguiente calificación: Aprobado=5, Notable=7, Sobresaliente=9, Matrícula de Honor=10.
Importante: Desde el curso académico 2003/2004 la calificación de prácticas de la asignatura "Fundamentos y Arquitectura de Computadores" no se guarda de un curso para otro. En consecuencia, los alumnos repetidores que hayan aprobado las prácticas en cursos anteriores deberán realizar las prácticas del año en curso. Sin embargo, la nota de prácticas sí se guarda para la convocatoria extraordinaria.
Conocimientos previos recomendados
Se recomienda haber cursado al menos una asignatura de programación en algún lenguaje imperativo, como C, Pascal o Fortran.
Material adicional: exámenes anteriores
A continuación aparece una relación de exámenes anteriores disponibles, junto con su solución.
Febrero 1999
Examen: febrero1999.pdf
Febrero 2000
Examen: febrero2000.pdf
Julio 2000
Examen: julio2000.pdf
Solución:sol-julio2000.pdf
Febrero 2001
Examen: febrero2001.pdf
Solución:sol-febrero2001.pdf
Julio 2001
Examen: julio2001.pdf
Solución:sol-julio2001.pdf
Febrero 2002
Examen: febrero2002.pdf
Solución:sol-febrero2002.pdf
Julio 2002
Examen: julio2002.pdf
Solución:sol-julio2002.pdf
Febrero 2003
Examen: febrero2003.pdf
Solución:sol-febrero2003.pdf
Julio 2003
Examen: julio2003.pdf
Solución:sol-julio2003.pdf
Febrero 2004
Examen: febrero2004.pdf
Julio 2004
Examen: julio2004.pdf
Febrero 2005
Examen: febrero2005.pdf
Julio 2005
Examen: julio2005.pdf
Febrero 2006
Examen: febrero2006.pdf
Julio 2006
Examen: julio2006.pdf
Febrero 2007
Examen: febrero2007.pdf
Julio 2007
Examen: julio2007.pdf
Febrero 2008
Examen: febrero2008.pdf
Julio 2008
Examen: julio2008.pdf
Tutorías
Además de la atención en el despacho, en el horario de tutorías, los alumnos pueden contactar con el profesor mediante correo electrónico a la dirección diego@infor.uva.es.