Interfaces de Computadores

Usted está aquí

Créditos
6
Tipos
Obligatoria
Requisitos
  • Prerrequisito: EC
  • Prerrequisito: F
  • Prerrequisito: IC
Departamento
ESAII
La asignatura trata en profundidad el sistema de Entrada / Salida del computador

Profesorado

Responsable

  • Antonio Camacho Santiago ( )

Otros

  • Aleix Boixader Coma ( )
  • Carlos Morata Núñez ( )
  • Enric X. Martin Rull ( )
  • Fabio Francisco Banchelli Gracia ( )
  • Iván Del Pino Bastida ( )
  • Josep Fernàndez Ruzafa ( )
  • Kilian Peiro Conde ( )
  • Manel Frigola Bourlon ( )
  • Manuel Vinagre Ruiz ( )
  • Toni Benedico Blanes ( )

Horas semanales

Teoría
2
Problemas
0
Laboratorio
2
Aprendizaje dirigido
0.4
Aprendizaje autónomo
5.6

Competencias

Competencias Técnicas

Competencias técnicas comunes

  • CT2 - Utilizar de forma apropiada teorías, procedimientos y herramientas en el desarrollo profesional de la ingeniería informática en todos sus ámbitos (especificación, diseño, implementación, despliegue -implantación- y evaluación de productos) de manera que se demuestre la comprensión de los compromisos adoptados en las decisiones de diseño.
    • CT2.3 - Diseñar, desarrollar, seleccionar y evaluar aplicaciones, sistemas y servicios informáticos, y al mismo tiempo asegurar su fiabilidad, su seguridad y su calidad, conforme a principios éticos y a la legislación y la normativa vigente.
    • CT2.5 - Diseñar y evaluar interfaces persona-computador que garanticen la accesibilidad y la usabilidad a los sistemas, a los servicios y a las aplicaciones informáticas.
  • CT4 - Demostrar conocimiento y capacidad de aplicación de los procedimientos algorítmicos básicos de las tecnologías informáticas para diseñar soluciones a problemas, analizando la idoneidad y la complejidad de los algoritmos
    • CT4.1 - Identificar las soluciones algorítmicas más adecuadas para resolver problemas de dificultad mediana.
  • CT5 - Analizar, diseñar, construir y mantener aplicaciones de forma robusta, segura y eficiente, escogiendo el paradigma y los lenguajes de programación más adecuados.
    • CT5.2 - Conocer, diseñar y utilizar de forma eficiente los tipos y las estructuras de datos más adecuados para la resolución de un problema.
    • CT5.3 - Diseñar, escribir, probar, depurar, documentar y mantener código en un lenguaje de alto nivel para resolver problemas de programación aplicando esquemas algorítmicos y usando estructuras de datos.
    • CT5.6 - Demostrar conocimiento y capacidad de aplicación de los principios fundamentales y de las técnicas básicas de la programación paralela, concurrente, distribuida y de tiempo real.
  • CT6 - Demostrar conocimiento y comprensión del funcionamiento interno de un computador y del funcionamiento de las comunicaciones entre ordenadores.
    • CT6.2 - Demostrar conocimiento, comprensión y capacidad de evaluar la estructura y la arquitectura de los computadores, así como los componentes básicos que los conforman.
  • CT7 - Evaluar y seleccionar plataformas de producción hardware y software para la ejecución de aplicaciones y de servicios informáticos.
    • CT7.1 - Demostrar conocimiento de las métricas de calidad y saber utilizarlas.
    • CT7.2 - Evaluar sistemas hardware/software en función de un criterio de calidad determinado.
    • CT7.3 - Determinar los factores que inciden negativamente en la seguridad y la fiabilidad de un sistema hardware/software, y minimizar sus efectos.
  • CT8 - Planificar, concebir, desplegar y dirigir proyectos, servicios y sistemas informáticos en todos los ámbitos, liderando su puesta en marcha, su mejora continua y valorando su impacto económico y social
    • CT8.1 - Identificar tecnologías actuales y emergentes y evaluar si son aplicables, y en qué medida, para satisfacer las necesidades de los usuarios.
    • CT8.4 - Elaborar el pliego de condiciones técnicas de una instalación informática que cumpla los estándares y la normativa vigente.

Competencias Transversales

Lengua extranjera

  • G3 [Avaluable] - Conocer el idioma inglés con un nivel adecuado de forma oral y por escrito, y con consonancia con las necesidades que tendrán los graduados y graduadas en ingeniería informática. Capacidad de trabajar en un grupo multidisciplinar y en un entorno multilingüe, y de comunicar, tanto por escrito como de forma oral, conocimientos, procedimientos, resultados e ideas relacionadas con la profesión de ingeniero técnico en informática.
    • G3.1 - Comprender y utilizar eficazmente manuales, especificaciones de productos y otra información de carácter técnico escrita en inglés.

