SOLUTIONNAIRE DE
L’EXAMEN FI NAL
COURS: MICROPROCESSEURS I
SIGLE:INF-3215
SESSION: ÉTÉ 2000 - EXAMEN FI NAL
CENTRE:Val d’Or
DÉPARTEMENT DES SCIENCES APPLIQUÉES
UniversitéduQuébec
enAbitibi-Témiscamingue
1)
2)
3)
4)
5)
6)
7)
8)
9)
10)
11)
12)
Total:
1,5
2
2
1
2,5
3
1
1,3
1
2,7
2
1
1) Dans le projet, on veut uti liser la re-vectorisation ver sion 2 (1,5 points):
....
timer_vect:
jump (i4); rti; rti; rti; { 0x28: timer }
....
afin d’appeler deux fonctions différentes timer_isr1 et timer_isr2 qui effectuent
respectivement le pre mier et le deuxième décompte. Compléter alors les in struc tions :
{------------------ décompte du pre mier temps -------------}
timer_isr1:
{ Effectuer le décompte 1 }
....
if eq jump quit_isr1; {si le compte est tombé à zéro}
....
rti;
quit_isr1:
....
{ faire sonner le bip }
....
Call load_counters2; { charger le temps 2 }
i4 = ^timer_isr2;
l4 = 0;
rti;
{------------------ décompte du sec ond temps --------------}
timer_isr2:
{ Effectuer le décompte 2 }
....
if eq jump quit_isr2; {si le compte est tombé à zéro}
....
rti;
quit_isr2:
....
{ faire sonner le bip }
....
call load_counters2; { charger le temps 2 }
i4 = ^timer_isr1;
l4 = 0;
rti;
Page 1
SOLUTIONNAIRE DE L’EXAMEN FI NAL
2) Sachant que le processeur sur la carte ANS fonctionne à 66,00MHz.
Complétez les lignes de code suivantes pour effectuer une bou cle d’attente de 1 seconde
(2 points):
wait_one_sec ond:
0x0321 cntr = 10 000;
0x0322 do loop2 un til CE;
0x0323 cntr = 3 333;
0x0324 do loop1 un til CE; { bou cle interne de 100 us }
0x0325 loop1: nop;
0x0326 loop2: nop;
rts;
3) Sachant qu’à la ques tion 2), le la belwait_one_sec ond” est à l’adresse
0x0321, et que chaque instrucion est codée en un seul mot, déterminez le contenu du
haut des piles PC_STACK, LOOP_STACK, et COUNT_STACK, juste après la
deuxième in struc tiondo ______ ______ _______; {bou cle interne de 100us }(2
points):
....
Haut du PC_STACK = 0x0325 (14 bits de large)
Haut du LOOP_STACK = 0x0325E (14 + 4 bits de large)
Haut du COUNT_STACK = 0x2710 (14 bits de large)
Note: le loop_stack contient des adresses sur 14 bits + le code de ter mi na tion qui
est E dans le cas du “un til ce”.
4) Après la série d’instructions ci-dessous:
....
rti; rti; rti; rti; { 0x24: Rx_SPORT1 ou IRQ0 }
timer_vect:
jump timer_isr1; rti; rti; rti; { 0x28: timer }
rti; rti; rti; rti; { 0x2c: power down }
....
here_isr2:
Page 2
SOLUTIONNAIRE DE L’EXAMEN FI NAL
jump timer_isr2;
....
change_vect:
i5=^here_isr2;
ax0=pm(i5,m5);
i5=^timer_vect;
pm(i5,m5)=ax0;
Et sachant que le ax0 n’est qu’un registre de 16 bits, déterminer la por tion de
l’instruction qui a été transférée à l’adresse “timer_vect(1 point):
Il s’agit de la mod i fi ca tion des bits 23-8 de l’instruction jump
timer_isr1þ
Il s’agit de la mod i fi ca tion des bits 15-0 de l’instruction jump
timer_isr1r
Note: Les bits 7-0 sont quand même transférés via le registre interne PX.
5) Donnez un exemple de câblage null-mo dem de PC(DTE)-PC(DTE)(2,5 points):
6) La com mu ni ca tion sérielle RS-232 en tre le casque ANS et l’ordinateur PC se
fait à 115K (baud),8 (bits/caractère),1 (stop bit) , S (parité space). Donnez la durée (Ts)
pour chaque bit, et dessinez le diagramme de trans mis sion du caractère ASCII
X”=0x58 (3 points):
Ts = 1/115 000 = 8,7 microsecondes
Page 3
SOLUTIONNAIRE DE L’EXAMEN FI NAL
(1 point)
Diagramme de trans mis sion du caractère ASCII “X”:
7) À quoi sert l’instruction “ena timer(1 point) ?
À autoriser l’interruption de type TIMER (bit dans IMASK) r
À autoriser le décompte de TCOUNT (bit dans MSTAT) þ
À autoriser la vectorisation TIMER dans la ta ble des in ter rup tions. r
8) La no tion d’interruption matérielle a été implantée dans les
microprocesseurs pour (cocher les as ser tions vraisemblables) (1,3 points):
Prendre en compte des évènements importants et imprévus r
Prendre en compte des évènements prévus mais non cédulés þ
Traiter sommairement l’évènement et retourner rapidement le
contrôle. þ
Pouvoir faire une bou cle qui peut dépasser l’arrivée de l’évènement
suivant. r
Appeler une autre rou tine d’interruption. r
Provoquer un autre type d’interruption. þ
9) À quoi sert l’instruction “ena m_mode(1 point) ?
À désactiver le mode de mul ti pli ca tion en vir gule flottante du MAC r
À désactiver le mode vir gule fixe du MAC þ
À désactiver le mode entier du MAC r
Page 4
SOLUTIONNAIRE DE L’EXAMEN FI NAL
mark
space
00 010S
0 1 1
1 / 7 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !