回答:
はい、できます。連続する(存在しない)物理メモリの場所から読み取りを偽装することで、タグをキャッシュに設定します。次に、キャッシュラインへの追加の書き込みをオフにして、ライトバックを開始します。これにより、キャッシュへの読み取り/書き込みが制限され、通常のRAMとして動作します。
bios置換プロジェクトの一部はこれを行います。これにより、チップセットとチップセットのメモリコントローラーのセットアップに多くのコードを費やすことができるため、たとえばCでコードを記述できます。
この手法は、組み込みクラスのCPUとブートローダーの処理に広く使用されています。キャッシュをRAMのようなモードにする方法は少し異なります。
低レベルの簡単な紹介については、このプレゼンテーションをチェックしてください。
他の人が指摘したように、まだどこかからブートコードを明らかにロードする必要があることに注意してください。
CPUのリセットが解除されると、キャッシュはオフになります。BIOSは、最初にキャッシュを構成してクリアするものです。つまり、最初から起動するためのRAMがないため、RAMなしで実行することはできません。
これがどれほど正確であるかはわかりませんが、これらは私の考えです。
プログラムでキャッシュにアクセスする方法はないと思います。ある命令から次の命令まで、キャッシュの内容とその場所を保証できないため、直接アクセスできたとしても、RAMとして確実に使用することはできません。
RAMなしでx86を実行することはできますが、x86を非常に便利に使用することはできません。データの保存に内部レジスタを使用するだけに制限されます。