Guía docente de Estructura de Computadores (2961125)

Curso 2024/2025
Fecha de aprobación: 28/06/2024

Grado

Grado en Ingeniería Informática

Rama

Ingeniería y Arquitectura

Módulo

Formación Específica de Rama

Materia

Estructura y Arquitectura de Computadores

Curso

2

Semestre

1

Créditos

6

Tipo

Obligatoria

Profesorado

Teórico

  • Antonio Cañas Vargas. Grupos: B y C
  • Francisco J. Fernández Baldomero. Grupos: A y D

Práctico

  • Francisco Barranco Expósito Grupo: 4
  • Antonio Cañas Vargas Grupos: 5, 6, 7 y 8
  • Francisco J. Fernández Baldomero Grupos: 1, 10, 11, 12, 2 y 3
  • Niceto Rafael Luque Sola Grupo: 4
  • Ignacio Rojas Ruiz Grupo: 9
  • Gustavo Romero López Grupo: 9
  • Fernando Valdivia Del Rosal Grupos: 5, 6, 7 y 8

Tutorías

Antonio Cañas Vargas

Email
  • Primer semestre
    • Lunes de 13:33 a 14:45 (Etsiit)
    • Martes de 13:33 a 14:45 (Etsiit)
    • Miércoles de 13:33 a 14:45 (Etsiit)
    • Jueves de 13:33 a 14:45 (Etsiit)
    • Viernes de 13:33 a 14:45 (Etsiit)
  • Segundo semestre
    • Lunes de 13:33 a 14:45 (Etsiit)
    • Martes de 13:33 a 14:45 (Etsiit)
    • Miércoles de 13:33 a 14:45 (Etsiit)
    • Jueves de 13:33 a 14:45 (Etsiit)
    • Viernes de 13:33 a 14:45 (Etsiit)

Francisco J. Fernández Baldomero

Email
  • Lunes de 17:30 a 19:30 (Despacho 2D-40, Etsiit)
  • Martes
    • 09:30 a 11:30 (Despacho 2D-40, Etsiit)
    • 17:30 a 19:30 (Despacho 2D-40, Etsiit)

Francisco Barranco Expósito

Email
  • Primer semestre
    • Miércoles de 17:30 a 20:30 (Etsiit)
    • Jueves de 10:00 a 13:00 (Etsiit)
  • Segundo semestre
    • Miércoles de 17:30 a 20:30 (Etsiit)
    • Jueves de 10:00 a 13:00 (Etsiit)

Niceto Rafael Luque Sola

Email
No hay tutorías asignadas para el curso académico.

Ignacio Rojas Ruiz

Email
  • Primer semestre
    • Miércoles de 09:30 a 11:30 (Etsiit)
    • Jueves de 10:00 a 14:00 (Etsiit)
  • Segundo semestre
    • Miércoles de 09:30 a 11:30 (Etsiit)
    • Jueves de 10:00 a 11:30 (Etsiit)

Gustavo Romero López

Email
  • Primer semestre
    • Lunes de 10:30 a 11:00 (Etsiit)
    • Miércoles de 09:00 a 11:00 (Etsiit)
    • Jueves de 09:00 a 11:00 (Etsiit)
  • Segundo semestre
    • Martes de 10:00 a 11:30 (Etsiit)
    • Miércoles de 10:00 a 11:30 (Etsiit)
    • Jueves de 10:00 a 11:30 (Etsiit)

Fernando Valdivia Del Rosal

Email
  • Miércoles de 14:30 a 17:30 (Etsiit)
  • Jueves de 11:30 a 14:30 (Etsiit)

Prerrequisitos y/o Recomendaciones

Se recomienda la superación de los contenidos y adquisición de competencias de las materias de formación básica, particularmente de «Tecnología y Organización de Computadores» y de «Fundamentos de Programación».

