Universidad Pública de Navarra



Año Académico: 2023/2024 | Otros años:  2022/2023  |  2021/2022  |  2020/2021  |  2019/2020 
Graduado o Graduada en Ingeniería Informática por la Universidad Pública de Navarra (Programa Internacional)
Código: 250404 Asignatura: ARQUITECTURA Y ORGANIZACIÓN DE COMPUTADORES
Créditos: 6 Tipo: Obligatoria Curso: 2 Periodo: 2º S
Departamento: Estadística, Informática y Matemáticas
Profesorado:
DIAZ DE CERIO RIPALDA, LUIS MANUEL (Resp)   [Tutorías ]

Partes de este texto:

 

Módulo/Materia

Módulo: Común a la Rama de Informática

Materia: Computadores

Subir

Competencias genéricas

G4 - Capacidad para definir, evaluar y seleccionar plataformas hardware y software para el desarrollo y la ejecución de sistemas, servicios y aplicaciones informáticas, de acuerdo con los conocimientos adquiridos según lo establecido en el apartado 5 de la Resolución de 8 de Junio de 2009 de la Secretaría General de Universidades (BOE de 4 de agosto de 2009) para los ámbitos tecnológicos de Ingeniería del Software, Computación y Tecnologías de la Información.
G6 - Capacidad para concebir y desarrollar sistemas o arquitecturas informáticas centralizadas o distribuidas integrando hardware, software y redes de acuerdo con los conocimientos adquiridos según lo establecido en el apartado 5 de la Resolución de 8 de Junio de 2009 de la Secretaría General de Universidades (BOE de 4 de agosto de 2009) para los ámbitos tecnológicos de Ingeniería del Software, Computación y Tecnologías de la Información.
G8 - Conocimiento de las materias básicas y tecnologías, que capaciten para el aprendizaje y desarrollo de nuevos métodos y tecnologías, así como las que les doten de una gran versatilidad para adaptarse a nuevas situaciones.
G9 - Capacidad para resolver problemas con iniciativa, toma de decisiones, autonomía y creatividad. Capacidad para saber comunicar y transmitir los conocimientos, habilidades y destrezas de la profesión de Ingeniero Técnico en Informática.
T1 - Capacidad de análisis y síntesis.
T3 - Comunicación oral y escrita.
T4 - Resolución de problemas.
T8 - Aprendizaje autónomo.

Subir

Competencias específicas

FC1 - Capacidad para diseñar, desarrollar, seleccionar y evaluar aplicaciones y sistemas informáticos, asegurando su fiabilidad, seguridad y calidad, conforme a principios éticos y a la legislación y normativa vigente.
FC2 - Capacidad para planificar, concebir, desplegar y dirigir proyectos, servicios y sistemas informáticos en todos los ámbitos, liderando su puesta en marcha y su mejora continua y valorando su impacto económico y social.
FC4 - Capacidad para elaborar el pliego de condiciones técnicas de una instalación informática que cumpla los estándares y normativas vigentes.
FC5 - Conocimiento, administración y mantenimiento de sistemas, servicios y aplicaciones informáticas.
FC9 - Capacidad de conocer, comprender y evaluar la estructura y arquitectura de los computadores, así como los componentes básicos que los conforman.

Subir

Resultados aprendizaje

R1. Utilizar las deferentes métricas para evaluar el rendimiento de un computador. Tener en cuenta las limitaciones de las diferentes métricas de rendimiento.
R2. Evaluar los límites de mejora de un sistema según la ley de Amdahl. 
R3. Considerar el impacto económico y social que conlleva la mejora de rendimiento de los sistemas.
R4. Describir diferentes técnicas de organización de la memoria para la mejora del rendimiento en el acceso.
R5. Describir y comparar diferentes modelos de organización de memoria caché.
R6. Explicar el funcionamiento de la memoria virtual y evaluar el efecto del TLB en la mejora del rendimiento.
R7. Describir diferentes técnicas en la organización de la CPU para la mejora del rendimiento en la ejecución de instrucciones.
R8. Evaluar la mejora de rendimiento de la segmentación.
R9. Describir diferentes técnicas hardware para disminuir el efecto de los riesgos de la segmentación.
R10. Explicar el concepto de paralelismo a nivel de instrucción y su influencia en el rendimiento de los computadores.
R11. Describir las características principales de los procesadores superescalares y VLIW.
R12. Describir las características principales de los procesadores multithreaded y multicore.
R13. Explicar el concepto de paralelismo a nivel de proceso.
R14. Evaluar el rendimiento en la paralelización de aplicaciones según la ley de Amdahl.
R15. Describir los aspectos técnicos más relevantes y razonar las ventajas e inconvenientes de las arquitecturas de memoria compartida, distribuida y las redes de computadores.
R16. Describir las características principales de los procesadores actuales de un PC.
R17. Utilizar técnicas de programación para la mejora de rendimiento en el acceso a memoria de aplicaciones.
R18. Utilizar técnicas de programación para la mejora de rendimiento en la ejecución de aplicaciones.

