Devoir Surveillé (DS)
- Architecture Matérielle et Systèmes Embarqués (SE)
Durée : 2h30
- Eléments du cours non-autorisés - Calculatrice autorisée
Partie I: Questions de cours (6 points)
1. Un système embarqué (SE) est un système électronique et informatique autonome ne possédant
pas des entrées sorties standard comme un clavier ou un écran. d'ordinateur. On le définit aussi
généralement par le fait qu'il n'est pas visible en tant que tel, mais est intégré dans un équipement
doté d'une autre fonction; on dit aussi que le système est enfoui, ce qui traduit plus fidèlement le
terme anglais embedded.
Citez au moins trois (3) caractéristiques des SE?
2. Domaines d'applications - Les domaines dans lesquels on trouve des systèmes embarqués sont de
plus en plus nombreux.
Citer de façon précise cinq (5) domaines d'application des SE?
3. Décrivez en quelques lignes la place des Systèmes Embarqués (SE) dans la croissance explosive de
l'Internet des objets ou "Internet of Things" (loT)?
4. Qu'est ce qu'un microprocesseur? Qu'est ce qu'un microcontrôleur? Quelles sont les caractéris-
tiques principales d'un microcontrôleur? Citer trois (3) exemples de familles de microcortrôleur.
5. Donner trois (3) raisons qui expliquent le recours au processeur multi-coeur et processeur "many"-
coeur.
6. Qu'est ce qu'un un cycle d'instructions? Définir les deux (2) étapes de traitement des instructions
comme illuster dans la figure ci-dessous.
Fetch Cycle Execute Cycle
Fetch Net J Execute
HALT
Instruction M Instruction
7. Quelles sont les différences entre accès séquentiel, accès direct et accès aléatoire?
8. Quelle est la relation générale entre le temps d'accès, le coût de la mémoire et la capacité?
Partie II (14 points)
Exercice 1 : Exemple de programme d'exécution (3 points)
La figure ci-dessous vous donne un exemple de programme d'exécution. Le contenu de la mémoire et
des registres sont en hexadécimal. Egalement pour interpréter le contenu de la mémoire, on vous donne
M. Désire Guel - 1/4 31 Juillet 2019 Mi-Dept. Info, UOl-JKZ
la liste partielle des "opcodes". On vous rappelle également le format de mémoire lAS; Un mot peut
également contenir deux instructions de 20 bits, chaque instruction consistant en un code d'opération
(opcode) de 8 bits spécifiant l'opération à exécuter et une adresse de 12 bits désignant l'un des mots en
mémoire (numéroté de O à 999).
0001 = Load AC from memory
0010 = Store AC to memory
0101 = Add to AC from memory
left instruction (20 bits) right instruction (20 bits)
0 8 20 28 39
----- --- - -------
opcode (8 bits) address (12 bits) opcode (8 bits) address (12 bits)
(b) Instruction word
Memory CPU registers Memory CPU registers
300 1 9 4 0 Xstepi PC 300 1 9 4 0 Xste p2 PC
301 5941 AC 301 5941 Y0,2 AC
3022941 Zsiepi IR 302 2 9 4 1 Zste p2 IR
940 0 0 0 5 940 0 0 0 5
941 0 0 0 8 941 0 0 0 8
Stepi Step2
Memory CPU registers Memory CPU registers
300 1 9 4 0 Xstep3 PC 300 1940 Xste p4 PC
301 5 9 4 1 Ystep3 AC 301 5941 Ystep4 AC
302 2 9 4 1 Zstep3 IR 302 2941 Z54 IR
940 0 0 0 5 940 0 0 0 5
941 0 0 0 8 941 0 0 0 8
Step3 Step4
Memory CPU registers Memory CPU registers
300 1 9 4 0 Xstep5 PC 300 1940 XSSP6 PC
301 5 9 4 1 YstepS AC 301 5 9 4 1 YstepG AC
02 294 1 Zstep5 th UL 24I Zstep6 IR
940 O 0 0 5 90 C) O O C5
941 Ç) Ø () A 941
Step5 Step6
1. Déterminer les valeurs de Àstepi, Àstep25 Àstep3, Àstep4, Àstep5 et Xstep6, en hexadécimal correspon-
dantes aux étapes 1, 2, 3, 4, 5 et 6 respectivement?
2. Déterminer les valeurs de Ystep2, Yste p3, Ystep4, Ystep5, Ystep6 et Y't6, en hexadécimal.
M. Desire Guel 2/4 31 Juillet 2019 Mi-Dept. Info, UO1-JKZ
3. Déduire les valeurs de Zstepi, Zstep21 Zstcp3, Z p4, Zste p5 et Zstep6, en hexadécimal correspondantes
aux étapes 1, 2, 3, 4, 5 et 6 respectivement.
Exercice 2 : Evolution et performance des ordinateurs (3 points)
Considérez trois (3) machines différentes, avec deux jeux d'instructions différents, chacun ayant une
fréquence d'horloge de 400 MHz. Les mesures suivantes sont enregistrées sur les trois (3) machines
exécutant un ensemble donné de programmes de référence:
Instruction Type Instruction Count (millions) Cycles per Instruction
Machine A
Arithmetic and logic 8 1
Load and store 4 3
Branch 2 4
Others 4 3
Machine B
Arithmetic and logic 10 1
Load and store 8 2
Branch 2 4
Others 4 3
Machine C
Arithmetic and logic 12 1
Load and store 6 5
Branch 2 4
Others 2 3
1. Déterminez le CPI ("Cycles per instruction") effectif, le taux MIPS et le temps d'exécution pour
chaque machine.
2. Commenter les résultats.
Exercice 3 : Evolution et performance des ordinateurs (3 points)
Le tableau suivant, basé sur des données de la littérature, indique les temps d'exécution, en secondes,
de deux (2) programmes différents sur trois (3) machines.
Processor
Benchmark
xIvz
1 20 10 40
2 40 80 20
. La moyenne arithmétique calculée sur une liste notée (X1, x2. ... .XN) s'écrit:
1N
MA= xfl
M. Désire Guel 3/4 31 Juillet 2019 Mi-Dept. Info, UO1-JKZ
. La moyenne géométrique calculée sur une liste notée (xi, x2, ... , XN) s'écrit:
/N \
MG=(fl x1 )
n=i
1. Calculez la moyenne arithmétique de chaque système en utilisant X comme machine de référence,
puis en utilisant Y comme machine de référence. Argumentez que les trois (3) machines ont intuitive-
ment des performances à peu près équivalentes et que la moyenne arithmétique donne des résultats
trompeurs.
2. Calculez la moyenne géométrique de chaque système en utilisant X comme machine de référence,
puis en utilisant Y comme machine de référence. Commentez les performances des trois (3) machines
sur la base de calcul de la moyenne géométrique.
Exercice 4 : La mémoire cache (2 points)
1. Un ensemble de cache associatif ("set-associative cache") est constitué de 128 lignes, ou emplace-
ments, divisés en ensembles de quatre lignes. La mémoire principale contient 8K blocs de 128 mots
chacun. Affichez le format des adresses de la mémoire principale.
Exercice 5 : Reduced Instruction Set Computers (RISC) (3 points)
Nous souhaitons déterminer le temps d'exécution d'un programme donné à l'aide des divers systèmes
de traitement en pipeline décrits. Supposons:
N = nombre d'instructions exécutées
D = nombre d'accès mémoire
J = nombre d'instructions de saut
1. Pour le schéma séquentiel simple, le temps d'exécution est de 2N + D étapes. Dérivez des formules
pour le pipeline en deux étapes, en trois étapes et en quatre étapes.
M. Desire Guel 4/4 31 Juillet 2019 Mi-Dept. Info, UO1-JKZ