Docsity
Docsity

Prepara tus exámenes
Prepara tus exámenes

Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity


Consigue puntos base para descargar
Consigue puntos base para descargar

Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium


Orientación Universidad
Orientación Universidad


Fonaments de computadors (practica 2017), Ejercicios de Fundamentos de la Informática

Practica de la asignatura fonaments de computadors

Tipo: Ejercicios

2018/2019
En oferta
30 Puntos
Discount

Oferta a tiempo limitado


Subido el 20/12/2019

Zatopek73
Zatopek73 🇪🇸

3 documentos

1 / 14

Toggle sidebar

Esta página no es visible en la vista previa

¡No te pierdas las partes importantes!

bg1
05.562 • Fonaments de Computadors • Pràctica • 2017-18· Estudis dInformàtica, Multimèdia i Telecomunicació
1 de 14
Pràctica
Presentació
Per fi arribem al final del curs. Aquesta pràctica servirà per sintetitzar tots els
coneixements del curs i ampliar-los amb el disseny de circuits més complexos. En
aquesta pràctica se us demanarà el disseny d’un circuit a partir d’un graf d'estats i el
disseny d’una màquina d'estats en concret. Per a la primera part, haureu d’aplicar els
coneixements que heu adquirit en aquest curs, com per exemple el dels sistemes de
representació. Per tant, es recomana que hi feu un cop d’ull.
Competències
Conèixer l'organització general d'un computador com a circuit digital i conèixer els trets
distintius de l'arquitectura de Von Neumann.
Objectius
Conèixer diversos models de màquines d’estats i les arquitectures de controlador
amb camí de dades.
Haver adquirit una experiència bàsica en la tria del model de màquina d’estats
més adequat per a la resolució d’un problema concret.
Ser capaç de dissenyar circuits seqüencials a partir de grafs de transicions
d’estats.
Recursos
Els recursos que es recomana fer servir per a aquesta pràctica són els següents:
Bàsics: El mòdul 5 dels materials.
Complementaris: VerilCIRC, VerilCHART i el Wiki de l'assignatura.
Criteris de valoració
Raoneu la resposta en tots els exercicis. Les que no estiguin justificades no rebran
puntuació.
La valoració de cada apartat està indicada als enunciats corresponents.
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
Discount

En oferta

Vista previa parcial del texto

¡Descarga Fonaments de computadors (practica 2017) y más Ejercicios en PDF de Fundamentos de la Informática solo en Docsity!

Pràctica

Presentació

Per fi arribem al final del curs. Aquesta pràctica servirà per sintetitzar tots els coneixements del curs i ampliar-los amb el disseny de circuits més complexos. En aquesta pràctica se us demanarà el disseny d’un circuit a partir d’un graf d'estats i el disseny d’una màquina d'estats en concret. Per a la primera part, haureu d’aplicar els coneixements que heu adquirit en aquest curs, com per exemple el dels sistemes de representació. Per tant, es recomana que hi feu un cop d’ull.

Competències

Conèixer l'organització general d'un computador com a circuit digital i conèixer els trets distintius de l'arquitectura de Von Neumann.

Objectius

— Conèixer diversos models de màquines d’estats i les arquitectures de controlador amb camí de dades. — Haver adquirit una experiència bàsica en la tria del model de màquina d’estats més adequat per a la resolució d’un problema concret. — Ser capaç de dissenyar circuits seqüencials a partir de grafs de transicions d’estats.

Recursos

Els recursos que es recomana fer servir per a aquesta pràctica són els següents: Bàsics: El mòdul 5 dels materials. Complementaris: VerilCIRC, VerilCHART i el Wiki de l'assignatura.

Criteris de valoració

— Raoneu la resposta en tots els exercicis. Les que no estiguin justificades no rebran puntuació. — La valoració de cada apartat està indicada als enunciats corresponents.

Format i data de lliurament

— Per a dubtes i aclariments sobre l’enunciat, adreceu-vos al consultor responsable de la vostra aula. — Cal lliurar la solució en un fitxer PDF fent servir una de les plantilles lliurades conjuntament amb aquest enunciat. — S’ha de lliurar a través de l’aplicació de Lliurament i registre d’AC de l’apartat Avaluació de la vostra aula. — La data límit de lliurament és el 31 de maig (a les 24 hores).

Exemple de solució

PRIMERA PART [ 6 5%]

Donada la màquina d’estats següent: Fig. 1. EFSM d’un detector de seqüència. Es demana que: a) [15%] A partir del graf de l’EFSM de la fig. 1 completeu, al cronograma següent, l’evolució de C i w , i de l’estat en què es troba la màquina a cada cicle de rellotge. Nota: Teniu l'exercici disponible a VerilChart, on els valors del senyal C es repre- senten en hexadecimal i estat per E.

