Connaissances Informatiques >> programmation >> C /C + + Programming >> Content
  Derniers articles
  • Qu'est-ce qu'un code d'en-tête ? 
  • Comment faire une chaîne en un tabl…
  • Comment connecter C # pour MS Excel 
  • Comment vider la mémoire tampon en …
  • Qu'est-ce que la prise de décision …
  • Comment passer un vecteur de contene…
  • Comment débogage dans Visual C + + 
  • Les projets ASP.NET et de codificati…
  • Comment obtenir un prototype de fonc…
  • Comment créer un vecteur de tableau…
  •   C /C + + Programming
  • C /C + + Programming

  • Computer Programming Languages

  • Delphi Programming

  • Programmation Java

  • Programmation JavaScript

  • PHP /MySQL Programmation

  • programmation Perl

  • Programmation Python

  • Ruby Programming

  • Visual Basics programmation
  •  
    C /C + + Programming

    Qu'est-ce que le mappage direct et sa fonction ?

    Le mappage direct est une conception de mémoire cache dans laquelle chaque adresse mémoire est mappée sur une ligne de cache spécifique. Cela signifie qu'il n'y a qu'un seul emplacement de cache possible pour chaque adresse mémoire. Le mappage direct est simple à mettre en œuvre et nécessite une faible surcharge matérielle, mais il peut entraîner des conflits de cache si plusieurs adresses mémoire sont mappées sur la même ligne de cache.

    Pour calculer l'index de ligne de cache pour une adresse mémoire donnée, l'adresse mémoire est divisée par la taille de la ligne de cache. Le reste de cette division est l'index de la ligne de cache. Par exemple, si l'adresse mémoire est 0x100 et que la taille de la ligne de cache est de 16 octets, l'index de la ligne de cache est 4.

    La fonction de mappage direct mappe une adresse mémoire à un index de ligne de cache selon la formule suivante :

    ```

    cacheLineIndex =adresse mémoire mod cacheLineSize

    ```

    Où:

    * cacheLineIndex est l'index de la ligne de cache

    * adresse mémoire est l'adresse mémoire

    * taille de la ligne de cache est la taille de la ligne de cache

    Voici un exemple du fonctionnement du mappage direct. Considérons un cache avec une taille de ligne de cache de 16 octets. Le tableau suivant présente les adresses mémoire mappées à chaque index de ligne de cache :

    | Index des lignes de cache | Adresses mémoire |

    |---|---|

    | 0 | 0x000, 0x010, 0x020, ..., 0x0F0 |

    | 1 | 0x100, 0x110, 0x120, ..., 0x1F0 |

    | 2 | 0x200, 0x210, 0x220, ..., 0x2F0 |

    | 3 | 0x300, 0x310, 0x320, ..., 0x3F0 |

    | ... | ... |

    Maintenant, disons que nous voulons accéder à l'adresse mémoire 0x123. Pour calculer l'index de ligne de cache pour cette adresse, nous divisons 0x123 par 16. Le reste de cette division est 3. Par conséquent, l'index de ligne de cache pour l'adresse mémoire 0x123 est 3.

    Selon le tableau ci-dessus, l'index de ligne de cache 3 correspond aux adresses mémoire 0x300, 0x310, 0x320, ..., 0x3F0. Par conséquent, l'adresse mémoire 0x123 est mappée sur la ligne de cache qui contient les adresses mémoire 0x300, 0x310, 0x320, ..., 0x3F0.

     
    Article précédent:
    Article suivant:
    Articles recommandés
  • Comment faire un rectangle avec une fonction récursive en C + + 
  • Comment faire pour utiliser des modèles de fonction en C + + 
  • C Erreurs de programmation et comment les corriger 
  • Comment ignorer les lignes de commentaires en C + + 
  • Comment ajouter des lignes à un Datagrid 
  • Comment compiler en utilisant Dev C + + 
  • Comment fermer des fichiers dans C 
  • Quel est l’exemple d’une DLL ? 
  • Comment écrire une définition pour une fonction Interleave Ce remaniement des Lettres en C + + 
  • Comment inverser un tableau en C + + 
  • Connaissances Informatiques © http://www.ordinateur.cc