Vous êtes sur la page 1sur 5

Architecture des Ordinateurs

Travaux Dirigés : Les Mémoires

Exercice 1 :

Dans la plus part des ordinateurs, les adresses des emplacements mémoires sont
exprimés en hexadécimal. Ces adresses sont des nombres séquentiels qui identifient
chacune des cases mémoires.
1. Un certain ordinateur peut stocker des nombres de 8 bits dans chacune de ses
cases mémoires. Si l’intervalle des adresses mémoires va de 000016 à FFFF16.
a) Calculer le nombre des cases mémoires qui possède cet ordinateur.
b) Calculer la taille totale de cette mémoire.
2. Un autre ordinateur possède 4096 emplacements en mémoire.
a) Donnez un intervalle de ses adresses exprimées en hexadécimal.
b) Déterminer l’adresse en hexadécimal du dernier case mémoire sachant que la
première case est d’adresse 10016

Exercice 2 :

Un ordinateur personnel possède les places mémoires utilisables qui ont les
adresses hexadécimales suivantes : 20016 à 3FF16 et 400016 à 7FD016. Dites quel est
le nombre total des places mémoires disponibles.

Exercice 3 :

On considère une mémoire centrale de 2Mbytes, où chaque byte est adressable


séparément.
1. Calculer l’adresse, en octal, du sixième élément d’un tableau dont l’adresse du
premier élément est 778, et dont tous les éléments sont composés de 16 bits.
2. Calculer, en décimal, le nombre de Bytes précédent l’adresse 778.
3. Calculer la taille de cette mémoire en l’exprimant en mots de 16 bits et en
mots de 32 bits.

Exercice 4 :

Dans une mémoire la taille du bus d’adresses K=14 et la taille du bus de données
n=4.
1. Calculer la capacité de cette mémoire en bits.
2. Calculer la capacité de cette mémoire en mot de 4 bits, mot de 16 bits et mot
de 32bits.

Exercice 5 :
On veut réaliser une mémoire de 1Ko (la taille d’un mot est de 8 bits) en utilisant
des boîtiers de taille 256 mot de 4 bits.
1. Déterminer la taille du bus d’adresses du mémoire et du boitier.
2. Déterminer la taille du bus de données du mémoire et du boitier.
3. Déterminer le nombre de boitier.
Architecture des Ordinateurs
Travaux Dirigés 2 : Les Microprocesseurs

Exercice 1 :

Deux processeurs A et B utilisent les mêmes instructions, mais sont implémentés de


façon différente. Le cycle d'horloge du processeur A est de 1ns et celui du processeur
B de 2ns. Le nombre de coups d'horloge moyen par instruction pour exécuter un
programme sur le processeur A est de 2. Par contre, pour le même programme ce
nombre est de 1.2 pour le processeur B. Sur quelle machine le programme
s'exécutera-t-il plus rapidement, est dans quel rapport?

Exercice 2 :

Les instructions exécutées sur un processeur peuvent être classées en trois catégories
selon le nombre de coups d'horloge nécessaires pour leur exécution:

Catégorie Coups d'horloge


A 1
B 2
C 3

Deux compilateurs différents génèrent, pour un même programme, les mélanges


d'instructions suivants (le nombre d'instructions pour chaque catégorie est donné en
milliards):

Compilateur Catégorie A Catégorie B Catégorie C


X 5 1 1
Y 10 1 1

En supposant que la fréquence d'horloge du processeur est de 500MHz, lequel des deux
mélanges va s'exécuter le plus rapidement? Quelle est la performance en MIPS dans le
deux cas?

Exercice 3 :

Les instructions exécutées sur un processeur peuvent être classées en trois catégories
selon le nombre de coups d'horloge nécessaires pour leur exécution:
Catégorie Coups d'horloge Type d'instruction
A 1 Instructions simples et cache hits
B 4 Instructions complexes
C 30 Cache miss
La proportion typique de ces types d'instructions lors de l'exécution est la suivante: 70%
catégorie A, 10% catégorie B, 20% catégorie C.
Trois améliorations sont proposées pour ce processeur:
• la fréquence d'horloge peut être doublée (amélioration X), ou
• la vitesse du bus système peut être doublée (amélioration Y), ou
• la taille du cache de niveau 1 peut être doublée (amélioration Z).
Les deux premières améliorations ont un effet sur le nombre de coups d'horloge
nécessaires pour l'exécution des instructions:

Catégorie Coups d'horloge Coups d'horloge Coups d'horloge


(pas d'amélioration) (Amélioration X) (Amélioration Y)
A 1 1 1
B 4 4 4
C 30 60 15

La troisième amélioration modifie la proportion typique des instructions lors de


l'exécution:

Catégorie Pas d'amélioration amélioration Z


A 70% 80%
B 10% 10%
C 20% 10%

Pouvez-vous expliquer en quelque phrase les changements apportés par chacune des
améliorations sur le rapport coups d'horloge par instruction et sur la proportion typique
des instructions? Quel est le temps d'exécution d'un programme qui comporte 10
milliards d'instructions avec la proportion typique pour le processeur original et pour
chacune des trois améliorations, si on suppose que la fréquence d'horloge initiale est de
500MHz?
Architecture des Ordinateurs
Travaux Dirigés 3 : Les Disques durs

1. Capacité d’un disque dur


Nous disposons d’un disque dur ayant

• 1020 cylindres,
• 63 secteurs par piste,
• 512 octets par secteur,
• 250 têtes,
• une vitesse de rotation de 7200 tours/minute,
• un temps de déplacement moyen de 8ms
• un temps de déplacement minimal de 2ms.

Calculer la taille des cylindres, la capacité de chaque plateau et du disque.

La capacité du disque = nombre de cylindres * nombre de secteurs/piste * nombre d’octets/secteurs


* nombre de têtes

La capacité du disque =

2. Temps d’accès
Rappel : Le temps d'accès (ou le temps moyen d'accès) est le temps moyen entre la demande
de lecture d’un secteur et la mise à disposition du résultat sur l’interface :

Temps d’accès (moyen) = Temps de déplacement moyen + Temps (moyen) de latence + Temps de
lecture d’un secteur

Le temps (moyen) de latence représente la durée moyenne d’attente une fois sur la bonne
piste.
Pour la série de disques durs IBM GXP 75, calculer le temps d’accès moyen, sachant que
• le temps de déplacement vaut : 8,5 ms,
• le nombre de cylindres est 16383,
• le nombre de secteurs est 63,
• chaque secteur contient 512 octets
• la vitesse de rotation du disque vaut 7200 tours/min.

Temps de latence = demi-durée d’un tour

Temps de latence =

Temps de lecture du secteur = durée d’un tour/ # secteurs

Temps de lecture du secteur =

Le temps d’accès moyen =


3. Importance du temps d’accès

Prenons 2 disques aux caractéristiques suivantes :

Disque 1 : Disque 2 :
Vitesse de rotation : 7200tr/mn Vitesse de rotation : 5400tr/mn
Nombre de secteurs/piste : 32 Nombre de secteurs/piste : 32
Octets /secteur : 512 Octets /secteur : 512
Temps de déplacement moyen : 9ms Temps de déplacement moyen : 4ms
Temps de déplacement minimum : 3ms Temps de déplacement minimum : 2 ms
Nombre de plateaux : 128 Nombre de plateaux : 128

• Calculer le débit de chaque disque.

Débit = (# tours/mn) / 60s * (#secteurs/piste) * (taille secteur)

• Calculer le temps d'accès de chaque disque (pour lire un secteur).

Temps d’accès (moyen) = Temps de déplacement moyen + Temps (moyen) de latence + Temps de
lecture d’un secteur

Faisons lire à chacun de ces disques un fichier de 5 Mo dispersé sur 1000 blocs de
l'ensemble du disque dur. Calculer le temps de lecture du fichier pour chaque disque. Qu'en
concluez- vous ?

Temps de lecture du fichier = [# blocs * (Temps de déplacement moyen + Temps de latence) ] +(taille
fichier / débit)

Disque 1 :
Débit =
Temps de latence =
Temps de lecture d'un secteur =
Temps d'accès =
Le temps de lecture du fichier =

Disque 2 :
Débit =
Temps de latence =
Temps de lecture d'un secteur =
Temps d'accès =
Le temps de lecture du fichier =