Subir

Metodología

Metodología - Actividad Horas Presenciales Horas no Presenciales
A-1 Clases magistrales 28.5  
A-2 Estudio autónomo   22.5
A-3 Sesiones prácticas 12  
A-4 Programación / experimentación u otros trabajos en ordenador / laboratorio   22.5
A-5 Resolución de problemas, ejercicios y otras actividades de aplicación   15
A-6 Aprendizaje basado en problemas y/o casos 12  
A-7 Elaboración de trabajos y/o proyectos y escritura de memorias   22.5
A-8 Preparación de presentaciones de trabajos, proyectos, etc...   7.5
A-9 Actividades de Evaluación 4.5  
A-10 Tutorías 3  
     
Total 60 90

Subir

Relación actividades formativas-competencias/resultados de aprendizaje

Competencia Actividad Formativa
G4 A-1, A-2, A-3, A-4, A-5, A-6, A-7, A-9, A-10
G6 A-2, A-3, A-4, A-5, A-6, A-7, A-9, A-10
G8 A-1, A-2, A-3, A-4, A-5, A-6, A-7, A-9, A-10
G9 A-2, A-3, A-4, A-5, A-6, A-7, A-8, A-9, A-10
T1 A-3, A-5, A-6, A-9
T3 A-7, A-8, A-9
T4 A-2, A-3, A-4, A-5, A-6, A-7, A-9
T8 A-2, A-4, A-5, A-7
FC1 A-1, A-2, A-3, A-4, A-5, A-6, A-7, A-8, A-9, A-10
FC2 A-1, A-2, A-3, A-4, A-5, A-6, A-9, A-10
FC4 A-1, A-2, A-3, A-4, A-5, A-6, A-9, A-10
FC5 A-1, A-2, A-3, A-4, A-5, A-6, A-7, A-8, A-9, A-10
FC9 A-1, A-2, A-3, A-4, A-5, A-6, A-7, A-8, A-9, A-10

Subir

Idiomas

Castellano

Subir

Evaluación

 

Resultados de
aprendizaje
Actividad de
evaluación
Peso (%) Carácter
recuperable
Nota mínima
requerida
R16, R17, R18 Resolución y correcta presentación en tiempo y forma de trabajos y supuestos prácticos realizados en el Laboratorio. 30 % No.  
R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12, R13, R14, R15 Resolución y correcta presentación por escrito de ejercicios y preguntas teóricas. 70 % Si. (2) 4 (habiendo conseguido un mínimo de 4 en dos de las tres partes del temario). (1)

 

(1). La contenidos teóricos se dividen en tres partes: Parte 1 (Temas 1 y 2), Parte 2 (Temas 3 y 4) y Parte 3 (Tema 5). Las Partes 1 y 2 tienen un peso del 28% cada una y la Parte 3 tiene un peso del 14%. Se realizarán dos controles para la Parte 1, dos controles para la Parte 2 y un control para la Parte 3.

(2). Mediante prueba escrita de todo el temario. Únicamente para aquellos estudiantes que ya hayan intentado, sin éxito, superar la asignatura a lo largo del semestre, participando en las distintas actividades de evaluación programadas durante el periodo lectivo y de evaluación continua. Por tanto, es requisito haber realizado al menos un control de cada parte del temario en la evaluación continua (salvo casos justificados). En esta prueba se deberá alcanzar y se calificará con el valor mínimo suficiente (no inferior a 4), para aprobar la asignatura.

Subir

Contenidos