Breve descripción de contenidos (Según memoria de verificación del Máster)

  • Arquitectura del repertorio de instrucciones.
  • Estructura de un computador en el nivel de lenguaje máquina y programación en ensamblador.
  • Relación entre lenguajes de alto nivel y ensamblador; representación de datos y estructuras sencillas.
  • Sistema de Memoria.
  • Sistema de Entrada/Salida.
  • Buses.
  • Organización del procesador: control cableado y microprogramado, segmentación de cauce, etc.

Competencias

Competencias Generales

  • CG08. 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.

Competencias Específicas

  • CE15. Capacidad de conocer, comprender y evaluar la estructura y arquitectura de los computadores, así como los componentes básicos que los conforman.

Competencias Transversales

  • CT01. Capacidad de organización y planificación así como capacidad de gestión de la Información. 
  • CT03. Capacidad para el uso y aplicación de las TIC en el ámbito académico y profesional. 

Resultados de aprendizaje (Objetivos)

  • Caracterizar las instrucciones en lenguaje máquina y en lenguaje ensamblador.
  • Distinguir entre los diferentes tipos de instrucciones en ensamblador, modos de direccionamiento y tipos de operandos.
  • Implementar código en ensamblador. Implementar un programa combinando código ensamblador y código de alto nivel.
  • Explicar cómo se implementan construcciones de los lenguajes de alto nivel en ensamblador y cómo se representan y almacenan en el computador datos y estructuras sencillas.
  • Depurar código a bajo nivel y desensamblar.
  • Describir una implementación elemental de camino de datos y unidad de control.
  • Explicar cómo la unidad de control de una CPU interpreta una instrucción a nivel máquina tanto en implementaciones cableadas como microprogramadas.
  • Explicar el concepto de segmentación de cauce, junto con los riesgos que pueden degradar las prestaciones.
  • Explicar la estructura y el funcionamiento de la jerarquía de memoria en un computador y mostrar la necesidad de su presencia.
  • Describir el hardware para gestión de la jerarquía de memoria en un computador (memoria cache).
  • Describir cómo configurar y diseñar memorias utilizando varios módulos. Explicar cómo incrementar el ancho de palabra y el número de palabras.
  • Describir las diferentes organizaciones de la memoria cache, analizando las posibles estrategias de extracción, colocación, reemplazo y actualización, y los parámetros que afectan a las prestaciones.
  • Explicar las diferentes técnicas de gestión de E/S. Describir controladores o interfaces de dispositivo.
  • Explicar el concepto de bus, estructuras y tipos. Describir los diferentes tipos de transferencia, la temporización y el direccionamiento.

Programa de contenidos Teóricos y Prácticos

Teórico

Tema 1. Introducción

  • Unidades funcionales.
  • Conceptos básicos de funcionamiento.

Tema 2. Representación de programas a nivel máquina

  • Codificación de programas.
  • Arquitectura del repertorio (ISA).
  • Instrucciones de transferencia, aritmético-lógicas, de control.
  • Procedimientos y subrutinas.
  • Arrays. Estructuras de datos heterogéneas.

Tema 3. Unidad de control

  • Camino de datos.
  • Unidades de control cableadas y microprogramadas.

Tema 4. Segmentación de cauce

  • Conceptos básicos.
  • Riesgos de datos.
  • Riesgos de instrucciones.
  • Riesgos de control.

Tema 5. Entrada/Salida

  • Funciones del sistema de E/S. Interfaces de E/S.
  • E/S programada.
  • Interrupciones.
  • DMA (Acceso directo a memoria).

Tema 6. Memoria

  • Jerarquía de memoria.
  • Concepto de localidad.
  • Memoria cache.
  • Influencia en las prestaciones.

Práctico

