L'assignatura tracta en profunditat el sistema d'Entrada/Sortida del computador
Professorat
Responsable
Antonio Camacho Santiago (
)
Altres
Aleix Boixader Coma (
)
Carlos Morata Núñez (
)
Enric X. Martin Rull (
)
Fabio Francisco Banchelli Gracia (
)
Iván Del Pino Bastida (
)
Joan Climent Vilaró (
)
Josep Fernàndez Ruzafa (
)
Kilian Peiro Conde (
)
Manel Frigola Bourlon (
)
Manuel Vinagre Ruiz (
)
Toni Benedico Blanes (
)
Hores setmanals
Teoria
2
Problemes
0
Laboratori
2
Aprenentatge dirigit
0.4
Aprenentatge autònom
5.6
Competències
Competències Tècniques
Competències tècniques comunes
CT2 - Utilitzar d'una manera apropiada teories, procediments i eines en el desenvolupament professional de l'enginyeria informàtica en tots els seus àmbits (especificació, disseny, implementació, desplegament -implantació- i avaluació de productes) de manera que es demostri la comprensió dels compromisos adoptats a les decisions de disseny.
CT2.3
- Dissenyar, desenvolupar, seleccionar i avaluar aplicacions, sistemes i serveis informàtics i, al mateix temps, assegurar-ne la fiabilitat, la seguretat i la qualitat en funció de principis ètics i de la legislació i la normativa vigents.
CT2.5
- Dissenyar i avaluar interfícies persona-computador que garanteixin l'accessibilitat i la usabilitat als sistemes, als serveis i a les aplicacions informàtiques.
CT4 - Demostrar coneixement i capacitat d'aplicació dels procediments algorísmics bàsics de les tecnologies informàtiques per a dissenyar solucions a problemes, analitzant la idoneïtat i la complexitat dels algorismes
CT4.1
- Identificar les solucions algorísmiques més adequades per a resoldre problemes de dificultat mitjana.
CT5 - Analitzar, dissenyar, construir i mantenir aplicacions de forma robusta, segura i eficient, triant el paradigma i els llenguatges de programació més adequats.
CT5.2
- Conèixer, dissenyar i utilitzar de forma eficient els tipus i les estructures de dades més adients per a la resolució d'un problema.
CT5.3
- Dissenyar, escriure, provar, depurar, documentar i mantenir codi en un llenguatge d'alt nivell per a resoldre problemes de programació aplicant esquemes algorísmics i utilitzant estructures de dades.
CT5.6
- Demostrar coneixement i capacitat d'aplicació dels principis fonamentals i de les tècniques bàsiques de la programació paral·lela, concurrent, distribuïda i en temps real.
CT6 - Demostrar coneixement i comprensió del funcionament intern d'un computador i del funcionament de les comunicacions entre ordinadors.
CT6.2
- Demostrar coneixement, comprensió i capacitat d'avaluar l'estructura i l'arquitectura dels computadors, i els components bàsics que els componen.
CT7 - Avaluar i seleccionar plataformes de producció hardware i software per a l'execució d'aplicacions i de serveis informàtics.
CT7.1
- Demostrar coneixement de les mètriques de qualitat i saber-les utilitzar.
CT7.2
- Avaluar sistemes hardware/software en funció d'un criteri de qualitat determinat.
CT7.3
- Determinar els factors que incideixen negativament en la seguretat i la fiabilitat d'un sistema hardware/software, i minimitzar-ne els efectes.
CT8 - Planificar, concebre, desplegar i dirigir projectes, serveis i sistemes informàtics en tots els àmbits, liderar-ne la posada en marxa, la millora contínua i valorar-ne l'impacte econòmic i social.
CT8.1
- Identificar tecnologies actuals i emergents i avaluar si són aplicables, i en quina mesura, per a satisfer les necessitats dels usuaris.
CT8.4
- Elaborar el plec de condicions tècniques d'una instal·lació informàtica que compleixi els estàndards i la normativa vigent.
Competències Transversals
Tercera llengua
G3 [Avaluable] - Conèixer l'idioma anglès amb un nivell adequat de forma oral i escrita, i en consonància amb les necessitats que tindran els graduats i les graduades en Enginyeria Informàtica. Capacitat de treballar en un grup multidisciplinar i en un entorn multilingüe i de comunicar, tant per escrit com de forma oral, coneixements, procediments, resultats i idees relacionats amb la professió d'enginyer tècnic en informàtica.
G3.1
- Comprendre i utilitzar eficaçment manuals, especificacions de productes i altra informació de caràcter tècnic escrita en anglès.
Objectius
Explicar les diferents funcionalitats d'una interfície d'E/S i definir-ne els paràmetres principals.
Competències relacionades:
CT6.2,
CT2.5,
Detallar l'esquema blocs dels diferents subsistemes d'entrada/sortida.
Competències relacionades:
CT6.2,
CT2.5,
Subcompetences:
Detallar l'esquema blocs dels ports d'E/S d'un microcomputador
Detallar l'esquema blocs dels timers d'un microcomputador
Detallar l'esquema blocs del conversor A/D d'un microcomputador
Detallar l'esquema blocs del controlador d'interrupcions d'un microcomputador
Donades les especificacions d'un microcomputador concret, programar els diferents subsistmes per a intercanviar dades amb l'exterior. Programar i fer el manteniment de programes que implementin entrades i sortides usant interfícies digitals, analògiques, impulsionals, paral.lel, sèrie, síncrones o asíncrones.
Competències relacionades:
G3.1,
CT6.2,
CT2.5,
CT4.1,
CT5.2,
CT5.3,
CT5.6,
Donat els diferents esquemes blocs de l'arquitectura d'un microcomputador, identificar-ne els diferents components i senyals i determinar la seva utilitat. Identificar els camins que segueixen dades i instruccions i determinar el valor dels diferents registres implicats en cada fase d'execució d'una instrucció determinada.
Competències relacionades:
CT6.2,
Donat l'esquema electrònic d'un circuit senzill connectat a un pin d'un microcomputador determinat, quantificar els diferents paràmetres tecnològics (Intensitats, tensions, resistències, sorolls,màxims...) , identificar les possible fonts d'error i dimensionar els diferents components.
Competències relacionades:
CT7.1,
CT7.2,
CT7.3,
CT6.2,
CT2.5,
CT2.3,
Quantificar la resolució d'una operació d'E/S. Calcular l'error de quantificació i mostreig.
Competències relacionades:
CT7.1,
CT7.2,
CT2.5,
Donat l'esquema de la interconnexió d'un dispositiu a un microcomputador, programar operacions d'entrades i sortides multiplexades. Calcular les frequencies de mostreig.
Competències relacionades:
CT7.1,
CT6.2,
CT2.5,
CT5.3,
CT5.6,
Descriure el procés de tractament d'una interrupció, des de la petició fins al final del servei. Donat un programa i les especificacions del microcomputador, calcular el temps de servei d'una d'interrupció,el temps de latència, i determinar en quin ordre es serviran les diferents peticions.
Competències relacionades:
G3.1,
CT7.1,
CT6.2,
Donades les especificacions del microcomputador i les de totes les possibles fonts d'interrupció, programar rutines de servei a les diferents interrupcions garantint el temps de servei esperat, programar el salvament i la restauració del context i identificar-ne les regions crítiques.
Competències relacionades:
G3.1,
CT6.2,
CT4.1,
CT5.3,
CT5.6,
CT2.3,
Explicar les característiques dels diferents tipus de memòria, i escollir el tipus idoni per a una necessitat determinada. Quantificar l'amplada i capacitat de les diferents memòries, així com l'amplada dels busos que hi accedeixen.
Competències relacionades:
CT8.1,
CT7.1,
CT7.2,
CT7.3,
CT6.2,
CT2.3,
Dimensionar el nombre de bits d'un timer, així com la freqüència de treball. Generar un senyal d'una certa freqüència i un duty cycle determinat. Generar retards de la durada desitjada. Mesurar amb precisió el període o freqüència d'un senyal d'entrada, el moment en que es produeix un event impulsional, i el lapse entre dos events.
Competències relacionades:
CT7.1,
CT6.2,
CT2.5,
Definir i explicar els diferents paràmetres, funcionalitats i possibles errors d'una comunicació sèrie. Explicar les diferències dels diferents estandars de comunicació sèrie (UART, SPI, I2C, OneWire, CAN...)
Competències relacionades:
CT8.1,
CT6.2,
CT8.4,
CT2.5,
Detallar les principals prestacions del bus USB i les funcions dels hub.
Competències relacionades:
CT8.1,
CT6.2,
CT8.4,
CT2.5,
Detallar els tipus i formats dels paquets en USB, el protocol de transacció d'un paquet en presencia o no d'errors, els diferents tipus d'endpoints i les seves prestacions en quant a velocitat, ocupació del bus, garantia de l'ample de banda i control d'errors.
Competències relacionades:
CT7.1,
CT7.3,
CT6.2,
CT2.5,
Ubicar un perifèric en la jerarquia de busos de l'arquitectura del computador.
Competències relacionades:
CT8.1,
CT6.2,
CT2.5,
Calcular el temps mínim esperable en una transferència entre memòria i dispositiu o entre dispositius. Dibuixar el camí de dades en diferents tipus de transferències. Localitzar colls d'ampolla en transferències múltiples entre dispositius.
Competències relacionades:
CT7.1,
CT7.2,
CT7.3,
CT6.2,
CT2.3,
Quantificar el throughput dels busos a diferents nivells (bus intern, bus local, bus del sistema, bus de expansió, busos de perifèrics).Explicar les funcionalitats d'un Bridge entre busos.
Competències relacionades:
CT8.1,
CT7.1,
CT7.2,
CT7.3,
CT6.2,
Detallar l'esquema bàsic d'interconnexió d'un dispositiu d'E/S amb transferència via DMA. Relacionar els modes de funcionament dels DMA amb el funcionament dels diferents busos en la jerarquia de l'estructura del computador. Comparar el temps de transferència en un bus amb o sense DMA.
Competències relacionades:
CT7.1,
CT7.2,
CT6.2,
CT2.5,
Interpretar correctament les descripcions tècniques, els diagrames de blocs, diagrames electrònics i cronogrames dels manuals de referència. Saber generar la documentació necessària per a transferir el coneixement i les idees (diagrames de blocs, esquemes electrònics, diagrames de flux, diagrames d'estat, llista de parts...).
Competències relacionades:
G3.1,
CT5.3,
Adquirir els coneixements bàsics de hardware per a instal.lar, mantenir, identificar, manipular i interconnectar sistemes. Aplicar les diferents tècniques de connexió física de dispositius als pins del microcomputador.
Resoldre els requeriments temporals i d'estabilitat d'un sistema d'E/S.
Competències relacionades:
CT7.2,
CT7.3,
CT2.5,
CT5.6,
CT2.3,
Dominar l'us de les principal eines per a l'anàlisi de circuits ( simulador, emulador, analitzador lògic, debugador y ROM monitors), i saber identificar-ne les seves limitacions.
Competències relacionades:
CT8.1,
G3.1,
CT7.1,
CT7.2,
CT7.3,
CT5.3,
Continguts
Introducció
Definició d'interfície.
Tipus d'interfície.
Nivells d'interfícies.
Mecanismes típics d'una interfície.
Exemples d'interfícies.
Arquitectura del microcomputador
Els microcomputadors. Famílies.
Esquema de blocs d'un micontrolador concret , prestacions i funcionalitat.
Etapes d'un cicle d'instrucció. El pipe-line d'execució d'instruccions
La unitat aritmètica i lògica (ALU). El camí de dades (el data path).
Registres especials. Memòria.
Format d'instrucció.
Modes d'adreçament.
Estructura de l'ensamblador. ( Joc d'instruccions, directives, exemples d'us)
Ports d'entrada/sortida
Estructura d'un port d'E/S.
* registres de dades de control i status
* funcionament dels pins bidireccionals
* connexió al bus. La sortida 3-state. L'estat Z.
Consideracions tecnològiques.
Connexions a càrregues externes.
Connexions a dispositius d'entrada.
Multiplexació de senyals
Interrupcions
Mecanismes de sincronització: polling, interrupcions.
Paràmetres: latència, prioritat, throughput, temps de servei.
Fonts d'interrupció. Jerarquia. Emmascarament. Prioritats. Daisy chain.
Seqüència d'una interrupció.
Vectors d'interrupcions.
Rutines de servei. Guia de programació. Salvar i restaurar el context.
Controladors d'interrupcions
Entrades i sortides impulsionals
Esquema d'un controlador de temps programable
Principals modes de treball dels controladors de temps.
Utilització dels controladors de temps pel comptatge d'events asíncrons
Generació de sortides impulsionals mitjançant ITs.
Generació de senyals modulades en amplada de pols (PWM) mitjançant ITs.
Interfícies analògiques
Aspectes temporals i freqüencials dels senyals analògics. Teorema del mostreig de Shannon-Nyquist.
Conversors analògic a digital.
Conversors digital a analògic.
Exemples d'aplicació.
Interfícies de comunicació sèrie
Tipus de interfíces de comunicació i característiques.
Interfície serie asíncrona. Un exemple real (RS-232).
Interfície serie síncrona. Un exemple real (SPI).
Bus per a dispositius perifèrics (USB)
Busos i DMA
Conceptes d'amplada, freqüència, transferència. Ample del bus, freqüència del bus, velocitat de transferència.
Jerarquia de busos.
Reordenació dels busos, el bus PCIe. Conceptes de compartició i adreçament en bus.
Els controladors de Bus
Concepte de Bridge
Canvi d'espai d'adreçament, d'amplada i de freqüència, buffering.
Els controladors de perifèrics en bus.
Acceleració de transferències en Bus. DMA
Nivells de DMA
Funcionament de DMA. Modes Clàssics de funcionament.
Càlculs de transferències amb DMA.
Concienciació de l'emprempta de les tecnologies de la informació
Teoria
0h
Problemes
0h
Laboratori
0h
Aprenentatge dirigit
2h
Aprenentatge autònom
0h
Tecnologia per Tothom TxT
Conscienciació dels efectes de la tecnologia.
Manipulació d'ordinadors.
Teoria
0h
Problemes
0h
Laboratori
0h
Aprenentatge dirigit
2h
Aprenentatge autònom
0h
Competència en 3º llengua
Test de competència en 3ª llengua
Teoria
0h
Problemes
0h
Laboratori
0h
Aprenentatge dirigit
2h
Aprenentatge autònom
0h
Metodologia docent
No es farà distinció entre classes de teoria i problemes, les classes teòriques es reforçaran amb exemples mostrant les possibles alternatives i solucions als problemes d'interfíce.
En els diferents temes es proposaran exercicis d'autoavaluació per a que l'estudiant pugui ser conscient del seu progrés, i pugui solicitar ajuda al professor en el cas de que detecti alguna carència.
Les sessions de pràctiques es realitzaran 'in situ' al laboratori docent del departament a la FIB. És requistit ineludible haver realitzat un treball previ que serà especificat per cada una de les pràctiques
Mètode d'avaluació
* Durant el curs es realitzarà un mínim de 2 proves escrites corresponents a diferents parts del curs. Aquestes proves inclouran conceptes treballats a classe de laboratori. Es realitzaran de forma individual. S'obtindrà una nota (NT) a partir de la mitjana de les avaluacions.
* La nota de laboratori NL s'obté a partir de la mitjana de les avaluacions de les pràctiques. Es realitzaran entre 10 i 14 pràctiques avaluables durant el curs. En els examens parcials hi haurà preguntes específiques sobre les pràctiques que ajudaran a individualitzar la nota i comprovar que tots els membres dels grups de treball hi han col·laborat efectivament.
Els alumnes repetidors que tinguin les pràctiques aprovades, poden convalidar les pràctiques amb NL=5.
* La nota final de l'assignatura s'obté :
NF=0,65NT+0,35NL
* És condició necessària per superar l'assignatura realitzar i presentar correctament les pràctiques de laboratori.
Programació en llenguatge d'alt nivell (preferiblement C).
Programació en algun llenguatge ensamblador.
Coneixement del funcionament dels diferents components electrònics: R, L, C, diodes, transistors MOS.
Anàlisi de circuits electrònics en DC. Càlcul de tensions, corrents i consums.
Saber representar números en base binària i hexadecimal, i realitzar-ne operacions aritmètico-lògiques.
Conèixer el funcionament de les diferents portes lògiques i blocs combinacionals o sequencials.
Saber analitzar i sintetitzar circuits lògics.
Conèixer el funcionament i estructura del processador.
Conèixer l'arquitectura i funcionament d'un computador senzill.
Conèixer el funcionament i jerarquia de la memòria d'un computador.
Entendre correctament documentació escrita en anglès.