Il y a plusieurs raisons à cela.
Tout d’abord, la mémoire occupe beaucoup de silicium. Cela signifie que l'augmentation de la quantité de RAM augmente directement la surface de silicium de la puce et donc le coût. Une plus grande surface de silicium a un effet "double whammy" sur le prix: de plus grandes puces signifient moins de puces par tranche, en particulier autour du bord, et de plus grandes puces signifient que chaque puce est plus susceptible de présenter un défaut.
Deuxièmement, il y a la question du processus. Les matrices de mémoire vive doivent être optimisées de différentes manières que la logique, et il n'est pas possible d'envoyer différentes parties d'une même puce à travers des processus différents - la puce entière doit être fabriquée avec le même processus. Il existe des fonderies de semi-conducteurs qui se consacrent plus ou moins à la production de DRAM. Pas les processeurs ou autre logique, juste la DRAM. La mémoire DRAM nécessite des condensateurs efficaces en surface et des transistors à très faible fuite. La fabrication des condensateurs nécessite un traitement spécial. Faire des transistors à faible fuite a pour résultat des transistors plus lents, ce qui est un bon compromis pour l'électronique de lecture DRAM, mais ne serait pas aussi bon pour construire une logique à hautes performances. Produire de la DRAM sur un dé de microcontrôleur signifierait que vous auriez besoin de faire un compromis sur l'optimisation des processus. Les grandes baies de mémoire RAM sont également plus susceptibles de développer des défauts simplement en raison de leur grande surface, de leur rendement décroissant et de leur coût croissant. Tester de grandes baies de mémoire RAM prend également beaucoup de temps et donc, inclure de grandes baies augmentera les coûts de test. De plus, les économies d’échelle réduisent davantage le coût de puces de RAM séparées que de microcontrôleurs plus spécialisés.
La consommation d'énergie est une autre raison. De nombreuses applications embarquées sont soumises à des contraintes de puissance. Par conséquent, de nombreux microcontrôleurs sont conçus pour pouvoir être placés dans un état de veille très basse consommation. Pour permettre une très faible veille, la mémoire SRAM est utilisée en raison de sa capacité à conserver son contenu avec une consommation électrique extrêmement faible. La SRAM protégée par batterie peut conserver son état pendant des années sans une seule pile bouton 3V. La DRAM, par contre, ne peut pas conserver son état plus d’une fraction de seconde. Les condensateurs sont si petits que la poignée d'électrons se faufile dans le substrat ou fuit à travers les transistors de cellule. Pour lutter contre cela, la DRAM doit être lue et écrite en permanence. Par conséquent, la mémoire DRAM consomme beaucoup plus d’énergie que la mémoire SRAM au repos.
D'un autre côté, les cellules de bits SRAM sont beaucoup plus volumineuses que les cellules de bits DRAM. Par conséquent, si une grande quantité de mémoire est requise, la mémoire DRAM est généralement une meilleure option. C’est pourquoi il est assez courant d’utiliser une petite quantité de SRAM (ko / Mo) comme mémoire cache sur puce associée à une plus grande quantité de DRAM hors puce (Mo à Go).
Certaines techniques de conception très utiles ont été utilisées pour augmenter la quantité de RAM disponible dans un système intégré à un coût réduit. Certains d'entre eux sont des packages multi-puces contenant des matrices séparées pour le processeur et la RAM. D'autres solutions impliquent la production de pads sur le dessus du boîtier du processeur, de manière à pouvoir empiler une puce RAM. Cette solution est très astucieuse car différentes puces de RAM peuvent être soudées sur le processeur en fonction de la quantité de mémoire requise, sans aucun routage supplémentaire au niveau de la carte (les bus de mémoire sont très larges et occupent beaucoup de surface de carte). Notez que ces systèmes ne sont généralement pas considérés comme des microcontrôleurs.
Beaucoup de très petits systèmes embarqués ne nécessitent de toute façon pas beaucoup de RAM. Si vous avez besoin de beaucoup de RAM, vous voudrez probablement utiliser un processeur haut de gamme doté d'une mémoire DRAM externe au lieu d'une mémoire SRAM intégrée.