You are on page 1of 39

DSBM

TEMA 6
EXÁMENES RESUELTOS
Este documento contiene una colección de exámenes parciales y finales
correspondientes al tema 6 de la asignatura DSBM. Todos los ejercicios tienen el
desarrollo de la solución o su valor final numérico.

Es recomendable, en la medida de lo posible, que el estudiante intente resolver los


problemas sin mirar la solución. Todos los problemas son aparentemente mucho más
fáciles cuando se mira la solución y el proceso de aprendizaje se beneficia mucho de ser
capaz de hallar la solución por uno mismo. Adicionalmente, muchos problemas admiten
más de una solución.

Finalmente, esta colección abarca varios años de distintas asignaturas relacionadas


con sistemas basados en microprocesador (DSBM, SEBM, SBM). Las soluciones de los
problemas dependen de algunas hipótesis realizadas respecto de los enunciados. Con el
paso del tiempo es posible que se hayan dado cambios en algunas hipótesis de
resolución. Es posible, por tanto, que pueda haber algún conflicto entre la solución que
se halla en esta colección y la metodología propuesta por el profesor en el cuatrimestre
en curso. Adicionalmente, todo y que se intenta eliminar los errores que puedan haber
en la colección, siempre hay la posibilidad de que haya alguna errata en alguna
solución. En caso de duda respecto de la solución propuesta en esta colección,
consultado con vuestro profesor de teoría.
DSBM
4 de Juliol de 2017
Data notes provisionals: 10 de Juliol
Període al·legacions fins: 13 de Juliol
DEPARTAMENT D’ENGINYERIA ELECTRÒNICA
Data notes revisades: 17 de Juliol

Professors: Jordi Salazar, Vicente Jiménez.

Informacionsaddicionals:
• Duració de l’examen: 2h 30m.
• L'examen corregit es podrà veure el dia 11 de Juliol al despatx dels professors

Questions breus (2 punts)

Tenim un sistema A amb entrada Di i sortida Do que té 4 etapes C1 a C4 que tenen, cadascuna,
un retard de 2,2 ns.

Sistema A Sistema B amb pipeline

Di Do Di Do
C1 C2 C3 C4 C1 R1 C2 R2 C3 R3 C4 R4

Ck

a) Determineu la latència del sistema A des de l'entrada a la sortida. Determineu també


la seva màxima freqüència d'operació entesa com la freqüència d'entrada de dades
Di.

La latència es la suma de retards, per tant:

𝑙𝑙𝑙𝑙𝑙𝑙è𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛 = 4 ∙ 2,2𝑛𝑛𝑛𝑛 = 8,8𝑛𝑛𝑛𝑛

La màxima freqüència d'operació serà:

1
𝑓𝑓𝑚𝑚𝑚𝑚𝑚𝑚 = = 113,6 𝑀𝑀𝑀𝑀𝑀𝑀
8,8𝑛𝑛𝑛𝑛

Modifiquem el sistema creant una pipelinede 4 etapes mitjançant l'adició de 4 registres


intercalats R1 a R4. Aquests registres tenen un temps de setup de 0,2 ns i un retard de
propagació des del flanc de rellotge de 0,5ns.

b) Determineu la màxima freqüència admissible del senyal de rellotge Ck del sistema B


que coincideix amb la màxima freqüència d'entrada de dades a Di.
Determineu també la latència del sistema B.

Per cada conjunt de bloc combinacional intermedi C i registre R s'ha de complir:

𝑇𝑇 ≥ 2,2𝑛𝑛𝑛𝑛 + 0,2𝑛𝑛𝑛𝑛 + 0,5𝑛𝑛𝑛𝑛 𝑇𝑇 ≥ 2,9𝑛𝑛𝑛𝑛 𝑓𝑓 ≤ 345𝑀𝑀𝑀𝑀𝑀𝑀

La latència del sistema serà:

𝑙𝑙𝑙𝑙𝑙𝑙è𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛 = 4 ∙ 𝑇𝑇 = 11,6𝑛𝑛𝑛𝑛

1
Tenim un sistema amb pipeline de 6 etapes que executa un codi que té una instrucció de salt no
predictible per a cada 24 instruccions. Aquest sistema, funciona amb rellotge de 50 MHz i pot
fer entrar una instrucció a la pipeline en cada cicle de rellotge quan es produeixen hits a la seva
cache.Quan es produeix un miss de la cache, tenim un penalty equivalent a 10 cicles de rellotge.

c) Determineu el CPI promig del sistema si considerem, només, l'efecte dels salts no
predictibles.

𝑁𝑁𝐼𝐼 + 𝐿𝐿𝑃𝑃 − 1 24 + 6 − 1
�����
𝐶𝐶𝐶𝐶𝐶𝐶 = = = 1,2
𝑁𝑁𝐼𝐼 24

d) Determineu el miss rate (en %) que fa que es sistema tingui una velocitat efectiva igual
a la meitat de la que tindria si no haguessin misses. No considereu aquí l'efecte dels
salts.

El cas que busquem es:


1 2
��������
𝑇𝑇𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎 = + 𝑀𝑀𝑀𝑀 ∙ ∆𝑇𝑇 =
𝑓𝑓𝐶𝐶𝐶𝐶𝐶𝐶 𝑓𝑓𝐶𝐶𝐶𝐶𝐶𝐶

Posant el penalty en funció de fClk:

1 10 2
+ 𝑀𝑀𝑀𝑀 ∙ =
𝑓𝑓𝐶𝐶𝐶𝐶𝐶𝐶 𝑓𝑓𝐶𝐶𝐶𝐶𝐶𝐶 𝑓𝑓𝐶𝐶𝐶𝐶𝐶𝐶
Per tant:

10 1 1
𝑀𝑀𝑀𝑀 ∙ = 𝑀𝑀𝑀𝑀 = = 10%
𝑓𝑓𝐶𝐶𝐶𝐶𝐶𝐶 𝑓𝑓𝐶𝐶𝐶𝐶𝐶𝐶 10

e) Determineu la velocitat del sistema en MIPS per un miss rate del 5% i codi amb un
salt no predicible cada 24 instruccions.

1 1 1,5
��������
𝑇𝑇𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎 = + 𝑀𝑀𝑀𝑀 ∙ ∆𝑇𝑇 = (1 + 10 ∙ 𝑀𝑀𝑀𝑀) =
𝑓𝑓𝐶𝐶𝐶𝐶𝐶𝐶 𝑓𝑓𝐶𝐶𝐶𝐶𝐶𝐶 𝑓𝑓𝐶𝐶𝐶𝐶𝐶𝐶

