En algún momento esto entra en la cuestión de lo que incluso cuenta como "RAM". Hay muchas CPU y microcontroladores que tienen mucha memoria en el chip para ejecutar pequeños sistemas operativos sin chips RAM separados. De hecho, esto es relativamente común en el mundo de los sistemas integrados. Entonces, si solo te refieres a no tener ningún chip RAM separado conectado, entonces sí, puedes hacerlo con muchos chips actuales, especialmente aquellos diseñados para el mundo integrado. Lo hice yo mismo en el trabajo. Sin embargo, dado que la única diferencia real entre la memoria en chip direccionable y los chips de RAM separados es solo la ubicación (y, obviamente, la latencia), es perfectamente razonable considerar que la memoria en chip es RAM. Si está contando eso como RAM, entonces el número de corriente,
Si te estás refiriendo a una PC normal, no, no puedes ejecutarla sin conectar RAM por separado, pero eso es solo porque el BIOS está diseñado para no intentar arrancar sin RAM instalada (lo cual, a su vez, es porque todos Los sistemas operativos de PC modernos requieren RAM para ejecutarse, especialmente porque las máquinas x86 generalmente no le permiten direccionar directamente la memoria en el chip; se usa únicamente como caché).
Finalmente, como dijo Zeiss, no hay ninguna razón teórica de que no puedas diseñar una computadora para que funcione sin RAM, aparte de un par de registros. La RAM existe únicamente porque es más barata que la memoria en chip y mucho más rápida que los discos. Las computadoras modernas tienen una jerarquía de memorias que van desde grandes, pero lentas hasta muy rápidas, pero pequeñas. La jerarquía normal es algo como esto:
- Registros: muy rápido (puede ser operado por instrucciones de la CPU directamente, generalmente sin latencia adicional), pero generalmente muy pequeño (los núcleos de procesador x86 de 64 bits tienen solo 16 registros de propósito general, por ejemplo, cada uno puede almacenar un número único de 64 bits.) Los tamaños de registro son generalmente pequeños porque los registros son muy caros por byte.
- Cachés de CPU: todavía muy rápido (a menudo con una latencia de 1-2 ciclos) y significativamente más grande que los registros, pero aún más pequeño (y mucho más rápido) que la DRAM normal La memoria caché de la CPU también es mucho más costosa por byte que la DRAM, por lo que generalmente es mucho más pequeña. Además, muchas CPU tienen jerarquías incluso dentro de la memoria caché. Por lo general, tienen cachés más pequeños y rápidos (L1 y L2) además de cachés más grandes y lentos (L3).
- DRAM (lo que la mayoría de la gente piensa como 'RAM'): mucho más lento que el caché (la latencia de acceso tiende a ser decenas a cientos de ciclos de reloj), pero mucho más barato por byte y, por lo tanto, generalmente mucho más grande que el caché. DRAM sigue siendo, sin embargo, muchas veces más rápido que el acceso al disco (generalmente cientos a miles de veces más rápido).
- Discos: estos son, una vez más, mucho más lentos que la DRAM, pero también son generalmente mucho más baratos por byte y, por lo tanto, mucho más grandes. Además, los discos generalmente no son volátiles, lo que significa que permiten guardar datos incluso después de que finaliza un proceso (así como también después de reiniciar la computadora).
Tenga en cuenta que la razón completa de las jerarquías de memoria es simplemente la economía. No hay una razón teórica (al menos no dentro de la informática) por la que no podríamos tener un terabyte de registros no volátiles en un dado de CPU. El problema es que sería increíblemente difícil y costoso de construir. Tener jerarquías que van desde pequeñas cantidades de memoria muy cara hasta grandes cantidades de memoria barata nos permite mantener velocidades rápidas con costos razonables.