Créditos
7.5
Tipos
Obligatoria
Requisitos
Esta asignatura no tiene requisitos
, pero tiene capacidades previas
Departamento
AC
Web
http://docencia.ac.upc.edu/FIB/grau/EC
Profesorado
Responsable
- Roger Baig Viñas ( roger.baig@upc.edu )
Otros
- Adrià Armejach Sanosa ( adria.armejach@upc.edu )
- Antonio Jose Peña Monferrer ( antoniop@ac.upc.edu )
- David Álvarez Robert ( david.alvarez.robert@upc.edu )
- Fernando Agraz Bujan ( fernando.agraz@upc.edu )
- Jose M. Cela Espin ( josem.cela@ac.upc.edu )
- Josep-Llorenç Cruz Diaz ( cruz@ac.upc.edu )
- Octavio Castillo Reyes ( octavio.castillo@upc.edu )
- Pedro José Martínez Ferrer ( pedro.martinez.ferrer@upc.edu )
- Rubén Tous Liesa ( rtous@ac.upc.edu )
- Toni Cortés Rosselló ( toni@ac.upc.edu )
Horas semanales
Teoría
2.7
Problemas
1.3
Laboratorio
1
Aprendizaje dirigido
0
Aprendizaje autónomo
7.5
Competencias
Competencias técnicas comunes
- CT1.1A - Demostrar conocimiento y comprensión de los conceptos fundamentales de la programación y de la estructura básica de un computador. CEFB4. Conocimiento de los fundamentos del uso y programación de los computadores, los sistemas operativos, las bases de datos y, en general, los programas informáticos con aplicación en ingeniería.
- CT1.1B - Interpretar, seleccionar y valorar conceptos, teorías, usos y desarrollos tecnológicos relacionados con la informática y su aplicación a partir de los fundamentos matemáticos, estadísticos y físicos necesarios. CEFB2. Capacidad para comprender y dominar los fundamentos físicos y tecnológicos de la informática: electromagnetismo, ondas, teoría de circuitos, electrónica y fotónica y su aplicación para la resolución de problemas propios de la ingeniería.
- CT3.6 - Demostrar conocimiento de la dimensión ética en la empresa: la responsabilidad social y corporativa en general y, en particular, las responsabilidades civiles y profesionales del ingeniero en informática.
- CT5.2 - Conocer, diseñar y utilizar de forma eficiente los tipos y las estructuras de datos más adecuados para la resolución de un problema.
- CT6.2 - Demostrar conocimiento, comprensión y capacidad de evaluar la estructura y la arquitectura de los computadores, así como los componentes básicos que los conforman.
- CT7.1 - Demostrar conocimiento de las métricas de calidad y saber utilizarlas.
Sostenibilidad y compromiso social
- G2.1 - Analizar sistémicamente y críticamente la situación global. Ser capaz de reconocer las implicaciones sociales y ambientales de la actividad profesional del ámbito de la ingeniería. Entender el papel de la ingeniería como profesión, su papel en la sociedad y la responsabilidad ética y profesional de la actividad del ingeniero técnico en informática. Valorar el compromiso con los principios de igualdad de oportunidades, la cultura de la paz y los valores democráticos.
Objetivos
-
Conocer los niveles jerárquicos en que se estudia un computador.
Competencias relacionadas: CT1.1B, CT1.1A, -
Conocer el ISA de un procesador RISC representativo y las implicaciones de su diseño en términos cualitativos y cuantitativos de rendimiento.
Competencias relacionadas: CT7.1, CT6.2, CT1.1B, -
Saber representar y operar con números enteros en diferentes formatos: Ca2, signo-magnitud y sesgo (exceso).
Competencias relacionadas: CT1.1B, CT1.1A, -
Saber representar y operar con números reales en formato de coma flotante IEEE754.
Competencias relacionadas: CT1.1B, CT1.1A, -
Saber cómo se almacenan y se acceden datos estructurados de tipo vector, matriz y tupla.
Competencias relacionadas: CT5.2, CT1.1B, -
Saber traducir programas en alto nivel a lenguaje ensamblador (o vicecersa) utilizando un ABI estándar. Los elementos de alto nivel que hay que saber traducir son expresiones, condicionales, bucles y subrutinas.
Competencias relacionadas: CT6.2, CT5.2, CT1.1B, CT1.1A, -
Diseñar unidades aritméticas para operar (multiplicación y división) con números naturales.
Competencias relacionadas: CT1.1B, -
Conocer los conceptos de excepción y de interrupción ya la vez tener una noción básica de su gestión.
Competencias relacionadas: CT1.1B, -
Conocer la estructura interna y el funcionamiento de una memoria caché, con especial énfasis en aquellos aspectos que afectan al rendimiento de un sistema.
Competencias relacionadas: CT7.1, CT6.2, CT1.1B, -
Entender la utilidad de la memoria virtual, su funcionamiento básico y el soporte hardware que requiere.
Competencias relacionadas: CT7.1, CT6.2, CT1.1B, -
Comprender los procesos de compilación, montaje y carga en el desarrollo del software.
Competencias relacionadas: CT1.1A, -
Cumplir los plazos de realización de las tareas.
Competencias relacionadas: CT3.6, -
Conocer los factores que afectan el rendimiento y el consumo de los microprocesadores y sus repercusiones en los aspectos medioambientales de la sostenibilidad.
Competencias relacionadas: CT7.1, CT6.2, G2.1, CT1.1B,
Contenidos
-
Tema 1. Introducción
Descripción jerárquica del computador a diferentes niveles de abstracción. Medidas de rendimiento. Medidas de consumo. Ley de Amdahl. -
Tema 2. Ensamblador y tipos de datos básicos.
Introducción a MIPS. Operandos. Representación de naturales, enteros y caracteres. Punteros, vectores y strings. Formatos de instrucción. -
Tema 3. Traducción de programas.
Operaciones lógicas y desplazamientos. Sentencias if y while. Subrutinas. Compilación, montaje y carga. -
Tema 4. Matrices.
Almacenamiento de matrices. Acceso secuencial a vectores y matrices. -
Tema 5. Aritmética de enteros y coma flotante.
Enteros: suma, resta, multiplicación y división. Coma flotante: representación, suma, multiplicación y redondeo. -
Tema 6. Memoria Caché.
Conceptos y terminología. Mapeo directo. Diagrama de bloques y medidas de rendimiento. Asociatividad. Reemplazo. Caches multinivel. -
Tema 7. Memoria virtual.
Motivación y terminología. Traducción de direcciones. Gestión de fallos. TLB. -
Tema 8. Excepciones / Interrupciones.
Conceptos básicos y soporte hardware en el MIPS
Funcionamiento detallado de una excepción y ejemplo de una rutina de tratamiento genérica.
Casos específicos: Fallo de TLB. Llamadas al sistema. Interrupciones.
Actividades
Actividad Acto evaluativo
Examen Parcial (EP)
Este acto de evaluación cubrirá los objetivos relacionados con las actividades encaminadas a la asimilación del tema 1 hasta el tema 5.Objetivos: 1 2 3 4 5 6 7 11 13
Semana: 9 (Fuera de horario lectivo)
Teoría
0h
Problemas
0h
Laboratorio
0h
Aprendizaje dirigido
0h
Aprendizaje autónomo
0h
Asimilación del tema de Memoria cache
Actividades correspondientes al Tema 6Objetivos: 9
Contenidos:
Teoría
7h
Problemas
3h
Laboratorio
3h
Aprendizaje dirigido
0h
Aprendizaje autónomo
14h
Asimilación del tema de Memoria virtual
Actividades correspondientes al Tema 7Objetivos: 10
Contenidos:
Teoría
4h
Problemas
2h
Laboratorio
0h
Aprendizaje dirigido
0h
Aprendizaje autónomo
8h
Asimilación del tema de Excepciones e Interrupciones
Actividades correspondientes al Tema 8Objetivos: 8
Contenidos:
Teoría
2h
Problemas
2h
Laboratorio
0h
Aprendizaje dirigido
0h
Aprendizaje autónomo
8h
Realizar un análisis de las repercusiones medioambientales en la fabricación, uso y / o reciclaje de los computadores
Trabajo relacionado con la competencia transversal referente a la sostenibilidadObjetivos: 12 13
Contenidos:
Teoría
0h
Problemas
0h
Laboratorio
0h
Aprendizaje dirigido
0h
Aprendizaje autónomo
7h
Examen de Laboratorio (EL)
Este acto de evaluación cubrirá los objetivos relacionados con las actividades encaminadas a la asimilación del tema 1 hasta el tema 6.Objetivos: 2 3 4 5 6 7 9 11 12
Semana: 13 (Fuera de horario lectivo)
Teoría
0h
Problemas
0h
Laboratorio
0h
Aprendizaje dirigido
0h
Aprendizaje autónomo
0h
Examen Final (EF)
Este acto de evaluación cubrirá los objetivos relacionados con las actividades encaminadas a la asimilación del tema 1 hasta el tema 8.Objetivos: 1 2 3 4 5 6 7 8 9 10 11 12 13
Semana: 15 (Fuera de horario lectivo)
Teoría
0h
Problemas
0h
Laboratorio
0h
Aprendizaje dirigido
0h
Aprendizaje autónomo
0h
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 se obtendrá a partir de dos componentes: la nota de teoría/problemas (NT) y la nota de laboratorio (NL). NT tiene un peso del 80% de la nota total y NL tiene un peso del 20%.NT se obtiene a partir de un Examen Parcial (EP), que tiene un peso del 20% sobre el total de la asignatura, y de un Examen Final (EF), que tiene un peso del 60% sobre el total de la asignatura. La nota obtenida en EP se puede recuperar con EF, pues el peso correspondiente (20%) se aplica sobre el máximo de las dos notas.
NL se obtiene a partir de un Examen de Laboratorio (EL), que tiene un peso del 85% de esta nota, y de una Evaluación Continua (AC), que tiene un peso correspondiente al restante 15%. La nota AC se obtiene a partir del trabajo realizado en todas las sesiones de laboratorio, así como por la preparación que requieren.
La fórmula que describe la nota de la asignatura es:
NOTA = max(EP*0'20 + EF*0'60, EF*0'80) + (EL*0'85 + AC*0'15)*0'20
Bibliografía
Básico
-
Computer organization and design: the hardware/software interface
- Patterson, D.A.; Hennessy, J.L,
Elsevier Morgan Kaufmann,
2014.
ISBN: 9780124077263
http://cataleg.upc.edu/record=b1431482~S1*cat -
Estructura y diseño de computadores: la interfaz software/hardware
- Patterson, D.A.; Hennessy, J.L4a,
Reverté,
2011.
ISBN: 9788429126204
https://discovery.upc.edu/discovery/fulldisplay?docid=alma991003859419706711&context=L&vid=34CSUC_UPC:VU1&lang=ca
Web links
- Pàgina d'EC: Col·lecció de Problemes, Quadern de Laboratori, Bibliografia, Apunts, Mètode d'Avaluació, Calendari de Sessions, etc. http://docencia.ac.upc.edu/FIB/grau/EC
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.