Re: 64 bit chip, os, and application
中村和志@神戸です。年末年始SPAMの退治で出遅れました。
32/64bitの話は、CPU/OS, Data/Address幅を混同してるのと、特定の
(IA32/64)アーキやOSと、そのセールストークに依存した話を混ぜる
のでややこしくなってると思います。
まずはヘネパタ/パタヘネを読むのが良いんじゃないですかね。
MIPS環境だと1991年に発表されたR4000で既に、64bitプロセッサで
64bitの仮想アドレス空間が利用できて、なおかつ32bit時代のR2000/3000
のコードもバイナリコンパチで走りました。ついでにエンディアンも
Big/Little両対応で、プロセス毎に切替えることが出来ました。
#これはR3000の時から既に対応してましたが。
現在では128bitのプレステ2にまで発展してます。
1991年というと干支が一周するよりも前ですから、何を今更、という
感がしなくもないですが。
あまり特定の環境と、そのセールストークに惑わされないようにする
のが良いのでは?
個人的意見を言うと、32bit CPUとか64bit CPUという区別は、ノイマン
ボトルネックの幅で定義出来ますが、32bit OSとか64 bit OSなんて概念は
存在しない、です。せいぜい、32bit CPUで動くOS, 64bit CPUで動くOS
くらいの区別でしょう。IAの場合、32bit「モード」と64bit「モード」は
全然違う動作するので、それぞれのモードに合わせてOSを用意しなきゃ
いけないだけでしょう。アプリも64bit環境では32bit互換BOXを用意する
ことに成ると思います。MIPSではそれは不必要でした。NEWS-OS4.xでは
リンクするライブラリを選ぶ必要が有りましたが、ダイナミックリンクや
ELFといった仕掛けが登場して、その必要も無くなりました。
In article <YAS.04Dec31010859@kirk.is.tsukuba.ac.jp>
yas@is.tsukuba.ac.jp writes:
>> 今の Windows は、1プロセス3GBまでだけど、OS全体で64GBまで対応していますね。
>> で、Itanium 版はハードウェアメーカーに OEM 供給、AMD64/IA-32e 版はベータ
>> 版をタダで配っています。
>Intel も Microsoft も Itanium に命懸けているという感じではな
>いですね。Apple は、68000 から PowerPC に買えたときは命懸け
>でした。失敗したら会社が潰れていただしょう。
PowerPCは、あくまでPower互換で68kとは互換性無かったので、営業的には
エミュレーション環境を用意する必要が有って大変でした。Itaniumはソフトウェア
でエミュレートした方がマシという代物ですが、CPU自身に一応IA32との互換モード
が有ります。
In article <041230143741.M0404387@athena.ginganet.org>
ginga-fj-swentemporal@ginganet.org writes:
>> と思いつつ、科学技術シミュレーションだといくらあっても足りないのかも。
>> 64ビットあればハイビジョン動画のオンメモリ編集もできるので、日用用途と
>> しては充分かも。今これを書いているマシンは256MBですが、それでも日常生活に
>> 使っている分には持て余し気味。
>ブラウザが 100MB 越えのメモリを余裕で食べてくれてます.
最近デジカメで写真撮ってるのですが、Fuji S2Proとか1200万画素も有る画像
データを現像処理したり、更にそれを数十枚重ねて画質を向上させようとか
すると、1GBでも全然足りませんね。白黒なら銀塩フィルムを化学的に現像した
方がよっぽど早そう。
In article <85r7l5qcko.fsf@is.tsukuba.ac.jp>
yas@is.tsukuba.ac.jp writes:
>> FreeBSD:
>> http://www.jp.freebsd.org/www.FreeBSD.org/ja/platforms/amd64.html
>> NetBSD:
>> http://www.NetBSD.org/Ports/amd64/
>> Linux:
>> http://www.amd64.org/
>
>結局、これらの OS は、64 ビットなんですか? llseek() とかあ
>りますか。
そんな不細工な代物は有りません。llseek()とかlseek64()なんて代物が
ワザワザ存在して、32bitのlseek()と意識して使い分けなきゃいけない
環境は64bit環境とはフツー言わないと思う。
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も混在で動きます。
pure 64bit OSならAlpha用の環境が該当するのでは?何しろ32bitアプリが
存在しませんし。IA32互換BOXは有りましたが。
Itanium環境も、申し訳程度のIA32モードに我慢ならなければ、同様です。
昔を思い出せば、16bit環境と呼んでいたi8086もアドレス空間は一応20bit
有りましたし、i80286は24bitモードも有りました。68kは最初からアドレス
空間は24bitリニアに有りましたし。
In article <m37jmu6kcw.fsf@nospam.maedapc.cc.tsukuba.ac.jp>
maeda-news@ialab.cs.tsukuba.ac.jp writes:
>登場は4.3BSD Tahoe-releaseだそうです。
私の記憶でもそうです。
In article <YAS.05Jan5001439@kirk.is.tsukuba.ac.jp>
yas@is.tsukuba.ac.jp writes:
>> ・ダイナミックリンクされるライブラリが、32bitモードのバイナリと64bitバ
>> イナリで異なる(magic numberとか、ELFヘッダとかで区別する)。
ELFは元々こういうことも想定して制定されたと思います。単にダイナミック
リンクにするだけなら、a.outヘッダ時代のFreeBSDでも実現出来てました。
>> → スタティックリンクしたバイナリをあきらめるならこれが簡単そう。
>> というか、この仕組みはシステムコールに限らず、ポインタを渡すライ
>> ブラリ全般についてどうせ必要かな?
>動的リンクのライブラリを複数、32bit用と64bit用を置くのはやる
>んでしょう。Solaris とかそうなっているし、今でも、32bit でも
>やっているし。
昔話になりますが、NEWS-OSではシンボリックリンクがダイナミックに切り替わる
(名前失念)仕掛けになってて、32/64bit, CISC/RISC環境を混在出来ました。
#しかし、SUNを混ぜようとかすると破綻したような…。
MIPSは今更だけど、良く出来てたなぁ。SUNもUltraに移行する時、結構ゴタゴタ
したのに…。プレステ2仕様なフツーのATX M/Bとか出ないかなぁ。
--
中村和志@神戸 @mailto:kaz@kobe1995.net@
NAKAMURA Kazushi@KOBE @http://kobe1995.net/@
- Break the hate chain. No more kill!
administrator@[127.1]
Fnews-brouse 1.9(20180406) -- by Mizuno, MWE <mwe@ccsf.jp>
GnuPG Key ID = ECC8A735
GnuPG Key fingerprint = 9BE6 B9E9 55A5 A499 CD51 946E 9BDC 7870 ECC8 A735