kaz@kobe1995.net (NAKAMURA Kazushi) writes:

> 個人的意見を言うと、32bit CPUとか64bit CPUという区別は、ノイマン
> ボトルネックの幅で定義出来ますが、

8bit CPUや16bit CPUのころはデータ幅とアドレス幅が一致していないことも
多かったのでややこしかったですが(8088とか)、今はどちらもほぼ一致してい
ますから多少話が楽ですね。

# ARMやMIPS16もややこしいな。

# TRON Chipでは48bit CPUというのも考慮されていたとか。
# なんかアドレスが符号付きで、正負両方向に広くなっていくとか聞いた覚え
# が。

> 32bit OSとか64 bit OSなんて概念は
> 存在しない、です。せいぜい、32bit CPUで動くOS, 64bit CPUで動くOS
> くらいの区別でしょう。

ふーむ。ちょっと分かりませんでした。

たとえばreadv(2)とか、gettimeofday(2)とか、とにかくメモリ上にあるポイ
ンタをOSに渡す時は、ポインタが32bitか64bitか分かっていないと困りません
か? で、64bitのMIPSでも、OSによっては32bitのアドレス空間(32bitポインタ)
しか使えない、ということは起きるのでは? その場合、「64bit CPUで32bit
OSを動かしている」ということになりませんか?

> In article <853bxia4qh.fsf@is.tsukuba.ac.jp>
> yas@is.tsukuba.ac.jp writes:
> >まあ、64bit OS としては、たぶん、64bit のアプリケーションだ
> >け動く、ということで済めば楽なんでしょう。32ビットも64ビット
> >も混在して動いて欲しいというのが人情です。64bitしか動かない
> >ものを pure 64bit OS と呼ぶことにしましょう。そういう例は、
> >何かありますか。
> MIPS環境だと、ずっと昔から32bitも64bitも、恐らく128bitも混在で動きます。

ええと、128bitというのはアドレス空間じゃないですよね?

> pure 64bit OSならAlpha用の環境が該当するのでは?何しろ32bitアプリが
> 存在しませんし。IA32互換BOXは有りましたが。

cc -taso なんてオプションがありませんでしたっけ。

                                前田敦司