Les autres réponses soulèvent de nombreux points positifs, mais il manque un facteur: la latence de décodage d'adresse.
Ce qui suit est une vaste simplification excessive du fonctionnement du décodage d’adresses mémoire, mais il donne une bonne idée de la raison pour laquelle les grandes puces DRAM sont généralement assez lentes.
Lorsque le processeur doit accéder à la mémoire, il envoie une commande à la puce de mémoire pour sélectionner le mot spécifique qu'il souhaite utiliser. Cette commande s'appelle une sélection d'adresse de colonne (nous ignorerons les adresses de ligne pour l'instant). La puce de mémoire doit maintenant activer la colonne demandée, ce qu'elle fait en envoyant l'adresse via une cascade de portes logiques pour créer une écriture unique qui se connecte à toutes les cellules de la colonne. Selon la manière dont elle est mise en œuvre, il y aura un certain délai pour chaque bit d'adresse jusqu'à ce que le résultat apparaisse à l'autre bout. C'est ce qu'on appelle la latence CAS de la mémoire. Étant donné que ces bits doivent être examinés de manière séquentielle, ce processus prend beaucoup plus de temps qu'un cycle de processeur (qui n'a généralement que quelques transistors en attente). Cela prend également beaucoup plus de temps qu'un cycle de bus (qui est généralement quelques fois plus lent qu'un cycle de processeur). Une commande CAS sur une puce mémoire typique risque de prendre de l'ordre de 5 ns (IIRC - cela fait un moment que j'ai examiné les timings), ce qui est plus lent d'un ordre de grandeur qu'un cycle de processeur.
Heureusement, nous divisons les adresses en trois parties (colonne, ligne et banque), ce qui permet de réduire la taille de chaque partie et de les traiter simultanément, sans quoi le temps de latence serait encore plus long.
Le cache du processeur, cependant, n'a pas ce problème. Non seulement elle est beaucoup plus petite, donc la traduction d'adresse est un travail plus facile, elle n'a en fait besoin de traduire qu'un petit fragment de l'adresse (dans certaines variantes, aucune de celle-ci), car elle est associative. Cela signifie que, à côté de chaque ligne de mémoire en cache, il existe des cellules de mémoire supplémentaires qui stockent une partie (ou la totalité) de l'adresse. Évidemment, cela rend le cache encore plus cher, mais cela signifie que toutes les cellules peuvent être interrogées pour savoir si elles ont simultanément la ligne de mémoire que nous voulons, puis le seul (avec l'espoir) qui possède les bonnes données le videra. sur un bus qui relie la totalité de la mémoire au cœur du processeur principal. Cela se produit en moins d’un cycle, car c’est beaucoup plus simple.