Un microprocesseur pour agir sur la mémoire Version imprimable Suggérer par mail
Appréciation des utilisateurs: / 0
FaibleMeilleur 

MICROPROCESSEUR <--Adresse--> Cache Interne <--Adresse--> Mémoire centrale
MICROPROCESSEUR <--Données--> Cache Interne <--Données--> Mémoire centrale
Cache interne <--Contrôle--> Cache Interne <--Contrôle--> Mémoire centrale



2.3.1 Les Bus De Communication
Un bus est un groupement de conducteurs électriques, représentant chacun une variable logique, qui sert à faire transiter des informations entre plusieurs éléments.
2.3.1.1 Le bus d'adresse
Ce bus, d'une taille de 20 bit sur un PC XT, à été porté à une taille de 32 bits à partir du 386. Sa tache est de fournir l'adresse visée par le microprocesseur au contrôleur de mémoire. Ce bus est unidirectionnel, l'information ne vas que dans le sens :
microprocesseur  périphérique.
2. 3. 1. 2 Le bus de données
C'est par ce bus que le microprocesseur transmet des données à ses circuits périphériques, ce bus de 8 bits dans le 8088 à été porté à 32bits dans le 386 puis à 64 bits dans le pentium. Ce bus est bidirectionnel, il permet au microprocesseur de lire des données, tous comme, il lui permet d'en écrire.
2. 3. 1. 3 Le bus de contrôle
C'est par ce bus que vas être communiqué le sens du transfert sur le bus de données (lecture ou écriture) ainsi que la taille du transfert (8,16, 32, 64 bits). C'est aussi par ce bus que le circuit périphérique dira au microprocesseur s'il est prêt à émettre ou recevoir des données.
2.3.1.4 Mécanisme d'accès mémoire
Dans un premier temps nous ignorerons le rôle joué par la mémoire cache.

a)Accès en lecture: Le microprocesseur transmet par le bus d'adresse l'adresse de la mémoire dont il veut lire le contenu, il place sur le busde contrôle la taille de la donnée qu'il veut lire, et l'ordre LECTURE. A partir de ce moment la, le microprocesseur scrute le bus de contrôle pour savoir si la donné est arrivée, ou si il faut encore attendre. Dés que le bus de contrôle informe le microprocesseur que la donnée est disponible, le microprocesseur lit la donnée sur son bus de donnée.

b)Accès en écriture: Le microprocesseur transmet par le bus d'adresse l'adresse de la mémoire ou il veut écrire, il place sur le bus de contrôle la taille de la donnée qu'il veut écrire ainsi que l'ordre ECRITURE. Il place sur le bus de données la donnée à écrire. A partir de ce momentla, le microprocesseur scrute le bus de contrôle pour savoir si la donnée à été écrite en mémoire. Dés que le bus de contrôle informe le microprocesseur que la donnée à été écrite, le microprocesseur peut continuer son travail.
2.3.1.5 Temps d'accès mémoire
C'est un chiffre exprimé généralement en ns (nano secondes) qui détermine le temps qui vas s'écouler entre la demande de lecture (ou d'écriture) mémoire et sa réalisation. On peut faire l'analogie entre un temps accès mémoire et le temps qu'il faut pour ouvrir un tiroir et ainsi  accéder à son contenu. Avec de la mémoire à 80ns ( la vielle RAM avant que l' EDO n'apparaisse), il s'écoule donc 80ns entre la demande. d'écriture (ou de lecture) et sa réalisation, cela peut vous paraître très peu, mais pourtant c'est énorme à l'échelle du microprocesseur.

En sachant qu'un pentium à 100Mhz, exécute une instruction (parfois 2) en 10ns, on à le temps d'exécuter 8 instructions en attendant une écriture mémoire, sur un pentium 200 c'est pire, on peut en exécuter environ 16. Dans les microprocesseurs anciens (avant le 486), le microprocesseur ne pouvait rien faire en attendant l'écriture, il bloquait, maintenant on peut exécuter des instructions en parallèle avec une demande d'accès mémoire.

2.3.2 La Mémoire Cache
2.3.2.1 La mémoire cache interne
Il s'agit d'une mémoire un peut spéciale, quand à sa constitution, à son rôle, et à l'endroit ou elle se trouve.

Reprenons nos fameux tiroirs:

Vous êtes donc dans votre bureau, au fond de la pièce, une grande armoire qui comporte tous les tiroirs dont nous parlions précédemment. Votre entreprise ayant réalisé de gros bénéfices vous avez acheté un grand bureau et employé une secrétaire.

La taille de votre bureau vous permet de poser dessus environs une vingtaine de dossiers en plus de votre espace de travail. Si vous avez besoin d'un dossier particulier, dans un premier temps vous regardez s'il n'est pas sur votre bureau, s'il y est vous le prenez. Si votre dossier n'est pas sur le bureau, vous allez demander à votre secrétaire de vous l'apporter (car vous êtes très fainéant), Cette opération prendra un certain temps, et vous serez tenté de conserver ce dossier sur votre bureau au cas ou il serait à nouveau utile. La fin de la journée arrive et votre bureau est encombré de dossiers, il vous en faut un autre, vous appelez votre secrétaire qui vous l'apporte, et comme il ne reste plus de place sur votre bureau, vous faites ranger à votre secrétaire un dossier dont vous pensez ne plus avoir besoin.

Et bien la mémoire cache fonctionne exactement sur ce principe. Vous êtes le microprocesseur, votre bureau la mémoire cache, et votre secrétaire le contrôleur mémoire qui gère vos tiroirs de mémoire.

Quand le microprocesseur à besoin d'une donnée stockée en mémoire:
Il regarde si cette donnée est dans le cache, si elle y est il la lit, si elle n'y est pas, il demande au contrôleur mémoire d'aller la chercher dans la mémoire centrale, il l'utilise alors tout en la gardant soigneusement dans le cache. Si maintenant le cache est plein, alors il supprime du cache la donnée qui y est restée le plus longtemps sans être utilisée, et donne la place disponible à la nouvelle donnée.

La mémoire cache interne, qui est comme son nom l'indique interne au microprocesseur, est très rapide d'accès, on peut considérer son temps de réponse comme nul. On peut se poser la question de savoir pourquoi toute la mémoire de l'ordinateur n'est pas de la mémoire cache, en fait la raison est d'ordre économique: La mémoire cache est encore très chère, un ordinateur composé uniquement de mémoire cache serait hors de prix. Un exemple intéressant de mémoire cache est celle du pentium pro dont la capacité à été portée à 256Ko, ce qui est énorme pour un cache interne.

Quelques chiffres:

Microprocesseur

Bus De Donnees

Bus D'adresses

Taille Ducache

8088

8

20

0

8086

16

20

0

80286

16

24

0

80386SX

16

32

0

80386DX

32

32

0

80486SX

32

32

4Ko

80486DX

32

32

4Ko

80486DX2

32

32

8Ko

80486DX4

32

32

16Ko

PENTIU

64

32

16Ko

CYRIX 686

64

32

16Ko

PENTIUM PRO

64

32

256Ko



2.3.2.2 La mémoire cache externe
Le volume de votre entreprise augmente, et décidément votre secrétaire devient insupportable, elle n'accepte plus de faire des centaines de trajets tiroirs - bureau par jour.

L'idée vous vient d'installer entre votre bureau et les tiroirs de l'armoire une table basse sur laquelle vous pourrez entreposer plus d'une centaine de dossiers. Ainsi avec cet ingénieux système les trajets bureau - tiroirs seront moins fréquents.
Si vous avez besoin d'un dossier, dans un premier temps vous regarderez s'il se trouve sur votre bureau, si c'est le cas vous le prenez et c'est fini. Si votre dossier ne se trouve pas sur le bureau, vous pouvez regarder s'il n'est pas sur la table basse, s'il y est, il suffit de tendre le bras pour le prendre, ce qui est tout de même plus rapide que d'appeler la secrétaire. Et comble de malchance il n'est pas sur la table basse ( il s'agit sûrement d'un nouveau dossier que vous n'avez pas regardé de la semaine), la secrétaire vous l'amènera avec le sourire.