b) [15%] Obtingueu les taules de transicions i de sortides de l’EFSM de la fig. 1, així com les codificacions binàries d’estats i sortides corresponents. Al graf podem veure que hi ha un senyal d’entrada, b , i la condició ( C <3) que actuen com a entrades de la taula de transicions. A més, hi ha la variable C i el senyal de sortida w , per als que s’ha de determinar quins valors prenen. Les taules de transicions i sortides que s’obtenen a partir del graf són: Estat actual Entrada Estat següent Estat Sortides BEGIN b’ COUNT BEGIN C+^ = 0, w = 0 BEGIN b BEGIN COUNT C+^ = C + 1, w = 0 COUNT b’·(C<3)’ WAIT WAIT C+^ = 0, w = 0 COUNT b’·(C<3) COUNT PULSE C+^ = 0, w = 1 COUNT b·(C<3)’ PULSE COUNT b·(C<3) BEGIN WAIT b’ WAIT WAIT b PULSE PULSE b’ COUNT PULSE b BEGIN Per a la codificació binària, cal assignar a cada estat un codi binari individual. En aquest cas, se segueix el criteri més habitual, que és el de la numeració binària, des del 0 per a l’estat inicial fins al nombre d’estats que hi hagi menys 1: 00 per a BEGIN, 01 per a COUNT, 10 per a WAIT i 11 per a PULSE. Per triar el valor següent que hem d’assignar a la variable C cal un selector, que anomenarem s_C. A la taula següent tenim els valors entre els que es tria i una possible codificació binària de cada un d’ells: Operació Selector s_C Efecte sobre la variable C+^ = 0 0 Posar-la a 0 C+^ = C+1 1 Sumar-li 1 El valor de la sortida w es determina directament a partir de l’estat.

Finalment, les taules de transicions i de sortides amb la codificació binària corresponent són: Estat actual Entrada Estat+^ Estat Sortides Símbol q 1 q 0 b (C<3) q 1 +q 0 +^ Símbol q 1 q 0 s_C w BEGIN 00 0 x 01 BEGIN 00 0 0 BEGIN 00 1 x 00 COUNT 01 1 0 COUNT 01 0 0 10 WAIT 10 0 0 COUNT 01 0 1 01 PULSE 11 0 1 COUNT 01 1 0 11 COUNT 01 1 1 00 WAIT 10 0 x 10 WAIT 10 1 x 11 PULSE 11 0 x 01 PULSE 1110 1 x 00 Noteu que, segons la codificació triada pels estats i pels selectors, el resultat de la taula anterior pot variar. En moltes transmissions de missatges es fa servir una modulació per amplada de pols que requereix que els receptors calculin les amplades dels polsos que reben. Per això, n’hi ha prou amb comptar quants cicles es detecta un 1 sense passar per zero. L’EFSM següent es correspon amb el funcionament d’un detector d’amplada de pols que té, com a entrada, el bit del senyal d’entrada, b , i, com a sortida, el valor de l’amplada de pols, W , i un senyal d’avís de que el valor l’amplada s’ha actualitzat, y. Fig. 2. EFSM d’un mòdul de detecció d’amplada de pols.

Posició de memòria Contingut (^) Codificació q 1 q 0 b q 1 +q 0 +^ y s_C s_W^ hexadecimal 00 0 01 0 0 00 1 0h 00 1 10 0 0 00 2 0h 01 0 01 0 0 01 11 h 01 1 10 0 0 01 21 h 10 0 11 0 1 01 35 h 10 1 10 0 1 01 25 h 11 0 01 1 0 10 1 Ah 11 1 10 1 0 10 2Ah La figura següent mostra la implementació amb una ROM d’aquestes dimensions. L’entrada M @ de la ROM es configura amb el valor de l’estat actual (els 2 bits de més pes) i el valor de les entrades (els 2 bits de menys pes). Per guardar l’estat actual es fan servir 2 biestables. L’altra opció és fent servir dues ROM, una per al càlcul de l’estat següent i l’altra per a les sortides. En aquest cas, la ROM de càlcul de l’estat següent té el mateix nombre de bits d’adreça que l’anterior (és a dir, 3 ) però només dos bits per al contingut, ja que només s’hi emmagatzema el codi de l’estat següent:

Posició de memòria Contingut (^) Codificació q 1 q 0 b q 1 +q 0 +^ hexadecimal 00 0 01 1h 00 1 10 2h 01 0 01 1h 01 1 10 2h 10 0 11 3h 10 1 10 2h 11 0 01 1h 11 1 10 2h La ROM del càlcul de les sortides té adreces de dos bits (el codi d’estat) i continguts de 4 bits per a les sortides: Posició de memòria Contingut (^) Codificació q 1 q 0 y s_C s_W^ hexadecimal 00 0 0 00 0h 01 0 0 01 1 h 10 0 1 01 5 h 11 1 0 10 Ah El circuit que fa servir dues ROM és el següent: Amb aquesta darrera versió es fan servir menys bits de memòria ROM: de 48 ( 8 x 6 ) amb una única ROM a 32 ( 8 x2 + 4x 4 ).

