9 votos

¿Puede funcionar un procesador de clase x86 sin ram?

Los procesadores x86 modernos tienen al menos 512K de caché L2. Hay aplicaciones que cabrían por completo en esta cantidad de memoria. ¿Se pueden ejecutar estos chips sin memoria RAM? Si es así, ¿hay alguna forma de hacerlo que elimine la penalización de tiempo de escritura cuando la CPU intenta mantener la coherencia de la RAM?

No tengo una aplicación específica en mente, es sólo curiosidad ociosa. Estoy seguro de que en algún lugar hay un nicho de aplicación donde esto sería útil sin embargo.

11voto

user4245 Puntos 324

No sé hasta qué punto esto es exacto, pero estas son mis ideas:

No creo que haya ninguna forma de obtener acceso programático a la caché. No puedes garantizar de una instrucción a la siguiente lo que habría en la caché, y dónde estaría localizado, así que no puedes usarla de forma fiable como RAM incluso si pudieras acceder a ella directamente.

Podrías ejecutar un x86 sin RAM, pero no conseguirías que hiciera gran cosa útil. Estarías limitado a usar los registros internos para almacenar datos.

9voto

Chris Puntos 1514

Sí que puedes. Fingiendo lecturas desde posiciones de memoria física consecutivas (inexistentes), fijas las etiquetas en la caché. Entonces desactivas el llenado de las líneas de caché y entras en writeback, limitando así las lecturas/escrituras a la caché y se comportará como una RAM normal.

Algunos de los proyectos de reemplazo de bios hacen esto porque así se puede dedicar mucho más código a la configuración del chipset y del controlador de memoria del chipset, para poder escribirlo en C, por ejemplo.

Esta práctica está muy extendida en las CPUs embebidas, así como en el manejo de cargadores de arranque. Los métodos para convertir la caché en un modo similar a la RAM varían un poco.

Para una breve introducción de bajo nivel puede consultar esta presentación.

Tenga en cuenta que, como otros han señalado, todavía tiene que cargar el código de arranque desde algún lugar, obviamente.

7voto

Cuando la CPU sale de reset, la caché se desactiva. La BIOS es la que inicialmente configura y borra la caché. Así que no, no se puede ejecutar sin RAM porque no hay RAM para arrancar la cosa en el primer lugar.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X