Universidad de Jaén

Menú local

Guía docente 2017-18 - 13313012 - Programación hardware



TITULACIÓN: Grado en Ingeniería informática
CENTRO: ESCUELA POLITÉCNICA SUPERIOR (JAÉN)
CURSO: 2017-18
ASIGNATURA: Programación hardware
GUÍA DOCENTE
1. DATOS BÁSICOS DE LA ASIGNATURA
NOMBRE: Programación hardware
CÓDIGO: 13313012 CURSO ACADÉMICO: 2017-18
TIPO: Optativa
Créditos ECTS: 6.0 CURSO: 4 CUATRIMESTRE: SC
WEB: http://dv.ujaen.es/docencia/goto.php?target=crs_432814&client_id=docencia
2. DATOS BÁSICOS DEL PROFESORADO
NOMBRE: CHARTE OJEDA, FRANCISCO
IMPARTE: Teoría - Prácticas [Profesor responsable]
DEPARTAMENTO: U118 - INFORMÁTICA
ÁREA: 035 - ARQUITECTURA Y TECNOLOGÍA DE COMPUTADORES
N. DESPACHO: A3 - 245 E-MAIL: fcharte@ujaen.es TLF: 953-213016
TUTORÍAS: https://uvirtual.ujaen.es/pub/es/informacionacademica/tutorias/p/73570
URL WEB: http://fcharte.com
ORCID: -
NOMBRE: RUEDA RUIZ, ANTONIO JESÚS
IMPARTE: Teoría - Prácticas
DEPARTAMENTO: U118 - INFORMÁTICA
ÁREA: 570 - LENGUAJES Y SISTEMAS INFORMÁTICOS
N. DESPACHO: A3 - 141 E-MAIL: ajrueda@ujaen.es TLF: 953212893
TUTORÍAS: https://uvirtual.ujaen.es/pub/es/informacionacademica/tutorias/p/58261
URL WEB: http://www4.ujaen.es/~ajrueda
ORCID: https://orcid.org/0000-0001-7692-454X
3. PRERREQUISITOS, CONTEXTO Y RECOMENDACIONES
PRERREQUISITOS:
-
CONTEXTO DENTRO DE LA TITULACIÓN:

Tras la realización de la asignatura el alumno deberá tener un amplio conocimiento de los siguientes conceptos:

  • Hardware de computadores.
  • Programación a bajo nivel.
  • Programación de interfaces de E/S.
  • Programación de buses.
  • Programación de GPUs.
  • Diseño e implementación de drivers.
RECOMENDACIONES Y ADAPTACIONES CURRICULARES:

Para el correcto aprovechamiento del curso se requieren conocimientos como mínimo medios de hardware de ordenadores, programación en C++ e Informática Gráfica.

El alumnado que presente necesidades específicas de apoyo educativo, lo ha de notificar personalmente al Servicio de Atención y Ayudas al Estudiante para proceder a realizar, en su caso, la adaptación curricular correspondiente.
4. COMPETENCIAS Y RESULTADOS DE APRENDIZAJE
Código Denominación de la competencia
CB2R Que los estudiantes sepan aplicar sus conocimientos a su trabajo o vocación de una forma profesional y posean las competencias que suelen demostrarse por medio de la elaboración y defensa de argumentos y la resolución de problemas dentro de su área de estudio.
CB3R Que los estudiantes tengan la capacidad de reunir e interpretar datos relevantes (normalmente dentro de su área de estudio) para emitir juicios que incluyan una reflexión sobre temas relevantes de índole social, científica o ética.
CB5R Que los estudiantes hayan desarrollado aquellas habilidades de aprendizaje necesarias para emprender estudios posteriores con un alto grado de autonomía.
CC8R Capacidad para analizar, diseñar, construir y mantener aplicaciones de forma robusta, segura y eficiente, eligiendo el paradigma y los lenguajes de programación más adecuados.
CC9R Capacidad de conocer, comprender y evaluar la estructura y arquitectura de los computadores, así como los componentes básicos que los conforman.
 