Prácticas:

  • Práctica 1: Entorno de desarrollo GNU: Ejemplos.
  • Práctica 2: Programación en ensamblador Linux: Programas aritméticos.
  • Práctica 3: Programación mixta C-ASM: Optimización.
  • Práctica 4: Depuradores, desensambladores y editores hexadecimal: Demostración de las competencias adquiridas.
  • Práctica 5: Funcionamiento de E/S: Aplicación con Microcontrolador.
  • Práctica 6: Análisis de una Jerarquía de Memoria: Cache.

Seminarios:

  • Seminario 1: Entorno de desarrollo GNU.
  • Seminario 2: Programación en ensamblador Linux.
  • Seminario 3: Programación mixta C-ASM.
  • Seminario 4: Depuradores, desensambladores y editores hexadecimal.
  • Seminario 5: Funcionamiento de E/S.
  • Seminario 6: Análisis de una Jerarquía de Memoria.

Bibliografía

Bibliografía fundamental

  • W. Stalllings. Computer Organization and Architecture: Designing for Performance. 11th ed. Global ed. New York, Pearson, 2022. ESIIT/C1. STA com
  • R.E. Bryant, D.R. O'Hallaron: Computer systems: a programmer's perspective. 3rd ed. Global ed. Boston, Pearson, 2016. ESIIT/C.1 BRY com
  • C. Hamacher, Z. Vranesic, S. Zaky, N. Manjikian. Computer Organization and Embedded Systems. 6th ed. New York, McGraw-Hill, 2012. ESIIT/C.1 COM com

Bibliografía complementaria

  • L. Null. The essentials of computer organization and architecture. 6th ed. Burlington, MA, Jones & Bartlett Learning, 2024. ESIIT/C.1 NUL ess
  • D.A. Patterson, J.L. Hennessy, Computer Organization and design: the hardware-software interface. 6th ed. Amsterdam, Elsevier, 2021. ESIIT/C.1 PAT com
  • J. Ortega, M. Anguita, A. Prieto. Arquitectura de Computadores. Madrid, Paraninfo, 2006. ESIIT/C.1 ORT arq
  • J.L. Hennessy, D.A. Patterson, Computer architecture: a quantitative approach. 6th ed. Boston, Morgan Kaufmann, 2019. ESIIT/C.1 HEN com
  • F. García, et al, Problemas resueltos de Estructura de Computadores. Madrid, Paraninfo, 2015. ESIIT/C.1 PRO pro
  • A.S. Tanenbaum. Structured Computer Organization. 5th ed. Upper Saddle River, Pearson Education, 2006. ESIIT/C.1 TAN str
  • M.I. García, et al, Estructura de Computadores: problemas resueltos. Madrid, Ra-Ma, 2006. ESIIT/C.1 EST est
  • N. Carter. Arquitectura de Computadores. Madrid, McGraw-Hill, 2004. ESIIT/C.1 CAR arq

Enlaces recomendados

Metodología docente

  • MD01. Lección Magistral (Clases Teóricas-Expositivas) 
  • MD02. Actividades Prácticas (Resolución de Problemas, Resolución de Casos Prácticos, Desarrollo de Proyectos, Prácticas en Laboratorio, Taller de Programación, Aula de Informática, Prácticas de Campo). 
  • MD03.  Seminarios (Debates, Demos, Exposición de Trabajos Tutelados, Conferencias, Visitas Guiadas, Monografías). 
  • MD04. Actividades no presenciales Individuales. 
  • MD05. Actividades no presenciales Grupales. 
  • MD06. Tutorías Académicas. 

Evaluación (instrumentos de evaluación, criterios de evaluación y porcentaje sobre la calificación final)

Evaluación Ordinaria

En esta Guía Docente se recogen las condiciones de evaluación comunes a las cuatro Titulaciones en las que se imparte la asignatura: Grado en Ingeniería Informática (GII Granada), dobles Grados en Ingeniería Informática y Matemáticas o ADE (GIM-GIADE Granada) y Grado en Ingeniería Informática en el Campus de Ceuta (GII Ceuta). Si fueran necesarios más detalles, los explicaría cada profesor, quedando la información disponible por escrito en la plataforma docente.