1 1 𝑓𝑓𝐶𝐶𝐶𝐶𝐶𝐶 50𝑀𝑀𝑀𝑀𝑀𝑀
𝑣𝑣 = = = = 27,78 𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀
��������
𝑇𝑇 ����� 1,5 ∙ �����
𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎 𝐶𝐶𝐶𝐶𝐶𝐶 𝐶𝐶𝐶𝐶𝐶𝐶 1,5 ∙ 1,2 𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐
𝑖𝑖𝑖𝑖𝑖𝑖𝑖𝑖𝑖𝑖𝑖𝑖𝑖𝑖𝑖𝑖

Tenim un sistema amb 3 interrupcions amb diferents prioritats associades a RSIs que duren
600µs en tots tres cassos. La CPU triga 20 µs en fer un canvi de context. Una vegada iniciat el
canvi de context, aquest no es pot interrompre.

f) Determineu la latència màxima de d'interrupció més prioritària en dos cassos: si les


RSI no es poden interrompre o si les RSI es poden interrompre.

Si una RSI no es pot interrompre, el pitjor cas es que es demani una interrupció menys
prioritària just abans, per tant tindrem:

𝑙𝑙𝑙𝑙𝑙𝑙è𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛 = 20𝜇𝜇𝜇𝜇 + 600𝜇𝜇𝜇𝜇 + 20𝜇𝜇𝜇𝜇 = 640𝜇𝜇𝜇𝜇

Si una interrupció pot interrompre a un altre, el cas pitjor es:

𝑙𝑙𝑙𝑙𝑙𝑙è𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛 = 20𝜇𝜇𝜇𝜇 + 20𝜇𝜇𝜇𝜇 = 40𝜇𝜇𝜇𝜇

2
DSBM
31 de Maig de 2017
Data notes provisionals: 9 de Juny
Període al·legacions fins: 16 de Juny
DEPARTAMENT D’ENGINYERIA ELECTRÒNICA
Data notes revisades: 20 de Juny

Professors: Jordi Salazar, Vicente Jiménez.

Informacions addicionals:
• Duració de l’examen: 2h 30m.
• L'examen corregit es podrà veure el dia 14 de Juny al despatx dels professors

Preguntes curtes (3 punts)

a) Consideri un processador que executa instruccions en seqüència. Suposi que te un cicle de


rellotge de 1 ns i que fa servir 4 cicles per operacions ALU, 5 cicles per bifurcacions i 4
cicles per operacions amb memòria. Suposem que les freqüències relatives d'aquestes
operacions son 50%, 35% i 15% respectivament. Si ara implementen aquest processador
amb una pipeline, quina serà la millora percentual de la velocitat del processador en MIPS?
Consideri que implementar la pipeline fa que haguem d'incrementar el període de rellotge
en 0,15 ns i que aquesta pot predir perfectament totes les bifurcacions.

b) Un programa de prova s'està executant en un processador que funciona amb un rellotge de


40 MHz. El programa consta de 100.000 instruccions amb la distribució i cicles de rellotge
de la taula:

Determini per aquest programa el CPI, els MIPS i el temps total d'execució.

c) Consideri un sistema format per un processador i una memòria principal amb un temps
d'accés de 60 ns. Es desitja millorar el temps d'accés com a mínim en un factor 10 instalant
una cache L1 amb un temps d'accés de 4 ns. Quin hauria de ser, com a mínim, el Hit Ratio
de la cache?
Suposi que el penalty coincideix amb el temps d'accés de la memòria principal.

d) Consideri un processador amb instruccions de multiplicació que duren 12 cicles de rellotge


i apareixen amb una freqüència del 15% en les instruccions del programa. La resta
d'instruccions te una mitja de 4 cicles per instrucció.
d.1) Quin percentatge del temps dedica el processador a multiplicacions?
d.2) Suposi que es pot passar a les multiplicacions de 12 cicles a 8 amb el únic cost de
disminuir la freqüència de rellotge en un 20%.
Val la pena aquesta modificació? Raoni la resposta.

e) Tenim un sistema del que penja un conjunt de perifèrics a una única línia d'interrupció. Per
gestionar els perifèrics tenim dues opcions: Interrogar als perifèrics per determinar qui ha
generat la interrupció o fer servir una Daisy Chain.

1
Descrigui com es gestionarien les prioritats en ambdós cassos i si el mètode requerit per
canviar-les.
Raoni la possibilitat i utilitat de fer servir interrupcions vectoritzades en les dues opcions.

f) Un sistema te connectat un ratolí que s'ha de consultar 20 vegades cada segon per
actualitzar la seva posició. La seva rutina requereix 2000 cicles de rellotge per la seva
execució. Si la freqüència del rellotge es de 25 MHz:

f.1) Quin es el temps que dedica el processador a cada consulta?


f.2) Quin es el temps lliure del processador entre dues consultes?
f.3) Quin es el percentatge de temps que dedica el processador a la rutina del ratolí?

2
SOLUCIÓ

a) Consideri un processador que executa instruccions en seqüència. Suposi que te un cicle de


rellotge de 1 ns i que fa servir 4 cicles per operacions ALU, 5 cicles per bifurcacions i 4
cicles per operacions amb memòria. Suposem que les freqüències relatives d'aquestes
operacions son 50%, 35% i 15% respectivament. Si ara implementen aquest processador
amb una pipeline, quina serà la millora percentual de la velocitat del processador en MIPS?
Consideri que implementar la pipeline fa que haguem d'incrementar el període de rellotge
en 0,15 ns i que aquesta pot predir perfectament totes les bifurcacions.
Processador seqüencial
CPI= 0,5*4+0,35*5+0,15*4=4,35
T=1ns
MIPS= =

Processador amb pipeline


CPI= 1 (ideal)
T=1,15ns
MIPS= =

Millora MIPS=
b) Un programa de prova s'està executant en un processador que funciona amb un rellotge de
40 MHz. El programa consta de 100.000 instruccions amb la distribució i cicles de rellotge
de la taula:

Determini per aquest programa el CPI, els MIPS i el temps total d'execució.

CPI= =1,55

MIPS= = 25,8

