Cet article montre que la SDRAM DDR4 possède environ 8 fois plus de bande passante DDR1 SDRAM. Mais le délai entre la définition de l'adresse de la colonne et la date à laquelle les données sont disponibles n'a diminué que de 10% (13,5 ns). Une recherche rapide montre que le temps d'accès de l'async le plus rapide. SRAM (18 ans) est à 7ns. Pourquoi le temps d'accès à la SDRAM a-t-il diminué si lentement? La raison est-elle économique, technologique ou fondamentale?
22
Réponses:
C'est parce qu'il est plus facile et moins cher d'augmenter la bande passante de la DRAM que de diminuer la latence. Pour obtenir les données d'une ligne ouverte de RAM, une quantité de travail non triviale est nécessaire.
L'adresse de la colonne doit être décodée, les multiplexeurs sélectionnant les lignes auxquelles accéder doivent être pilotés, et les données doivent se déplacer à travers la puce vers les tampons de sortie. Cela prend un peu de temps, d'autant plus que les puces SDRAM sont fabriquées selon un processus adapté à des densités de RAM élevées et non à des vitesses logiques élevées. Pour augmenter la bande passante, par exemple en utilisant le DDR (1, 2, 3 ou 4), la majeure partie de la logique peut être soit élargie soit canalisée, et peut fonctionner à la même vitesse que dans la génération précédente. La seule chose qui doit être plus rapide est le pilote d'E / S pour les broches DDR.
En revanche, pour diminuer la latence, toute l'opération doit être accélérée, ce qui est beaucoup plus difficile. Très probablement, des parties du RAM devraient être réalisées sur un processus similaire à celui des processeurs à haute vitesse, ce qui augmente considérablement le coût (le processus à grande vitesse est plus cher, et chaque puce doit passer par 2 processus différents).
Si vous comparez les caches CPU avec la RAM et le disque dur / SSD, il existe une relation inverse entre le stockage volumineux et le stockage rapide. Un L1 $ est très rapide, mais ne peut contenir qu'entre 32 et 256 Ko de données. La raison pour laquelle il est si rapide est qu'il est petit:
Au fur et à mesure que vous montez dans la hiérarchie, chaque option de stockage augmente en capacité, mais également en surface et en s'éloignant de l'appareil qui l'utilise, ce qui signifie que l'appareil doit ralentir.
la source
C_Elegans fournit une partie de la réponse - il est difficile de diminuer la latence globale d'un cycle de mémoire.
L'autre partie de la réponse est que dans les systèmes de mémoire hiérarchiques modernes (plusieurs niveaux de mise en cache), la bande passante mémoire a une influence beaucoup plus forte sur les performances globales du système que la latence de la mémoire , et c'est donc là que tous les derniers efforts de développement ont été concentrés.
Cela est vrai à la fois pour l'informatique générale, où de nombreux processus / threads s'exécutent en parallèle, ainsi que pour les systèmes embarqués. Par exemple, dans le travail vidéo HD que je fais, je me fiche des latences de l'ordre des millisecondes, mais j'ai besoin de plusieurs gigaoctets / seconde de bande passante.
la source
Je n'ai pas beaucoup d'informations, mais je m'attends à ce que ce soit un peu tout.
Économique
Pour la majorité des ordinateurs / téléphones, la vitesse est largement suffisante. Pour des stockages de données plus rapides, le SSD a été développé. Les gens peuvent utiliser la vidéo / musique et d'autres tâches gourmandes en vitesse en (presque) temps réel. Il n'y a donc pas tellement besoin de plus de vitesse (sauf pour des applications spécifiques comme la prévision météorologique, etc.).
Une autre raison est de traiter une vitesse RAM très élevée, des CPU rapides sont nécessaires. Et cela vient avec beaucoup d'énergie. Étant donné que la tendance à les utiliser dans des appareils à batterie (comme les téléphones mobiles), empêche l'utilisation de RAM très rapide (et de processeurs), ce qui rend également leur utilisation économiquement inutile.
Technique
Par la taille décroissante des puces / circuits intégrés (niveau nm maintenant), la vitesse augmente, mais pas de manière significative. Il est plus souvent utilisé pour augmenter la quantité de RAM, ce qui est plus difficile (également pour une raison économique).
Fondamental
À titre d'exemple (les deux sont des circuits): la façon la plus simple d'obtenir plus de vitesse (utilisée par le SSD) est de simplement répartir la charge sur plusieurs composants, de cette façon, les vitesses de `` traitement '' s'additionnent également. Comparez en utilisant 8 clés USB en lisant en même temps et en combinant les résultats, au lieu de lire les données d'une clé USB l'une après l'autre (cela prend 8 fois plus de temps).
la source