Se puede evaluar la participación activa de los estudiantes durante el curso mediante algunas de las siguientes actividades. Los detalles se explican el primer día de clase en la presentación de la asignatura, quedando la información disponible por escrito en la plataforma docente.

  • Pruebas individuales realizadas en grupo grande y/o en grupo pequeño (pequeños test, exámenes parciales, etc.). No en todas las Titulaciones se contempla la realización de exámenes parciales. Si los hay, los detalles se explican en clase y quedan por escrito en la plataforma.
  • Memorias de prácticas, Resolución de ejercicios, Resolución de problemas de laboratorio (bomba digital, etc), o trabajos similares (considerados en el art. 7 de la Normativa de Evaluación y Calificación). No en todos los Grupos se contempla la entrega de memorias o trabajos similares (depende del profesor). Si los hay, los detalles se explican en clase y quedan por escrito en la plataforma.
  • Exámenes escritos con fecha fijada por el Centro (test o problemas, de teoría o de prácticas, etc.). A celebrar en las fechas fijadas por el Centro. Estas pruebas sí pueden tener evaluación por incidencias, a diferencia de las anteriores, sin fecha fijada por el Centro ni evaluación por incidencias.

Las actividades de Teoría (grupo grande) contabilizan hasta 5p, las de Prácticas (grupo pequeño) hasta 5p, y para aprobar se debe superar el umbral del 40% separadamente para Teoría y Prácticas, como se resume esquemáticamente en la siguiente tabla:

Porcentajes de evaluación

Actividades de evaluación continua Máximo Porcentaje Mínimo Denominación
Grupo grande (Teoría) 5.0 50% 2.0 (40%) NTeo
Grupo pequeño (Prácticas) 5.0 50% 2.0 (40%) NPra
Total 10.0 100% 5.0 (50%) NTot

Si en alguna Titulación hubiera alguna diferencia, se explicaría el primer día de clase en la presentación de la asignatura, quedando la información disponible por escrito en la plataforma docente.

Evaluación Extraordinaria

La evaluación extraordinaria se realiza en las mismas condiciones (instrumentos, criterios, porcentajes) que la ordinaria. Si en alguna Titulación hubiera alguna diferencia, se explicaría el primer día de clase en la presentación de la asignatura, quedando la información disponible por escrito en la plataforma docente.

Evaluación única final

Los estudiantes que opten por la evaluación única final realizarán un examen escrito del tipo “con fecha fijada por el Centro” mencionado anteriormente (con posibilidad de evaluación por incidencias), con los porcentajes y umbrales indicados en la siguiente tabla:

Porcentajes de evaluación

Pruebas de la evaluación única final Máximo Porcentaje Mínimo Denominación
TT (Test de teoría) 2.5 25% TT+PT = 2.0 (40%) TT+PT = NTeo
PT (Problemas de teoría) 2.5 25%
TP (Test de prácticas) 2.5 25% TP+PP = 2.0 (40%) TP+PP = NPra
PP (Problemas de prácticas) 2.5 25%
Total 10.0 100% 5.0 (50%) NTot

Si en alguna Titulación hubiera alguna diferencia, se explicaría el primer día de clase en la presentación de la asignatura, quedando la información disponible por escrito en la plataforma docente.

Información adicional

Plataforma docente (material de la asignatura, organización de los grupos de prácticas, convocatorias de exámenes, etc.):

Información de interés para estudiantado con discapacidad y/o Necesidades Específicas de Apoyo Educativo (NEAE): Gestión de servicios y apoyos (https://ve.ugr.es/servicios/atencion-social/estudiantes-con-discapacidad).

Software Libre

Los guiones de prácticas están redactados suponiendo la existencia de un Laboratorio en el que se disponga de Linux Ubuntu con herramientas normales de desarrollo (gcc, as, ld, textedit, ghex, gnuplot, etc.).