Informació general


Tipus d'assignatura: Obligatòria

Coordinador: Joan Triadó Aymerich

Trimestre: Primer trimestre

Crèdits: 4

Professorat: 

Marcos Faúndez Zanuy

Idiomes d'impartició


  • Català

Algunes preguntes dels qüestionaris moodle estan en Català, la resta en castellà

Competències


Competències específiques
  • CE21: Conèixer els fonaments i aplicacions de l'electrònica digital i els microprocessadors.

  • CE24: Capacitar per dissenyar sistemes electrònics analògics, digitals i de potència.

Descripció


Aquesta assignatura és la continuació d’electrònica digital I. Mentre que a electrònica digital I s’expliquen els blocs constituents dels sistemes digitals i s’aprèn a sintetitzar i analitzar circuits que resolguin tasques senzilles, en aquest curs es planteja la construcció d’un processador senzill programable en llenguatge assamblador.

La continuació de l’assignatura d’electrònica digital II és l’assignatura de microprocessadors, on bàsicament es treballarà sobre un micro-controlador ARM cortex M4.

Continguts


 

T1. Introducció

Una breu introducció a la informació digital i la seva representació i als circuits digitals, processadors de propòsit específic i al computador (model de Von Neumann) així com al llenguatge màquina i assamblador i la seva relació amb els llenguatges d'alt nivell (compilació/traducció).

 

T2. Circuits lògics seqüencials

Necessitats de memòria i sincronització. Senyal de rellotge. Definició de circuit seqüencial síncron. El biestable D activat per flanc: definició i implementació amb dos multiplexors, temps de propagació i cronogrames. Regles d'interconnexió per construir circuits seqüencials vàlids. Estructura d'un circuit seqüencial (models de Mealy i de Moore). Taula de transicions i taula de sortides. Grafs d'estat per al model de Moore. Cronogrames simplificats.

Anàlisi lògica: del circuit al graf d'estats. Síntesi: de l'especificació funcional al graf d'estats i d'aquest darrer a l'esquema lògic del circuit amb el mínim nombre de biestables. Anàlisi temporal: camins crítics i temps de cicle mínim

 

T3. Processadors de propòsit específic

Introducció. Disseny de processadors de propòsit específic amb una unitat de procés (que processa paraules de n bits) i una unitat de control (que genera la paraula de control en cada cicle). La unitat de procés es dissenya adhoc mitjançant blocs combinacionals i seqüencials d'n bits. La unitat de control s'especifica mitjançant un graf d'estats de Moore. Exemples amb entrada i sortida de dades síncrona: sumar quatre nombres, calcular el MCD de dos nombres amb l'algorisme d'Euclides, etc. Protocol de comunicació asincrona per a l'entrada i sortida de dades: Handshaking de quatre fases. Exemples amb entrada i sortida asíncrones.

 

T4. Unitat de procés general

Introducció: dels processadors de propòsit específic al processador de propòsit general. Banc de registres amb dos busos de lectura i un d'escriptura. Unitat aritmètic-lògica amb funcionalitat d'operacions lògiques bit a bit, operacions aritmètiques (suma, resta i multiplicacions i divisions per potències de dos per naturals i enters), comparacions (igual i menor i menor o igual per a naturals i enters) i moviment. Estructura de la Unitat de procés general (UPG). Connexionat entre la UPG i la Unitat de control: paraula de control i bit de condició de zero.

Accions a realitzar en un d'aquest problema usant la UPG. Mnemotècnics de les accions (AND, OR, XOR, NOT, ADD, SUB, SHA, SHL, CMPLT, CMPLE, CMPEQ, CMPLTU, CMPLE, MOV, IN, OUT i NOP) i bits de la paraula de control associada. Accions amb valors immediats i accions que no modifiquen cap registre. Disseny de processadors de propòsit específic utilitzant la UPG (especificació de la unitat de control mitjançant un graf d'estats i la paraula de control mitjançant mnemotècnics). Espai d'adreces d'entrada / sortida i accions IN i OUT.

