Profesorado
Responsable
- Josep Llosa Espuny ( josepll@ac.upc.edu )
Otros
- Carlos Alvarez Martinez ( calvarez@ac.upc.edu )
- Enric Morancho Llena ( enricm@ac.upc.edu )
- Josep Ramon Herrero Zaragoza ( josepr@ac.upc.edu )
- Miquel Moretó Planas ( mmoreto@ac.upc.edu )
- Pedro José Martínez Ferrer ( pedro.martinez.ferrer@upc.edu )
- Pol Garcia Recasens ( pol.garcia.recasens@upc.edu )
- Teresa Monreal Arnal ( teresa@ac.upc.edu )
- Victor Soria Pardos ( victor.soria.pardos@upc.edu )
Horas semanales
Teoría
2
Problemas
1
Laboratorio
1
Aprendizaje dirigido
0.4
Aprendizaje autónomo
5.6
Competencias
Competencias técnicas comunes
- CT2.3 - Diseñar, desarrollar, seleccionar y evaluar aplicaciones, sistemas y servicios informáticos, y al mismo tiempo asegurar su fiabilidad, su seguridad y su calidad, conforme a principios éticos y a la legislación y la normativa vigente.
- CT2.4 - Demostrar conocimiento y capacidad de aplicación de las herramientas necesarias para el almacenaje, el procesamiento y el acceso a los Sistemas de información, incluidos los basados en web.
- 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.
- CT7.2 - Evaluar sistemas hardware/software en función de un criterio de calidad determinado.
- CT7.3 - Determinar los factores que inciden negativamente en la seguridad y la fiabilidad de un sistema hardware/software, y minimizar sus efectos.
- CT8.1 - Identificar tecnologías actuales y emergentes y evaluar si son aplicables, y en qué medida, para satisfacer las necesidades de los usuarios.
- CT8.4 - Elaborar el pliego de condiciones técnicas de una instalación informática que cumpla los estándares y la normativa vigente.
Sostenibilidad y compromiso social
- G2.2 - Aplicar criterios de sostenibilidad y los códigos deontológicos de la profesión en el diseño y la evaluación de soluciones tecnológicas. Identificar la necesidad de aplicar la legislación, regulaciones y normativas, en particular las que afectan al ejercicio de la profesión de ingeniero técnico en informática. Analizar y valorar el impacto medioambiental de las soluciones técnicas en el ámbito TIC.
Objetivos
-
El alumno debe ser capaz de traducir rutinas y fragmentos de código de alto nivel a ensamblador de una máquina real (IA32) y enlazar rutinas en ensamblador con un lenguaje de alto nivel (C) utilizando la Interfaz Binaria de Aplicaciones de Linux.
Competencias relacionadas: CT5.2, -
El alumno debe ser capaz de describir la estructura interna y funcionamiento de los principales componentes de la jerarquía de memoria y las técnicas para mejorar su rendimiento.
Competencias relacionadas: CT8.1, CT7.2, CT6.2, -
El alumno debe ser capaz de describir el funcionamiento y utilizar los principales mecanismos de detección y corrección de errores.
Competencias relacionadas: CT7.3, CT2.3, -
El alumno debe ser capaz de describir la estructura y funcionamiento de los sistemas de almacenamiento de datos y evaluar su fiabilidad.
Competencias relacionadas: CT8.1, CT7.2, CT7.3, CT6.2, CT2.4, -
El alumno debe ser capaz de describir la taxonomía de los lenguajes máquina (ISA) y los rasgos característicos de los diferentes paradigmas (como RISC-CISC).
Competencias relacionadas: CT7.2, CT6.2, -
El alumno debe de ser capaz de describir las técnicas empleadas en el diseño de computadores basadas en paralelismo (como: segmentación, procesadores superescalares, procesadores VLIW, extensiones vectoriales y SIMD, procesadores multihilo, multiprocesadores y multicomputadores) y sus principios de funcionamiento.
Competencias relacionadas: CT7.2, CT6.2, CT2.3, -
El alumno debe ser capaz de evaluar el rendimiento de fragmentos de código y / o aplicaciones (tanto en ensamblador como en alto nivel) teniendo en cuenta componentes como: la jerarquía de memoria, los sistemas de almacenamiento, el diseño del lenguaje máquina (ISA) y las principales técnicas de diseño de procesadores basadas en paralelismo.
Competencias relacionadas: CT7.1, CT7.2, CT6.2, CT5.2, CT2.3, -
El alumno debe ser capaz de evaluar el impacto en la potencia y el consumo energético de fragmentos de código y / o aplicaciones (tanto en ensamblador como en alto nivel) teniendo en cuenta componentes como: la jerarquía de memoria, los sistemas de almacenamiento, el diseño del lenguaje máquina (ISA) y las principales técnicas de diseño de procesadores basadas en paralelismo.
Competencias relacionadas: G2.2, CT7.1, CT7.2, CT6.2, CT8.4, CT3.6, -
El alumno debe ser capaz de aplicar optimizaciones sencillas en fragmentos de código para mejorar su rendimiento y / o consumo teniendo en cuenta: la jerarquía de memoria, los sistemas de almacenamiento, el diseño del lenguaje máquina (ISA) y las principales técnicas de diseño de procesadores basadas en paralelismo.
Competencias relacionadas: CT7.1, CT5.2,
Contenidos
-
Fundamentos de diseño y evaluación de computadores
-
Interfaz alto nivel-ensamblador
-
Jerarquía de memoria
-
Sistemas de almacenamiento
-
Diseño del juego de instrucciones
-
Segmentación y paralelismo en el diseño de computadores
Actividades
Actividad Acto evaluativo
Teoría
4h
Problemas
3h
Laboratorio
5h
Aprendizaje dirigido
0h
Aprendizaje autónomo
20h
Documental "The E-Waste Tragedy" + debat
Teoría
0h
Problemas
0h
Laboratorio
0h
Aprendizaje dirigido
2h
Aprendizaje autónomo
1h
Metodología docente
Clases de teoría magistrales con algún problema pequeño intercalado. En las clases de teoría se pondrán problemas a los estudiantes para la siguiente clase de problemas.En las clases de problemas se harán actividades en grupo. A partir de la resolución individual de los problemas hechos en casa, los estudiantes harán una puesta en común en grupo y resolverán las dudas que hayan podido surgir. Debido a la metodología empleada en las clases de problemas se recomienda que los estudiantes no se matriculen con solapamiento, ya que las actividades de grupo serán realizadas al grupo que están matriculados.
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 fundamental 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. Los estudiantes deben preparar un trabajo previo que entregarán al principio de cada sesión. Las sesiones de laboratorio son presenciales y evaluables, y se realizan en el grupo que está matriculado el alumno, por tanto es imprescindible que no haya solapamientos con el laboratorio a la hora de hacer la matriculación.
Método de evaluación
La evaluación se hace a partir de los dos controles (C1 y C2), la nota de laboratorio (LAB) y la nota de actividad en problemas (AP).La nota final (NF) se calcula (con un solo decimal y redondeo al par) como:
NF = 0,3*C1 + 0,4*C2 + 0,2* LAB + 0,1* AP
Los estudiantes sólo serán evaluados de LAB y AP si ASISTEN a las clases del GRUPO DONDE ESTÁN MATRICULADOS.
Bibliografía
Básico
-
Computer architecture: a quantitative approach
- Hennessy, John L.; Patterson, D,
Elsevier, Morgan Kaufmann,
2019.
ISBN: 9780128119051
https://discovery.upc.edu/discovery/fulldisplay?docid=alma991004117509706711&context=L&vid=34CSUC_UPC:VU1&lang=ca
Complementario
-
Computer systems: a programmer's perspective
- Bryant, R.E.; O'Hallaron, D.R,
Pearson,
2016.
ISBN: 9781292101767
https://discovery.upc.edu/discovery/fulldisplay?docid=alma991004062589706711&context=L&vid=34CSUC_UPC:VU1&lang=ca -
Computer organization and design: the hardware/software interface
- Patterson, D.A.; Hennessy, J. L,
Elsevier Morgan Kaufmann,
2014.
ISBN: 9780124077263
https://discovery.upc.edu/discovery/fulldisplay?docid=alma991004000499706711&context=L&vid=34CSUC_UPC:VU1&lang=ca