La compréhension de cache du PROCESSEUR et de la ligne de cache

J'essaie de comprendre comment le cache du PROCESSEUR est de l'exploitation. Disons que nous avons cette configuration (par exemple).

  • Taille du Cache 1024 octets
  • Ligne de Cache de 32 octets
  • 1024/32 = 32 lignes de cache tous ensemble.
  • Singel ligne de cache peut stocker 32/4 = 8 ints.

1) Selon la configuration de la longueur de la balise doit être 32-5=27 bits, et la taille de l'index de 5 bits (2^5 = 32 adresses pour chaque octet de la ligne de cache).

Si la taille totale du cache est de 1024 et il y a 32 lignes de cache, où est tags+index sont stockés? (Il y a un autre 4*32 = 128 octets.) Signifie que la taille réelle de la mémoire cache est de 1024+128 = 1152?

2) Si la ligne de cache est de 32 octets dans cet exemple, cela signifie que 32 octets obtention copié dans la mémoire cache whenerever CPU besoin pour obtenir de nouveaux octets de RAM. Suis-je en droit de supposer que la ligne de cache de la position de l'octet sera déterminé par son adresse?

C'est ce que je veux dire: si le CPU a demandé octet à [FF FF 00 08], puis disponibles de ligne de cache sera rempli avec des octets de [FF FF 00 00] à [FF FF 00 1F]. Et notre requseted seul octet sera à la position [08].

3) Si la déclaration est correcte, ça veut dire que 5 bits utilisés pour l'indice, sont techniquement pas nécessaire puisque tous les 32 octets sont dans la ligne de cache de toute façon?

S'il vous plaît laissez-moi savoir si j'ai eu quelque chose de mal.
Grâce

InformationsquelleAutor kirbo | 2011-02-15