¿Puede una CPU (como Intel i3 / i5 / i7 / Xeon) con RAM de caché en chip usar eso como su única RAM funcional, sin ningún banco de memoria externo conectado?
¿O debe haber RAM externa y no se puede acceder a la caché o usarla sola?
Las CPU de escritorio / servidor modernas a menudo tienen más RAM de caché interna que la que tenían muchas computadoras de 1990 en toda la memoria del sistema, por lo que debería haber suficiente para ejecutar código simple.
Las CPU de antes de la caché existían, como el 6502 no podría hacer nada, ya que la RAM interna de la CPU solo ascendía a unos pocos bytes para el contador de direcciones y los acumuladores.
No se trata de ejecutar ningún tipo de sistema operativo moderno, sino de ejecutar un código simple programado en una ROM personalizada o ingresado manualmente con un teclado de entrada hexadecimal.
fuente
Respuestas:
Vea esta cuenta extremadamente detallada de la secuencia de arranque de la PC: http://www.drdobbs.com/parallel/booting-an-intel-architecture-system-par/232300699?pgno=2
Puede observar esto ejecutando una PC sin RAM: reproducirá una serie de pitidos. El programa que los reproduce se ejecuta desde la BIOS Flash ROM.
También he visto este comportamiento en algunos procesadores ARM. Habrá registros de configuración dentro del SoC que le permitirán usar la memoria caché como RAM al principio de la secuencia de arranque, para ejecutar un programa que encuentre, enumere y configure la DRAM.
fuente
INVD
(al salir del modo CAR, invalidar la memoria caché en lugar de tener datos inútiles escritos en la memoria, potencialmente sobre algo valioso).Generalmente, la memoria caché no es direccionable. Un programa no puede almacenar ni recuperar datos intencionalmente de él.
fuente
Si bien esto no aborda directamente las familias de procesadores especificadas en la pregunta, el esquema a continuación funcionaría en los procesadores x86 anteriores, por lo que sí, es posible operar sin RAM o caché, aunque este enfoque requiere algunas habilidades creativas de programación.
En la década de 1980, me encontré con un diseño para un receptor de radio que decodificaba las señales horarias de MSF transmitidas en el Reino Unido. Este diseño utilizaba un procesador Z80 y solo tenía una ROM para el almacenamiento del programa. Todo el procesamiento y almacenamiento de datos se realizó utilizando los registros internos dentro del procesador. Obviamente, esto significaba que no podía haber llamadas de subrutina ya que había memoria disponible para contener la pila.
En aquel entonces, el costo de la RAM era alto y, dado que se trataba de un proyecto de pasatiempo, era importante mantener los costos bajos, además de ser un ejercicio académico interesante. Esto también fue antes de los días de microcontroladores ampliamente disponibles (un 8751 con un costo de eprom superior a £ 100 IIRC).
fuente
Por lo general, una CPU requerirá un reloj externo. Pero con eso, sí puede.
fuente