Réponses

publicité
Professeur
:
Jean-Marc Beaulieu
Département de génie électrique
Systèmes en temps réel
Réponses – Exercices # 2
Numéro 1 – Vrai ou Faux
a)
b)
c)
d)
e)
f)
g)
Faux
Faux
Vrai
Faux
Vrai
Faux
Vrai
Numéro 2 – Architecture
En mathématique, et particulièrement en algèbre, les opérations (logiques/arithmétiques) sont
unitaires ou binaires. Une opération binaire de la forme
(opérant 1) [opération] (opérant 2) Æ résultat
possède 2 opérants et un résultat, donc nous avons un maximum de 3 adresses à spécifier.
Pour n > 3, il faudrait :
• Plusieurs destination pour le résultat ou
• Plus de 2 opérants
Dans les deux cas, ces configurations augmente la complexité du processeur (aspect matériel).
Numéro 3 – Temps d’exécution
a) 1.57 cycles/instruction
b) 31.4 µs
c) 27.16 µs
Numéro 4 – Pipeline
Les difficultés posées sont :
• Le temps de réponse aux interruptions est plus long parce qu’il faut vider le pipeline
avant les branchements;
• Il est très difficile de déterminer le temps d’exécution.
Numéro 5 – Pipeline
a) Sans pipeline Æ 42 ns
Avec pipeline Æ 11 ns
b) Accélération = 3.82
1
Numéro 6 – Mémoire
a) Mémoire ROM parce que le programme ne changera pas.
Le coût est un facteur important (nombre d’unité élevé) donc PROM (ou EEPROM)
b) Mémoire SRAM avec batterie de réserve (« Battery backup RAM »)
c) Mémoire ROM programmable Æ EEPROM ou UVPROM
d) Mémoire volatile RAM Æ Dynamique RAM (DRAM ou SDRAM)
Numéro 7 – Mémoire
Type d’accès mémoire
Accès programmé
Accès projeté en mémoire
Accès direct en mémoire
(DMA)
Avantage
Désavantages
• Ne requiert pas de circuit • Requiert des instructions
spécial
spécifiques
Æ moins portable
• Plage mémoire disponible
• Facile à programmer
• Requiert des circuits
spéciaux
• Transfert de données sans • Requiert des circuits
l’intervention du CPU
spéciaux
• Possibilité de « vol de
cycles » au CPU Æ donc
le CPU attends
Numéro 8 – Mémoire
Le contrôleur des accès directs (DMA) à la priorité parce que :
1) Les entrées/sorties par transferts DMA impliquent généralement des blocs de données. Le
fonctionnement (et la performance) des périphériques est grandement perturbé par l’interruption
du transfert d’un bloc par le processeur.
2) Les entrées/sorties sont généralement « lentes » par rapport au traitement du processeur. On
augmente la performance des entrées/sorties en donnant la priorité aux transferts DMA.
Numéro 9 – Mémoire
•
•
•
Une mémoire volatile est une mémoire qui perd son contenu lorsqu’elle n’est plus sous
tension (exemple : RAM).
Une mémoire dynamique est une mémoire volatile qui en plus doit être rafraîchie
plusieurs fois par seconde pour ne pas perdre son contenu.
Une mémoire statique est aussi une mémoire volatile mais elle n’a pas besoin de
rafraîchissements.
2
Numéro 10 – Mémoire
Avec un registre d’adresse de 32 bits, on a :
a) 232 mots de 1 octet Æ 4 Gigaoctets
b) la plus haute adresse est 232 – 1 = 4 294 967 295
c) 232 mots de 32 bits Æ 4 Gigaoctets
d) même réponse qu’en b)
Note : Le nombre de mots adressables est le même puisqu’il ne dépend que du nombre de bits
de l’adresse. Cependant, la taille de la mémoire est différente dans les 2 cas.
Numéro 11 – Mémoire
Le nombre de bits nécessaires sont:
a) 12 bits
b) 16 bits
c) 24 bits
Numéro 12 – Mémoire
La taille maximale d’un programme est :
a) 65 536 (216)
b) 1 048 576 (220)
c) 16 777 216 (224)
d) 4 294 967 296 (232)
Numéro 13 – Bus
Il faut 20 lignes d’adresse pour utiliser une mémoire de 1 Méga octets.
La plage d’adresse accessible est 0x00000 à 0xFFFFF.
Numéro 14 – Bus
Un bus est un ensemble de lignes assurant la connexion des dispositifs qui y sont rattachés. Dans
un bus, on distingue des lignes affectées au transport des adresses, des lignes pour le transport
des données et des lignes pour les signaux de contrôle.
Numéro 15 – Interruption
Non. Le processeur termine l’instruction en cours avant d’entreprendre le traitement de
l’interruption.
Numéro 16 – Interruption
De façon générale, la réponse est oui. Une interruption de basse priorité peut être interrompue
par une interruption de plus haute priorité.
Numéro 17 – Interruption
La sauvegarde de l’état du processeur consiste à copier le contenu des registres nécessaires à la
poursuite de l’exécution du programme interrompu.
3
Numéro 18 - Assembleur
a) À chaque itération, la portion suivante du code est exécutée :
mov
add
add
dec
mov
jne
edi, DWORD PTR [ecx+eax]
eax, 4
edi, esi
edx
DWORD PTR [eax-4], edi
SHORT $L530
; Adresse de b dans EBX (&a-&b+&a)
; Addresse de a + 4
; c + b
; Branchement
Il y a donc 6 instructions exécutées à chaque itération.
Pour l’exécution de la fonction totale, nous avons
- initialisation Æ
7 instructions
- Boucle
Æ
100 x 6 instructions = 600 instructions
- Terminaison Æ
3 instruction (2 pop et ret )
Donc, au total, nous avons 610 instructions pour l’exécution de la fonction.
b) Nous devons estimer le temps de chacune des 6 instructions de la boucle. Nous obtenons
2 MOV Æ 2 cycles
2 ADD Æ 2 cycles
1 DEC Æ 1 cycle
1 JNE Æ 3 cycles
TOTAL
8 cycles
c) Nous devons répéter l’estimation :
8 MOV Æ 8 cycles
2 ADD Æ 2 cycles
1 CMP Æ 1 cycle
1 JGE Æ 1 cycles (pas de saut)
1 JMP Æ 3 cycles
TOTAL
15 cycles
Numéro 19 – Communication
Dans une transmission synchrone, les informations (ex. : les caractères) sont émis de manière
régulière. Les délais entre chaque transmission sont directement reliés au signal d’horloge utilisé
par le lien de communication.
Dans une transmission asynchrone, l’intervalle entre les transmissions est variable. Dans ce cas,
il faut donc utiliser des lignes de contrôle ou des bits de transmission additionnels (ex. : start bit,
stop bit) pour déterminer le début et la fin des transmissions.
Numéro 20 – Communication
a) Faux – Cet intervalle est variable, c’est ce qui caractérise ce type de transmission.
b) Vrai – C’est vrai pour les bits d’un même caractère.
4
c) Faux – Sur un lien RS-233, il y a synchronisation que pendant la transmission d’un
caractère
d) Vrai – C’est ce qui détermine le « Baud Rate »
e) Faux – En général, il faut transmettre des informations supplémentaires pour contrôler la
communication (ex. : start bit, stop bit)
5
Téléchargement