Resultados de aprendizaje
Resultado 1 Conocer la estructura, organización, funcionamiento e interconexión de los sistemas informáticos, los fundamentos de su programación, y su aplicación para la resolución de problemas propios de la ingeniería
Resultado 15R Ser capaz de comprender y aplicar la programación hardware a bajo nivel, interfaces de E/S, buses, GPUs y drivers
Resultado CTI2R Competencia CTI2 Capacidad para seleccionar, diseñar, desplegar, integrar, evaluar, construir, gestionar, explotar y mantener las tecnologías de hardware, software y redes, dentro de los parámetros de coste y calidad adecuados.
5. CONTENIDOS

Hardware de computadores. Programación a bajo nivel. Programación de interfaces de E/S. Programación de buses. Programación de GPUs. Diseño e implementación de drivers.

 

Contenidos Teóricos:

Módulo 1: Hardware de sistemas empotrados

  • Introducción a los sistemas empotrados
    • Arquitectura de un sistema empotrado
    • Aplicaciones actuales de los sistemas empotrados
  • Hardware de sistemas empotrados
    • Sensores y actuadores
    • Sistemas de control

Módulo 2: Hardware reconfigurable

  • Introducción al hardware reconfigurable
    • Dispositivos lógico programables
    • Lenguajes de descripción de hardware
  • Tecnologías de hardware reconfigurable
    • Dispositivos lógicos simples: PAL, PLA, GAL
    • Dispositivos lógicos complejos: CPLD y FPGAs
  • Programación de hardware reconfigurable
    • Tipos de circuitos y sus componentes
    • Diseños hardware con el lenguaje VHDL

Módulo 3: Procesadores gráficos programables

  • Introdución a la GPGPU
    • Evolución de las unidades de proceso gráfico (GPUs)
    • Evolución de la GPGPU. Hardware y entornos de desarrollo
  • Programación de shaders
    • Arquitectura del pipeline gráfico
    • Evolución de las capacidades de programación en las GPUs
    • Vertex shaders y pixel shaders. Shaders avanzados. Lenguajes de programación de shaders.
    • Programación de shaders mediante OpenGL Shading Language (GLSL)
    • Uso de shaders para resolución de problemas de propósito general mediante GPU
  • GPGPU en arquitecturas unificadas
    • Arquitecturas unificadas en GPUs
    • Introducción a la tecnología CUDA de NVIDIA
    • Programación de arquitecturas multicore mediante OpenCL

Contenidos Prácticos:

  1. Diseños de circuitos lógicos a partir de esquemas
  2. Simulación y síntesis de circuitos
  3. Diseño de hardware con VHDL
  4. Programación de shaders
  5. Programación en CUDA
  6. Programación en OpenCL

6. METODOLOGÍA Y ACTIVIDADES
 
ACTIVIDADES HORAS PRESEN­CIALES HORAS TRABAJO AUTÓ­NOMO TOTAL HORAS CRÉDITOS ECTS COMPETENCIAS (códigos)
A1 - Clases expositivas en gran grupo
  • M1 - Clases magistrales
  • M2 - Exposición de teoría y ejemplos generales
  • M4 - Conferencias
  • M5 - Otros
30.0 45.0 75.0 3.0
  • CB2R
  • CB3R
  • CB5R
  • CC8R
  • CC9R
A2R - Clases en pequeño grupo
  • M10R - Aulas de informática
  • M11R - Resolución de ejercicios
  • M12R - Presentaciones/exposiciones
  • M6R - Actividades practicas
  • M7R - Seminarios
  • M9R - Laboratorios
30.0 45.0 75.0 3.0
TOTALES: 60.0 90.0 150.0 6.0  
 
INFORMACIÓN DETALLADA:

Ninguna observación

7. SISTEMA DE EVALUACIÓN
 
