Hay varias razones para ello.
En primer lugar, la memoria ocupa mucha superficie de silicio. Esto significa que aumentar la cantidad de RAM incrementa directamente el área de silicio del chip y, por tanto, el coste. Una mayor superficie de silicio tiene un efecto doble en el precio: los chips más grandes significan menos chips por oblea, especialmente en el borde, y los chips más grandes significan que cada chip tiene más probabilidades de tener un defecto.
La segunda es la cuestión del proceso. Las matrices de RAM deben optimizarse de forma 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 fundiciones de semiconductores que se dedican más o menos a producir DRAM. No se trata de CPUs u otro tipo de lógica, sino de DRAM. La DRAM requiere condensadores de área eficiente y transistores de muy baja fuga. La fabricación de los condensadores requiere un proceso especial. La fabricación de transistores de baja fuga da lugar a transistores más lentos, lo cual es una buena compensación para la electrónica de lectura de la DRAM, pero no sería tan buena para construir una lógica de alto rendimiento. Producir DRAM en una matriz de microcontrolador significaría que habría que compensar la optimización del proceso de alguna manera. Las matrices de RAM de gran tamaño también son más propensas a desarrollar fallos, simplemente debido a su gran superficie, lo que disminuye el rendimiento y aumenta los costes. Las pruebas de las grandes matrices de RAM también requieren mucho tiempo, por lo que la inclusión de grandes matrices aumentará los costes de las pruebas. Además, las economías de escala reducen el coste de los chips de RAM por separado más que el de los microcontroladores más especializados.
El consumo de energía es otra razón. Muchas aplicaciones embebidas tienen restricciones de energía, por lo que muchos microcontroladores se construyen de forma que puedan pasar a un estado de reposo de muy bajo consumo. Para permitir un estado de reposo de muy bajo consumo, se utiliza la SRAM 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 con una sola pila de botón de 3V. La DRAM, en cambio, no puede mantener su estado durante más de una fracción de segundo. Los condensadores son tan pequeños que el puñado de electrones hace un túnel hacia el sustrato o se filtra a través de los transistores de la celda. Para evitarlo, la DRAM debe leerse y escribirse continuamente. Por ello, la DRAM consume mucha más energía que la SRAM en reposo.
Por otro lado, las celdas de bits de la SRAM son mucho más grandes que las de la DRAM, por lo que si se necesita mucha memoria, la DRAM suele ser una mejor opción. Por ello, es bastante habitual utilizar una pequeña cantidad de SRAM (de kB a MB) como memoria caché en el chip, junto con una mayor cantidad de DRAM fuera del chip (de 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 coste. Algunas de ellas son paquetes de varios chips que contienen matrices separadas para el procesador y la RAM. Otras soluciones consisten en producir almohadillas en la parte superior del paquete de la CPU para poder apilar un chip de RAM encima. Esta solución es muy inteligente, ya que se pueden soldar diferentes chips de RAM encima de la CPU en función de la cantidad de memoria que se necesite, sin necesidad de un enrutamiento adicional a nivel de placa (los buses de memoria son muy amplios y ocupan mucha superficie de la placa). Tenga en cuenta que estos sistemas no suelen considerarse microcontroladores.
De todos modos, muchos sistemas embebidos muy pequeños no necesitan mucha RAM. Si necesitas mucha RAM, probablemente quieras utilizar un procesador de gama alta que tenga DRAM externa en lugar de SRAM integrada.