Amb tot això, el circuit complet per a l’EFSM de la fig. 2 queda de la forma següent:

SEGONA PART [25%]

Dissenya una ASM del controlador d’una màquina expenedora de cafè i begudes calentes. El controlador disposa d’un senyal d’entrada específic per a cada tipus de moneda, que presenta un pols a 1 quan es detecta la introducció d’una moneda de l’import corresponent. El controlador haurà de generar, en un temps màxim de 4 cicles des del pols d’entrada de moneda, un pols a 1 en la sortida OK per indicar que l’import és suficient per començar a elaborar la beguda i un valor a la sortida X amb el possible excés de l’import de la beguda, en cèntims. El preu de les begudes és el mateix per a totes i ve indicat, en cèntims, per una entrada P del controlador. Si, per cobrir un import de 60 cèntims, s’hi introdueix una moneda de 50 cèntims seguida d’una moneda de 20 cèntims, la seqüència d’entrades i sortides del controlador seria: Les entrades dels senyals per a cada moneda són E 50, E 20 i E 10, on el nombre indica el valor en cèntims de la moneda introduïda. Per simplicitat, no s’accepta cap altre tipus de moneda. Aquestes entrades són, per construcció de la màquina, mútuament excloents: només una pot ser a 1 en un mateix cicle de rellotge i a més, els polsos només duraran un cicle i estaran separats entre sí per, com a mínim, 4 cicles de rellotge. Per implementar aquesta màquina farem servir 3 variables, una per al valor de sortida OK , de només 1 bit, una altra, A , per recordar el valor acumulat de les monedes que s’han introduït fins al moment, i una tercera per guardar-hi el valor de la sortida X. En primer lloc, s’han d’inicialitzar les variables a zero i, a continuació, monitoritzar els polsos que arribin per algun dels senyals de moneda, E 50, E 20 o E 10. És important, tenir present que no podem tenir a la màquina un camí constituït únicament per avaluacions de condicions (rombes). Les transicions són d’estat a estat. És a dir, quan arriba un nou cicle de rellotge passem d’un estat a un altre estat. Això vol dir que en cas que no hi hagi un pols a cap senyal d’entrada de moneda hem de passar per un estat d’espera abans de poder tornar a avaluar de nou si hi ha un pols a cap entrada. Quan arriba un pols per un senyal de moneda, se suma el valor de la moneda a la variable A i es compara el resultat amb el preu de la beguda que tenim a l’entrada P. Ara bé, atès que és una variable, el que assignem a A en un estat és el valor que la variable tindrà al següent cicle de rellotge. Així doncs, abans de comparar el valor d’ A amb P , haurem d’esperar a tenir a la variable A el resultat de la suma, la qual cosa

TERCERA PART [10%] – Preguntes TeSLA amb Keystroke Dynamics i Reconeixement Facial Nota important: Les dues preguntes d’aquest apartat les trobareu a l’aula dins de l’activitat Pràctica. S’han de respondre en els enllaços que s’habilitaran a l’aula. Altrament, no s’avaluaran.

a) [5%] Tenint en compte que l’EFSM de la figura 1 reconeix una seqüència determinada quan la sortida w =1, identifica com ha de ser aquesta seqüència. En aquesta EFSM, passem de l’estat BEGIN a l’estat COUNT quan arriba un 0 per b. Ens mantenim aquí mentre arribin zeros per b i el valor de C sigui inferior a 3. Un 1 a b ens porta de nou a BEGIN. En canvi, si només van arribant zeros per b , sortirem de COUNT quan C arribi al valor 3, és a dir, quan hagin arribat 3 zeros per b des de que estem a COUNT. A partir d’aquí, si el següent valor de b és un 1, passem a PULSE i el senyal w es posa a 1. En canvi, si el següent valor de b és un 0 passem a WAIT i ens mantenim allà fins que arribi un 1 per b , moment en el que passarem a PULSE. Per tant, es detecta una seqüència de 4 zeros consecutius, com a mínim. És a dir, w es posa a 1 cada cop que arriba una seqüència del tipus 0000(...0)1. b) [5%] Calculeu el nombre de cicles que transcorren entre el pols de l’última moneda introduïda que fa que l’import sigui més gran o igual que P i el pols d’ OK i expliqueu com feu el càlcul. Sabem que a cada cicle de rellotge passem a un nou estat. Així doncs, tan sols cal comptar el nombre d’estats que hem de passar fins aconseguir que el senyal OK es posi a 1. En aquest cas, hem de passar per un dels estats CX, és a dir, per C50, C20 o C10 segons el valor de l’última moneda, i després pels estats UPDAT i DONE, la qual cosa fa un total de 3 estats. A l’estat DONE, a OK se li assigna el valor 1 y a X l’excés de cèntims. Ara bé, tant OK com X són variables y, per tant, el valor és efectiu en el següent cicle de rellotge. Així doncs, transcorren 4 cicles de rellotge entre el pols de la darrera moneda introduïda y el pols a la sortida OK.