Saltar al contingut Menu
Mapa
  • Inicio
  • Información
  • Contacto
  • Mapa

Estructura de Computadores I (EC1)

Créditos Dept. Tipo Requisitos
9.0 (7.2 ECTS) AC
  • Obligatoria para la EI
  • Obligatoria para la ETIG
  • Obligatoria para la ETIS
IC - Prerequisito para la EI , ETIG , ETIS

Profesores

Responsable:  (-)
Otros:(-)

Objectivos Generales

Comprender la correspondencia que existe entre los elementos típicos de los lenguajes de alto nivel (tipos de datos, expresiones, sentencias, etc.) y los elementos del lenguaje máquina que les proporcionan soporte. Conocer los mecanismos básicos que utiliza el subsistema de entrada/salida de un computador para la sincronización y la transferencia de datos, saber utilizar estos mecanismos en la programación, y conocer las implicaciones en la estructura del computador. Saber los niveles de la jerarquía de memoria de un computador y conocer el funcionamiento de los registros, la memoria caché y la memoria principal.

Objectivos Específicos

Conocimientos

  1. Saber qué es un computador, en qué partes se puede dividir su diseño y los niveles en que se estudia.
  2. Conocer cómo se representan en la memoria del computador los tipos de datos elementales y estructurados típicos de los lenguajes de alto nivel, y saber aplicar los algoritmos para hacer las operaciones básicas con estos tipos de datos.
  3. Conocer la correspondencia entre los elementos básicos de los lenguajes de alto nivel (declaración de tipos y de variables; sentencias de asignación, condicionales e iterativas; funciones, etc.) y el lenguaje ensamblador con que se programa el procesador que forma parte del computador. El procesador escogido es un procesador pedagógico llamado SISP-F, basado en el que se utiliza en la asignatura anterior de Introducción a los Computadores (IC).
  4. Conocer los dispositivos que permiten hacer operaciones de entrada/salida en un computador.
  5. Conocer los diferentes elementos que permiten almacenar la información con que trabaja un computador, entreviendo aspectos tecnológicos y arquitectónicos para la implementación de los registros, de la memoria principal y de la memoria cache.

Habilidades

  1. Comprender de qué manera se modifica el estado del computador cuando se ejecuta cualquier programa escrito en el lenguaje ensamblador del procesador SISP-F. Este lenguaje ensamblador se llama SISA-F.
  2. Programar en lenguaje ensamblador pequeñas aplicaciones que utilicen aquellos elementos del lenguaje máquina, habitualmente no disponibles en los lenguajes de alto nivel (tratamiento de bits, acceso secuencial a estructuras de datos, medida de tiempo entre dos eventos, etc.)
  3. Programar en lenguaje ensamblador y de alto nivel aplicaciones que efectúen operaciones de entrada/salida, utilizando controladores de periférico pedagógicos, y donde la sincronización con el dispositivo se puede hacer por encuesta o por interrupciones. Los dispositivos que se han de programar son la pantalla, el teclado, la impresora y el disco.
  4. Saber utilizar las herramientas para cada fase del desarrollo de programas en lenguaje ensamblador: edición, ensamblaje, montaje, ejecución y depuración.

Competencias

  1. Capacidad para trabajar efectivamente en grupos pequeños de personas para la resolución de un problema de dificultad media.
  2. Capacidad de abstracción. Capacidad para enfrentarse a problemas nuevos recurriendo conscientemente a estrategias que han resultado útiles en problemas resueltos anteriormente.
  3. Capacidad de análisis y de síntesis.

Contenidos

Horas estimadas de:

T P L Alt L Ext. Est O. Ext.
Teoria Problemas Laboratorio Otras actividades Laboratorio externo Estudio Otras horas fuera del horario fijado

1. Introducción
T      P      L      Alt    L Ext. Est    O. Ext. Total 
2,0 1,0 1,0 0 1,0 1,0 0 6,0

2. Aritmética entera y real
T      P      L      Alt    L Ext. Est    O. Ext. Total 
7,0 2,0 2,0 0 2,0 9,0 0 22,0

3. Acceso a memoria a nivel de byte
T      P      L      Alt    L Ext. Est    O. Ext. Total 
2,0 1,0 1,0 0 1,0 5,0 0 10,0

4. Tratamiento de bits y programación con bucles
T      P      L      Alt    L Ext. Est    O. Ext. Total 
3,0 2,0 1,0 0 1,0 6,0 0 13,0

5. Tipos de datos estructurados y punteros
T      P      L      Alt    L Ext. Est    O. Ext. Total 
4,0 3,0 2,0 0 2,0 9,0 0 20,0

6. Subrutinas
T      P      L      Alt    L Ext. Est    O. Ext. Total 
2,0 3,0 1,0 0 1,0 6,0 0 13,0

7. Periféricos, controladores y encuesta
T      P      L      Alt    L Ext. Est    O. Ext. Total 
2,0 3,0 1,0 0 1,0 6,0 0 13,0