Entrada i sortida de dades asíncrona mitjançant el protocol de handshaking de quatre fases. Exemples de disseny a partir d'un codi en un llenguatge d'alt nivell que especifica la funcionalitat del processador (sumador de quatre números, càlcul del MCD per l'algorisme d'Euclides, etc.).

 

T5. Unitat de control general

Implementació inicial de la unitat de control (com qualsevol altre circuit seqüencial): amb un registre d'estat, una memòria ROM (on en cada paraula s'emmagatzemen els dos possibles estats següents, segons el bit de condició z, i la paraula de control que governarà a la UPG durant un cicle) i un multiplexor de busos per seleccionar l'estat següent segons z. Model de computador Von Neumann i Harvard. Memòria d'instruccions en ROM. Del graf d'estats al programa en llenguatge màquina / assemblador. Estructura definitiva de la unitat de control amb seqüenciament implícit, instruccions de 16 bits i descodificador d'instruccions per obtenir la paraula de control de 50 bits a partir dels 16 bits de la instrucció. Format (instruccions de 1, 2 o 3 registres) i codificació de les instruccions SISA. Tipus d'ús: aritmètic-lògiques i de comparació, de ruptura de seqüència, d'entrada sortida, de moviment (càrrega d'un registre amb una constant) i de suma d'una constant petita. Exemples de passar de grafs (que especifiquen una UC amb objectius específics que juntament amb la UPG executa un algorisme) a fragments de codi en llenguatge assamblador SISA per realitzar la mateixa funció (encara que generalment requereix més cicles).

 

T6. Memòria i entrada sortida

La memòria RAM, model senzill de funcionament (cronogrames de lectura i escriptura, temps d'accés per a una lectura i de set-up i amplada del pols del senyal de permís d'escriptura per a una escriptura). Espai d'adreces de memòria. Connexionat de la memòria de dades al processador. Instruccions de lectura (load, LD) i escriptura (store, ST): semàntica, format en llenguatge màquina i sintaxi en assemblador. Exemples de modificació de l'estat de l'ordinador d'instruccions concretes de load i store. Exemples de petits programes amb accés a memòria.

Subsistema senzill d'entrada / sortida format per un teclat i una impressora amb efecte lateral de posada a zero del registre (port) d'estat en llegir (teclat) o escriure (impressora) el registre de dades. Entrada / sortida amb sincronització per enquesta. Exemples de petits programes amb entrada i sortida de dades.

 

T7. Llenguatge màquina i assamblador

Repàs general del llenguatge màquina i assemblador SISA (25 instruccions) que s'ha definit en els dos temes anteriors. Exercicis sobre: a) acoblar i desacoblar codi SISA, b) com queda modificat l'estat de l'ordinador després d'executar una instrucció o un petit programa ic) escriure petits programes en llenguatge assamblador.

 

T8. Processador unicicle

Completar alguns detalls de la implementació unicicle (SISC Harvard unicycle) del processador que executa programes en llenguatge màquina SISA que ja es va anar creant en els temes 8, 9 i 10: a) petita modificació de l'ALU de la UPG per poder executar les instruccions de moviment immediatament als 8 bits de més pes d'un registre MOVHI, b) un únic bus d'adreces per a l'espai d'entrada i de sortida ic) disseny del descodificador d'instruccions (per obtenir la paraula de control de 46 bits a partir de la instrucció de 16 bits) mitjançant una petita memòria ROM i alguns multiplexors i portes. Contingut de la ROM de l'descodificador d'instruccions.

Restriccions temporals dels senyals de permís d'escriptura en memòria i entrada / sortida de dades. Exemples de modificació del disseny del SISC Harvard unicycle perquè pugui executar, a més de les 25 instruccions originals, alguna altra instrucció nova. Càlcul del camí crític de l'ordinador unicicle i temps de cicle mínim. Temps d'execució de petits programes.

 

T9. Processador multicicle

Justificació de la implementació multicicle (SISC Harvard multicycle) davant de la unicicle (SISC Harvard unicycle). Modificacions en la unitat de control del processador. Disseny de la unitat de control seqüencial: graf d'estats i implementació. Restriccions temporals dels senyals de permís d'escriptura en memòria i entrada / sortida de dades. Exemples de modificació del disseny del SISC Harvard multicycle perquè pugui executar, a més de les 25 instruccions originals, alguna altra instrucció nova. Càlcul del camí crític de l'ordinador multicicle i temps de cicle mínim. Temps d'execució de petits programes.

 