t_exec= = =3,875 ms
c) Consideri un sistema format per un processador i una memòria principal amb un temps
d'accés de 60 ns. Es desitja millorar el temps d'accés com a mínim en un factor 10 instalant
una cache L1 amb un temps d'accés de 4 ns. Quin hauria de ser, com a mínim, el HitRatio
de la cache?
Suposi que el penalty coincideix amb el temps d'accés de la memòria principal.
TAccess = THit + MR ⋅ ∆t Miss
6ns = 4ns + (1-HR)·60ns -> HR=0,9667 -> HR=96,67%

3
d) Consideri un processador amb instruccions de multiplicació que duren 12 cicles de rellotge
i apareixen amb una freqüència del 15% en les instruccions del programa. La resta
d'instruccions te una mitja de 4 cicles per instrucció.
d.1) Quin percentatge del temps dedica el processador a multiplicacions?

%t_mult = =34,61%

d.2) Suposi que es pot passar a les multiplicacions de 12 cicles a 8 amb el únic cost de
disminuir la freqüència de rellotge en un 20%.
Val la pena aquesta modificació? Raoni la resposta.
Originalment: -> CPI_1=12*0,15+4*0,85=5,2 amb freqüència f1=1/T1
amb la modificació el CPI baixarà: -> CPI_2=8*0,15+4*0,85=4,6
però com que la freqüència f2 es més petita que f1 (f2=0,8*f1)
el període serà més gran (T2=1,25*T1). Per tant, si calculem el temps d’execució d’1 instrucció:
t_exec1=5,2*T1
t_exec2=4,6*T2=4,6*1,25*T1=5,75*T1
El temps d’execució 2 és més gran i NO val la pena fer la modificació

e) Tenim un sistema del que penja un conjunt de perifèrics a una única línia d'interrupció. Per
gestionar els perifèrics tenim dues opcions: Interrogar als perifèrics per determinar qui ha
generat la interrupció o fer servir una DaisyChain.
Descrigui com es gestionarien les prioritats en ambdós cassos i si el mètode requerit per
canviar-les.
Consulta -> La prioritat queda assignada per l’ordre de consulta a cada perifèric. Per
canviar la prioritat tan sols s’ha de canviar l’ordre en que es consulta a cada perifèric.
Daisy Chain -> La prioritat queda assignada per l’ordre que ocupa un perifèric en la
cadena. Per canviar la prioritat s’ha de canviar el connexionat dels perifèrics al sistema.
No es pot fer per software.
Raoni la possibilitat i utilitat de fer servir interrupcions vectoritzades en les dues opcions.
Consulta -> La RSI és única. No s’utilitzen interrupcions vectoritzades.
Daisy Chain -> Cada perifèric té la seva RSI. Es fan servir interrupcions vectoritzades.

f) Un sistema te connectat un ratolí que s'ha de consultar 20 vegades cada segon per
actualitzar la seva posició. La seva rutina requereix 2000 cicles de rellotge per la seva
execució. Si la freqüència del rellotge es de 25 MHz:

f.1) Quin es el temps que dedica el processador a cada consulta?


t_consulta= = =80µs
f.2) Quin es el temps lliure del processador entre dues consultes?
t_lliure entre consultes=temps entre consultes – temps de consulta= 50ms-80µs= 49,92ms
f.3) Quin es el percentatge de temps que dedica el processador a la rutina del ratolí?
%t= *100= *100=0,16%

4
DSBM Exàmen Final 19 de Gener de 2017

Preguntes breus (2 punts)

a) Tenim un processador RISC amb pipeline de 9 etapes operant a 5MHz. Determineu


la seva velocitat màxima en MIPS i el valor efectiu de la velocitat si es fa un salt cada
20 cicles de rellotge.

b) Tenim un processador que opera a 5MHz amb un CPI efectiu de 1,5 oferint 7 DMIPS.
El processador te 3 cárregues: (A) de 1 MIPS, (B) de 3 DMIPS i (C) que ocupa sempre
3ms cada 20ms.
Determineu la càrrega U total. Determineu a quant hem d'augmentar la freqüència
de rellotge per tenir una càrrega del 70%.

c) Tenim dues CPU que operen amb les següents capacitats màximes.

MIPS Màxims DMIPS Màxims


CPU A 6 8
CPU B 10 16

Disposem d'un programa a la CPU A que requereix 5 MIPS pel seu funcionament.
Estimeu els MIPS que requerirà si l'executem a la CPU B.

d) Tenim una CPU de 8 bits que te 4 línies d'interrupció IRQ0 a IRQ3. Expliqueu, de
manera raonada, el màxim de RSI diferents que pot gestionar depenent de que les
interrupcions siguin directes, vectoritzades o autovectorizades.
Solució

1 𝑀𝑀𝑀𝑀𝑀𝑀 3 𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷
𝑓𝑓 𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀
+ 7 𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷 = 55%
𝑓𝑓
1,5 𝑀𝑀𝑀𝑀𝑀𝑀 5 𝑀𝑀𝑀𝑀𝑀𝑀

1
𝑓𝑓 = {1,5𝑀𝑀𝑀𝑀𝑀𝑀 + 2,14𝑀𝑀𝑀𝑀𝑀𝑀} = 6,62𝑀𝑀𝑀𝑀𝑀𝑀
55%

c) Tenim dues CPU que operen amb les següents capacitats màximes.

MIPS Màxims DMIPS Màxims


CPU A 6 8
CPU B 10 16

Disposem d'un programa a la CPU A que requereix 5 MIPS pel seu funcionament.
Estimeu els MIPS que requerirà si l'executem a la CPU B.

Els MIPS no son comparables entre CPUs diferents.


5 MIPS a la CPU A suposa una carrega de:

𝑣𝑣 5 𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀
𝑈𝑈𝐴𝐴 = = = 83,3%
𝑣𝑣𝑚𝑚𝑚𝑚𝑚𝑚 6 𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀

Aquesta càrrega implica que el programa requereix una velocitat en DMIPS:

𝑣𝑣𝐴𝐴 = 𝑣𝑣𝑚𝑚𝑚𝑚𝑚𝑚 𝑈𝑈𝐴𝐴 = 8 𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷 ∙ 83,3% = 6,66 𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷

La càrrega, en DMIPS, se suposa que es independent de la CPU, per tant donarà lloc a una
càrrega a la CPU B:

𝑣𝑣 6,66 𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀
𝑈𝑈𝐵𝐵 = = = 41,63%
𝑣𝑣𝑚𝑚𝑚𝑚𝑚𝑚 16 𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀

Per tant, la velocitat requerida en MIPS serà:

𝑣𝑣𝐵𝐵 = 𝑣𝑣𝑚𝑚𝑚𝑚𝑚𝑚 𝑈𝑈𝐵𝐵 = 10 𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀 ∙ 41,63% = 4,16 𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀

d) Tenim una CPU de 8 bits que te 4 línies d'interrupció IRQ0 a IRQ3. Expliqueu, de
manera raonada, el màxim de RSI diferents que pot gestionar depenent de que les
interrupcions siguin directes, vectoritzades o autovectorizades.

Les interrupcions directes i autovectoritzades només poden tenir una RSI per cada línea per tant,
només tindríem 4 RSI.
Les interrupcions vectoritzades posen un vector al bus de dades durant el reconeixement
d'interrupció. Com que el bus es de 8 bits, podríem tenir, a priori, fins a 256 interrupcions. Això
suposant que hi ha una taula única de vectors d'interrupció per les quatre línies d'interrupció.
Nom i Cognoms: Grup:

PROBLEMA 3: (2 punts) La descripció interna d’un port GPIO del µC Atmega48A és:

a) (1 punt) Indiqueu quin valor hem de programar al bit PUD per tal de tenir activada la
resistència de pull-up interna del GPIO.

b) (1 punt) Quin efecte creieu que tindrà programar el bit SLEEP a 1 ?


SEBM
12 de Gener de 2016
Data notes provisionals: 18 de Gener
Període al·legacions fins: 20 de Gener
DEPARTAMENT D’ENGINYERIA ELECTRÒNICA
Data notes revisades: 21 de Gener

Professor: Vicente Jiménez.

Informacions addicionals:
• Duració de l’examen: 2h 30m.
• L'examen corregit es podrà veure el dia 19 de Gener de 10h a 13h al despatx C4-006

Questions Breus (2,5 punts)

Tenim una CPU RISC (CPI = 1) que opera a 200MHz i que fa servir una cache que opera a la
velocitat de la CPU. La memòria principal, fora de la cache, te un temps d'accés de 100ns. Quan
hi a un miss, tenim un miss penalty equivalent a 16 accessos de la memòria principal.

a) Determineu el màxim miss rate per que la memòria cache sigui útil. Es a dir, que faci
el sistema mes ràpid que si no fos implementada.

El temps d'accés promig es:

�����
𝑡𝑡𝑎𝑎𝑎𝑎𝑎𝑎 = 𝑇𝑇 + 𝑀𝑀𝑀𝑀 ∙ ∆𝑇𝑇

∆𝑇𝑇 = 16 ∙ 𝑡𝑡𝑚𝑚𝑚𝑚𝑚𝑚 𝑡𝑡𝑚𝑚𝑚𝑚𝑚𝑚 = 100𝑛𝑛𝑛𝑛

El límit en que la Cache es útil es:

�����
𝑡𝑡𝑎𝑎𝑎𝑎𝑎𝑎 = 𝑡𝑡𝑚𝑚𝑚𝑚𝑚𝑚
Per tant:
𝑡𝑡𝑚𝑚𝑚𝑚𝑚𝑚 = 𝑇𝑇 + 𝑀𝑀𝑀𝑀 ∙ 16 ∙ 𝑡𝑡𝑚𝑚𝑚𝑚𝑚𝑚

1 𝑇𝑇 1 1
𝑀𝑀𝑀𝑀 = �1 − �= �1 − � = 5,94%
16 𝑡𝑡𝑚𝑚𝑚𝑚𝑚𝑚 16 𝑓𝑓 ∙ 𝑡𝑡𝑚𝑚𝑚𝑚𝑚𝑚

b) Determineu el màxim miss rate per que la velocitat del processador no caigui per sota
de 50 MIPS.

La CPU te CPI = 1, per tant, MIPS = f[MHz], per tant, el límit es:

1
𝑡𝑡�����
𝑎𝑎𝑎𝑎𝑎𝑎 = = 20𝑛𝑛𝑛𝑛
50𝑀𝑀𝑀𝑀𝑀𝑀
Amb això:
20𝑛𝑛𝑛𝑛 = 𝑇𝑇 + 𝑀𝑀𝑀𝑀 ∙ 16 ∙ 𝑡𝑡𝑚𝑚𝑚𝑚𝑚𝑚

1 20𝑛𝑛𝑛𝑛 − 5𝑛𝑛𝑛𝑛
𝑀𝑀𝑀𝑀 = � � = 0,94%
16 100𝑛𝑛𝑛𝑛

Suposarem que la CPU descrita te una pipeline de 6 etapes i que no te cap predicció de salts.
Per les següents preguntes suposarem que tot el codi s'executa dins de la Cache.

1
c) Quantes instruccions s'han de poder executar abans d'un salt per mantenir la
velocitat per sobre de 150 MIPS.

Determinem el CPI promig en el cas límit:

��������������
𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉 = 𝑓𝑓⁄�����
𝐶𝐶𝐶𝐶𝐶𝐶

𝑓𝑓
�����
𝐶𝐶𝐶𝐶𝐶𝐶 =
��������������
𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉

Sabem:

𝑁𝑁𝑖𝑖𝑖𝑖𝑖𝑖𝑖𝑖𝑖𝑖 + 𝐿𝐿𝑃𝑃 − 1
�����
𝐶𝐶𝐶𝐶𝐶𝐶 =
𝑁𝑁𝑖𝑖𝑖𝑖𝑖𝑖𝑖𝑖𝑖𝑖
Per tant:

𝐿𝐿𝑃𝑃 − 1 𝐿𝐿𝑃𝑃 − 1 6−1


𝑁𝑁𝑖𝑖𝑖𝑖𝑖𝑖𝑖𝑖𝑖𝑖 = = = = 15
�����
𝐶𝐶𝐶𝐶𝐶𝐶 − 1 𝑓𝑓⁄𝑣𝑣̅ − 1 200𝑀𝑀𝑀𝑀𝑀𝑀⁄150𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀 − 1

A la CPU hem implementat 3 interrupcions. La següent taula mostra el nombre de cicles de


rellotge que cal per executar la RSI de cada interrupció i la freqüència a la que es dona cada
interrupció

Prioritat Cicles RSI Freqüència (Hz)


Alta 60 1000
Mitja 126 200
Baixa 90 20

A part dels valors de la taula anterior, hem de tenir en compte:

