FreeBSDを語れ Part44 [無断転載禁止]©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
確か、オーバーライドプレフィクス抜きで
レジスタデフォルト64bit、アドレッシングデフォルト32bitとかできないんだよな
64bitのバイナリのアドレス定数の上位32bitが大抵0だらけで容量無駄にでかい つか、物理アドレスなんて変換されて見えないんだから
i386 OSが64bit空間管理して何が問題なわけ? >>280
i386の時代に64bit空間というものはなかったので、「メモリアドレッシングは32bit内にあるはず」という前提でOSや
チップセットの設計などをしていたからだと思いますね。64bitが当たり前になった今ではおかしく見えるかも知れませんが。
i386で64bitメモリをアクセスするには、そういう構成のPCをわざわざ作らないといけないし、i386 OSを拡張して
64bitアクセスできるようにしないといけませんが、メーカーとしては今さらそんなことをしても売れないと判断して作らないと思いますね。 amd64で-m32やってもmake通らなかったりするわけで EN-17:07.vnet
EN-17:08.pf >>280
またリアルモードとか仮想86モードの時みたいに、セグメントディスクリプタに
リニアアドレスの上位を代入して、32bitしかないレジスタでオフセット指定とかすんの?
今度はセグメントレジスタはインデックス値だから、余計めんどうな事になるぞw >>278
なんかこだわりあるならともかく64bit使いたいだけなけならマシン買い換えろよ ほんの少しわかってきた気がする
乱暴な計算だけど、8G積んだ32bit機で、4Gを必要とする32bitアプリを2つ同時に動かす、
みたいなニッチな用途に特化したOSが欲しいって事?
だとすると、アドレッシングだけ32bit、レジスタだけデフォルト64bitみたいな構成ができるモードを
CPUが構成できるようにならないと、せっかくの64bitCPUの意味が薄れる 64bitアクセスするのはOSだけでいいやんって話
プロセスからアクセスしたけりゃamd64使えばいいけど、
その気になればプロセス分けるなりで済む話であまり意味がない
-m32オプションが仮想的な扱いになってることが理解に苦しむ MMU辺りのアドレス指定だけ64bit、32bitアプリは何もかも32bitでって事?
64bitレジスタで大分高速化できる分野もあるのに無駄じゃん
ニッチな用途の為だけにi386とamd64に加えて、
更にOSだけ64bitのアプリだけ32bitのビルドとかメンテの手間に見合わないだろう windowsはwin32アプリが多くていいよね、って話? i386進化させるだけでいいし、64bitレジスタで高速化できる分野こそニッチじゃね
むしろ無駄に64bit使うことで帯域にメモリにと無駄にして低速化させているのが
大部分のアプリの現実だと思うが 進化させたら過去のx86機どうすんだよ 実行時に32bitか64bitか判断して分岐すんの?
レジスタが64bitになったところで結局上位32bitと下位32bitに定数読み込まなきゃならんなら
結局8バイト分のメモリ帯域使うのは同じ事だぞ
むしろ64ビットの定数を1命令で読み込める分、64bitの方が帯域食わなくて済む
あと64bitとか、aircrack、データマイニング、レンジコーダー、その他諸々
同クロックの32bit比で優に2割以上はパフォーマンス上がる
パフォーマンスが上がる分野はそこまで少なくはないぞ 32bit OSだってのになんで64bitコード動かす前提になるんだよ
単に複数プロセス合計で4GB超の物理メモリが使えればいいってだけの話だろ >>295
それが>>389って事でしょ?
そんな事の為に3つのバイナリのインスコセットを準備する訳?
それともx86のみの過去の機体切り捨て?実行時に判断?
まぁ、ソースあるんだし、ないなら自分で構成すればって話なんだが そんなに欲しけりゃ自分で改造しろ
用意されてない上に誰も要望を上げてないって事はそういう事だ 32bitウインなにがしなんかだと、4GB超にramdisk作れるな それ、アプリがOSに無断でPAE使ってるだけだし、
他のアプリまで使い出したら競合してぶっ壊れるからな。
アプリにメモリ割り当てられる訳じゃないし、ごねてないでいっぺん自分で作ってみろ。 会話能力以前に、レジスタが64bitになって帯域どうこうとか、
Win32bitの4GB超領域にramdiskが作れるだの
(たった1つのアプリだけなら64bitレジスタも使えるが、複数アプリが使い始めたら飛ぶ)
技術的な事がなんにもわかってない素人がクレクレ乞食すんなっての いきなりramdiskとか言い出す奴は真性のアホだから 会話能力が欠如しているほうが人として終わってるだろw
複数アプリが使い始めたら飛ぶから素人だとか
飛んでるのは言ってること何もかも支離滅裂のお前の頭だけだろ ramdiskとか言い出す奴は真性のアホとか完全に頭ぶっ飛んでるわな >>304
会話能力欠如してるのはアプリへのリニアアドレス空間の提供とかに関するOSの話から
突然ramdiskとか言い出す方だろ
何言ってんだこの古事記は・・・俺様の為に他人が特別ビルド提供して当然とか思ってるのか? ramdiskであろうと使えるに越したことはないわ >>306
そんな風にしか解釈できないから頭が飛んでるとか言われるんだろ
相当頭悪いだろお前 ならi386の方で4G使って、そっから上はramdiskに使ってりゃいい
終冬 64bitモードと32bitモードの行き来だけでものすごい性能ペナルティくらいそうだけど
CPUにそういうモードが実装されないとどっちにしろ絵に描いた餅だよね。
話は変わるがバンクメモリとかEMSとかHMAとかセグメントレジスタとか
懐かしいが二度と関わりたくないよな >>310
おまけにセグメントの内容変えないと64Kの範囲内でしかメモリアクセスできなかったしな
CのEMSメモリやらハイメモリやらのライブラリ使っても煩雑だったし
多少遅くても大きくても64bitでいいよ 1プロセス2GBで足りないってか?
結局、物理アドレス変換するんだから性能差なんて大差なかろう >>277
longモードってPAE必須なんだけど何を言ってるんだ?
amd64では拡張したPAE使ってんだけど。 > 64bitレジスタで高速化できる分野こそニッチじゃね
64bitになって、レジスタ数も倍増したのにほとんど高速化してないしな。
アプリによって数%速くなるだけ。 >> 293
> 64bitレジスタで高速化できる分野こそニッチじゃね
ちょっとアセンブラで組んでみるとわかるけど、32bitでは汎用レジスタが4本しかないので一時的に記憶
しておきたい値でもスタックに積まないといけないけど、そうするとPUSH/POPを頻繁に行わないといけなくなる。
繰り返し処理の中でこんなことをしていたら当然遅くなる。
64bitなら汎用レジスタが15本あるので、サブルーチン内で必要な一時変数を全部レジスタだけで
済ますこともできる。Cコンパイラなら汎用レジスタに一時変数を自動的に割り振ってくれるので、
同じ処理でもレジスタだけで処理できてしまう場合が多くなり、全体に速度が上がる。 >>314
アプリによるだろ
表計算ネット閲覧文字列処理くらいしかしない様なのには恩恵ないだろうけど
エンコレンダリングブルートフォースとか、64bitになるとえっらい速くなるぞ
レジスタの本数が増えただけじゃなくて、一時的に128bitの値のスケーリングとか
32bit時代は4つのintで騙し騙しスケーリングしてたのが、
2つの変数での自前の乗算除算で済む様になる RISCでコード書いたことあるなら分ると思うが32個レジスタあってもちょっししたコードでも瞬殺で使い尽くす。全く足りない。
しかし、今時のIntelのPush、Popのスループットは1clock、0.5clock。つまりL1データキャッシュ32KBがレジスタの代用として使えるレベル。
だから単純にレジスタ数を倍増してもわずかしか速度が上がらない。とっくの昔にPush/Popの遅さは隠蔽されてるから。 自動変数にアクセスする度にpushpopなんてしとらんぞ
32ビット時代ですらBPにSP入れて相対のアドレッシングで直接読み書き演算しとる 加算が1回とかメモリに対してやれば1clockでやってくれるが、
複雑な計算だとレジスタに移したほうが速くなる。 4本の汎用レジスタと2+1本のインデックスレジスタで事足りる用途じゃ早くならんが
複雑な計算し出したらx64の方が圧倒的に高速になる
ブラウザやらエクセルやらでx64速度上がらないとか言ってるようなのは何なんだろうな
4G以上使えるだけの32ビットCPUしか持ってない貧乏人が作れ作れわめいてるだけか? ieやexcelはポインタこねくりまわすから64bit幅アドレスがキャッシュを倍の早さで食い尽くす。
今のところ圧倒例がエンコだけ。x264で10%程度。
しかし時代はエンコードもデコードもハード、GPUの時代。
IntelはAltera買収したからさらにハードでの処理が加速する。 WPAのクラックとかBFとかレンダリングとか、他にもいっぱいあるだろ。
しかも全員が全員、コーダー積んでるハード持ってる訳じゃないんだぞ。
んなニッチなもん誰も作らんわ 自分で作れ 作れないなら諦めろ。 >>317
PUSH/POPの命令発行クロックが小さくても、外部メモリへの読み書きはレジスタ内の読み書きに比べはるかに遅い。
命令を発行してからバスを通って読み出し、またバスを通ってレジスタにデータを得るまでの経路も長い。
レジスタ内で処理できればバスは関係なくなるし、外部メモリのクロックの遅さにも影響されずに処理できる。
確かにL1キャッシュにデータが入っている間は遅延は少なくて済むが、32個のレジスタで足りないほど多くの
データを扱うとなればL1キャッシュから外れるものも出てくる。プログラムの規模が大きくなればなるほどキャッシュに
ヒットしない場合が出てくる。そうなれば途端に遅くなる。 pushpopもクロック数の横に+nとか書いてある筈
レジスタ類にしか影響しないオペコードとオペランドの組み合わせの場合は
理論値通りのクロックで命令が終了するけど、
メモリアクセスが発生するオペコードだったりオペランドがメモリを指してたりする場合は
L1〜L3ヒット/ミスヒットでnの数値はどんくらいとか、
メモリがSDRAMの場合はキャッシュのライン読み込み完了まではストールとか、
別のデータ書き込み中に更にライトバックになったら終わるまで動けんとか、
詳細に計算式とか備考欄に書いてある筈だぞ
pushpopは必ずメモリアクセスが発生するから、L1にヒットするから1クロックとか
簡単に見積もれる話じゃないし、そもそもヒットするからって条件が付く事自体がおかしい
読み込みしかしない訳じゃないぞ gdgd荒らしている様だが、要するに一生懸命「32bitでも64bitに対してそれほど
遅くない」ってだけで肝心のメリットが殆どないってのに、今さら誰が欲しがるかって。
下らないわ。 要するに
古事記<古いCPUでメモリいっぱいの旧型機に特化したビルドを俺様の為に作れ!
↑の為にx64否定、x86マンセーの嘘を垂れ流す
その他<うぜぇ
だろ 何が合理的か語る場で古事記だの作れだの馬鹿にも程があるな
-m32通らないとか64CPUにi386入れたい理由なんて山ほどあるだろ
反論できなくなると荒らすとか何もかもレベル低すぎるぞお前 ×「32bitでも64bitに対してそれほど 遅くない」
○「64bitでも32bitに対してそれほど 遅くない」 64bitは32bitに対して結構メモリ無駄にするけどな >>329
-m32通らないならamd64で動かすしかないんじゃないか?
てか今時i386入れたい理由って具体的になんだよ
俺も>>330に賛成だよ
CPUがアドレス32ビットレジスタ64ビットサポートしないなら普通に64でいい
多少でかくても困らんし、世間で騒いでる奴なんてそんなにいない 32bit gccでコンパイルに通って64bit gcc の -m32 に通らないコードって、どんなコードだ? -m32の意味も知らないのに賛成とか
ポインタが何かすら知らないんだろうな 64bitなんて街乗りしかしないのにエンジンだけバカでかくて燃費悪い車買うようなものだわな i386入れたい理由にも>>334にも答えない
ただの知ったかぶり貧乏学生と見た 仮想PC内でしか動かさんからショボい32bitOSぐらいが丁度いい。 山ほど理由があるんだろ?他には?>>334の答えは? さっきからなにに発狂してるか知らんがおれは別人だ。
おまえの妄想がハズレたからって絡むなよ。 教えてくん痛々しいな
人様への物の聞き方すら知らないとか救いようのないアホだな どうせ知ったかぶってるだけで、そんなもんないか、極一部のプリプロセッサ辺りの欠陥だろ
救いようのない知ったか学生失せろ > -m32通らないとか64CPUにi386入れたい理由なんて山ほどあるだろ
山ほど答えてみろ
> 32bit gccでコンパイルに通って64bit gcc の -m32 に通らないコードって、どんなコードだ?
これに答えてやれ i386を排除しようとしてる奴はアホ。
そもそもamd64はx86を超互換性重視で作ったなんちゃって64bit。採用された経緯も知らんとか馬鹿杉。
おそらくコードも書かない社会を知らない学生だろう。 >答えてやれ
誰がお前みたいな礼儀知らずの知障に教えてやんだよw >>347
intelはIA-64に舵切ろうとしたのに、OpteronでAMDに先越されたから
慌ててintelが追従したんだろ
で、当時はAMDの皿とVIAやnForceのMBが飛ぶように売れてた
唯一AMDが輝いてた時期だ
>>348
教えてやらないんじゃないな、本当は滅多に存在しないから答えられないだけだ >>348
お前みたいな明らかな盆暗に説明したところで理解できるはずもないわ
対価でもよこせカス >>347
x86自体が糞なのはアセンブラが読める奴なら大半がわかっているだろう
それでも世の中はx86x64で動いている
おまえの下らない拘りなんて一般人は気にしない、動けばいい きっとゲーム機のCMでも見て64bitすげーみたいな浅はかなイメージしかないのだろう ×>>348
○>>349
アホな引用ばっかりするからミスったわ
お前と違って一度言われたことは記憶できるんでな
反論する能力がないからって無駄な引用やめろハゲ >>349
先を越されたんじゃない。MSがコード変更が面倒だからと互換性重視のamd64で行くと決めたのだ。
つまりMSがIA64で行くと言えば、amd64は市場から消えたアーキテクチャなのだ。
> CPUがアドレス32ビットレジスタ64ビットサポートしないなら普通に64でいい
> 多少でかくても困らんし、世間で騒いでる奴なんてそんなにいない
FreeBSDユーザの意見なんてこれっぽっちも影響力などないのだ。 >>354
MSが64bit版出したのはx64のCPUが広まって大分経った後だ
> -m32通らないとか64CPUにi386入れたい理由なんて山ほどあるだろ
本当は嘘だから一部の理由しか出てこない
> 32bit gccでコンパイルに通って64bit gcc の -m32 に通らないコードって、どんなコードだ?
本当は滅多にないから答えられない
こういう事だろ
今更x86に戻りたいなんて奴殆どいねえ
消費者はx64選ぶだろ 頭の悪い奴ってのは言葉を作れないからすぐコピペに頼る
しかも連呼とか救いようのない頭の悪さ
とっとと対価でも払って教えてもらえよガイジ >>354,355
嘘はやめよう。
64bitのWindowsはAlphaからあった。
IteniumのWindowsもあった。
x86の64bit拡張を市場投入するのを
IntelはAMDよりも出遅れた。 >>351
糞と思ってるのはおまえの妄想で市場は技術者はRISCを糞と判断したのだ。
> それでも世の中はx86x64で動いている
これこそ妄想。スマホ使ってる奴はガラケーは絶滅したと思ってるが実際のシェアは10年かかってやっと半々なのだ。
学生で無知だから知らないんだろうが、x86資産は膨大で、且まだまだ健在だ。 >>355
じゃあ尼券コード書けよ
お得意の連呼で何度か書けばいつか対価で教えてくれる奴に当たるだろ >>357
64bitAlphaのNT4とNT5x64は全く別のアーキテクチャ。 >>357
それは全くの嘘。Intelの64bit拡張はMSがamd64でいくと決めた後。 >>357
その64bitじゃない・・・amd64の話をしてる
アスペは引っ込んでてくれよ話がややこしくなる
> -m32通らないとか64CPUにi386入れたい理由なんて山ほどあるだろ
本当は嘘だから一部の理由しか出てこない
> 32bit gccでコンパイルに通って64bit gcc の -m32 に通らないコードって、どんなコードだ?
本当は滅多にないから答えられない
逃げるなよ
本当は口から出まかせで顔真っ赤なんだろ?
>>358
今やWin64bitは無数に出回ってる
x86x64の話から他のCPUの話に逃げるな >>363
顔真っ赤なのはお前だろ
教えてやるからとっとと尼券出せよ 逃げるな
> -m32通らないとか64CPUにi386入れたい理由なんて山ほどあるだろ
本当は嘘だから一部の理由しか出てこない
> 32bit gccでコンパイルに通って64bit gcc の -m32 に通らないコードって、どんなコードだ?
本当は滅多にないから答えられない
こういう事だろ? 逃げてんのはお前だな
とっとと尼券出せや引用しかできないお猿さん >>363
今でもWin32bitも無数に出回ってる。16年前のXPですら未だに何億台も稼動しているのだ。いいかげん現実を認めろ。
何の影響力もないFreeBSD陣営はi386とamd64両方用意すればいいのだ。ガタガタ言うな。 逃げるな
> -m32通らないとか64CPUにi386入れたい理由なんて山ほどあるだろ
本当は嘘だから一部の理由しか出てこない
> 32bit gccでコンパイルに通って64bit gcc の -m32 に通らないコードって、どんなコードだ?
本当は滅多にないから答えられない
こういう事だろ? 尼券で教えてくれるって言ってくれてんのに出さないとか
明らかに逃げてんのは連呼荒らしだわな >>367
それ出回ってるんじゃなくて、まだ残ってるってだけだよな
今更PC向けに32bitOS流通させようなんて企業あると思うか? >>369
しつけえよ乞食、逃げるな
> -m32通らないとか64CPUにi386入れたい理由なんて山ほどあるだろ
本当は嘘だから一部の理由しか出てこない
> 32bit gccでコンパイルに通って64bit gcc の -m32 に通らないコードって、どんなコードだ?
本当は滅多にないから答えられない
こういう事だろ? >>374
乞食うぜえ、さっさと認めろよ知ったかぶり
> -m32通らないとか64CPUにi386入れたい理由なんて山ほどあるだろ
本当は嘘だから一部の理由しか出てこない
> 32bit gccでコンパイルに通って64bit gcc の -m32 に通らないコードって、どんなコードだ?
本当は滅多にないから答えられない
こういう事だろ? >>375
お前みたいなゴキブリにタダで教えてやらねえっつてんだろ
救いようのないアホで超ウケルわ >>376
煽りしか返せない知ったかぶり、さっさと認めたらどうなんだ
> -m32通らないとか64CPUにi386入れたい理由なんて山ほどあるだろ
本当は嘘だから一部の理由しか出てこない
> 32bit gccでコンパイルに通って64bit gcc の -m32 に通らないコードって、どんなコードだ?
本当は滅多にないから答えられない
こういう事だろ? >>377
とっとと尼券払って教えてもらえや知障ゴキブリ ■ このスレッドは過去ログ倉庫に格納されています