2010-12-13 94 views
2

Nos enseignants nous ont posé environ 50 questions vraies de fausses questions en préparation de notre examen final. Je pourrais trouver une réponse pour la plupart d'entre eux en ligne ou en demandant à un parent. Cependant, ces 4 questions me rendent fou. La plupart de ces questions ne sont pas si difficiles, je ne peux pas obtenir n'importe quelle réponse satisfaisante nulle part. Désolé, les questions d'origine ne sont pas écrites en anglais, j'ai dû les traduire moi-même. Si vous ne comprenez pas quelque chose, dites-le moi s'il vous plaît. Merci!4 questions sur l'architecture du processeur. (Ingénierie informatique)

Vrai ou Faux

  1. La taille de l'adresse manipulée par le processeur détermine la taille de la mémoire virtuelle. Cependant, la taille du cache mémoire est indépendante. Pendant longtemps, la technologie DRAM est restée incompatible avec la technologie CMOS utilisée pour faire la logique standard dans le processeur. C'est la raison pour laquelle la mémoire DRAM est (la plupart du temps) utilisée en dehors du processeur (sur une puce différente). La pagination permet de faire correspondre un espace d'adressage virtuel multiple à un même espace d'adressage physique. Une mémoire cache associative avec des ensembles de 1 ligne est une antémémoire entièrement associative, car un bloc de mémoire peut aller dans n'importe quel ensemble puisque chaque ensemble est de la même taille que celui du bloc.
+0

Avez-vous peut-être un manuel? Je me rends compte que ce n'est pas aussi rapide que Google, mais vous * habituellement * les enseignants en utilisent un ... – Josh

+0

Selon vous, quelles sont les réponses, et pourquoi? –

+0

Dans 1, la taille du cache mémoire est indépendante de quoi, la taille de la mémoire virtuelle ou la largeur de l'adresse? – AndreKR

Répondre

0
  1. est vrai, plus ou moins (cela dépend de la précision de votre traduction Je suppose :)) Le nombre de bits dans les adresses fixe une limite supérieure de l'espace de mémoire virtuelle; vous pourriez, bien sûr, choisir de ne pas utiliser tous les bits. La taille du cache mémoire dépend de la quantité de mémoire installée, indépendante; mais bien sûr, si vous avez plus de mémoire que vous ne pouvez l'utiliser, alors il ne peut toujours pas être utilisé.

  2. Presque certainement faux. Nous avons RAM sur des puces séparées afin que nous puissions installer plus sans construire un nouvel ordinateur ou remplacer le processeur.

+0

Merci pour vos réponses Karl K. – shmed

0
  1. Il n'y a pas de limite supérieure ou inférieure a priori à la taille du cache, bien que dans une application réelle certaines tailles plus de sens que d'autres, bien sûr.
  2. Je ne connais aucune incompatibilité. La raison pour laquelle nous utilisons SRAM comme cache on-die est parce que c'est plus rapide.
  3. Peut-être que vous pouvez forcer une MMU à mapper différentes adresses virtuelles au même emplacement physique, mais elle est généralement utilisée dans l'autre sens.
  4. Je ne comprends pas la question.
+0

Merci AndreKR. Cela fait beaucoup de sens. – shmed

+1

Comme je l'explique dans ma réponse, # 2 est incorrect. Les processus logiques et DRAM sont optimisés pour différents objectifs et vous voyez rarement des processeurs réalisés dans des processus DRAM ou DRAM dans des processus logiques/processeurs. –

1
  1. "adresse Manipulé" est pas un terme de l'art. Vous avez un mappage d'adresse virtuelle m bits à une adresse physique de n bits. Oui, un cache peut être de n'importe quelle taille jusqu'à la taille de l'adresse physique, mais il est généralement beaucoup plus petit. Notez que les lignes de cache sont marquées avec des bits d'adresse virtuels ou plus généralement physiques correspondant à la plage d'adresses virtuelle ou physique maximale de la machine. Oui, les processus DRAM et les processus logiques sont chacun adaptés à différents objectifs et impliquent différentes étapes de processus (différents matériaux et épaisseurs pour fixer des piles/tranchées de condensateurs DRAM, par exemple) et, historiquement, vous n'avez pas construit de processeurs Processus DRAM (sauf le Mitsubishi M32RD) ni DRAM dans les processus logiques.Exception est ce qu'on appelle eDRAM qu'IBM aime utiliser pour ses processus SOI, et qui est utilisé comme cache de dernier niveau dans les microprocesseurs IBM tels que le Power 7.

  2. La "pagination" est ce que nous appelons l'émission d'un flux de formulaire. cette sortie de texte commence en haut de la page suivante. D'autre part, le «pagination» est parfois synonyme de gestion de la mémoire virtuelle, par laquelle une adresse virtuelle est mappée (page par page) à une adresse physique. Si vous configurez vos tables de pages, cela permet à plusieurs adresses virtuelles (en fait, des adresses virtuelles provenant d'espaces d'adressage virtuels de différents processus) de correspondre à la même adresse physique et donc au même emplacement dans la RAM réelle. "Une antémémoire associative avec des ensembles de 1 ligne est une antémémoire entièrement associative, car un bloc mémoire peut aller dans n'importe quel ensemble puisque chaque ensemble est de la même taille que celui du bloc."

Hmm, c'est une question étrange. Brisons-le. 1) Vous pouvez avoir un cache mappé direct, dans lequel une adresse correspond à une seule ligne de cache. 2) Vous pouvez avoir un cache entièrement associatif, dans lequel une adresse peut mapper n'importe quelle ligne de cache; il y a quelque chose comme une structure de balise CAM (mémoire adressable de contenu) pour trouver laquelle si n'importe quelle ligne correspond à l'adresse. Ou 3) vous pouvez avoir un cache associatif à ensemble de n, dans lequel vous avez essentiellement n ensembles de caches mappés directs, et une adresse donnée peut correspondre à l'une des n lignes. Il existe d'autres organisations de cache plus ésotériques, mais je doute que vous leur ayez appris.

Alors, analysons l'instruction. "Une mémoire cache associative". Eh bien, cela exclut les caches mappés directs. Il nous reste donc «entièrement associatif» et «n-way set associative». Il a des ensembles de 1 ligne. OK, donc si c'est un ensemble associatif, alors au lieu de quelque chose de traditionnel comme 4-way x 64 lignes/way, c'est n-ways x 1 lignes/way. En d'autres termes, il est entièrement associatif. Je dirais que c'est une affirmation vraie, sauf que le terme de l'art est «entièrement associatif» et non «entièrement associatif».

Est-ce logique?

Joyeux hacking!

+0

Si un cache * set * ne comporte qu'un seul bloc, il n'y a qu'un seul * way * (c'est-à-dire mappé directement). Bien sûr, on ne dirait pas "cache associatif unidirectionnel", mais cela pourrait être un problème de traduction. –