• Considereu nul el temps que passa des que es rep una interrupció fins que s'accepta
• Després d'acceptar una interrupció ha d'acabar la instrucció màquina actual.
• Per guardar o recuperar el contexte d'execució calen 12 cicles de rellotge
• No hi ha late arrival ni tail chaining

d) Quina es la màxima latència d'interrupció per la prioritat alta (en ns). Considereu dos
cassos:
1) Una interrupció no pot interrompre a un altre.
2) Una interrupció pot interrompre a un altre menys prioritària.

1) El cas pitjor es que s'hagi demanat la interrupció més llarga just abans i que acabem de
començar una instrucció nova:
6 cicles per acabar la instrucció actual
12 cicles per guardar contexte
126 cicles per la RSI
12 cicles per recuperar el contexte
12 cicles per guardar el nou contexte
El total es de 168 cicles que son 840ns treballant a 200MHz

2) En aquest cas tenim:


6 cicles per acabar la instrucció actual
12 cicles per guardar contexte
El total es de 18 cicles que son 90ns treballant a 200MHz

2
e) Determineu la ocupació U (en %) de la CPU associada a les interrupcions.

Per cada interrupció:

𝑓𝑓𝑒𝑒𝑒𝑒𝑒𝑒𝑒𝑒
𝑈𝑈 = 𝑓𝑓𝑒𝑒𝑒𝑒𝑒𝑒𝑒𝑒 𝑇𝑇𝑒𝑒𝑒𝑒𝑒𝑒𝑒𝑒 = 𝑓𝑓𝑒𝑒𝑒𝑒𝑒𝑒𝑒𝑒 ∙ 𝑇𝑇 ∙ 𝑛𝑛𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐 = 𝑛𝑛
𝑓𝑓𝐶𝐶𝐶𝐶𝐶𝐶 𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐

El nombre de cicles per cada interrupció ha d'incloure el temps de guardar i recuperar la


informació de contexte (12 + 12 cicles):

Prioritat Cicles total interrupt Freqüència (Hz)


Alta 60 + 24 = 84 1000
Mitja 126 + 24 = 150 200
Baixa 90 + 24 = 114 20

Les ocupacions seran:

1000𝐻𝐻𝐻𝐻
𝑈𝑈𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴 = 84 = 420 ∙ 10−6
200𝑀𝑀𝑀𝑀𝑀𝑀
200𝐻𝐻𝐻𝐻
𝑈𝑈𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀 = 150 = 150 ∙ 10−6
200𝑀𝑀𝑀𝑀𝑀𝑀
20𝐻𝐻𝐻𝐻
𝑈𝑈𝐵𝐵𝐵𝐵𝐵𝐵𝐵𝐵𝐵𝐵 = 114 = 11,4 ∙ 10−6
200𝑀𝑀𝑀𝑀𝑀𝑀

Finalment:

𝑈𝑈𝑇𝑇𝑇𝑇𝑇𝑇 = 581,4 ∙ 10−6 = 581,4 𝑝𝑝𝑝𝑝𝑝𝑝 = 0,058%

3
SBM Examen Final 21 de Gener de 2015

PROBLEMA 2 (3 Punts)

Volem connectar un acceleròmetre com el de pràctiques (LIS302DL) a un sistema basat en el


microcontrolador STM8L151C2 que és d’ultra baix consum. El connexionat que hem fet és el següent:

STM8 (Master): LIS302DL (Slave):


MOSI: Master Output Slave Input SDI: SPI Serial Data Input
MISO: Master Input Slave Output SDO: SPI Serial Data Output
SCK: SPI serial clock SPC: SPI Serial Peripheral Clock
PA0: GPIO port A0 CS: senyal d’habilitació

La temporització del bus SPI de l’acceleròmetre és:

Fig: Temporització SPI de l’acceleròmetre LIS302DL.

3
a) (0.25 punts) Quin valor per defecte espera l’acceleròmetre de la línia de relloge ? (el valor
quan no hi ha transacció). Justifiqueu breument la resposta.

b) (0.25 punts) En quins flanc de rellotge (pujada o baixada) captura les dades d’entrada
l’acceleròmetre ? Justifiqueu breument la resposta.

c) (0.25 punts) En quins flancs de rellotge (pujada o baixada) treu les dades de sortida
l’acceleròmetre ? Justifiqueu breument la resposta.

La temporització del bus SPI del microcontrolador és:

Fig: Temporització SPI microcontrolador STM8.

4
Com es pot veure, el rellotge del bus SPI generat pel microcontrolador varia en funció dels bits CPOL
i CPHA (bits de configuració).

d) (0.75 punts) Indiqueu com s’han de programar els bits CPOL i CPHA de cara a comunicar-se
amb l’acceleròmetre. Justifiqueu breument la resposta.

e) (0.75 punts) Si fSCK=8 MHz, quin seria el màxim temps possible de setup en lectura del senyal
SDI de l’acceleròmetre per tal que la lectura es faci correctament ? Compareu aquesta dada
amb la real de l’acceleròmetre. Complim el requisit ?

f) (0.75 punts) Si fSCK=8 MHz, quin seria el màxim temps possible de hold en lectura del senyal
SDI de l’acceleròmetre per tal que la lectura es faci correctament ? Compareu aquesta dada
amb la real de l’acceleròmetre. Complim el requisit ?

5
PROBLEMA 3 (3.5 Punts)

El microcontrolador STM8L151C2 del problema anterior té 32 vectors d’interrupció associats a


interrupcions software, perifèrics interns o a interrupcions externes. Les interrupcions hardware estan
numerades de la 0 a la 29. Estan prioritzades, sent la la més prioritària la IRQ0 i la menys prioritària
la IRQ29.

A banda de les interrupcions (IRQ0-IR29) hi ha una instrucció ensamblador (TRAP) que genera una
interrupció software que no és enmascarable. Aquesta interrupció té més prioritat que qualsevol
interrupció hardware.

En el mode ‘concurrent’ del microcontrolador les interrupcions no s’aniden (no s’interrumpeixen entre
elles), llevat del cas de la interrupció deguda a la instrucció TRAP. Un exemple de seqüenciació
d’execucions de rutines de servei d’interrupció es pot veure a la següent figura (en aquest exemple
considerem que totes les RSIs duren 3 divisions temporals):

a) (0.5 punts) Si cada cop que s’entra a una RSI, la quantitat de memòria enmagatzemada a la
pila és fixa (10 bytes). Quina serà la màxima quantitat de memòria ocupada a la pila en
quasevol moment degut a guardar la informació de retorn de les interrupcions ?

