Mémoire cache
Un processeur de l’ordinateur est très rapide et est constamment la lecture des informations de la mémoire, ce qui signifie qu’il faut souvent attendre pour que l’information arrive, parce que le temps d’accès mémoire sont plus lents que la vitesse du processeur. Une mémoire cache est une petite mémoire, temporaire, mais rapide que le processeur utilise pour information, il est susceptible d’avoir besoin de nouveau dans un avenir très proche.
Non informatiques des exemples de mise en cache sont tout autour de nous. Les garder à l’esprit
vous aidera à comprendre la mise en cache mémoire de l’ordinateur. Pensez à un propriétaire avec un coffre à outils très grand dans le garage. Supposons que vous êtes propriétaire et que ce projet de rénovation de travailler dans le sous-sol. Vous savez ce projet nécessitera des perceuses, clés, marteaux, un ruban à mesurer, plusieurs types de scies, et beaucoup de différents types et tailles de tournevis. La première chose que vous voulez faire est de mesurer, puis couper du bois. Vous exécutez dans le garage, ruban à mesurer grabthe d’un coffre de rangement d’outils énormes, courir à la cave, de mesurer le bois, retournez dans le garage, quitter le ruban à mesurer, saisir la scie, puis retourner à la cave avec la scie et couper le bois. Maintenant, vous décidez de boulons quelques morceaux de bois ensemble. Donc vous lancez dans le garage, prenez l’ensemble de forage, redescendre à la cave, percer les trous pour mettre les boulons à travers, retourner au garage, quitter le plateau de forage, saisir une clé, revenir à la cave, à trouver la clé est la bonne taille, revenir à la boîte à outils dans le garage, prenez une autre clé, retournez en bas. . . attendre! Voulez-vous vraiment travailler de cette façon? Non! Etre une personne raisonnable, vous vous dites «Si j’ai besoin d’une clé, je vais probablement besoin d’une autre de taille différente bientôt de toute façon, alors pourquoi ne pas saisir l’ensemble des clés? » En allant un peu plus loin, vous la raison « Une fois que je suis fait avec un outil de certains, il ya une bonne chance je vais bientôt besoin d’un autre, alors pourquoi ne pas empaqueter un petite boîte à outils et le prendre à la cave? » De cette façon, vous gardez les outils dont vous avez besoin à portée de main, afin que l’accès est plus rapide. Vous venez en cache des outils pour un accès facile et une utilisation rapide! Les outils dont vous êtes moins susceptibles d’utiliser restent stockés dans un endroit qui est plus loin et exige plus de temps pour access.This est tout ce que la mémoire cache de fait: il stocke les données qui ont été consultées et les données qui pourraient être accessibles par le CPU dans un plus rapide, plus proche de la mémoire.
Une autre analogie cache se trouve dans l’épicerie. Vous rarement, voire jamais, allez à l’épicerie pour acheter un seul article. Vous achetez tous les éléments dont vous avez besoin immédiatement, en plus de points que vous allez utiliser le plus probable dans l’avenir. L’épicerie est similaire à la mémoire principale, et votre maison est le cache. Comme autre exemple, considérons combien d’entre nous transporter d’un carnet de téléphone complet. La plupart d’entre nous ont un carnet d’adresses petite place. Nous entrons dans les noms et numéros des personnes que nous avons tendance à appeler plus fréquemment; regarder un certain nombre dans notre carnet d’adresse est beaucoup plus rapide que de trouver un annuaire téléphonique, localiser le nom, puis obtenir le numéro. Nous avons tendance à avoir le carnet d’adresses à proximité à portée de main, tandis que le répertoire est probablement situé dans notre maison, cachée dans une table d’extrémité ou une bibliothèque quelque part. L’annuaire téléphonique est quelque chose que nous n’utilisons pas souvent, donc nous pouvons nous permettre de le stocker dans un peu plus hors de l’emplacement de chemin. En comparant la taille de notre carnet d’adresses pour l’annuaire téléphonique, nous voyons que le carnet d’adresses « mémoire » est beaucoup plus petite que celle d’un annuaire téléphonique. Mais la probabilité est très élevée que lorsque nous faisons un appel, il est à quelqu’un dans notre carnet d’adresse.
Les étudiants faisant des recherches offrent un autre exemple de cache courant. Supposons que vous écriviez un article sur l’informatique quantique. Voulez-vous aller à la bibliothèque, consultez un livre, retour à la maison, obtenir les informations nécessaires à partir de ce livre, revenir à la bibliothèque, consultez un autre livre, retour à la maison, et ainsi de suite? Non, vous allez à la bibliothèque et de vérifier tous les livres que vous pourriez avoir besoin et les ramener au bercail. La bibliothèque est analogue à la mémoire principale, et votre maison est, à nouveau, semblable à du cache.
Et comme un dernier exemple, examiner comment l’un de vos auteurs utilise son bureau. Tout le matériel qu’elle n’a pas besoin (ou n’a pas utilisé pendant une période de plus de six mois) se produit loin dans un grand ensemble de classeurs. Cependant, fréquemment utilisé « les données » restent empilés sur son bureau, à portée de main, et facile (parfois) à trouver. Si elle besoin de quelque chose à partir d’un fichier, elle a plus que probable que tire la totalité du fichier, et pas simplement un ou deux documents du dossier. L’ensemble du dossier est alors ajouté à la pile sur herdesk. Les classeurs sont ses «mémoire principale » et son bureau (avec ses nombreux inorganisés prospectifs pieux) est le cache.
La mémoire cache fonctionne sur les mêmes principes de base que les exemples précédents en copiant les données fréquemment utilisées dans le cache plutôt que d’exiger un accès à la mémoire principale pour récupérer les données. Cache peut être aussi inorganisé que le bureau de votre auteur ou organisée comme votre carnet d’adresse. De toute façon, toutefois, les données doivent être accessibles (repérables). La mémoire cache dans un ordinateur diffère de nos exemples réels d’une manière importante: L’ordinateur a vraiment aucun moyen de savoir, a priori, quelles sont les données les plus susceptibles d’être consulté, de sorte qu’il utilise le principe de localité et les transferts d’un bloc entier de mémoire principale dans le cache chaque fois qu’il a à faire un accès à la mémoire principale. Si la probabilité d’utiliser autre chose dans ce bloc est élevé, puis de transférer l’ensemble du bloc permet d’économiser sur le temps d’accès. L’emplacement du cache pour ce nouveau bloc dépend de deux choses: la politique de la cartographie du cache (discuté dans la section suivante) et la taille du cache (ce qui affecte s’il ya place pour le nouveau bloc).
La taille de la mémoire cache peut varier énormément. Un personnel typique computer’slevel 2 (L2) est 256K ou 512K. Cache de niveau 1 (L1) est plus petit, généralement 8K ou 16K. Cache L1 réside sur le processeur, mémoire cache L2 alors que réside entre le CPU et la mémoire principale. Cache L1 est donc plus rapide que L2 cache.The relation entre L1 et L2 cache peut être illustrée en utilisant notre exemple épicerie: Si le magasin est la mémoire principale, vous pouvez envisager votre réfrigérateur le cache L2, et la table réelle de la L1 cache.
Le but de la mémoire cache est d’accélérer les accès mémoire en stockant récemment
utilisé des données plus proches de l’UC, au lieu de le stocker dans la mémoire principale. Bien
cache n’est pas aussi grand que la mémoire principale, il est beaucoup plus rapide. Alors que la mémoire principale est généralement composé de DRAM avec, disons, un accès en temps 60ns, le cache est généralement composée de SRAM, offrant un accès plus rapide avec un temps de cycle beaucoup plus court que la DRAM (cache un temps d’accès est typique de 10ns). Cache n’a pas besoin d’être très grand pour bien performer. Une règle générale est de faire de cache assez petit pour que le coût global moyen par bit est proche de celle de la mémoire principale, mais assez grand pour être bénéfique. Parce que cette mémoire rapide est assez cher, il n’est pas possible d’utiliser la technologie dans la mémoire cache de construire l’ensemble de la mémoire principale.
Ce qui rend le cache « spécial »? Cache n’est pas accessible par l’adresse, elle est accessible par le contenu. Pour cette raison, le cache est parfois appelé la mémoire adressable de contenu ou CAM. Dans la plupart des schémas de configuration du cache, les entrées du cache doit être vérifiée ou cherché à voir si la valeur demandée est stockée dans le cache. Afin de simplifier ce processus de localiser les données souhaitées, divers algorithmes de cartographie cache sont utilisées.
1) Direct Mapping
2) la cartographie associative
3) Réglez la cartographie associative