Ce videoclip produit par l’Ecole Polytechnique Fédérale de Lausanne fait partie de son cours d’introduction à l’information, à la communication, et au calcul. Il s’inscrit dans le 3e module de ce cours qui porte sur le fonctionnement et la sécurité des systèmes informatiques.
Où en sommes-nous ? Technologie des mémoires Hiérarchie de mémoires Concept Objectif Réalisation Lecture Ecriture Gestion LRU Exemple Pourquoi – Localité Faisant suite aux videoclips précédents, le présent clip introduit les bases de la réalisation pratique d’une gestion automatisée des transferts de données entre mémoire cache et mémoire principale d’un ordinateur à mémoires hiérarchiques. Les clips suivants se pencheront plus en détails sur les opérations d’importation (lecture), et d’exportation (écriture), et sur l’algorithme de gestion (LRU).
Implémentation logique de la mémoire (cache et centrale) La mémoire est composée de MOTS Typiquement 4 octets (32 bits) ou 8 octets (64 bits) par mot Chaque mot a une adresse entre 0 et N Pour aborder cette discussion il est nécessaire de visualiser un modèle conceptuel de la mémoire d’un ordinateur. Conceptuellement une telle mémoire est simplement une suite de mots de 4 ou parfois 8 octets, identifiés par leur adresse, c.à.d. leur numéro de séquence de 0 à N, N étant la taille de la mémoire. …. La mémoire comme table de mots 1 2 3 4 N
Accès logique à la mémoire (cache et centrale) Processeur Le processeur donne à la mémoire … un ordre de lecture / écriture … l’adresse du MOT concerné D’un point de vue strictement logique le processeur ne connait que les adresses de ces mots. Quand il désire lire ou écrire le contenu d’un de ces mots, il présente à la mémoire l‘adresse de ce mot et indique son désir de le lire ou de l’écrire. Lire / écrire @ adresse 4 …. 1 2 3 4 N
Accès logique à la mémoire (cache et centrale) En cas de lecture la mémoire renvoie au processeur le contenu du mot de mémoire concerné En cas d’écriture le processeur donne en plus le contenu du registre à sauvegarder Processeur registre contenu En cas de lecture la mémoire renvoie au processeur le contenu du mot de mémoire concerné. 1 En cas d’écriture le processeur donne en plus le contenu du registre à sauvegarder. contenu contenu …. 1 2 3 4 N
Implémentation physique de la mémoire (cache et centrale) mémoire principale …. 4 N cache .. BLOC de 4 mots (128 ou 256 bits) processeur MOT (32 ou 64 bits) Cache et mémoire centrale sont organisées en BLOCS Le transfert de données entre les deux se fait en blocs Maintenant du point de vue de la réalisation physique de cette mémoire, 1 Cache et mémoire centrale sont toutes les deux organisées en BLOCS de plusieurs mots, … 2 … et le transfert de données entre les deux se fait en blocs – de 4 mots dans l’exemple ci-contre.
Implémentation physique de la mémoire (cache et centrale) mémoire principale …. 4 N cache .. BLOC de 4 mots (128 ou 256 bits) processeur MOT (32 ou 64 bits) La mémoire centrale est plus lente que la mémoire cache Mais elle échange 4 x plus d’informations en un coup ! Il est important de souligner ici que … 1 … la mémoire principale est certes plus lente que la mémoire cache … 2 … mais elle transfert à chaque fois 4 mots avec la mémoire cache alors que celle-ci n’en échange qu’un à la fois avec le processeur. L’échange est donc 4 x plus volumineux entre mémoire principale et mémoire cache qu’entre entre mémoire cache et processeur.
Implémentation physique de la mémoire cache = mémoire associative Comment savoir quels mots de la mémoire centrale se trouvent où dans la mémoire cache ? Chaque bloc de la mémoire cache est doté de bits supplémentaires Ces bits contiennent l’adresse du bloc correspondant dans la mémoire centrale cache Mais comment peut-on quels mots de la mémoire centrale se trouvent – et comment les localiser – dans mémoire cache? 1 Pour cela chaque bloc de la mémoire cache est doté de bits supplémentaires. 2 Ces bits contiennent l’adresse du 1er mot du bloc correspondant dans la mémoire centrale. Ainsi équipée, la mémoire cache se comporte comme ce qu’on appelle une mémoire associative, c.à.d. que son contenu n’est plus repéré par une adresse entre 0 et N interprétée comme un index séquentiel mais bien comme un identificateur à associer à celui de l’une de ses entrées. …. 8 23 17 90 14 8 23 17 90 14 adresse données