Objetivos

  1. Explicar las diferentes funcionalidades de una interfaz de E / S y definir los parámetros principales.
    Competencias relacionadas: CT6.2, CT2.5,
  2. Detallar el esquema bloques de los diferentes subsistemas de entrada / salida.
    Competencias relacionadas: CT6.2, CT2.5,
    Subcompetences:
    • Detallar el esquema bloques de los puertos de E / S de un microcomputador
    • Detallar el esquema bloques de los timers de un microcomputador
    • Detallar el esquema bloques del conversor A / D de un microcomputador
    • Detallar el esquema bloques del controlador de interrupciones de un microcomputador
  3. Dadas las especificaciones de un microcomputador concreto, programar los diferentes subsistmes para intercambiar datos con el exterior. Programar y realizar el mantenimiento de programas que implementen entradas y salidas usando interfaces digitales, analógicas, impulsionales, paralelo, serie, síncronas o asíncronas.
    Competencias relacionadas: G3.1, CT6.2, CT2.5, CT4.1, CT5.2, CT5.3, CT5.6,
  4. Dado los diferentes esquemas bloques de la arquitectura de un microcomputador, identificar los diferentes componentes y señales y determinar su utilidad. Identificar los caminos que siguen datos e instrucciones y determinar el valor de los diferentes registros implicados en cada fase de ejecución de una instrucción determinada.
    Competencias relacionadas: CT6.2,
  5. Dado el esquema electrónico de un circuito sencillo conectado a un pin de un microcomputador determinado, cuantificar los diferentes parámetros tecnológicos (Intensidades, tensiones, resistencias, ruidos, máximos ...), identificar las posibles fuentes de error y dimensionar los diferentes componentes.
    Competencias relacionadas: CT7.1, CT7.2, CT7.3, CT6.2, CT2.5, CT2.3,
  6. Cuantificar la resolución de una operación de E / S. Calcular el error de cuantificación y muestreo.
    Competencias relacionadas: CT7.1, CT7.2, CT2.5,
  7. Dado el esquema de la interconexión de un dispositivo a un microcomputador, programar operaciones de entradas y salidas multiplexadas. Calcular las frecuencias de muestreo.
    Competencias relacionadas: CT7.1, CT6.2, CT2.5, CT5.3, CT5.6,
  8. Describir el proceso de tratamiento de una interrupción, desde la petición hasta el final del servicio. Dado un programa y las especificaciones del microcomputador, calcular el tiempo de servicio de una de interrupción, el tiempo de latencia, y determinar en qué orden se servirán las diferentes peticiones.
    Competencias relacionadas: G3.1, CT7.1, CT6.2,
  9. Dadas las especificaciones del microcomputador y las de todas las posibles fuentes de interrupción, programar rutinas de servicio a las diferentes interrupciones garantizando el tiempo de servicio esperado, programar el salvamento y la restauración del contexto e identificar las regiones críticas.
    Competencias relacionadas: G3.1, CT6.2, CT4.1, CT5.3, CT5.6, CT2.3,
  10. Explicar las características de los diferentes tipos de memoria, y escoger el tipo idóneo para una necesidad determinada. Cuantificar la anchura y capacidad de las diferentes memorias, así como la anchura de los buses que acceden.
    Competencias relacionadas: CT8.1, CT7.1, CT7.2, CT7.3, CT6.2, CT2.3,
  11. Dimensionar el número de bits de un timer, así como la frecuencia de trabajo. Generar una señal de una cierta frecuencia y un duty cycle determinado. Generar retrasos de la duración deseada. Medir con precisión el período o frecuencia de una señal de entrada, el momento en que se produce un evento impulsional, y el lapso entre dos eventos.
    Competencias relacionadas: CT7.1, CT6.2, CT2.5,
  12. Definir y explicar los diferentes parámetros, funcionalidades y posibles errores de una comunicación serie. Explicar las diferencias de los diferentes estándares de comunicación serie (UART, SPI, I2C, OneWire, CAN ...)
    Competencias relacionadas: CT8.1, CT6.2, CT8.4, CT2.5,
  13. Detallar las principales prestaciones del bus USB y las funciones de los hub.
    Competencias relacionadas: CT8.1, CT6.2, CT8.4, CT2.5,
  14. Detallar los tipos y formatos de los paquetes en USB, el protocolo de transacción de un paquete en presencia o no de errores, los diferentes tipos de endpoints y sus prestaciones en cuanto a velocidad, ocupación del bus, garantía del ancho de banda y control de errores.
    Competencias relacionadas: CT7.1, CT7.3, CT6.2, CT2.5,
  15. Ubicar un periférico en la jerarquía de buses de la arquitectura del computador.
    Competencias relacionadas: CT8.1, CT6.2, CT2.5,
  16. Calcular el tiempo mínimo esperable en una transferencia entre memoria y dispositivo o entre dispositivos. Dibujar el camino de datos en diferentes tipos de transferencias. Localizar cuellos de botella en transferencias múltiples entre dispositivos.
    Competencias relacionadas: CT7.1, CT7.2, CT7.3, CT6.2, CT2.3,
  17. Cuantificar el throughput de los buses a diferentes niveles (bus interno, bus local, bus de sistema, bus de expansión, buses de periféricos). Explicar las funcionalidades de un Bridge entre buses.
    Competencias relacionadas: CT8.1, CT7.1, CT7.2, CT7.3, CT6.2,
  18. Detallar el esquema básico de interconexión de un dispositivo de E / S con transferencia vía DMA. Relacionar los modos de funcionamiento de los DMA con el funcionamiento de los diferentes buses en la jerarquía de la estructura del computador. Comparar el tiempo de transferencia en un bus con o sin DMA.
    Competencias relacionadas: CT7.1, CT7.2, CT6.2, CT2.5,
  19. Interpretar correctamente las descripciones técnicas, los diagramas de bloques, diagramas electrónicos y cronogramas de los manuales de referencia. Saber generar la documentación necesaria para transferir el conocimiento y las ideas (diagramas de bloques, esquemas electrónicos, diagramas de flujo, diagramas de estado, lista de partes ...).
    Competencias relacionadas: G3.1, CT5.3,
  20. Adquirir los conocimientos básicos de hardware para instalar, mantener, identificar, manipular y interconectar sistemas. Aplicar las diferentes técnicas de conexión física de dispositivos a los pinos del microcomputador.
    Competencias relacionadas: CT7.3, CT6.2, CT2.5, CT2.3,
  21. Resolver el compromiso hardware / software en la implementación de una determinada función de E / S. Saber programar con limitación de recursos.
    Competencias relacionadas: CT7.2, CT7.3, CT2.5, CT4.1, CT5.2, CT5.3, CT5.6,
  22. Resolver los requerimientos temporales y de estabilidad de un sistema de E / S.
    Competencias relacionadas: CT7.2, CT7.3, CT2.5, CT5.6, CT2.3,
  23. Dominar el uso de las principales herramientas para el análisis de circuitos (simulador, emulador, analizador lógico, debugador y ROM monitores), y saber identificar sus limitaciones.
    Competencias relacionadas: CT8.1, G3.1, CT7.1, CT7.2, CT7.3, CT5.3,

