Estructura de Computadors II ( EC2 )
| Crèdits: |
Departament: |
Tipus: |
Requisits: |
| 7.5 |
AC |
Obligatòria per l'EI
Obligatòria per l'ETIS
Optativa per l'ETIG
|
|
EC1
- Pre-requisit per l' EI , ETIG , ETIS
|
|
|
IC
- Pre-requisit per l' EI , ETIG , ETIS
|
|
|
P1
- Pre-requisit per l' EI , ETIG , ETIS
|
|
|
Professors
| Responsable: | Agustín Fernández Jiménez (agustin ac.upc.edu). |
| Altres: | Fermin Sánchez Carracedo (fermin ac.upc.edu) Josep Llosa Espuny (josepll ac.upc.edu) Josep Sole Clotet (joseps ac.upc.edu) Marc Gonzàlez Tallada (marc ac.upc.edu) Rosa Maria Badia Sala (rosab ac.upc.edu). |
Objectius Generals
En las asignaturas previas (IC y EC1) el alumno ha adquirido los conocomientos básicos de cómo funciona un computador. Todos las prácticas, ejercicios, problemas han sido realizados sobre computadores pedagógicos y simuladores.
El objetivo principal de EC2 es que el alumno profundice en los conocimientos ya adquiridos y que los aplique sobre un computador real: un PC compatible basado en un procesador IA32.
Objectius Específics
Coneixements
- El alumno ha de conocer el Lenguaje Máquina de un procesador comercial (IA32).
- El alumno ha de conocer los dispositivos básicos de entrada /salida en una máquina real (PC compatible).
- El alumno ha de comprender las implicaciones que tiene en el rendimiento del computador, la velocidad, el ancho de banda y la jerarquía de buses.
- Dada una configuración del subsistema de entrada / salida, el alumno debería ser capaz de escoger la que obtenga mejor rendimiento.
Habilitats
- El alumno ha de ser capaz de realizar programas de 15-25 líneas en ensamblador de una máquina real (IA32).
- El alumno ha de ser capaz de enlazar programas escritos en ensamblador con programas escritos en C, llamando desde alto nivel a una rutina escrita en ensamblador y vicerversa. Incluye el paso de parámetros y la gestión de las variables locales. El alumno ha de ser capaz de traducir código escrito en C a ensamblador. El código generado ha de ser razonablemente eficiente.
- El alumno ha de aprender a desarrollar programas en C y ensamblador en un entorno de trabajo Linux. El alumno ha de ser capaz de utilizar un depurador (debugger) para eliminar errores en un programa en ensamblador y C.
- El alumno ha de ser capaz de programar operaciones básicas de entrada / salida, utilizando sincronización por encuesta y por interrupciones.
- El alumno ha de comprender y saber evaluar los esquemas básicos de memorias cache que incluyen: mapeos, diferentes tamaños de cache y de línea, políticas de escritura, algoritmos de reemplazo, y varios niveles de cache.
- El alumno ha de saber evaluar el impacto de realizar transformaciones simples en un programa escrito en C cuando éste se ejecuta en procesador con una configuración dada de Memoria Cache.
Competències
- Capacitat d'abstracció. Capacitat d'enfrontar-se a problemes nous recorrent conscientment a estratègies que han estat útils en problemes resolts anteriorment.
- Capacitat d'anàlisi i de síntesi.
- Capacitat per treballar efectivament en grups petits de persones per a la resolució d'un problema de dificultat mitjana.
Continguts
Hores estimades de:
| T |
P |
L |
Alt |
L Ext. |
Est |
A Ext. |
| Teoria |
Problemes |
Laboratori |
Altres activitats |
Laboratori extern |
Estudi |
Altres hores fora d'horari fixat |
|
1. Ensamblador del IA32
|
| T |
P |
L |
Alt |
L Ext |
Est |
A Ext |
Total |
| 10,0 |
6,0 |
8,0 |
0 |
15,0 |
20,0 |
0 |
59,0 |
|
En este tema se pretende que los alumnos practiquen con un ensamblador real en una máquina real. El procesador escogido es el utilizado en los PCs compatibles (Intel Pentium y AMD). El ensamblador escogido es el IA32. El entorno de trabajo será el SO Linux.
|
|
2. Entrada / Salida
|
| T |
P |
L |
Alt |
L Ext |
Est |
A Ext |
Total |
| 10,0 |
6,0 |
3,0 |
0 |
6,0 |
16,0 |
0 |
41,0 |
|
En este tema se repasarán los conceptos ya conocidos de Entrada / Salida (encuesta, interrupciones, DMA, periféricos, etc). Se estudiarán los dispositivos reales de un PC compatible.
En este tema también se estudiarán los elementos de interconexión de un computador: los buses. Haciendo énfasis en los buses estánar y en la jerarquía de buses.
|
|
3. Subsistema de Memoria
|
| T |
P |
L |
Alt |
L Ext |
Est |
A Ext |
Total |
| 12,0 |
8,0 |
2,0 |
0 |
4,0 |
20,0 |
0 |
46,0 |
|
En este tema se ampliarán los conceptos ya vistos de E/S (periféricos, encuesta, interrupciones, DMA, ...). Se presentarán los periféricos de un computador tipo PC.
También se explicarán los elementos de interconexión de un computador: los buses. Se hará enfásis en los buses estándar y la jerarquía de buses.
|
| - Total per tipus |
T |
P |
L |
Alt |
L Ext |
Est |
A Ext |
Total |
| 32,0 |
20,0 |
13,0 |
0 |
25,0 |
56,0 |
0 |
146,0 |
- Hores addicionals dedicades a l'avaluació:
|
3,0 |
- Total hores de treball per l'estudiant |
149,0 |
|
Metodologia docent
La asignatura tiene 5 horas de clase por semana: 4 de teoría y problemas y 1 de laboratorio.
Las clases de laboratorio servirán de soporte a la teoría. Los alumnos dispondrán de la información de prácticas antes de cada sesión. Es recomendable que los alumnos preparen la práctica antes de realizarla (leer la documentación, estudiar los conceptos utilizados, etc). Igualmente es recomendable, una vez acabada la sesión, repasar los conceptos vistos.
No se hará una distinción explícita entre las clases de teoría y problemas, sino que se irán distribuyendo en función de las necesidades de cada tema.
En esta asignatura se pretende realizar una evaluación continuada. Durante el curso se realizarán 3 exámenes. Si el alumno supera satisfactoriamente la evaluación continuada no será necesario que realice el examen final.
Mètode d'avaluació
La evaluación de esta asignatura tiene 3 componentes:
- Tres controles (C1, C2 y C3), uno por cada tema, que se realizarán en horas de clase.
- Dos examenes de laboratorio (L1 y L2), que se realizarán en las clases de laboratorio.
- El examen final (EF).
La asignatura puede aprobarse de dos formas:
- Nota Final = 0.2 * (L1 + L2)/2 + 0.8 * (C1 + C2 + C3)/3
- Nota Final = 0.2 * (L1 + L2)/2 + 0.8 * EF
En definitiva, la asignatura puede aprobarse sin realizar el examen final.
Los alumnos que realicen el examen final perderán la nota de los controles de clase.
Bibliografía bàsica
- Computer Systems: A Programmer's Perspective, Prentice Hall, 2003.
- David A. Patterson and John L. Hennessy , Ed. Reverté S.A., 2000.
Bibliografía complementària
(Informació no introduïda)
Enllaços web
(Informació no introduïda)
Capacitats prèvies
- El alumno ha de ser capaz de programar rutinas sencillas en un ensamblador cualquiera.
- El alumno ha de ser capaz de programar rutinas de complejidad media en un Lenguaje de Alto Nivel Cualquiera.
- El alumno ha de tener conocimientos básicos de circuitos digitales.
- El alumno ha de tener conocimientos básicos de aritmética binaria.
|