Los procesadores x86 modernos tienen al menos 512 K de caché L2. Hay aplicaciones que encajarían completamente en esta cantidad de memoria. ¿Puedes ejecutar estos chips sin RAM conectada? Si es así, ¿hay alguna manera de hacerlo que elimine la penalización de tiempo de reescritura cuando la CPU intenta mantener la coherencia de la RAM?
No tengo una aplicación específica en mente, es solo curiosidad ociosa. Sin embargo, estoy seguro de que en algún lugar hay una aplicación de nicho donde esto sería útil.
Sí tu puedes. Al falsificar lecturas de ubicaciones de memoria física consecutivas (inexistentes), configura las etiquetas en el caché. Luego, apaga el llenado adicional de las líneas de caché e ingresa la reescritura, limitando así las lecturas / escrituras al caché y se comportará como una RAM normal.
Algunos de los proyectos de reemplazo de bios hacen esto porque entonces puede gastar mucho más código en el conjunto de chips y la configuración del controlador de memoria del conjunto de chips, por lo que puede escribirlo en C, por ejemplo.
Esta práctica se usa ampliamente para CPU de clase integrada y también para manejar cargadores de arranque. Los métodos para convertir la memoria 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, obviamente aún necesita cargar el código de arranque desde algún lugar.
Cuando la CPU sale del reinicio, el caché se apaga. El BIOS es lo que inicialmente configura y borra el caché. Así que no, no puede ejecutarlo sin RAM porque no hay RAM para iniciar la cosa en primer lugar.
No sé qué tan preciso es esto, pero estos son mis pensamientos:
No creo que haya ninguna forma de obtener acceso programático al caché. No puede garantizar de una instrucción a la siguiente lo que estaría en el caché y dónde se ubicaría, por lo que no puede usarlo de manera confiable como RAM, incluso si pudiera acceder a él directamente.
Puede ejecutar un x86 sin RAM, pero no podría hacer que sea muy útil. Estaría restringido a usar únicamente los registros internos para el almacenamiento de datos.
yu hong bao