Hay varias razones para esto.
En primer lugar, la memoria ocupa mucho á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. Un área de silicio más grande tiene un efecto de "doble golpe" en el precio: las virutas más grandes significan menos virutas por oblea, especialmente alrededor del borde, y las virutas más grandes significan que cada viruta tiene más probabilidades de tener un defecto.
El segundo es el tema del proceso. Las matrices de RAM deben optimizarse de manera diferente a 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 límites de semiconductores que están más o menos dedicados a producir DRAM. No CPUs u otra lógica, solo DRAM. DRAM requiere condensadores de área eficiente y transistores de muy baja fuga. Hacer los condensadores requiere un procesamiento especial. La fabricación de transistores de baja fuga da como resultado transistores más lentos, lo cual es una buena compensación para la electrónica de lectura DRAM, pero no sería tan buena para construir una lógica de alto rendimiento. La producción de DRAM en un troquel de microcontrolador significaría que de alguna manera necesitaría cambiar la optimización del proceso. Las matrices de RAM grandes también tienen más probabilidades de desarrollar fallas simplemente debido a su gran área, disminuyendo el rendimiento y aumentando los costos. Probar grandes matrices de RAM también lleva mucho tiempo, por lo que incluir grandes matrices aumentará los costos de las pruebas. Además, las economías de escala reducen el costo de los chips RAM separados más que los microcontroladores más especializados.
El consumo de energía es otra razón. Muchas aplicaciones integradas tienen limitaciones de energía y, como resultado, muchos microcontroladores están construidos para que puedan ponerse en un estado de reposo de muy baja potencia. Para habilitar la suspensión de muy baja potencia, SRAM se utiliza debido a su capacidad para mantener su contenido con un consumo de energía extremadamente bajo. La SRAM respaldada por batería puede mantener su estado durante años sin 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 canaliza hacia el sustrato o se filtra a través de los transistores de la celda. Para combatir esto, la DRAM debe leerse y escribirse continuamente. Como resultado, DRAM consume significativamente más energía que SRAM en inactivo.
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, DRAM generalmente es una mejor opción. Es por esto 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 la producción de pads en la parte superior del paquete de la CPU para que se pueda apilar un chip RAM 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 necesidad de enrutamiento adicional a nivel de placa (los buses de memoria son muy amplios y ocupan mucho área de placa). Tenga en cuenta que estos sistemas generalmente no se consideran microcontroladores.
Muchos sistemas integrados 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.