Sistema d'avaluació


Qualificació:

La Nota Final (NF) de l'assignatura s'obté ponderant la Nota de Teoria i problemes (NTP) i la nota de les pràctiques de Laboratori (NL):

NF = 0.8 NTP + 0.2 NL

L'assignatura està planificada de forma que, ens condicions normals, pugui ser aprovada per avaluació contínua. 

Nota de Teoria i Problemes (NTP) per avaluació contínua:

La NTP s'obté a partir de ponderar 3 notes (N1, ..., N3). La nota Nk (per k=1, ..., 3) és la qualificació obtinguda en l'examen Ek (el qual es realitza en el període de classes) sempre i quan l'alumne hagi entregat satisfactòriament un 80% de les entregues sobre els temes/objectius avaluats. En el cas de no arribar al 80%, Nk serà 0.

Les entregues inclouen tant la realització a temps (i a casa) dels exercicis i problemes proposats després de cada sessió de teoria i problemes, com aquells exercicis i problemes realitzats a la pròpia classe.

Els pesos que ponderen cada nota Nk són proporcionals a les hores de treball que l'estudiant dedica a realitzar les activitats planificades per tal d'aconseguir els objectius avaluats, així com de la importància relativa de tals objectius dins de l'assignatura.

NTP = ( N1 + N2 + N3 ) /3

La nota de Laboratori (NL):

La nota NL s'obté fent la mitjana aritmètica de les notes de cadascuna de les 5 pràctiques de laboratori, avaluades en cadascuna de les sessions de laboratori. La nota de cada pràctica de laboratori Li (NLi per i=1...5) es calcula usant la següent fórmula:

NLi = 0.65 x PPi + 0.35 IFi si s'entrega l'informe previ complet a l'inici de la sessió

NLi = 0 si no s'entrega

On:

PPi és la nota de la prova prèvia individual (d'uns 15 minuts de duració), la qual es realitza a l'inici de la sessió i que consisteix en preguntes semblants a la pràctica anterior, informe previ, etc..

IFi és la nota de l'informe final realitzat durant la sessió de laboratori.

Nota Final:

Al finalitzar les classes, després d'uns pocs dies de l'examen E3, l'alumne sabrà si ha aprovat l'assignatura mitjançant l'avaluació contínua de teoria i problemes, i l'avaluació del laboratori (NF>=5). 

Recuperació

Només es poden presentar a l’examen de recuperació aquells estudiants que no hagin aprovat per avaluació contínua i hagin obtingut una nota d'avaluació contínua superior a 2,5/10 a la part de teoria i problemes.
La nota màxima de la recuperació serà 5.

Les activitats de laboratori no són recuperables.

 

Normes de realització de les activitats

Les proves es realitzaran de forma individual.

Les pràctiques es realitzaran per parelles o individualment a criteri del professor. La nota de la pràctica pot ser diferent per a cada membre del grup si el professor ho estima oportú.

És obligatori realitzar totes les activitats de l'assignatura.

Bibliografia


Bàsic

Manual de pràctiques [pdf].

Faúndez-Zanuy, Marcos. Manual de pràctiques [pdf]. Publicació interna Tecnocampus Disponible a e-campus

Transparències de l'assignatura

Faundez-Zanuy, Marcos.Col·lecció de transparències de l'assignatura [pdf]. Publicació Tecnocampus 2022. Disponible a e-campus.

Introducció als computadors

Navarro, Juan José. Introducció als computadors: col·lecció de problemes i apunts de teoria [pdf]. Publicació interna UPC, 2011 Disponible a moodle

Complementary

Quintáns Graña, Camilo "Simulación de circuitos electrónicos con ORCAD PSPICE. 2a Edición Editorial Marcombo 2022

Principios de diseño digital

Gajski, D. D.. Principios de diseño digital. Prentice Hall, 1997. ISBN 84-8322-004-0.