Hay varias razones para esto.
En primer lugar, la memoria ocupa una gran cantidad de área de silicio. Esto significa que aumentar la cantidad de RAM aumenta directamente el área de silicio del chip y, por lo tanto, el costo. El área de silicio más grande tiene un efecto 'doble golpe' en el precio: los chips más grandes significan menos chips por oblea, especialmente alrededor del borde, y los chips más grandes significan que cada chip tiene más probabilidades de tener un defecto.
Segundo es la cuestión del proceso. Los arreglos de RAM deben optimizarse de diferentes maneras que la lógica, y no es posible enviar diferentes partes del mismo chip a través de diferentes procesos; todo el chip debe fabricarse con el mismo proceso. Hay fundamentos de semiconductores que están más o menos dedicados a producir DRAM. No CPUs u otra lógica, solo DRAM directa. La DRAM requiere capacitores de área eficiente y transistores de fuga muy baja. La fabricación de los condensadores requiere un procesamiento especial. Hacer transistores de baja fuga resulta en transistores más lentos, lo cual es un buen compromiso para la electrónica de lectura DRAM, pero no sería tan bueno para construir una lógica de alto rendimiento. Producir DRAM en un dado de microcontrolador significaría que tendría que cambiar la optimización del proceso de alguna manera. Las matrices de RAM grandes también son más propensas a desarrollar fallas simplemente debido a su gran área, disminuyendo el rendimiento y aumentando los costos. La prueba de matrices de RAM grandes también requiere mucho tiempo, por lo que la inclusión de matrices grandes aumentará los costos de prueba. Además, las economías de escala reducen el costo de los chips de RAM separados más que los microcontroladores más especializados.
El consumo de energía es otra razón. Muchas aplicaciones integradas tienen una restricción de energía y, como resultado, muchos microcontroladores se construyen para que puedan ponerse en un estado de suspensión de muy baja potencia. Para habilitar la suspensión de energía muy baja, se usa SRAM debido a su capacidad para mantener su contenido con un consumo de energía extremadamente bajo. La batería SRAM respaldada por batería puede mantener su estado durante años fuera de una sola batería de botón de 3V. DRAM, por otro lado, no puede mantener su estado por más de una fracción de segundo. Los condensadores son tan pequeños que el puñado de electrones se adentran en el sustrato o se filtran a través de los transistores celulares. Para combatir esto, se debe leer y escribir de nuevo la DRAM. Como resultado, la DRAM consume significativamente más energía que la SRAM cuando está inactiva.
Por otro lado, las celdas de bits SRAM son mucho más grandes que las celdas de bits DRAM, por lo que si se requiere mucha memoria, la DRAM es generalmente una mejor opción. Esta es la razón por la que es bastante común usar una pequeña cantidad de SRAM (kB a MB) como memoria caché en chip junto con una mayor cantidad de DRAM fuera de chip (MB a GB).
Se han utilizado algunas técnicas de diseño muy interesantes para aumentar la cantidad de RAM disponible en un sistema integrado a bajo costo. Algunos de estos son paquetes de múltiples chips que contienen troqueles separados para el procesador y la RAM. Otras soluciones implican producir almohadillas en la parte superior del paquete de la CPU para que un chip de RAM se pueda apilar en la parte superior. Esta solución es muy inteligente ya que se pueden soldar diferentes chips de RAM en la parte superior de la CPU dependiendo de la cantidad de memoria requerida, sin que se requiera enrutamiento adicional a nivel de placa (los buses de memoria son muy amplios y ocupan una gran cantidad de área de placa). Tenga en cuenta que estos sistemas generalmente no se consideran microcontroladores.
Muchos sistemas embebidos muy pequeños no requieren mucha RAM de todos modos. Si necesita una gran cantidad de RAM, es probable que desee utilizar un procesador de gama alta que tenga DRAM externa en lugar de SRAM integrada.