Un ingeniero informático ha de ser capaz de aportar soluciones arquitectónicas que mejoren el rendimiento de los computadores y sistemas informáticos actuales con el fin de avanzar en el progreso de su desarrollo. Esta asignatura aporta al estudiante una visión
global de los diferentes tipos de arquitectura tanto a nivel de microprocesador como de computador, así como de los elementos de diseño más importantes con el objetivo de entender su funcionamiento.
Una de las labores más frecuentes de un ingeniero informático es la de aportar soluciones para la ejecución de aplicaciones
obteniendo el mayor rendimiento posible en función de los recursos y de las necesidades. Hoy en día el uso del paralelismo en los
sistemas informáticos tanto a nivel de hardware, aumentando el número de elementos de proceso, o a nivel de software,
permitiendo la ejecución simultánea de programas, es vital. Esta asignatura también aporta al futuro ingeniero el conocimiento de
arquitecturas y técnicas paralelas más actuales introduciéndolo además mediante la realización de prácticas en el ámbito de la
programación paralela.

La lista concreta de contenidos es la siguiente:
- Rendimiento. Medidas de rendimiento de un computador. Ley de Amdahl. Impacto económico y social del rendimiento.
- Organización de la memoria. Memoria caché: organización, reemplazo y políticas de escritura. Memoria virtual y TLB. Técnicas de programación de acceso eficiente a memoria.
- Organización de la CPU. Segmentación. Riesgos de la Segmentación. Técnicas hardware para reducir el efecto de los riesgos: Predicción, prebúsqueda, ejecución especulativa. Técnicas de programación para reducir el efecto de los riesgos.
- Paralelismo a nivel de instrucción. Procesadores superescalares. Procesadores VLIW.
- Paralelismo a nivel de proceso. Revisión de la ley de Amdahl. Procesadores multicore y multithreaded. Arquitecturas de memoria compartida. Arquitecturas de memoria distribuida. Redes de computadores: clusters y grids.

Subir

Temario

Teoría:
1 - Rendimiento.
    1.1 - Medidas de rendimiento de un computador.
    1.2 - Ley de Amdahl.
2 - Organización de la memoria.
    2.1 - Memoria caché: organización, reemplazo y políticas de escritura.
    2.2 - Memoria virtual y TLB.
    2.3 - Técnicas de programación de acceso eficiente a memoria.
3 - Organización de la CPU.
    3.1 - Segmentación.
    3.2 - Riesgos de la Segmentación.
    3.3 - Técnicas hardware para reducir el efecto de los riesgos: Predicción, prebúsqueda, ejecución especulativa.
    3.4 - Técnicas de programación para reducir el efecto de los riesgos.
4 - Paralelismo a nivel de instrucción.
    4.1 - Grado de Paralelismo
    4.2 - Procesamiento superescalar.
    4.3 - Técnicas software para aumentar el grado de paralelismo.
5 - Paralelismo a nivel de proceso.
    5.1 - Revisión de la ley de Amdahl.
    5.2 - Arquitecturas de memoria compartida.
    5.3 - Arquitecturas de memoria distribuida.

 

Prácticas:
1 - CPU y su rendimiento en un PC
2 - Jerarquía de Memoria y su rendimiento en un PC.
3 - Organización de Memoria Caché y evaluación mediante simulación.
4 - Segmentación de instrucciones.
5 - Paralelismo a nivel de Instrucción
6 - Introducción a la programación paralela.

Subir

Bibliografía

Acceda a la bibliografía que el profesorado de la asignatura ha solicitado a la Biblioteca.


  1. John L. Hennessy, David A. Patterson. Arquitectura de Computadores. Un Enfoque cuantitativo. Mc. Graw Hill, 1993.
  2. David A. Patterson, John L. Hennessy. Estructura y Diseño de Computadores. La interfaz Hardware / Software. Editorial Reverté, 2011.
  3. Deszo Sima, Terence Fountain, Peter Kacsuk. Advanced Computer Architectures. A Design Space Approach. Pearson Education, Addison-Wesley, 1997.
  4. David Culler, Jaswinder Pal Singh, y Anoop Gupta. Parallel Computer Architecture: A Hardware/Software approach. Morgan Kaufmann, 1999.
  5. George Coulouris, Jean Dollimore, y Tim Kindberg. Distributed systems: concepts and design. Addison-Wesley, 1996.
  6. Peter Pacheco. Parallel Programming with MPI. Morgan Kaufmann, 1997.

Subir

Lugar de impartición

Aulario y Laboratorio de Arquitectura y Tecnología de Computadores.

Subir