Ipst-cnam - 2013-2014
NSY 104 TD n°1
Exercice 1 :
Complétez le schéma suivant:
Exercice 2 :
Le temps CPU peut se décomposer en deux parties indépendantes :
- le nombre de cycles d'horloge nécessaires à l'exécution du programme (Nx)
- le nombre de cycles d'horloge nécessaires à attendre une donnée de la mémoire (Nw).
On peut donc écrire Tcpu = Tcycle*(Nx+Nw).
1) Exprimer Nw en fonction de : - Nat : nombre total d'accès mémoire
- Mrate: taux d'échec lors d'une reqête au cache
- Mpenalty: coût d'un écher en termes de cycles d'horloge.
On suppose que le nombre de cycles d'horloge nécessaires à la recherche dans le cache est inclus dans Nx. 2) En déduire l'expression de Tcpu en fonction de :
- IC : nombre d'instructions exécutées
- CPIx : nombre moyen de cycles pour exécuter une instruction - Na: nombre moyen d'accès au cache par une instruction - Mrate
- Mpenalty
3) Soient les caractéristiques suivantes :
- Temps d'accès mémoire sans passer par le cache = 2 cycles d'horloge.
- Mpenalty = 6 cycles d'horloge.
- Mrate = 11 %
- CPIx = 8,5 cycles d'horloge.
- Na = 3 accès mémoire par instruction
Quel est l'impact sur les performances de l'utilisation d'un tel cache ? Exercice 3 :
On considère un ordinateur possédant la hiérarchie suivantes avec 3 mémoires, M1, M2 et M3.
On donne les caractéristiques suivantes pour chaque mémoire :
Capacité Si (bit) Coût (€/bit) Temps Ti d'accès (s) Hit Ratio
M1 1024 1.0 10-8 0.9
M2 216 0.1 10-6 0.9999
M3 224 0.01 10-3 1.0
Remarques :
- Hi est le Hit Ratio, il représente la proportion d'accès mémoire réussi au niveau i (présence de donnée).
- Dans le temps d'accès Ti, le temps de chargement d'un bloc en cas d'échec est pris en compte.
1) Calculer le coût total de la mémoire Ct. 2) Calculer le coût moyen par bit Cm.
3) Notons Pi la probabilité qu'une donnée soit présente au niveau i et absente au niveau j avec j<i. Calculer les valeurs de Pi pour chaque niveau de la hiérarchie.
4) Calculer le temps d'accès moyen Tm à une information.
Exercice 4 :
Calculez les taux de transfert suivants :
EDO SDRAM SDRAM PC100 SDRAM PC2100 (DDR)
Largeur du bus (bits) 32 64 64 64
Fréquence du bus (Mhz) 66 66 100 133
Taux de transfert (Mo/s)
Exercice 5 :
Nous considérons ici un processeur de la famille i86 à 16 bits de données et 16 bits d'adresse. Ci-dessous un extrait du jeu d'instruction de ce processeur.
Opération Code opération Taille opérande Nombre de cycles
MOV AX, valeur B8 2 4
MOV CX, valeur B9 2 4
ADD AX,CX 01 C8 2
ADD CX,AX 01 C1 2
ADD AX,valeur 05 2 4
ADD CX,valeur 81 C1 2 4
INC AX 40 2
INC CX 41 2
CMP AX,adresse 3B 06 2 9
CMP CX,adresse 3B 0E 2 9
CMP AX,valeur 3D 1 4
CMP CX,valeur 81 F9 1 4
JE adresse 74 1 16
JNE adresse 75 1 16
JMP adresse EB 1 15
1) Détaillez les opérations élémentaires effectuées par les instructions suivantes : INC CX MOV AX,0000 CMP CX,[0000]
2) Le temps d'accès à la mémoire à partir du moment où l'on active l'adresse posée sur le bus d'adresse (validation par le processeur) jusqu'au moment ou la donnée est chargée sur le bus d'adresse (validée par la mémoire) est appelé EA.
Déterminez la durée d'exécution des instructions de la question précédente.
3) Écrire un programme (suite d'instructions) qui fait la somme des N premiers entiers. N est stocké en mémoire à l'adresse 0000. Le programme est à l'adresse 8000.
4) Calculez la durée du programme en fonction de N.