Votre table basse remplis le même rôle que votre bureau, au détail près qu'elle est un peut plus difficile d'accès et qu'on peut entreposer dessus plus de dossiers.

Et bien dans un ordinateur le cache de second niveau rempli exactement le même rôle que la table basse de votre bureau, il permet de garder de coté des données auxquelles on accède relativement souvent. On pourrait très bien imaginer que dans le futur des ordinateurs
contiennent des caches de troisième ou de quatrième niveau.

La taille des caches de second niveau à augmenté ces dernières années, ils faisaient 32Ko sur les 386, 128Ko sur les 486, il font maintenant de 256Ko à 512Ko sur les pentiums les plus récents. La technologie mémoire qu'ils utilisent, permet, actuellement, d'accéder à une donnée en environ 20ns.

En gérant la mémoire virtuelle (sur le disque dur), windows 3.1 ou windows 95 créent un niveau de cache supplémentaire, le cache de premier niveau est dans votre microprocesseur, le cache de second niveau est sur la carte mère de votre ordinateur, la RAM de votre ordinateur compose le cache de troisième niveau, et l'équivalent de la mémoire est
maintenant le disque dur.

Le microprocesseur cherche la donnée dans son cache, si elle n'y est pas, on cherche dans le cache de second niveau, si elle n'y est pas on la cherche dans la mémoire centrale, et si comble de malchance, on ne la trouve pas, on va donc la chercher sur le disque dur (ce qui prend beaucoup de temps).

Ne vous affolez pas, au fond ce n'est pas vous le programmeur qui devra gérer tout cela, le microprocesseur s'en charge tout seul. Il existe cependant un intérêt certain à connaître ces mécanismes, on peut se débrouiller, quand on écrit un programme en assembleur (et même en C), pour faire la maximum d'accès mémoire dans le cache et donc le minimum dans la mémoire centrale, ce qui à pour conséquence d'accélérer notablement la vitesse d'exécution, on a alors optimisé pour le cache, nous y reviendrons.

Une imperfection réside dans l'analogie entre les tiroirs et la réalité des accès mémoire: Quand vous accédez à une donnée mémoire, elle reste évidemment présente dans la mémoire, en fait vous faites une sorte de duplication à autre vitesse, une sorte de photocopie de dossiers.
Commentaires (0)Add Comment

Ecrivez un commentaire
quote
bold
italicize
underline
strike
url
image
quote
quote
smile
wink
laugh
grin
angry
sad
shocked
cool
tongue
kiss
cry
Réduire l'éditeur | Agrandir l'éditeur

security code
Entrez les caractères affichés


busy
 
< Précédent   Suivant >

Vidéos aléatoires

Les Tsunamis ou Vague scélérate
Moyenne:
Clics:97
Maths - Equation d´une droite (Niveau : Troisième / Seconde)
Moyenne:
Clics:354
cosinus d´un angle
Moyenne:
Clics:60
fonction affine
Moyenne:
Clics:49

Liens

Liens

Syndication

Qui est en ligne

Il y a actuellement 1 invité en ligne

Identification






Mot de passe oublié ?
Pas encore de compte ? Enregistrez-vous