Test 1 d`informatique 1 Nom:

publicité
ICC MT & EL
Test N° 3
vendredi 19 décembre 2014
Ne PAS retourner ces feuilles avant d’en être autorisé!
Merci de poser votre carte CAMIPRO en évidence sur la table.
Vous pouvez déjà compléter et lire les informations ci-dessous:
NOM
____________________________________________________________
Prénom
_____________________________________________________________
Numéro SCIPER
_________________________________________________________
Signature _______________________________________________________________
14h15
15h30
Le test écrit commence à:
Retourner les feuilles avec la dernière page face à vous à :
les contrôles écrits ICC sont SANS document autorisé,
ni appareil électronique
Total sur 20 points = 12 points pour la partie Quizz et 8 points pour les questions ouvertes
La partie Quizz (QCM) comporte 12 questions : chaque question n’a qu’une seule réponse
correcte parmi les 4 réponses proposées. Chaque réponse correcte donne 1 point. Aucun
point n’est donné en cas de réponses multiples, de rature, ou de réponse incorrecte. Indiquez
vos réponses à la partie Quizz dans le tableau en bas de cette page.
La partie « question ouverte » comporte 2 questions. Chaque question rapporte 4 points.
A
B
C
D
1
2
3
4
Questions du Quizz
5 6 7 8 9
1
10
11
12
A
B
C
D
QUIZZ
Question 1 : quel circuit a pour sortie X selon la table
de vérité suivante ->
Réponse :
A
A
0
0
1
1
B
B
0
1
0
1
X
1
1
0
0
C
D
-------------------------------------------------------------------------------------------------------------------------Question 2 : Quelle est la table de vérité de la sortie X
de ce circuit ->
A
0
0
1
1
Réponse :
B
0
1
0
1
A
X
1
1
1
0
A
0
0
1
1
B
0
1
0
1
X
1
0
1
1
A
0
0
1
1
B
B
0
1
0
1
C
2
X
0
1
1
1
A
0
0
1
1
B
0
1
0
1
D
X
1
1
0
1
Question 3 : on désire réduire le temps pour effectuer une addition sur 64 bits par un facteur
de (presque) 4. L’idée est de gagner un facteur 2 supplémentaire par rapport à la solution vue
en cours en remplaçant les additionneurs sur 32 bits par des additionneurs sur 16 bits. Combien
faut-il d’additionneurs 16 bits en tout ?
A
B
C
D
3
15
7
16
-------------------------------------------------------------------------------------------------------------------------Question 4 : un laptop est équipé d’un processeur avec un niveau de mémoire cache (latence
10ns), une mémoire centrale (latence 150 ns) et un disque dur (latence 1ms). On observe la
répartition suivante des accès aux données lorsqu’on travaille sur une tâche T : 60% des accès
aux données tirent parti de la mémoire cache ; pour les autres accès, 90% sont obtenus de la
mémoire centrale tandis que le reste doit être demandé au disque dur.
Quelle est la latence moyenne (en ns) pour cette tâche T ?
A 100
B 40’060
C 181
D 100’141
----------------------------------------------------------------------------------------------------------------------------Le programme assembleur suivant est exécuté avec une valeur entière strictement positive
disponible dans le registre r0. Le résultat est chargé dans r4.
Voici quelques précisions sur des instructions pouvant présenter une ambiguïté :
cont_egal a, b, c fait continuer l’exécution à la ligne c si les registres a et b sont égaux.
divise ra, rb, rc effectue la division entière de rb par rc et range le résultat dans ra
0
1
2
3
4
5
6
7
8
:
:
:
:
:
:
:
:
:
charge
charge
charge
cont_egal
divise
somme
continue
charge
stop
r1,
r2,
r3,
r0,
r0,
r2,
3
r4,
1
0
2
r1, 7
r0, r3
r2, r1
r2
Question 5 : Lorsque r0 vaut 9 comme valeur initiale, le résultat de l’exécution est :
A 2
B 3
C 4
D 1
Question 6 : quel est l’ordre de complexité de ce programme en fonction de r0 ?
A O(1)
B O(r0)
C O(r02)
D O(log(r0))
3
Question 7 :
Dest.
A
B
D
E
Dir.
A
B
D
E
Ce graphe de routeurs Internet
montre la distance entre chaque
nœud à coté de chaque lien. Par
exemple, la distance entre A et B
est de 3. Indiquer quelle est la
table de routage du nœud C
parmi les choix suivants. Pour
chaque destination (colonne de
gauche) on indique la direction
du prochain nœud (colonne du
milieu) et la distance du plus
court chemin (colonne droite).
Dist.
8
4
3
1
Dest.
A
B
D
E
Dir.
B
E
B
E
Dist.
7
3
3
1
Dest.
A
B
D
E
Dir.
E
E
E
E
Dist.
6
3
2
1
Dest.
A
B
D
E
Dir.
E
E
D
E
Dist.
6
3
3
1
A
B
C
D
-------------------------------------------------------------------------------------------------------------------------Question 8 : on considère un réseau contenant plusieurs routeurs (A,B, C, …, N). On connaît
seulement les tables de routage des nœuds A, F et H données ci-dessous :
A
F
H
Dest.
Dir.
Dist.
Dest.
Dir.
Dist.
Dest.
Dir.
Dist.
G
B
2
K
N
3
D
G
2
D
C
2
L
E
2
F
N
2
N
x
y
J
I
2
J
N
3
Réponse :
En se basant uniquement sur les informations fournies par ces tables et sur la règle de
mémoriser seulement le plus court chemin dans une table, indiquer les valeurs correctes de x
et de y :
A x = C et y = 4
B x = B et y = 5
C x = C et y = 5
D x = B et y = 4
4
Question 9 : supposons que l’EPFL soit reliée à d’autres nœuds du réseau suisse comme ceci :
Le réseau comporte 5 nœuds :
EPFL, UniBe, ETHZ, UniSG, USI.
Les tables ci-dessous indiquent
seulement la direction du nœud
suivant pour une destination, ou
un ensemble de destinations
données. Dans cette question, on
peut remarquer que le chemin
entre deux nœuds n’est pas
déterminé par le plus petit
nombre de sauts. En effet, les
tables prennent en compte aussi
la capacité des liens. Par exemple,
la capacité du lien EPFL -> USI n’est pas suffisante pour supporter la bande passante requise
pour les communications entre EPFL et ETHZ, c’est pourquoi les communications EPFL->ETHZ
passent par UniBe comme première étape, puis par USI car les liens UniBe->USI et USI->ETHZ
ont une plus grande capacité (remarque : un centre de calcul important est installé à USI).
Enfin, il faut aussi remarquer que la capacité des liens dépend de la direction de transmission,
ce qui explique qu’une communication entre deux sites ne va pas forcément utiliser le même
chemin dans les deux sens. Voici les tables :
EPFL
Dest.
Dir.
UniBe,
ETHZ,
UniSG
USI
UniBe
USI
UniBe
Dest.
Dir.
EPFL
EPFL
ETHZ
Dest.
Dir.
USI
UniSG
UniSG
Dest.
EPFL
EPFL
USI,
ETHZ,
UNISG
USI
UniBe
UniBe
UniBe
UniBe
EPFL,
USI
USI
ETHZ,
UniSG
ETHZ
Dir.
UniSG
Dest.
Dir.
ETHZ
ETHZ
USI,
UniBe,
EPFL
USI
Indiquer la bonne réponse pour une communication établie entre l’EPFL et UniSG dans les
deux sens :
A EPFL->UniBe->USI->ETHZ->UniSG et UniSG->ETHZ->USI->UniBe->EPFL
B EPFL-> USI-> UniSG et UniSG->USI->EPFL
C EPFL-> USI-> UniSG et UniSG->ETHZ->USI->UniBe->EPFL
D EPFL->UniBe->USI->ETHZ->UniSG et UniSG->USI->EPFL
-------------------------------------------------------------------------------------------------------------------------Question 10 : Soit un ordinateur avec un processeur d’horloge 2 GHz et une mémoire cache
de 16 blocs, chaque bloc ayant une taille de 128 octets. La mémoire centrale présente une
latence de 100 cycles d’horloge du processeur. On désire exécuter un programme pour traiter
séquentiellement un ensemble de données de 8 KiB (c'est-à-dire 213 octets) présent en
mémoire centrale. Le programme lit un octet à la fois et accumule sa valeur dans un registre
du processeur. On considère que cette accumulation (=addition) représente un cycle
d’horloge du processeur. Quel est le temps nécessaire pour réaliser cette tâche ?
A
8192 ns
B
3200 ns
C
4146 ns
D
7296 ns
5
Question 11 :
L’expression memory wall désigne :
A Un accroissement croissant du coût des technologies de stockage
B L’impossibilité de donner un accès rapide à une grande masse de donnée au processeur
du fait de l’espace nécessaire pour mémoriser une grande quantité de données.
C Une baisse de coût insuffisante des technologies de stockage à long terme
D L’accroissement des performances des mémoires en terme de capacité alors que les
processeurs s’améliorent en terme de vitesse.
-------------------------------------------------------------------------------------------------------------------------Question 12 :
Le stockage des données d’un fichier sur le disque dur est …
A organisé comme pour un tableau en mémoire centrale (en un seul bloc)
B constitué d’un ensemble de blocs qui sont systématiquement déplacés à chaque
modification du fichier pour être dans des secteurs consécutifs du disque.
C constitué d’un ensemble de blocs dont les adresses sont mémorisées dans une table
qui est entièrement recopiée en mémoire centrale lorsqu’on lit des données du fichier
D soumis au risque de fragmentation à cause des chocs thermiques.
6
Questions Ouvertes
Question 1 : Assembleur
Le pseudocode suivant calcule le PGCD (plus grand commun diviseur) de deux nombres entiers
strictement positifs a et b, avec a>b :
Tant que a%b (a modulo b) est différent de 0
c←b
b←a%b
a←c
Le résultat final est dans b.
On demande d’exprimer ce pseudocode en assembleur en supposant que les valeurs initiales
de a et de b sont respectivement dans r0 et r1. Le résultat doit être rangé dans r2. Voici
quelques précisions sur des instructions pouvant présenter une utilité :
cont_egal ra, rb, c fait continuer l’exécution à la ligne c si les registres ra et rb sont égaux.
modulo ra, rb, rc
calcule le reste de la division entière de rb par rc et range le résultat dans ra
………………………………………………………………………………………………………………………………………………….
………………………………………………………………………………………………………………………………………………….
………………………………………………………………………………………………………………………………………………….
………………………………………………………………………………………………………………………………………………….
………………………………………………………………………………………………………………………………………………….
………………………………………………………………………………………………………………………………………………….
………………………………………………………………………………………………………………………………………………….
………………………………………………………………………………………………………………………………………………….
………………………………………………………………………………………………………………………………………………….
………………………………………………………………………………………………………………………………………………….
………………………………………………………………………………………………………………………………………………….
………………………………………………………………………………………………………………………………………………….
………………………………………………………………………………………………………………………………………………….
………………………………………………………………………………………………………………………………………………….
………………………………………………………………………………………………………………………………………………….
………………………………………………………………………………………………………………………………………………….
………………………………………………………………………………………………………………………………………………….
………………………………………………………………………………………………………………………………………………….
Question 2 : Analyse des accès au cache
Nous voulons analyser l’efficacité d’un programme qui réalise un produit de matrices 2x2.
Chaque valeur d’une matrice est un mot (4 octets, 32 bits).
// x_mn = élément mn de la matrice x (m = ligne, n = colonne)
Pour i de 0 à 1:
pour j de 0 à 1:
r0 = 0
Pour k de 0 à 1:
r1 = a_ik
r2 = b_kj
r0 = r0 + (r1 * r2)
p_ij = r0
7
Les matrices sont rangées ligne par ligne en mémoire. Par exemple, une matrice A serait
rangée comme suit :
...
A_00
A_01
A_10
A_11
...
La mémoire cache a les caractéristiques et le comportement suivants :
• Le cache contient deux blocs
• Chaque bloc du cache contient deux mots de 4 octets chacun (= 8 octets)
• Approche de type Least Recently Used (LRU) lorsque’un bloc doit être remplacé
• Une action d’écriture du cache vers la mémoire centrale n’est faite que lorsqu’un bloc
modifié doit être remplacé par un autre bloc.
• Lorsque le programme prend fin, les dernières actions d’écriture du cache vers la
mémoire centrale doivent aussi être faites.
Alignement des matrices en mémoire : le premier élément d’une matrice apparait comme le
premier élément du cache. Par exemple, la lecture de A_00 provoque la lecture du bloc
contenant A_00 et A_01.
Dans l’analyse de l’exécution de ce programme on peut supposer que les variables i, j et k
sont mémorisées dans des registres et ne produisent pas de défaut de cache. Lorsque le
programme commence son exécution, aucune des 3 matrices A, B et P ne sont dans le cache.
Compléter le tableau ci-dessous en indiquant seulement les accès à la mémoire centrale en
lecture ou en écriture (pas les accès au cache). Préciser dans la colonne « bloc remplacé »
quel est le bloc, s’il y en a un, qui laisse sa place au nouveau bloc.
il peut y avoir plus de lignes que nécessaire :
Bloc lu
A_00 A_01
B_00 B_01
B_10 B_11
Type d’opération :
lecture/écriture
lecture
lecture
lecture
8
Bloc remplacé
aucun
aucun
B_00 B_01
Page vide utilisable comme brouillon, ne pas détacher
9
Ne rien écrire sur cette page,
Rappel : avez-vous complété le tableau en p1 ?
Présenter cette page sur le dessus dans les 2 cas suivants :
1) vous avez fini avant 15h30
2) les copies sont ramassées
10
Téléchargement