Contenidos

  1. Introducción
    Definición de interfaz. Tipo de interfaz. Niveles de interfaces. Mecanismos típicos de una interfaz. Ejemplos de interfaces.
  2. Arquitectura del microcomputador
    Los microcomputadores. Familias. Esquema de bloques de un micontrolador concreto, prestaciones y funcionalidad. Etapas de un ciclo de instrucción. El pipe-line de ejecución de instrucciones La unidad aritmética y lógica (ALU). El camino de datos (el data path). Registros especiales. Memoria. Formato de instrucción. Modos de direccionamiento. Estructura del ensamblador. (Juego de instrucciones, directivas, ejemplos de uso)
  3. Puertos de entrada y salida
    Estructura de un puerto de E / S. * Registros de datos de control y status * funcionamiento de los pinos bidireccionales * conexión al bus. La salida 3-state. El estado Z. Consideraciones tecnológicas. Conexiones a cargas externas. Conexiones a dispositivos de entrada. Multiplexación de señales
  4. Interrupciones
    Mecanismos de sincronización: polling, interrupciones. Parámetros: latencia, prioridad, throughput, tiempo de servicio. Fuentes de interrupción. Jerarquía. Enmascaramiento. Prioridades. Daisy chain. Secuencia de una interrupción. Vectores de interrupciones. Rutinas de servicio. Guía de programación. Salvar y restaurar el contexto. Controladores de interrupciones
  5. Entradas y salidas impulsionales
    Esquema de un controlador de tiempo programable Principales modos de trabajo de los controladores de tiempo. Utilización de los controladores de tiempo por conteo de eventos asíncronos Generación de salidas impulsionales mediante ITs. Generación de señales moduladas en ancho de pulso (PWM) mediante ITs.
  6. Interfaces analógicas
    Aspectos temporales y frecuenciales de las señales analógicas. Teorema del muestreo de Shannon-Nyquist. Conversores analógico a digital. Conversores digital a analógico. Ejemplos de aplicación.
  7. Interfaces de comunicación serie
    Tipo de interfaces de comunicación y características. Interfaz serie asíncrona. Un ejemplo real (RS-232). Interfaz serie síncrona. Un ejemplo real (SPI). Bus para dispositivos periféricos (USB)
  8. Buses y DMA
    Conceptos de anchura, frecuencia, transferencia. Ancho del bus, frecuencia del bus, velocidad de transferencia. Jerarquía de buses. Reordenación de los buses, el bus PCIe. Conceptos de compartición y direccionamiento en bus. Los controladores de Bus Concepto de Bridge Cambio de espacio de direccionamiento, de anchura y de frecuencia, buffering. Los controladores de periféricos en bus. Aceleración de transferencias en Bus. DMA Niveles de DMA Funcionamiento de DMA. Modos Clásicos de funcionamiento. Cálculos de transferencias con DMA.