Amb aquest esquema no és possible canviar la prioritat de les interrupcions, i només la instrucció
TRAP pot interrompre una interrupció en curs. Per augmentar la versatilitat del microcontrolador els
dissenyadors del microcontrolador l’han dissenyat de manera que a cada interrupció hardware se li pot
assignar una ‘prioritat software’:

6
Aquesta priorització software es té en compte abans que la hardware (nested interrupt mode):

Si ara hem programat les interrupcions hardware IRQ0, IRQ1, IRQ2, IRQ3 i IRQ4 amb les prioritats
software seqüents:

Hardware interrupt IRQ0 IRQ1 IRQ2 IRQ3 IRQ4

Software priority 2 1 0 1 3

b) (2 punts) Dibuixeu la seqüenciació en l’execució de RSIs si l’arribada de peticions és la que


està indicada (considereu que la durada de cada RSI és de 3 divisions temporals).

c) (0.5 punts) Quina ha estat l’ocupació màxima de la pila deguda a interrupcions durant
l’execució del diagrama de l’apartat b) ? (considereu que cada cop que hi ha una interrupció la
informació d’adreça de retorn, registres, etc., enmagatzemada a la pila és de 10 bytes)

d) (0.5 punts) En aquest mateix mode, quina serà l’ocupació màxima (en bytes) de la pila que pot
arribar a donar-se deguda a les interrupcions ?

7
SEBM
3 de Juny de 2015
Data notes provisionals: 10 de Juny
Període al·legacions fins: 23 de Juny
DEPARTAMENT D’ENGINYERIA ELECTRÒNICA
Data notes revisades: 30 de Juny

Professor: Vicente Jiménez.

ENUNCIAT QUESTIONS BREUS

c) Tenim una CPU que te una línea NMI autovectoritzada i un línea IRQ vectoritzada.
Els vectors d'interrupció que es posen al bus de dades son de 8 bits.
Quin es el màxim de RSI independents que podem tenir al sistema?
Raoneu si pot haver diferències en la latència d'interrupció a la línea NMI i IRQ.

Tenim una CPU que opera a 82MHz que te una latència mínima d'interrupció de 8
cicles de rellotge associada al canvi de context des del programa principal. La CPU te tail
chaining que fa que, quan hi ha una interrupció pendent durant l'execució d'una RSI, el temps
entre l'acabament d'una RSI i l'inici de l'altre es de només 4 cicles.

Les interrupcions no es poden iniciar si hi ha un altre en curs. Però tenim late arrival, es a dir,
sempre s'executa la RSI de la interrupció més prioritària que s'ha demanat just abans de acabar
el canvi de context.

Tenim tres interrupcions. Cap no repeteix la petició en menys de 50µs. La següent taula mostra
el nombre de cicles de rellotge que triga cada RSI en cicles de CPU.

Interrupt Prioritat RSI duration


IRQ0 Alta 200 cycles
IRQ1 Mitja 180 cycles
IRQ2 Baixa 300 cycles

d) Determineu la latència màxima (cas pitjor) de cada RSI en µs.


Es garanteix que la latència sempre sigui menor per les RSI més prioritàries?

e) Expliqueu que es un Watchdog.


Per què el watchdog IWDG del MCU de pràctiques te un rellotge RC independent?

1
SOLUCIO QUESTIONS BREUS

c) Tenim una CPU que te una línea NMI autovectoritzada i un línea IRQ vectoritzada.
Els vectors d'interrupció que es posen al bus de dades son de 8 bits.
Quin es el màxim de RSI independents que podem tenir al sistema?
Raoneu si pot haver diferències en la latència d'interrupció a la línea NMI i IRQ.

La línea IRQ pot tenir 256 RSI. La línea NMI només una. En total tenim 257 RSIs máximes.

La latència de la línea IRQ serà major per que s'ha de fet el procés de posar el vector al bus.

d) Determineu la latència màxima (cas pitjor) de cada RSI en µs.


Es garanteix que la latència sempre sigui menor per les RSI més prioritàries?

IRQ0: Pitjor cas es IRQ2 (la més llarga) començant a córrer just quan es demana IRQ0.
No incloem el primer canvi de context per que hi ha late arrival.
Amb el tail chaining tindrem:

1
𝐿𝐿𝐿𝐿𝐿𝐿è𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛 = (300 + 4) = 3,7𝜇𝜇𝜇𝜇
𝑓𝑓

IRQ1: Pitjor cas es IRQ2 començant a córrer just quan es demana IRQ1 i amb IRQ0 demanada
mentre corre IRQ2. Novament no hem d'incloure el primer canvi de context. Amb el tail
chaining tindrem:

1
𝐿𝐿𝐿𝐿𝐿𝐿è𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛 = (300 + 4 + 200 + 4) = 6,19𝜇𝜇𝜇𝜇
𝑓𝑓

IRQ2: Pitjor cas es que IRQ0 i IRQ1 es demanin al mateix temps. Aquest cas inclou el primer
canvi de context:

1
𝐿𝐿𝐿𝐿𝐿𝐿è𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛 = (8 + 200 + 4 + 180 + 4) = 4,83𝜇𝜇𝜇𝜇
𝑓𝑓

RSI2 te menys prioritat que RSI1 i, en canvi, te major latència màxima.

La latència mínima de cada RSI es de 8 cicles que correspon a 0,097µs.

e) Expliqueu que es un Watchdog.


Per què el watchdog IWDG del MCU de pràctiques te un rellotge RC independent?

El Watchdog es un temporitzador decreixent que fa reset de la CPU passat un cert temps en que
no s'ha actualitzat. Es fa servir per fer un reset quan el programa que executa la CPU no
funciona correctament.
El IWDG te un rellotge independent per continuar actiu encara que no funcioni el rellotge
principal de la CPU.

2
SEBM
21 de Gener de 2015
Data notes provisionals: 26 de Gener
Període al·legacions fins: 28 de Gener
DEPARTAMENT D’ENGINYERIA ELECTRÒNICA
Data notes revisades: 29 de Gener

Professor: Vicente Jiménez.

PREGUNTAS BREVES (Enunciado) (1,2 puntos)

c) Describa los tres tipos de interrupciones que hay respecto a la manera de identificar
la RSI asociada.

d) Indique cuál es el problema que resuelve un controlador de interrupciones PIC.