8. Sincronización por interrupciones y excepciones
T      P      L      Alt    L Ext. Est    O. Ext. Total 
4,0 4,0 2,0 0 2,0 10,0 0 22,0

9. Transferencia por DMA
T      P      L      Alt    L Ext. Est    O. Ext. Total 
2,0 3,0 0 0 0 7,0 0 12,0

10. conceptos básicos de jerarquía de memoria
T      P      L      Alt    L Ext. Est    O. Ext. Total 
4,0 1,0 0 0 0 7,0 0 12,0

11. Memoria cache
T      P      L      Alt    L Ext. Est    O. Ext. Total 
4,0 3,0 0 0 0 9,0 0 16,0


Total por tipo T      P      L      Alt    L Ext. Est    O. Ext. Total 
36,0 26,0 11,0 0 11,0 75,0 0 159,0
Horas adicionales dedicadas a la evaluación 7,0
Total horas de trabajo para el estudiante 166,0

Metodología docente

Las clases de teoría combinarán tanto la parte magistral -donde el profesor expondrá, explicará y ejemplificará los conceptos que son objetivo de la asignatura- como la vertiente de discusión con los alumnos sobre las alternativas y ventajas/inconvenientes de aquellos aspectos que sean convenientes de presentar.

Las clases de problemas se realizarán de 3 maneras diferentes: Resolución directa del profesor con los comentarios que reciba por parte de los alumnos; resolución de problemas de forma individual por parte de los alumnos; y resolución de problemas de forma cooperativa por parte de los alumnos. Cuando la resolución de los problemas se haga por el alumnado, el profesor devolverá la información necesaria para corregir aquellas partes incorrectas.

Las clases de laboratorio serán similares a las de problemas, pero la resolución de ejercicios se hará únicamente en parejas de alumnos y utilizando herramientas que permitan la verificación semiautomática de la solución presentada. Los ejercicios de laboratorio se evaluarán de forma continuada a fin de estimular el trabajo regular de los alumnos en estas sesiones.

Método de evaluación

La nota final se obtiene a partir de un examen parcial, una nota de laboratorio y un examen final. La nota de laboratorio se obtiene a partir de un examen de laboratorio y de la evaluación continua de las prácticas realizadas a lo largo del curso en las sesiones de laboratorio.

El examen parcial se realizará hacia la mitad del curso y, por tanto, cubrirá aproximadamente la mitad del temario. Habrá un único examen parcial, que será global para todos los alumnos. Con este examen se puede incrementar la nota del examen final.

La nota de laboratorio se obtiene principalmente con el examen de laboratorio, el cual se realizará en la última sesión de laboratorio que tenga el curso. Esta nota podrá incrementarse en un máximo de 1,5 puntos adicionales (sin sobrepasar los 10 puntos en total) con la realización satisfactoria de todas las prácticas en las sesiones de laboratorio a lo largo del curso.

En definitiva, la nota final de la asignatura se calcula de la siguiente manera:

Nota final = 0,6*Examen Final + 0,2*máximo (Examen Final, Examen Parcial) + 0,2*Nota de laboratorio

Cualquier intento de fraude realizado durante el curso comportará la aplicación de la normativa académica general de la UPC i el inicio de un proceso disciplinario.

Bibliografía básica

  • Manual del llenguatge assemblador SISA-F, Accessible des del web de l'assignatura, .
  • Col.lecció de problemes, Accessible des del web de l'assignatura, .
  • Quadern de Laboratori, Accessible des de la web de l'assignatura, .
  • Apunts del Tema 10, Accessible des del web de l'assignatura, .

Bibliografía complementaria

  • William Stallings Organización y arquitectura de computadores, Prentice Hall, 2006.
  • David A. Patterson, John L. Hennessy Estructura y diseño de computadores : interficie circuitería-programación, Reverté, 1999.
  • Carl Hamacher, Zvonko Vranesic, Safwat Zaky Organización de computadores, McGraw-Hill, 2003.
  • John L. Hennessy, David A. Patterson Computer architecture : a quantitative approach, Elsevier, Morgan Kaufmann, 2007.

Enlaces web

  1. http://docencia.ac.upc.es/FIB/EC1


Capacidades previas

Conocer cuál es el funcionamiento de un computador sencillo, los bloques que lo forman y la realización interna de todos estos bloques.

Conocer los elementos básicos de los lenguajes de alto nivel, que posibilitan la programación de aplicaciones sencillas.

Capacidad de organización personal de cara al trabajo que requiere el estudio de la asignatura y del resto de asignaturas con las que se deba compartir este estudio.

Tener una base matemática inicial que permita un análisis, una cierta abstracción y una síntesis de situaciones ligadas a los objetivos de la asignatura.


Compartir

 
logo FIB © Facultad de Informática de Barcelona - Contacto - RSS
Esta web utiliza cookies propias para ofrecerle una mejor experiencia y servicio. Si continúa la navegación, entendemos que acepta nuestra política de cookies. Versión clássica Versión móvil