113 :
いろいろ:
>MIPSはリテラル相対ジャンプが極めて弱いので、
>仮想記憶無しにはコード再配置が困難なのです。
相対ジャンプが事実上なかったSystem/360時代からリロケーションは
やっているのでロードモジュールの構成とリンクローダーの問題。
まあ、load highなんてアホなこと考える連中だからリンクローダーを
甘く考えてたんだろうけど。
68000はバグだらけでSUN3は仮想記憶実現のためCPUを二つ載せて
バスエラーの間他のCPUでメモリマネジメントをさせていた。
68010だって内部状態をスタックに吐き出すなんてとんでもない仕様
だったしな。アーキテクトの気まぐれで複雑なアドレスモードを持たされた
プロセッサは哀れだね。
x86もmovsなどのstring系命令は片方のオペランドがページフォルトするとき
すでに他方はアクセスに行っているから、メモリIOで使うときには注意を要する。
そういう使い方をしなければ良いだけの話だけど、プログラムの動きを
分かって設計してんのかって文句の一つもいいたくなる。
i960CAは仮想記憶サポートしてたんじゃなかったかな?CAはかなり
頑張ったスペックを持っていて好感が持てたんだけど、マーケット
戦略としては失敗か。
MSDOSはセグメントが16バイト境界にあることを前提にしているから
だめだけど、CP/M86が標準になっていれば286はもっと役に立ったのにな。
Intelの技術者が286のセグメントレジスタの下位2ビットに色をつけなけりゃ
MSDOSでもなんとか使えたってのは歴史のIFだな。
90年代産まれのプロセッサはOSやコンパイラや論理を分かって設計している
のが多いけれど、それは外国製の話。日本のはほんとに分かってんのって
疑問が多々ある。