Actividades

Actividad Acto evaluativo


Desarrollo del tema 1 de la asignatura


Objetivos: 1 2 19
Contenidos:
Teoría
2h
Problemas
0h
Laboratorio
0h
Aprendizaje dirigido
0h
Aprendizaje autónomo
0h

Desarrollo del tema 2 de la asignatura


Objetivos: 1 2 3 4 6 10 16 19
Contenidos:
Teoría
4h
Problemas
0h
Laboratorio
0h
Aprendizaje dirigido
0h
Aprendizaje autónomo
6h

Desarrollo del tema 3 de la asignatura


Objetivos: 1 2 3 4 5 7 19 20 22
Contenidos:
Teoría
4h
Problemas
0h
Laboratorio
0h
Aprendizaje dirigido
0h
Aprendizaje autónomo
6h

Desarrollo del tema 4 de la asignatura


Objetivos: 4 8 9 22
Contenidos:
Teoría
2h
Problemas
0h
Laboratorio
0h
Aprendizaje dirigido
0h
Aprendizaje autónomo
3h

Desarrollo del tema 5 de la asignatura


Objetivos: 1 2 3 4 6 11 19 22
Contenidos:
Teoría
2h
Problemas
0h
Laboratorio
0h
Aprendizaje dirigido
0h
Aprendizaje autónomo
3h

Desarrollo del tema 6 de la asignatura


Objetivos: 1 2 3 4 6 7 19
Contenidos:
Teoría
2h
Problemas
0h
Laboratorio
0h
Aprendizaje dirigido
0h
Aprendizaje autónomo
3h

Desarrollo del tema 7 de la asignatura


Objetivos: 1 2 3 4 12 13 14 19 20
Contenidos:
Teoría
6h
Problemas
0h
Laboratorio
0h
Aprendizaje dirigido
0h
Aprendizaje autónomo
6h

Desarrollo del tema 8 de la asignatura


Objetivos: 1 2 15 16 17 18 19 21 22
Contenidos:
Teoría
5h
Problemas
0h
Laboratorio
0h
Aprendizaje dirigido
0h
Aprendizaje autónomo
6h

Práctica 1


Objetivos: 19 20 23
Contenidos:
Teoría
0h
Problemas
0h
Laboratorio
2h
Aprendizaje dirigido
0h
Aprendizaje autónomo
3h

Práctica 2


Objetivos: 3 4 5 19 20 21 23
Contenidos:
Teoría
0h
Problemas
0h
Laboratorio
2h
Aprendizaje dirigido
0h
Aprendizaje autónomo
3h

Teoría
0h
Problemas
0h
Laboratorio
2h
Aprendizaje dirigido
0h
Aprendizaje autónomo
3h

Teoría
0h
Problemas
0h
Laboratorio
2h
Aprendizaje dirigido
0h
Aprendizaje autónomo
3h

Teoría
0h
Problemas
0h
Laboratorio
2h
Aprendizaje dirigido
0h
Aprendizaje autónomo
3h

Teoría
0h
Problemas
0h
Laboratorio
2h
Aprendizaje dirigido
0h
Aprendizaje autónomo
2h

Teoría
0h
Problemas
0h
Laboratorio
2h
Aprendizaje dirigido
0h
Aprendizaje autónomo
3h

Teoría
0h
Problemas
0h
Laboratorio
2h
Aprendizaje dirigido
0h
Aprendizaje autónomo
2h

Teoría
0h
Problemas
0h
Laboratorio
2h
Aprendizaje dirigido
0h
Aprendizaje autónomo
2h