e) Compare los buses SPI e I2C a nivel de: número de masters, número de líneas y
velocidad de transmisión.

25
PREGUNTAS BREVES (Solución) (1,2 puntos)

c) Describa los tres tipos de interrupciones que hay respecto a la manera de identificar
la RSI asociada.

Directas, Vectorizadas y Autovectorizadas.


Las definiciones se hallan en los apuntes.

d) Indique cuál es el problema que resuelve un controlador de interrupciones PIC.

El controlador aglutina la gestión de interrupciones vectorizadas, incluyendo la gestión de


prioridades. De esta manera que no se requiera que cada periférico sea capaz de gestionar el
ciclo de interrupciones vectorizadas y se permite gestionar las prioridades de manera
centralizada y programable.

e) Compare los buses SPI e I2C a nivel de: número de masters, número de líneas y
velocidad de transmisión.

El bus SPI está pensado para tener un único master, el I2C es multimaster.
El bus SPI requiere 3 líneas (CLK, MISO y MOSI) mas una línea adicional para cada esclavo.
El bus I2C requiere sólo de 2 líneas con independencia del número de dispositivos conectados.
El bus I2C requiere gestionar un protocolo y además su velocidad de reloj es menor que la
máxima disponible en SPI. Adicionalmente I2C es half-duplex mientras que SPI es full-duplex.
De todo ello SPI puede ser sustancialmente más rápido que I2C.

26
Exàmen final SBM 21 de Gener de 2015

PROBLEMA 2 (3 Punts)

Volem connectar un acceleròmetre com el de pràctiques (LIS302DL) a un sistema basat en el


microcontrolador STM8L151C2 que és d’ultra baix consum. El connexionat que hem fet és el següent:

STM8 (Master): LIS302DL (Slave):


MOSI: Master Output Slave Input SDI: SPI Serial Data Input
MISO: Master Input Slave Output SDO: SPI Serial Data Output
SCK: SPI serial clock SPC: SPI Serial Peripheral Clock
PA0: GPIO port A0 CS: senyal d’habilitació

La temporització del bus SPI de l’acceleròmetre és:

Fig: Temporització SPI de l’acceleròmetre LIS302DL.

3
a) (0.25 punts) Quin valor per defecte espera l’acceleròmetre de la línia de relloge ? (el valor
quan no hi ha transacció). Justifiqueu breument la resposta.

b) (0.25 punts) En quins flanc de rellotge (pujada o baixada) captura les dades d’entrada
l’acceleròmetre ? Justifiqueu breument la resposta.

c) (0.25 punts) En quins flancs de rellotge (pujada o baixada) treu les dades de sortida
l’acceleròmetre ? Justifiqueu breument la resposta.

La temporització del bus SPI del microcontrolador és:

Fig: Temporització SPI microcontrolador STM8.

4
Com es pot veure, el rellotge del bus SPI generat pel microcontrolador varia en funció dels bits CPOL
i CPHA (bits de configuració).

d) (0.75 punts) Indiqueu com s’han de programar els bits CPOL i CPHA de cara a comunicar-se
amb l’acceleròmetre. Justifiqueu breument la resposta.

e) (0.75 punts) Si fSCK=8 MHz, quin seria el màxim temps possible de setup en lectura del senyal
SDI de l’acceleròmetre per tal que la lectura es faci correctament ? Compareu aquesta dada
amb la real de l’acceleròmetre. Complim el requisit ?

f) (0.75 punts) Si fSCK=8 MHz, quin seria el màxim temps possible de hold en lectura del senyal
SDI de l’acceleròmetre per tal que la lectura es faci correctament ? Compareu aquesta dada
amb la real de l’acceleròmetre. Complim el requisit ?

5
PROBLEMA 3 (3.5 Punts)

El microcontrolador STM8L151C2 del problema anterior té 32 vectors d’interrupció associats a


interrupcions software, perifèrics interns o a interrupcions externes. Les interrupcions hardware estan
numerades de la 0 a la 29. Estan prioritzades, sent la la més prioritària la IRQ0 i la menys prioritària
la IRQ29.

A banda de les interrupcions (IRQ0-IR29) hi ha una instrucció ensamblador (TRAP) que genera una
interrupció software que no és enmascarable. Aquesta interrupció té més prioritat que qualsevol
interrupció hardware.

En el mode ‘concurrent’ del microcontrolador les interrupcions no s’aniden (no s’interrumpeixen entre
elles), llevat del cas de la interrupció deguda a la instrucció TRAP. Un exemple de seqüenciació
d’execucions de rutines de servei d’interrupció es pot veure a la següent figura (en aquest exemple
considerem que totes les RSIs duren 3 divisions temporals):

a) (0.5 punts) Si cada cop que s’entra a una RSI, la quantitat de memòria enmagatzemada a la
pila és fixa (10 bytes). Quina serà la màxima quantitat de memòria ocupada a la pila en
quasevol moment degut a guardar la informació de retorn de les interrupcions ?

Amb aquest esquema no és possible canviar la prioritat de les interrupcions, i només la instrucció
TRAP pot interrompre una interrupció en curs. Per augmentar la versatilitat del microcontrolador els
dissenyadors del microcontrolador l’han dissenyat de manera que a cada interrupció hardware se li pot
assignar una ‘prioritat software’:

6
Aquesta priorització software es té en compte abans que la hardware (nested interrupt mode):

Si ara hem programat les interrupcions hardware IRQ0, IRQ1, IRQ2, IRQ3 i IRQ4 amb les prioritats
software seqüents:

Hardware interrupt IRQ0 IRQ1 IRQ2 IRQ3 IRQ4

Software priority 2 1 0 1 3

b) (2 punts) Dibuixeu la seqüenciació en l’execució de RSIs si l’arribada de peticions és la que


està indicada (considereu que la durada de cada RSI és de 3 divisions temporals).

c) (0.5 punts) Quina ha estat l’ocupació màxima de la pila deguda a interrupcions durant
l’execució del diagrama de l’apartat b) ? (considereu que cada cop que hi ha una interrupció la
informació d’adreça de retorn, registres, etc., enmagatzemada a la pila és de 10 bytes)

d) (0.5 punts) En aquest mateix mode, quina serà l’ocupació màxima (en bytes) de la pila que pot
arribar a donar-se deguda a les interrupcions ?

7
SEBM
20 de Gener de 2014
Data notes provisionals: 26 de Juny
Període d’al·legacions fins: 30 de Juny
DEPARTAMENT D’ENGINYERIA ELECTRÒNICA
Data notes revisades: 2 de Juny

