Menú local
Guía docente 2016-17 - 13313012 - Programación hardware
TITULACIÓN: | Grado en Ingeniería informática |
CENTRO: | ESCUELA POLITÉCNICA SUPERIOR (JAÉN) |
CURSO: | 2016-17 |
ASIGNATURA: | Programación hardware |
NOMBRE: Programación hardware | |||||
CÓDIGO: 13313012 | CURSO ACADÉMICO: 2016-17 | ||||
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 - 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 |
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: 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: Cg, HLSL, GLSL
- 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
Módulo 2: Hardware de Computadores.
- Arquitectura de un computador: niveles y componentes
- Microprocesadores
- Memoria caché
- Buses e interfaces de E/S
- Programación a bajo nivel y optimización de
código.
- Lenguaje ensamblador
- Conexión lenguajes de alto y bajo nivel
- Optimización en programación a alto y bajo nivel.
Módulo 3: Programación de Interfaces de E/S.
- Metodologías de diseño de computadores
- Sistemas empotrados y procesadores reconfigurables
- Introducción a la lógica programable
- Co-diseño hardware/software
- Lenguajes de prototipado: VHDL
Módulo 3: Procesadores gráficos y multimedia.
- 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: Cg, HLSL, GLSL
- 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:
- Programación de shaders
- Programación en CUDA
- Optimización de código
- Implementación de proyectos sobre una placa hardware
- Diseño de hardware en lenguaje VHDL
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 |
Ninguna observació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% |
Ninguna observación.
- Organización y arquitectura de computadores: diseño para optimizar prestaciones. Edición: 5ª ed. Autor: Stallings, William. Editorial: Madrid [etc.]: Prentice Hall, 2004 (C. Biblioteca)
- VHDL: de la tecnología a la arquitectura de computadores. Edición: -. Autor: Ruz Ortiz, José Jaime. Editorial: Madrid : Síntesis, 2003 (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 30 ene. - 5 feb. 2017 |
2.0 | 2.0 | 6.0 | Presentación del curso e introducción del módulo 1 | |
Nº 2 6 - 12 feb. 2017 |
2.0 | 2.0 | 6.0 | Módulo 1 | |
Nº 3 13 - 19 feb. 2017 |
2.0 | 2.0 | 6.0 | Módulo 1 | |
Nº 4 20 - 26 feb. 2017 |
2.0 | 2.0 | 6.0 | Módulo 1 | |
Nº 5 27 feb. - 5 mar. 2017 |
2.0 | 2.0 | 6.0 | Módulo 1 | |
Nº 6 6 - 12 mar. 2017 |
2.0 | 2.0 | 6.0 | Módulo 1 | |
Nº 7 13 - 19 mar. 2017 |
2.0 | 2.0 | 6.0 | Módulo 1 | |
Nº 8 20 - 26 mar. 2017 |
2.0 | 2.0 | 6.0 | Módulo 1 e introducción del módulo 2 | |
Nº 9 27 mar. - 2 abr. 2017 |
2.0 | 2.0 | 6.0 | Módulo 2 | |
Nº 10 3 - 9 abr. 2017 |
2.0 | 2.0 | 6.0 | Módulo 2 | |
Nº 11 10 - 16 abr. 2017 |
0.0 | 0.0 | 0.0 | Semana Santa | |
Nº 12 17 - 23 abr. 2017 |
2.0 | 2.0 | 6.0 | Introducción y desarrollo del módulo 3 | |
Nº 13 24 - 30 abr. 2017 |
2.0 | 2.0 | 6.0 | Módulo 3 | |
Nº 14 1 - 7 may. 2017 |
2.0 | 2.0 | 6.0 | Módulo 3 | |
Nº 15 8 - 14 may. 2017 |
2.0 | 2.0 | 6.0 | Módulo 3 | |
Nº 16 15 - 19 may. 2017 |
2.0 | 2.0 | 6.0 | Módulo 3 | |
Total Horas | 30.0 | 30.0 | 90.0 |