Teoría
0h
Problemas
0h
Laboratorio
2h
Aprendizaje dirigido
0h
Aprendizaje autónomo
2h

Teoría
0h
Problemas
0h
Laboratorio
2h
Aprendizaje dirigido
0h
Aprendizaje autónomo
3h

Teoría
0h
Problemas
0h
Laboratorio
2h
Aprendizaje dirigido
0h
Aprendizaje autónomo
2h

Teoría
0h
Problemas
0h
Laboratorio
2h
Aprendizaje dirigido
0h
Aprendizaje autónomo
2h

Teoría
0h
Problemas
0h
Laboratorio
4h
Aprendizaje dirigido
0h
Aprendizaje autónomo
2h

Primera prueba parcial


Objetivos: 1 2 3 4 5 6 7 10 19 20 21
Semana: 6 (Fuera de horario lectivo)
Tipo: examen de teoría
Teoría
1.5h
Problemas
0h
Laboratorio
0h
Aprendizaje dirigido
0h
Aprendizaje autónomo
8h

Segunda prueba parcial


Objetivos: 2 3 4 6 7 8 9 11 19 20 21 22
Semana: 12 (Fuera de horario lectivo)
Tipo: examen de teoría
Teoría
1.5h
Problemas
0h
Laboratorio
0h
Aprendizaje dirigido
0h
Aprendizaje autónomo
8h

Examen de prácticas


Objetivos: 3 4 5 6 7 8 9 11 19 20 21 22 23
Semana: 15 (Fuera de horario lectivo)
Tipo: examen de laboratorio
Teoría
0h
Problemas
0h
Laboratorio
0h
Aprendizaje dirigido
0h
Aprendizaje autónomo
0h

Conferencia sostenibilidad

Concienciación de la huella de las tecnologías de la información

Teoría
0h
Problemas
0h
Laboratorio
0h
Aprendizaje dirigido
2h
Aprendizaje autónomo
0h

Tecnologia para Todos TxT

Concienciación de los efectos de la tecnología. Manipulación de ordenadores.

Teoría
0h
Problemas
0h
Laboratorio
0h
Aprendizaje dirigido
2h
Aprendizaje autónomo
0h

Competencia en 3º idioma

Test de competencia en 3ª lengua

Teoría
0h
Problemas
0h
Laboratorio
0h
Aprendizaje dirigido
2h
Aprendizaje autónomo
0h

Metodología docente

No se hará distinción entre clases de teoría y problemas, las clases teóricas se reforzarán con ejemplos mostrando las posibles alternativas y soluciones a los problemas de interfíce. En los diferentes temas se propondrán ejercicios de autoevaluación para que el estudiante pueda ser consciente de su progreso, y pueda solicitar ayuda al profesor en el caso de que detecte alguna carencia. Las sesiones de prácticas se realizarán 'in situ' en el laboratorio docente del departamento en la FIB. Es requistos ineludible haber realizado un trabajo previo que será especificado por cada una de las prácticas

Método de evaluación

* Durante el curso se realizará un mínimo de 2 pruebas escritas correspondientes a diferentes partes del curso. Se realizarán de forma individual. Se obtendrá una nota (NT) a partir de la media de las evaluaciones.

* La nota de laboratorio NL se obtiene a partir del promedio de las evaluaciones individuales de las prácticas . Se realizarán entre 10 y 14 prácticas evaluables durante el curso. Los exámenes parciales contendrán preguntas de laboratorio para ayudar a individualizar las notas y comprobar que todos los miembros del grupo han colaborado efectivamente.

Los alumnos repetidores que tengan las prácticas aprobadas, pueden convalidar las prácticas con NL = 5.

* La nota final de la asignatura se obtiene

NF = 0,65 NT +0,35 NL

* Es condición necesaria para superar la asignatura realizar y presentar correctamente las prácticas de laboratorio.

Bibliografía

Básica:

Capacidades previas

Programación en lenguaje de alto nivel (preferiblemente C). Programación en algún lenguaje ensamblador. Conocimiento del funcionamiento de los diferentes componentes electrónicos: R, L, C, diodos, transistores MOS. Análisis de circuitos electrónicos en DC. Cálculo de tensiones, corrientes y consumos. Saber representar números en base binaria y hexadecimal, y realizar operaciones aritmético-lógicas. Conocer el funcionamiento de las diferentes puertas lógicas y bloques combinacionales o secuenciales. Saber analizar y sintetizar circuitos lógicos. Conocer el funcionamiento y estructura del procesador. Conocer la arquitectura y funcionamiento de un computador sencillo. Conocer el funcionamiento y jerarquía de la memoria de un computador. Entender correctamente documentación escrita en inglés.