2015-12-15 2 views
0

Votre ordinateur dispose d'une mémoire cache et d'une mémoire L1 avec les propriétés suivantes.Détermination des détails d'un cache

  • espace d'adressage de la mémoire: 24 bits
  • taille du bloc du cache: 16 octets
  • Cache associativité:
  • Caches directe cartographié Taille: 256 octets

Je me demande de déterminer ce qui suit: 1. le nombre de bits d'étiquette. 2. le nombre de bits de l'indice de trésorerie. 3. nombre de bits pour la taille du cache.

  1. bits d'étiquette = m - (S + b)

    m = s = 24. log2 S, S = C/(B * E). E = 1 en raison de sa cartographie directe. donc S = 256/16 = 16. s = log2 16 = 4. B = 16 (taille du bloc de cache) b = log2 B; qui est log2 16 = 4. donc s = 4, b = 4, m = 24. t = 24- (4 + 4) = 16 bits d'étiquette totale.

  2. Je ne suis pas sûr de comprendre cela.

  3. Je crois que le nombre de bits pour la taille du cache est juste C * (bits num/octet) = 256 * 8 = 2048.

Quelqu'un peut me aider à 2. et déterminer si les logique dans 1. & 3. sont corrects?

+1

Si l'espace d'adressage total est de 24 bits, alors le nombre de bits d'étiquette doit être inférieur à 24. En d'autres termes, je ne suis pas sûr d'où vous avez 'm = 32'. – user3386109

+0

J'ai mal interprété la question, m devrait être 24. – bkennedy

+0

Pour votre information future: S'il vous plaît [ne postez pas la même question sur plusieurs sites] (http://meta.stackexchange.com/q/64068). Chaque communauté devrait avoir une chance honnête de répondre sans que le temps soit gaspillé. Si vous n'obtenez pas de réponse satisfaisante après une semaine environ, n'hésitez pas à signaler la migration. Je vous remercie! –

Répondre

1

1) Ceci est correct pour m = 32 (n'est-ce pas 24?).

2) Le nombre de bits d'index: Le nombre de bits pour adresser un bloc dans le cache lorsqu'il a été mappé directement, puisqu'il identifie l'ensemble (qui consiste seulement en un bloc dans ce cas). Si c'était à 2 voies, un bit de moins serait nécessaire pour l'index (et ajouté aux bits d'étiquette). Pour ce problème, puisqu'il y a 16 ensembles, vous avez besoin de 16 bits d'index qui peuvent être représentés dans 4 bits d'index.

3) Il n'est pas complètement clair comment interpréter cette question. Je le comprendrais comme le nombre de bits nécessaires pour adresser le cache, ce qui serait 4 dans ce cas? Si en effet, comme vous le supposez, le nombre de bits dans le cache était destiné, vous devrez ajouter 16 * 16 bits pour les bits de tag à votre solution.

+0

comment déterminez-vous combien de bits sont nécessaires pour adresser le cache? – bkennedy

+0

Pour adresser une cacheline, vous avez besoin de bits log2 (cachesize/blocksize). Cependant, je ne suis pas entièrement sûr de ce que cela veut dire. L'avez-vous traduit en anglais? – Ctx

+0

Non, ceci est une copie exacte de la question qui est fournie sur ma finale d'entraînement pour un cours d'architecture informatique, @ctx – bkennedy