Guía docente de Estructuras de Computadores (2961125)

Curso 2022/2023
Fecha de aprobación: 15/06/2022

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: A y D
  • Francisco J. Fernández Baldomero. Grupos: B y C

Práctico

  • Francisco Barranco Expósito Grupo: 3
  • Antonio Cañas Vargas Grupos: 1, 2 y 3
  • Francisco J. Fernández Baldomero Grupos: 11, 4, 5, 6 y 8
  • Niceto Rafael Luque Sola Grupos: 10, 12, 7 y 9

Tutorías

Antonio Cañas Vargas

Email
  • Primer semestre
    • Lunes de 13:00 a 15:00 (Etsiit)
    • Martes de 14:00 a 15:00 (Etsiit)
  • Segundo semestre
    • Lunes de 12:00 a 15:00 (Etsiit)
    • Martes de 12:00 a 15:00 (Etsiit)

Francisco J. Fernández Baldomero

Email
  • Primer semestre
    • Jueves de 09:30 a 13:30 (Telf, Email, Gmeet, 2D-40)
    • Viernes de 17:30 a 19:30 (Telf, Email, Gmeet, 2D-40)
  • Segundo semestre
    • Miércoles de 09:30 a 12:30 (Telf, Email, Gmeet, 2D-40)
    • Jueves de 09:30 a 12:30 (Telf, Email, Gmeet, 2D-40)

Francisco Barranco Expósito

Email
  • Primer semestre
    • Miércoles de 10:30 a 13:30 (Etsiit)
    • Jueves de 15:30 a 18:30 (Etsiit)
  • Segundo semestre
    • Miércoles de 10:30 a 13:30 (Etsiit)
    • Jueves de 15:30 a 18:30 (Etsiit)

Niceto Rafael Luque Sola

Email
  • Lunes de 08:30 a 14:30 (Etsitt)

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

  • C. Hamacher, Z. Vranesic, S. Zaky, N. Manjikian. Computer Organization and Embedded Systems. 6th ed. New York, NY : McGraw-Hill, 2012. ESIIT/C.1 COM com
  • W. Stallings, Organización y Arquitectura de Computadores. 7ª ed. Pearson Educación, 2008. ESIIT/C.1 STA org
  • R.E. Bryant, D.R. O'Hallaron: Computer systems: a programmer's perspective. 3rd ed. Pearson, 2016. ESIIT/C.1 BRY com

Bibliografía complementaria

  • Ortega, M. Anguita, A. Prieto. Arquitectura de Computadores.  Thomson, 2005. ESIIT/C.1 ORT arq
  • F. García, et al, Problemas resueltos de Estructura de Computadores. Paraninfo, 2009. ESIIT/C.1 PRO pro
  • M.I. García, et al, Estructura de Computadores: problemas resueltos. Ra-Ma, 2006. ESIIT/C.1 EST est
  • N. Carter. Arquitectura de Computadores. McGraw-Hill, 2004. ESIIT/C.1 CAR arq
  • A.S. Tanenbaum. Structured Computer Organization. Pearson Education, 2006. ESIIT/C.1 TAN str
  • J.L. Hennessy, D.A. Patterson, Computer architecture: a quantitative approach. Morgan Kaufmann, 2007. ESIIT/C.1 HEN com
  • D.A. Patterson, J.L. Hennessy, Computer Organization and design: the hardware-software interface. 6th ed. Amsterdam : Elsevier, 2021. ESIIT/C.1 PAT com

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). 

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 (o trabajos similares, considerados en el art. 7 de la Normativa de Evaluación y Calificación). No en todas las Titulaciones se contempla la entrega de memorias de prácticas (o trabajos similares). Si las hay, los detalles se explican en clase y quedan por escrito en la plataforma.
  • Exámenes escritos con fecha fijada por el Centro (test de teoría, de prácticas, exámenes de problemas, 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 6p, las de Prácticas (grupo pequeño) hasta 4p, 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) 6.0 60% 2.4 (40%) NTeo
Grupo pequeño (Prácticas) 4.0 40% 1.6 (40%) NPra
Total 10.0 100% 5.0 (50%) NTot

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) 3.0 30% TT+EP = 2.4 (40%) TT+EP = NTeo
EP (Examen de Problemas) 3.0 30% TT+EP = 2.4 (40%) TT+EP = NTeo
TP (Test de prácticas) 4.0 40% 1.6 (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.

Información adicional

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