64bit Windows XP、導入する? 124
ストーリー by GetSet
ドライバを揃える悩ましさ 部門より
ドライバを揃える悩ましさ 部門より
Anonymous Coward曰く、"しばらく前からベータ版での評価が行われていたWindows XP 64bit版ですが、先日よりMSDNのサイトから日本語版がDownload可能となっており、さらについ先ほど、秋葉原での深夜販売も行われた模様。
私のK8V SE Deluxe Athlon 64ではSATAのRAIDドライバがないのでRAIDを諦めない限りドライバ待ちなのですが、/.Jの皆様の環境ではどうでしょうか?
32bitアプリであっても、64bit版OSで動かした方がパフォーマンスが良かったりする場面もあるのでしょうか?"
Intel NICのドライバは付属してる? (スコア:4, すばらしい洞察)
ベータ版を入れてみたのは良いけれど、Intel NICのドライバが無い(てゆーか、ベータ版なのでドライバの類は必要最小限しか付属していない)のでほとんど使い物になりませんでした。Intelのサイトでもx64版Windowsのドライバはまだ公開されてません [intel.com]し。
Re:Intel NICのドライバは付属してる? (スコア:2, 参考になる)
http://www.intel.com/design/motherbd/bk/bk_drive.htm
昔のIntelPRO/100用のドライバも含まれているみたいです。
ws03_32eフォルダがx64用ではないでしょうか。
infファイルに"NTamd64"って書いてありますし。
アンチウィルス (スコア:3, 興味深い)
Re:アンチウィルス (スコア:5, 参考になる)
Windows XP Professional x64 Edition のカスタマ プレビュー プログラム (CPP) [microsoft.com]によると、「Windows XP Professional x64 Edition 試用版でのウイルス対策ソフトウェアは、Computer Associates 様のご協力により eTrust Antivirus 無償トライアル版をダウンロードしてご利用いただけます。」ということなので、eTrust Antivirus [caj.co.jp]が使えるようです。
64bit-forum [64bit-forum.com]にも 英語版eTrust Antivirus v7 for Windows Promotional Version(Ver7.0)の動作報告 [64bit-forum.com]があります。
theta
Re:アンチウィルス (スコア:4, 参考になる)
今のところ動作するアンチウイルスソフトはAvast!のみらしい。
(俺は使ってないが)
他にもハードウェアを直接見に行くプロテクト付ゲームは動かないものが多いね
Windows 64 Bit Edition まとめサイト
http://wiki.mm2d.net/win64/index.php?FrontPage
Re:アンチウィルス (スコア:3, 参考になる)
ファイルのパターンが一致するか見るだけなら、今後AMD64上でしか動作しないウィルス等が出てきても、
パターンファイルの更新だけで十分だと思います。
無知な私におせーて! (スコア:1, 興味深い)
Re:無知な私におせーて! (スコア:1, 参考になる)
レジスタのやりくりロスが減るんじゃないかと。
(もちろんCPU内部にはより多くの物理レジスタがあってレジスタ
リネームされてるんでしょうけど)
浮動小数点周りは退化? (スコア:4, 参考になる)
けど、AMD64 版 Windows の 64bit モード下では、x87 FPU レジスタの内容を保存・復元しなくなりましたので、事実上 x87 FPU 浮動小数点演算や、その x87 FPU レジスタを間借りしている MMX/3DNow! が使えなくなってます。MMX/3DNow! はともかく x87 FPU が使えないとなると、80bit の拡張倍精度フォーマットが使えなくなりますし、超越関数(sin/cosなど)のハードウェア演算ができなくなるので、状況によっては 64bit化によるパフォーマンス低下も考えられます。
要するに、浮動小数点演算については、これからはすべて SSE/SSE2 を使えということらしいです。AMD64 版の各種 PC-UNIX では、x87 FPU も MMX/3DNow! もきちんとサポートされているので、これだけがちょっと残念。
Re:浮動小数点周りは退化? (スコア:1)
Windows の 64bit モードで x87 FPU レジスタが保存されないとなると、32bit モードで動かさざるを得ないアプリが半ダースほどあるので。
#、と言うか 64bit 版への移行は断念かも。
Re:浮動小数点周りは退化? (スコア:2, 参考になる)
・Legacy Floating-Point Support
The MMX and floating-point stack registers (MM0-MM7/ST0-ST7) are volatile. That is, these legacy floating-point stack registers do not have their state preserved across context switches.
一つ補足 (スコア:2, 参考になる)
Re:浮動小数点周りは退化? (スコア:2, 興味深い)
教えていただいた URL [microsoft.com] は該当の記載が無いので Google で "Legacy Floating-Point Support " を検索 [google.co.jp]したところ、Other Calling Convention Process Issues [microsoft.com]を発見できました。
これは Other Calling Convention Process Issues [microsoft.com]
とあるのでDDK、ディバイスドライバのついて限定されるのではないかと思います。これまでドライバでx87が使えたか知らないのですが、超越関数が使えないとチョットだけ不便な気がします。
ドライバ以外(通常の64bit アプリケーション)でx87が使えるかはもう少し調べてみます。
Re:浮動小数点周りは退化? (スコア:1)
これがドライバに限定されるのかどうかは、私も実際に実機で試したわけではないのではっきりしたことは言えませんけど、ドライバだけ実行環境が違うというのもヘンなので、おそらくユーザーアプリでも同じだと思います。AMD の文書(PDF) [amd.com] では、"Microsoft Windows for AMD64 will not context switch x87, 3DNow!, MMX for 64-bit native threads." となってますし。
Re:浮動小数点周りは退化? (スコア:1)
=^..^=
Enjoy Computing, Skiing, as much as Horse Racing.
Re:浮動小数点周りは退化? (スコア:1)
Re:浮動小数点周りは退化? (スコア:1)
コンパイラはx86や3DNow!、MMX のコードを生成しないと思います。
しかし(インラインアセンブラを含む)アセンブラで書かれた資産はちがいます。
#個人的には 64bit に移行する今がx87と決別するいい潮時だと思います。
GCCのばぁい(Re:浮動小数点周りは退化?) (スコア:1)
最低でもgcc3まではインラインアセンブラ有効です。
従って、PC U*ixベースで開発されているAV系のソフトでは、x86_64などのSIMD命令をインラインアセンブラで記述している(そしてcofigure段階でMPUを判別して関数レベルで最適なコード記述を選択している)ものが結構あります。
# 勿論、インラインアセンブラだけでなく、XviD [xvid.org]のように
# 独立したアセンブルソースで書いてある例も多々ありますが…
ハードウェアだから早いとは限らない・・・かも (スコア:1, 興味深い)
自分が設計しているボードに乗っている某MIPS系CPUではFPU内蔵しているのに、「ソフトのライブラリの方が高速」とかいってソフト屋さんは使ってくれていません。『ホントかな?』とは思うのですが。
#自分はハード屋です
Re:ハードウェアだから早いとは限らない・・・かも (スコア:1, 参考になる)
加算 - 5 clock
乗算 - 7 clock
除算(64bit) - 38 clock
sin 関数 - 160-180 clock
なので、ハードウェア演算に勝つには、最低でも除算を4回以下に抑える必要があるということになるけど、実際には、除算を使わない方法でないと勝てませんよね。
級数展開の式をループを使わずにそのまま書けば、除算を避けることが可能なので速いかも。
インラインアセンブラも廃止 (スコア:2, 参考になる)
なので、ゲームなどでインラインアセンブラで最適化されたコードブロックが多数ある場合、64bit化にかなりの作業量が必要になるでしょうし、最適化を断念せざるを得ない場合もあるのではないでしょうか。
インラインアセンブラは、本当に重要なところだけをアセンブリ言語化できるという利点があるだけに、この変更も少し残念です。
Re:インラインアセンブラも廃止 (スコア:3, 参考になる)
Optimizing Inline Assembly [microsoft.com]
x86命令の所要クロック計測スレ [2ch.net]
インラインアセンブラで最適化されたコードブロックが多数ある場合、64bit化にかなりの作業量が必要になるというのは一理あるかもしれません。しかし SSE/SSE2 を多用するようなコードの場合、インラインアセンブラと組み込み関数のパフォーマンス面での比較はきちんと行う必要があるかと思います。
Re:インラインアセンブラも廃止 (スコア:2, 参考になる)
結局、インラインアセンブラのコードブロックが何をしているのかがコンパイラ側には判らない、というのが最適化の邪魔になる理由なのでしょう。その点で、gcc のインラインアセンブラは良くできてると思います。データの受け渡し方やコードブロックで使用するレジスタをコンパイラに通知できて、最適化への影響も少ない。難点は、あの構文だとどうしてもメンテナンス性の悪いソースコードになってしまうことか。
Re:インラインアセンブラも廃止 (スコア:1)
実際 インライン分も含めて最適化する C/C++ コンパイラもありますので、
Microsoft がやってやれないことはないです。
最適化に関してはインラインアセンブラがレジスタを決めうちで使ってしまうため、
レジスタ最適化への悪影響が大きいのが×なんだと私は考えます。
コンタミは発見の母
Re:無知な私におせーて! (スコア:1)
#「Windows XP 64-Bit Edition」って言い方は激しく紛らわしい
EXCELマクロ (スコア:1, おもしろおかしい)
Re:無知な私におせーて! (スコア:2, 参考になる)
> それじゃ1bitしか増えてない気がするんですけど。増えた32bitのうち15bitは何に使われてるのでしょうか?
32bit→64bitは「桁数」が2倍であってると思いますが。
それはさておき、x86-64 の場合、レジスタ幅が倍になることよりも、
レジスタ数が倍増することの方が効果的な場面が多いような気がします。
レジスタリネーミングの場合、少ないレジスタを使い回すことで発生する依存関係による効率低下は防げますが、
レジスタが少ないために頻繁にメモリアクセスが発生することは防げません。
キャッシュがあるからと言っても、レジスタアクセスとキャッシュメモリアクセスでは速さがだいぶ違いますし。
精度は32bitで十分なアプリケーションでも、コンパイルし直すだけで、
より高速な64bit版プログラムを得られるかと思います。
Re:無知な私におせーて! (スコア:1)
あと気が利いたコンパイラならSSEを使って自動ベクトライズしてくれるかもしれません。
Re:無知な私におせーて! (スコア:2, おもしろおかしい)
Re:無知な私におせーて! (スコア:1)
Re:無知な私におせーて! (スコア:1)
もしかして、32bit→64bitで、表現できる数値の範囲は2倍じゃなくて40億倍だ、と言いたいのでしょうか?
そうだとすると、
それはまったくその通りですが、
#726746 [srad.jp]では「桁数が2倍」と書かれているのであって、
> 32bit 符号なし整数 0 ~ 4,294,967,295
10進数10桁
> 64bit 符号なし整数 0 ~ 18,446,744,073,709,551,615
10進数20桁
で、桁数は2倍ですよ。
Re:無知な私におせーて! (スコア:1)
はい、それでいいと思います。
ただ、それでわかる人なら、
> 32bit→64bitは「桁数」が2倍
でも十分わかるだろうし、
それなのに、わざわざ10進数での表現範囲を書いてきたものだから、
そちらに合わせました。
Re:無知な私におせーて! (スコア:1)
これなら32bitモードでも使えますし。
それよりレジスタを経由しないmovsd命令が64bitに拡張されたかが気になる。
個人的には入れてみたいが… (スコア:1)
でもOS部分が64bitつーか、レジスタ数が増えるんで早くなるのはlinuxの人柱で体験済みだから、魅力的ではある。むむむ。
#最近WeblogcWorkShopでWebLogicの開発なんてしているとWebLogic部分だけで1Gのメモリをぶんどっていくのでうなるほどメモリがほしいのは事実だったりするんだけれどなぁ。
kusanagi shin
また繰り返し? (スコア:1)
32bitで組まれたDLLを呼び出したり
その逆をしたりする場合のオーバーヘッドはどれくらいなんだろう。
多分、そのオーバーヘッドが気にならないぐらい早くなるんでしょうが
誰か詳しい人解説してくださいな
LAN内LAN稼働中
Re:また繰り返し? (スコア:2, おもしろおかしい)
Re:また繰り返し? (スコア:2, 参考になる)
「WindowsXP x64では、32bitアプリケーションから64bit DLLを
呼び出すことが出来ない。逆に64bitアプリケーションから
32bit DLLを呼び出すことも出来ない」(P43)
とのことです。
その他の注意点としては、
・WOW64という機構を使って32bitアプリの要求したAPI呼び出しを
64bitに変換して実行しているが、そのWOW64は16bitアプリを
サポートしない。
・XP x64版では、デバイスドライバはすべて64bitモードで動作
できなければならない。
などが書いてあります。(同じくP43)
Re:また繰り返し? (スコア:1, 参考になる)
64-bit Windows で Microsoft IME を使用する際の注意点 [microsoft.com]
Re:また繰り返し? (スコア:1)
16bitから32bitになったときはできていた気がするので
当然できるものだと思い込んでました
シテオク?
LAN内LAN稼働中
Re:また繰り返し? (スコア:1)
なるほど。
setiathome (スコア:1)
これがなんでだったのかとか、他、対応アプリがほとんど
無い現状ではしばらく入れない予定。
ただ1年以内(?)に自社開発製品の対応をせまられるのではないかと
戦々恐々としております。
持っているAthlon64 の性能をフルに引き出したい、引き出せると
どんな新天地(笑)があるのか知りたいという欲求はありますが。
人事を半分尽くして天命を待つ
ドックフードを食え (スコア:1)
ドックフードを食わないわけにはなりますまい。
ドライバがない (スコア:1, 興味深い)
先日WindowsXPを再インストールすることになったのですが、
そうしたらEthernetが認識されていないことに気づきました。
CDはどっかにやったし、ネットからダウンロードするにしてもネットにつながらないし。
同じようなマシンにFreeBSDとかFedora Core 3を入れてみると
特に何もしなくても通常の使用には困らない程度に使えます。
あまり特殊なもののドライバはないとは思いますけど。
せめてフリーのLinuxディストリビューション程度にはドライバを揃えてあるといいのですが。
今の懸念はONKYOのSE80-PCIサウンドボードです。
SE90とか出てしまってすっかり忘れ去られた感じがします。
64bit売るなら (スコア:1, 興味深い)
P様とA様について、基本を教えてください (スコア:1, 興味深い)
でも私バカなので、これらが意味するところが分からないんです orz
通常シーンだと、OSやOffice系アプリの動作、MOVIEやDVDなどの動画の再生、最新ゲーム(タイトル毎に違う?)での得手不得手など・・・
つまり○○が得意(苦手)だと、○○に強い(苦手)みたいなのが良く分からないんです。
# 完全にオフトピで恐縮ですが・・・
# 最初、OSが64bit化されると、どちらがより恩恵受けるのか尋ねようと思ったのですが、
# 理解度がそれ以前の問題だったのに気がついたとです orz
Re:P様とA様について、基本を教えてください (スコア:2, 興味深い)
後藤弘茂のWeekly海外ニュース ---- なぜPentium 4の性能はAthlonに劣るのか [impress.co.jp]
P様とA様の考え方の違いについての解説記事です.ご参考になれば幸いです.
Re:最適化 (スコア:1)
最適化は、.netランタイムのお仕事。
Re:DAW (スコア:2, すばらしい洞察)
x86-64はこれからが旬なワケですし。
# Athlon MPだと話は早いんだが(汗
ヘンに様子見を決め込むと
1.フトコロに銭がある
2.でももうすぐ新モデルが出る
3.買い控え
4.新モデル発売
5.ご祝儀相場で手が出ない
6.手ごろになった頃には次のモデルが発表
7.3に戻る
みたいな無限ループを構成することになりかねませんので。
Re:DAW (スコア:3, おもしろおかしい)
1.懐に銭がない
2.新製品が出る
3.買えない
4.2に戻る
WinXP x64 は NUMA ware (スコア:3, 参考になる)
API も 少しだけ用意 [microsoft.com] されています。
P.S.
Solaris10 for x64 は、Hierarchical Latency Groups [sun.com] を導入して Opteron の多階層のトポロジーに対応しているそうです。
コンタミは発見の母