ASPECTO CRITERIOS INSTRUMENTO PESO
Asistencia y/o participación en actividades presenciales y/o virtuales -Participación activa en clases teóricas y prácticas. -Participación en los debates. -Participación en el trabajo grupal. Observación y notas del profesor 5.0%
Conceptos teóricos de la materia Dominio de los conocimientos teóricos y operativos de la materia. El alumno deberá superar esta parte de la asignatura para poder sumar con el resto de aspectos evaluables. Entrega de un trabajo tutelado con relación a la temática de la asignatura 25.0%
Realización de trabajos, casos o ejercicios Realización de trabajos, casos o ejercicios Realización de trabajos, casos o ejercicios 0.0%
Prácticas de laboratorio/campo/uso de herramientas TIC Validación de guiones de prácticas. Dominio de conceptos prácticos de la materia Presentación de trabajos, se valorará: - Estructura del trabajo - Calidad de la documentación - Originalidad - Presentación El alumno deberá superar esta parte de la asignatura para poder sumar con el resto de aspectos evaluables. Un guión para cada sesión práctica Entrega y defensa de un trabajo práctico 70.0%
El sistema de calificación se regirá por lo establecido en el RD 1125/2003 de 5 de septiembre por el que se establece el sistema europeo de créditos y el sistema de calificaciones en la titulaciones universitarias de carácter oficial
INFORMACIÓN DETALLADA:

Ninguna observación.

8. DOCUMENTACIÓN / BIBLIOGRAFÍA
ESPECÍFICA O BÁSICA:
  • VHDL: de la tecnología a la arquitectura de computadores. Edición: -. Autor: Ruz Ortiz, José Jaime. Editorial: Madrid : Síntesis, 2003  (C. Biblioteca)
  • Fundamentos de sistemas digitales. Edición: 11ª ed. Autor: Floyd, Thomas L.. Editorial: Madrid : Pearson Educación, D.L. 2016  (C. Biblioteca)
GENERAL Y COMPLEMENTARIA:
  • Arquitectura de computadores: un enfoque cuantitativo. Edición: -. Autor: Hennessy, John L.. Editorial: Madrid [etc.]: McGraw-Hill, D.L. 1994  (C. Biblioteca)
  • VHDL : lenguaje para síntesis y modelado de circuitos. Edición: 3a ed. actualizada. Autor: Pardo Carpio, Fernando. Editorial: Madrid : Ra-ma, 2011  (C. Biblioteca)
  • Digital electronics with VHDL, Quartus II version. Edición: -. Autor: Kleitz, William. Editorial: Upper Saddle River, N.J. : Pearson Prentice Hall, c2006  (C. Biblioteca)
  • OpenGL shading language. Edición: 2nd ed., 4th printing.. Autor: Rost, Randi J.. Editorial: Upper Saddle River, NJ [etc.]: Addison Wesley, 2007  (C. Biblioteca)
9. CRONOGRAMA (segundo cuatrimestre)
 
Semana A1 - Clases expositivas en gran grupo A2R - Clases en pequeño grupo Trabajo autónomo Observaciones
Nº 1
29 ene. - 4 feb. 2018
2.02.0 3.0 Introducción y comienzo de módulo 1: hardware de sistemas empotrados 
Nº 2
5 - 11 feb. 2018
2.02.0 6.0 Continuación de módulo 1 
Nº 3
12 - 18 feb. 2018
2.02.0 6.0 Continuación de módulo 1 
Nº 4
19 - 25 feb. 2018
2.02.0 6.0 Final de módulo 1 y comienzo de módulo 2: hardware reconfigurable 
Nº 5
26 feb. - 4 mar. 2018
2.02.0 6.0 Continuación de módulo 2 
Nº 6
5 - 11 mar. 2018
2.02.0 6.0 Continuación de módulo 2 
Nº 7
12 - 18 mar. 2018
2.02.0 6.0 Continuación de módulo 2 
Nº 8
19 - 25 mar. 2018
2.02.0 7.0 Continuación de módulo 2 
Período no docente: 26 mar. - 1 abr. 2018
Nº 9
2 - 8 abr. 2018
2.02.0 6.0 Módulo 3: procesadores gráficos programables 
Nº 10
9 - 15 abr. 2018
2.02.0 6.0 Continuación de módulo 3 
Nº 11
16 - 22 abr. 2018
2.02.0 6.0 Continuación de módulo 3 
Nº 12
23 - 29 abr. 2018
2.02.0 6.0 Continuación de módulo 3 
Nº 13
30 abr. - 6 may. 2018
2.02.0 6.0 Continuación de módulo 3 
Nº 14
7 - 13 may. 2018
2.02.0 6.0 Continuación de módulo 3 
Nº 15
14 - 20 may. 2018
2.02.0 8.0 Continuación de módulo 3 
Total Horas 30.0 30.0 90.0