vyamaの日記: 無限に増殖するメモリ 2
---from here---
必要に応じてどんどんメモリーを増設できるなら
昔考えたおバカな発想です。
マザーボードにhot plug可能なxxxポートの口を用意して、メモリが足りなくなりそうなら、xxxポートの口に、同じような, メモリつきのボードを差し込んで増設。さらに足りなくなったら、増設したボードのxxxポートに同じようなボードを接続して増設、というのを繰り返せば、いくらでもデーター領域としての物理メモリ量は増やせるなと。
物理メモリがどれだけあるか分からない、という状況をソフトウェア面から考察すると、現状のCPUアーキテクチャーでは、アドレッシングのbit幅が決まっているから、あらかじめ決められたbit幅より上回るメモリ量にはアクセスできません。でも、アドレッシング指定オペランドの前に、UTF-8みたいに、任意長を表せるプリアンブルを設定するCPUアーキテクチャーだったらどうか。
一例では、プリアンブル最初の1byteが"1000_0000"なら、続くオペランドは1word。"1100_0000"なら2word。"1111_1111"なら、次のプリアンブルを見て、"0000_0000"なら8word、"1000_0000"なら9wordみたいな感じのCPUアーキテクチャーです。
で、そういうアーキテクチャーを持ったコンピューターが実現したとして、その上でlispを動かしてみます。lispはlisp-coreがあれば、データ領域上からlispの実行プログラムを拾ってこれるし、lisp-coreがアクセスできない領域のデーターは、lisp-coreがコンパイルできるような、lisp-coreが直接アクセスできない領域のデーターへのアクセスモジュールを自動生成してロードすれば解決…するかも。
なお、ソフトウェア、ハードウェア含めてそんなことが実現できるかは、所詮妄想なのでまじめに検討してません。(笑)
---till here---
アホアイデアですけど、私は、わずかながら実現可能性があるような、面白おかしいアイデアだと思って結構気に入っています。人生賭けてまで追いかけるアイデアだとは思いませんけど。(笑)
アドレス長が無限大に向かっていく (スコア:1)
実現は可能でしょうけど、
遠いところのアクセス速度が無限に遅くなっていくような…
ハードは速度的な問題を無視すれば可能そう (スコア:0)
仮想アドレスを物理メモリにマッピングするだけだからそんなに面倒ではなさげ。
ただ現在でもメモリアクセスはマージンの少ないところでタイミングを取ってるので
現状のハード構成ベースだとかなりウエイトが入りそうな予感。