Menú local
Guía docente 2018-19 - 13313012 - Programación hardware
TITULACIÓN: | Grado en Ingeniería informática |
CENTRO: | ESCUELA POLITÉCNICA SUPERIOR (JAÉN) |
CURSO: | 2018-19 |
ASIGNATURA: | Programación hardware |
NOMBRE: Programación hardware | |||||
CÓDIGO: 13313012 | CURSO ACADÉMICO: 2018-19 | ||||
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 |
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 - 219 | E-MAIL: fcharte@ujaen.es | TLF: 953213016 |
TUTORÍAS: https://uvirtual.ujaen.es/pub/es/informacionacademica/tutorias/p/73570 | ||
URL WEB: https://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 |
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.
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.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. |
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: Programación hardware
- Controladores de dispositivo
- Tipos de drivers
- Estructura de drivers en GNU/Linux y Windows
- Programación de E/S y buses
- E/S mapeada y no mapeada
- Interrupciones, DMA
- Servicios BIOS y UEFI
Módulo 2: Hardware reconfigurable
- Introducción al hardware reconfigurable
- Dispositivos lógicos 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:
- Desarrollo de controladores de dispositivo
- Uso de interrupciones y servicios BIOS/UEFI
- Simulación y síntesis de circuitos hardware VHDL/Verilog
- Programación de shaders
- Programación en CUDA
- Programación en OpenCL
ACTIVIDADES | HORAS PRESENCIALES | HORAS TRABAJO AUTÓNOMO | TOTAL HORAS | CRÉDITOS ECTS | COMPETENCIAS (códigos) |
---|---|---|---|---|---|
A1 - Clases expositivas en gran grupo
|
30.0 | 45.0 | 75.0 | 3.0 |
|
A2R - Clases en pequeño grupo
|
30.0 | 45.0 | 75.0 | 3.0 | |
TOTALES: | 60.0 | 90.0 | 150.0 | 6.0 |
La asignatura se divide en dos partes fuertemente relacionadas:
teoría y prácticas.
La teoría se impartirá en su mayor parte con
sesiones magistrales, incluyendo varias sesiones de actividades,
resolución de dudas y debate con las que se evaluará
la participación del estudiante en la asignatura.
La parte práctica se realizará en el
laboratoriode informática, utilizando el ordenador para el
desarrollode dichas sesiones. Se evaluará la
resolución de diversos problemas relacionados con la
programación de controladores, E/S, GPU y diseño de
circuitos para su implementación en FPGA.
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% |
Atendiendo a lo recogido en el art. 13 del Reglamento de Régimen Académico y de Evaluación del alumnado de la Universidad de Jaén, la evaluación de la asignatura será global
- Prácticas (70%)
A lo largo del cuatrimestre se completarán varias prácticas en cada uno de los bloques. De su evaluación se obtendrá el 70% de la calificación final en la asignatura.
- Trabajo teórico (25%)
Los conocimientos teóricos se evaluarán a través de la realización y presentación de un trabajo individual en relación a la temática de la asignatura.
- Asistencia y participación (5%)
Se valorará la asistencia a las sesiones de teoría y prácticas, así como la participación activa en clase.
La evaluación del trabajo teórico, prácticas, asistencia y trabajo autónomo inciden en los resultados de aprendizaje de la asignatura (R1 y R5R1) y permite mejorar en el nivel de alcance de las competencias CB2R, CB5R, CC8R y CC9R.
- 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)
- Linux device drivers development : develop customized drivers for embedded Linux. Edición: -. Autor: Madieu, John, author. Editorial: Birmingham, UK : Packt Publishing, 2017 (C. Biblioteca)
- 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)
Semana | A1 - Clases expositivas en gran grupo | A2R - Clases en pequeño grupo | Trabajo autónomo | Observaciones | |
---|---|---|---|---|---|
Nº 1 28 ene. - 3 feb. 2019 |
2.0 | 2.0 | 6.0 | Inicio módulo 1 | |
Nº 2 4 - 10 feb. 2019 |
2.0 | 2.0 | 6.0 | Módulo 1 | |
Nº 3 11 - 17 feb. 2019 |
2.0 | 2.0 | 6.0 | Módulo 1 | |
Nº 4 18 - 24 feb. 2019 |
2.0 | 2.0 | 6.0 | Fin módulo 1 | |
Nº 5 25 feb. - 3 mar. 2019 |
2.0 | 2.0 | 6.0 | Inicio módulo 2 | |
Nº 6 4 - 10 mar. 2019 |
2.0 | 2.0 | 6.0 | Módulo 2 | |
Nº 7 11 - 17 mar. 2019 |
1.0 | 2.0 | 6.0 | Fin módulo 2 | |
Nº 8 18 - 24 mar. 2019 |
2.0 | 2.0 | 6.0 | Inicio módulo 3 | |
Nº 9 25 - 31 mar. 2019 |
2.0 | 2.0 | 6.0 | Módulo 3 | |
Nº 10 1 - 7 abr. 2019 |
2.0 | 2.0 | 6.0 | Módulo 3 | |
Nº 11 8 - 14 abr. 2019 |
2.0 | 2.0 | 6.0 | Módulo 3 | |
Período no docente: 15 - 21 abr. 2019 | |||||
Nº 12 22 - 28 abr. 2019 |
2.0 | 2.0 | 6.0 | Módulo 3 | |
Nº 13 29 abr. - 5 may. 2019 |
2.0 | 2.0 | 6.0 | Fin módulo 3 | |
Nº 14 6 - 12 may. 2019 |
0.0 | 2.0 | 6.0 | Entrega final de trabajos prácticos | |
Nº 15 13 - 17 may. 2019 |
0.0 | 2.0 | 6.0 | Presentación de trabajos | |
Total Horas | 25.0 | 30.0 | 90.0 |