Professor: Vicente Jiménez.

Informacions addicionals:
• Duració de l’examen: 2h 30m.
• L'examen corregit es podrà veure el dia 27 de Juny de 12 a 13h a l'aula seminari (C4 001)

CUESTIONES BREVES

f) Explique qué problema soluciona Daisy Chain y alguna de sus problemáticas


asociadas. Razone su utilidad en interrupciones autovectorizadas.

SOLUCION

f) Explique qué problema soluciona Daisy Chain y alguna de sus problemáticas


asociadas. Razone su utilidad en interrupciones autovectorizadas.

Soluciona la gestión de prioridades con interrupciones vectorizadas. El problema es que


la prioridad no se puede cambiar por programa ya que es posicional.
No tiene mucho sentido en interrupciones vectorizadas.

1
SEBM
16 de Gener de 2014
Data notes provisionals:22/1/2014
DEPARTAMENT D’ENGINYERIA ELECTRÒNICA
Període d’al·legacions fins 24/1/2014
Data notes revisades: 27/1/2014

CUESTIONES BREVES (1,5 puntos)

c) Explique las diferencias, incluyendo ventajas e inconvenientes, entre interrupciones


directas, vectorizadas y autovectorizadas.

d) Explique la diferencia entre Excepciones e Interrupciones.


Proporcione al menos dos ejemplos de Excepciones no relacionadas con las
Interrupciones.

e) Explique qué significa DMA y las ventajas que aporta que esté disponible en un
periférico.

f) Indique el tiempo mínimo necesario para transmitir un fichero de 2kBytes si se usa


una línea serie con 8 bits de datos, 2 bits de stop y paridad par trabajando a 3600
baudios.

1
SOLUCION

CUESTIONES BREVES (1,5 puntos)

c) Explique las diferencias, incluyendo ventajas e inconvenientes, entre interrupciones


directas, vectorizadas y autovectorizadas.

La diferencia reside en donde se halla la RSI para cada línea de interrupción IRQ:
Directas: La RSI ha de empezar en una posición concreta para cada línea IRQ
Autovectorizadas: La RSI empieza en una posición apuntada por un vector para cada IRQ
Vectorizadas: El periférico proporciona a la CPU qué vector ha de emplearse para llamar a
la RSI

d) Explique la diferencia entre Excepciones e Interrupciones.


Proporcione al menos dos ejemplos de Excepciones no relacionadas con las
Interrupciones.

Excepción es toda salida del flujo normal del programa. La interrupción es un tipo
concreto de excepción externa asociada a líneas de interrupción externas.
Ejemplos de excepciones:
- Error de bus
- Supervisor Call
- División por cero
- Acceso no autorizado por la MMU
etc...

e) Explique qué significa DMA y las ventajas que aporta que esté disponible en un
periférico.

DMA significa Direct Memory Access. Significa que un periférico puede controlar los
buses del sistema. La ventaja fundamental es que permite descargar a la CPU de la tarea
de mover la información entre el periférico y la memoria.

f) Indique el tiempo mínimo necesario para transmitir un fichero de 2kBytes si se usa


una línea serie con 8 bits de datos, 2 bits de stop y paridad par trabajando a 3600
baudios.

El tamaño de la trama de cada Byte es 12 bits: 8 de datos, 1 de start, 2 de stop y 1 de


paridad.

1024 12𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠 ⁄𝐵𝐵𝐵𝐵𝐵𝐵𝐵𝐵 1𝑏𝑏𝑎𝑎𝑎𝑎𝑎𝑎


𝑇𝑇 = 2𝑘𝑘𝑘𝑘𝑘𝑘𝑘𝑘𝑘𝑘𝑘𝑘 ∙ ∙ ∙ =6,827s
𝑘𝑘 3600 𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏 1𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠 ⁄𝑠𝑠

2
Disseny Microelectrònic I
10 de Juny de 2013
Data notes provisionals: 18 de juny
DEPARTAMENT D’ENGINYERIA ELECTRÒNICA
Període d’al·legacions: 18 a 21 de juny
Data notes revisades: 25 de juny

Professor: Vicente Jiménez.

Informacions addicionals:
• Duració de l’examen: 2h 30m.

ENUNCIADO

CUESTIONES BREVES (2 puntos : 0,5 cada una)

a) Un sistema emplea una transmisión serie RS232 a 36000 baudios con 8 bits de datos, y
un bit de paridad, start y stop.
Determine la máxima velocidad de transmisión real que puede ofrecer en Bytes/s.

b) Indique, al menos, dos ventajas de emplear un controlador de interrupciones PIC en


lugar de un sistema basado en Daisy Chain.

1
SOLUCIÓN

CUESTIONES BREVES (2 puntos : 0,5 cada una)

a) Un sistema emplea una transmisión serie RS232 a 36000 baudios con 8 bits de datos, y
un bit de paridad, start y stop.
Determine la máxima velocidad de transmisión real que puede ofrecer en Bytes/s.

Baudios son símbolos por segundo. En el caso de una transmisión binaria como RS232 se trata
de bits por segundo. Un byte son 8 bits, pero tenemos 3 bits de overhead (start, paridad y stop).
Por tanto, para transmitir un Byte hemos de transferir 11 bits. De ello:

𝑆𝑆í𝑚𝑚𝑚𝑚𝑚𝑚𝑚𝑚𝑚𝑚𝑚𝑚 1 𝐵𝐵𝐵𝐵𝐵𝐵𝐵𝐵 𝐵𝐵𝐵𝐵𝐵𝐵𝐵𝐵𝐵𝐵


36000 ∙ = 3273
𝑠𝑠 11 𝑆𝑆í𝑚𝑚𝑚𝑚𝑚𝑚𝑚𝑚𝑚𝑚𝑚𝑚 𝑠𝑠

b) Indique, al menos, dos ventajas de emplear un controlador de interrupciones PIC en


lugar de un sistema basado en Daisy Chain.

Algunas ventajas:
• Prioridad programable en PIC vs fijada por hardware en Daisy Chain
• Mayor simplicidad de los periféricos en PIC respecto a necesidad de reconocimiento de
interrupciones vectorizadas en Daisy Chain.
• Potencial mejor respuesta temporal en PIC respecto Daisy Chain, especialmente cuando
hay muchos periféricos.
• Posibilidad con PIC de interrumpir una interrupción en curso.

You might also like