Microsoftがやっとx86-64への対応を発表、Sunは可能性を示唆 54
ストーリー by Oliver
IA-64かx86-64か 部門より
IA-64かx86-64か 部門より
dseg 曰く、 "米Microsoftは9日、WindowsXP/Windows Server 2003 でAMDの64bitプロセッサであるOpteronとAthlon 64に対応すると発表した。WindowsXP/Windows Server 2003に64bitサポートを盛り込むという。β版は本年6月頃登場のようだ。また、The Inquirerの記事によると、Opteronに対応した64bitバージョンのMicrosoft SQL Serverの開発も進んでいるという。
Intelに配慮してか、対応の発表こそOpteronの登場直前と遅れたものの、MSは着々と64bit環境への準備を進めているようだ。"
一番乗りは誰だ (スコア:2, 参考になる)
AMD の狙いは、現状の 32ビットアーキテクチャと連続性を持たせ、しばらくは高性能な x86 として素早く普及を図りつつ、搭載した 64ビットアーキテクチャの性能を引き出すソフトの充実を待つ、と言ったところでしょうから、かなり目論見通り展開しているように見えます。
%% 早く普及価格帯に降りて来てくれないかなぁ。
の
Re:一番乗りは誰だ (スコア:2, 興味深い)
ファイル容量も64bit長で管理するのが既に当たり前ですが、このファイルI/O周りが高速化されるなら、DB関係などには非常に恩恵があるでしょうね。特にOracleみたいにRAW I/O使ってると、検索速度の高速化に効きそう。
Re:一番乗りは誰だ (スコア:1)
64ビット化すると、恩恵の出るアプリは除外してっ事ですけどね。
Re:一番乗りは誰だ (スコア:1, すばらしい洞察)
それって除外しすぎて意味の無い比較になってますよ。
実際のスピードでは軽自動車もフェラーリも差が無い気がするのですが、どうでしょう。
60km/h以上出せる道は除外してって事ですけどね。
というようなもんで、差が無いという実感は正しいけど、その条件下で比較する意味は無い。
Re:一番乗りは誰だ (スコア:1)
身近なところで文字列のコピーなんかは普通に高速化できそう
体感できるかどうかは微妙だけど
恩恵のでないアプリはなさそうですよね
Re:一番乗りは誰だ (スコア:0)
もちろんアルゴリズムとかCPU内部でのcharの取り回しのアーキテクチャに拠るだろうし、体感できるほど差は無いだろうけど。
Re:一番乗りは誰だ (スコア:1)
memcpyは早くなるな。
元々言いたかったのは、16ビットから32ビットに以降したときの様な、必然性は感じられないって事。
でもmemcpyが早くなるなら、やっぱりわくわくするかも。
Re:一番乗りは誰だ (スコア:2, 参考になる)
やったことないので分かりませんが、SSEのレジスタを
ごそっと使ってmemcpyすると結構、速いかもです。
Re:一番乗りは誰だ (スコア:0)
プログラム起動時のメモリクリアに使用中。
Re:一番乗りは誰だ (スコア:1)
memcpyからmemmoveに乗り換えましょう:-)
Re:一番乗りは誰だ (スコア:0)
それと、32bit-intは使うことが多いので1opで実行できる事がメリットとなりましたが、64bit-intってあんまり使う事が無
Re:一番乗りは誰だ (スコア:0)
#CPUの話からは外れるけど
それはDMAかCPUか? (スコア:1)
ん~ ENDマーク自己認識機能きDMAコントローラか… こんどのシステムボードのFPGAの隙間(^^;)におしこんでテストしてみるかな…(^^;)
Re:それはDMAかCPUか? (スコア:1)
私がいままで使ったことのあるDMAは、そのような機能をもったものがないので、具体的なメーカー名と型番を教えていただければありがたいです。よろしくお願いいたします。
Re:一番乗りは誰だ (スコア:1)
実際のライブラリがどのような処理をしているかはわかりませんが…
ハード的にはただのメモリ間データ転送ですよね?
であればCPUのレジスタのビット長やコアの内部バスのバス幅はあまり関係なくて、CPUの外部メモリバスのバス幅や速度で決まってくるのではないかと…
で、すでにPentium以降のCPUは、外部バス幅は64ビットになってますので、あとはFSBの差しかないかと…
Re:一番乗りは誰だ (スコア:0)
ん? んん?
何の話? OpteronはメモリコントローラをCPUに内臓してるから、FSBがどうたらとか無関係ではないの
Re:一番乗りは誰だ (スコア:1)
>んで、ここでの話題は物理的なメモリ速度なんか全然関係無くて、CPU内部での論理的なメモリ操作の話をしているのではないかなと。
少なくとも普通のプログラム(SSEやVISみたいなSIMD命令群がメインで動かないようなプログラム)では、 64bitアドレス空間で動かしたほうがポインタのサイズが大きくなったり、 ページテーブルのキャッシュミスが増えたりするため、実行速度は遅くなります。
参考程度ですが、メモリコピーを行うプログラムを同一マシン上で 32/64bitアドレス空間それぞれで動かしたので、 結果を張り付けておきます [srad.jp]。
Re:一番乗りは誰だ (スコア:1)
Re:一番乗りは誰だ (スコア:1)
最適化を掛けていないので、memcpyとmemmoveの差がでない様な気がするのですが、いかがですか?
gccで下手に最適化掛けると、確かmemcpyとかはインライン展開されてしまうので、inline抑制有/無で結果出していただけるとありがたいです。
#お前がやれって?
#ごもっとも
Re:一番乗りは誰だ (スコア:1)
まあいずれにしろ、inline化したところで変化するのは関数コールのオーバヘッドの分だけのような気がするので、元々のメモリ転送速度の話とは切り放して考える必要があると思います。
Re:一番乗りは誰だ (スコア:1)
有意な差は出ていないようですね。
ありがとうございました。
Re:一番乗りは誰だ (スコア:0)
#本当にわからないのでAC
Re:一番乗りは誰だ (スコア:1)
strcpyだと末尾の'\0'を判断して, その先は送り先側にはコピーしないようにするので, 何も工夫していないプログラムでは1バイト毎の転送となってしまい, 8バイト分の幅がある64bitバスの有効性が活かせない. 下手をすると1バイト単位という特殊なアクセスの為, 効率が極端に落ちるのではないか. ということだと思います.
ただstrcpyみたいな非常によく使われる関数でそんなおばかなインプリメントがされるわけは無く, 例えば基本的には64bit単位での転送を使い, 文字列末尾の8バイトブロックだけ特殊な処理を行う様になっているはずです.そのため, ほとんど全ての文字列の長さが8バイト未満というような場合を除き, 効率は上がると考えて良いと思います.
Re:一番乗りは誰だ (スコア:0)
glibcなんかはi586以上はsysdependなコードがありますが、i386は無いので「おばかなインプリメント」がされています。
Linuxの多くのディストリビューション
Re:一番乗りは誰だ (スコア:0)
誤:IA64用のコード
正:x86-64用のコード
大量のファイルの処理は速くなりそうだ (スコア:0)
リソース不足によるトラブルがなくなる事を期待したい。
大量のデレクトリとかファイルとかエクスプローラで扱おうとすると
リソース食って遅くなったり、不安定になったりするからね。
32Bitメモリアドレスがそろそろ限界 (スコア:1)
普通の方はメモリの上限が迫ってるって意識されていませんので、遅い64BitCPUより速い32BitCPUを支持し、いつまでたっても64Bit化が進まない今ままでの状況が続くと思います。
x86は36ビットアドレスです (スコア:1)
x86の物理メモリアドレスは36ビットです。通常は4GB止まり
(32ビット)で使われていますがLinuxやWin2K/XPは36ビットアドレス
に対応済みですね。
ですので今すぐ限界がくる、という言い方は不正確かと。
この手法で物理メモリ空間を拡大することも不可能ではないです。
あまり効率は良くありませんがね。
元ネタの後藤さんは分かって書いておられるようなので問題ないん
ですけど。
Re:x86は36ビットアドレスです (スコア:1)
現状のメインメモリが1Gや2Gバイトまでのマシンの場合、低位アドレス側にはメインメモリがそのまま見えますよね? それを超えると、PCIバス空間(AGPなど含む)にアクセスしに行きますよね?
例えば4G以上のメモリを積める場合は、PCIメモリ空間はどこにマッピングされるんでしょうか?
(PCIメモリ空間のアドレッシング能力も、一般的には32ビットですし…)
Re:x86は36ビットアドレスです (スコア:1)
PSE-36はページサイズを拡張して36ビットアドレスを参照します。
一方、PAE-36はページディレクトリテーブルを使ってアドレスを
拡張します。
リニアアドレスは32ビットのままで、36ビットの物理アドレス空間
に32ビット仮想アドレス空間がマッピングされているという風にイメー
ジすればわかりやすいと思います。
詳しくはインテルが出しているマニュアルを参照してください。
たしか日本語版もPDFでダウンロードできます。
Re:x86は36ビットアドレスです (スコア:1)
またまたFreeBSD-CURRENTの話になっちゃうのですが, 丁度本家の記事 [slashdot.org]でも4GB越えの実装が行われたことについて取り上げられています.
まあ4GB越えと言っても単一プロセス内では32bitアドレスのままなので, 科学計算等の用途ではmmap等を使ってアクロバティックなプログラミングをすることにならざるをえないと思いますが.
Re:x86は36ビットアドレスです (スコア:1)
しれませんが・・
>アクロバティックなプログラミングをすることにならざるをえないと思いますが.
おっしゃる通りです。仮想アドレスは32ビットのままですから。
なにやらWindows 3.1時代を彷彿とさせますね。
関連してPCIのアドレス等は物理アドレス的には下位4GBにマップされます。
これも実は「いつか来た道」で、ISAバスのDMAやISAバスのバスマスタデバイスは
4GBの下位16MBにしかアクセスできませんでした。
Re:x86は36ビットアドレスです (スコア:1)
となると…PCIバスマスタは、メインメモリに対しての転送でも、物理アドレスを指定した転送しかできないので、その場合はどうなるんでしょうね?
例えば4Gバイト以上のメインメモリを実装できるサーバーなどの場合は、4Gを超えたアドレスのメモリにはPCIバスマスタはバスマスタ転送できないのかな??
(すいません、飲み込みが悪くて…^^;)
Re:一番乗りは誰だ (スコア:0)
すでに x86-64 が NetBSD 1.6 のサポートアーキテクチャの中に
入ってたりするくらいには急速ですな。
基本的に IA32 のすなおな拡張なので、新しいことやりたがりの
INTEL よりは手っ取り早く実用的なのかもしれず。
巧遅は拙速にしかず。
欲しいモノ (スコア:2, 参考になる)
MatLab for x86-64とか。
個人的にはDelphi for x86-64希望。
でもWindows XPの対応ってどういう内容なんでしょう?
intel Math Kernel for x86-64なんかは出ないですよねー、、、
賛成! (スコア:1)
3次元、4次元の配列なんて使ってて、
「Z軸の要素もう1個増やしたいんだけど…」
と増やして一晩走らせても、次の日の朝まだ終わってねぇ~
…ってこともなく、さくさく作業がすすめられるかな?
FreeBSDも (スコア:1)
同じx86-64つながりで, FreeBSD-CURRENTでもbootに成功した [freebsd.org]らしいです.
やはり最近はメモリの値段も安くなってきましたし, x86-64は2GB超のリニアなアドレスが必要になる数値計算用途でのAlpha代替という形で広がっていくのでしょうかね.
Intelの対抗策は? (スコア:1, 参考になる)
「IntelがIA-32の64bit拡張「Yamhill」を開発している理由」 [impress.co.jp]
Re:Intelの対抗策は? (スコア:1)
私には、革新より、今の環境がちょっと良くなる方を選ぶ人の方が(Intelの思惑より)多いように思えるのです。
IBMが、PC/ATからPS/2に移行しようとして、高性能化したAT互換機のせいでPS/2のシェアが伸びなかった故事を思い出しません?(ISAとPCIとMCA、の方が正確かも)。
とゆーか、まさにAMDのK6シリーズのせいで(他にもSocket7CPUはありましたが)、Socket7がIntelの手を離れて延命された事とかもありますよね。
あのとき、IntelがMMX-Pentiumの高クロック版を投入していれば、今のAMDはなかったかも。
ハードは革新的ですよ (スコア:1)
命令アーキテクチャに関してはItaniumのような目新しさはない
ですけど、ハードは十分に革新的ですよ。
ご存じでしょうがメモリコントローラをCPU内部に持ち、
バスはHyperTransport。
少なくともPentium4/Xeonなんかよりは目新しいです。
性能も相当に高く米国では予想を超える反響を呼んでいるとか。
期待したいですね。
Re:ハードは革新的ですよ (スコア:1)
HyperTransportと従来のNorthBridgeの統合はひょっとしたら64bit化よりも大きなインパクトが有るかもしれませんね. タイミング的にPCI-ng等のシステムアーキテクチャの大きな変更が重なりそうなので, 個人的にはそのあたりが落ち着くまでは待ちを決め込もうかと考えています.
Re:Intelの対抗策は? (スコア:1)
特殊な数値計算分野だけでなく、画像処理なども含め、恩恵を受ける人はそれなりにいそうですし。
まして、Opteron/Athlon64では当たり前のようにできるとなれば。
Re:Intelの対抗策は? (スコア:0)
ItaniumにIA-32を載せるための部分のテストも兼ねているのではないかと見ていますけど。
hotfixのプラットホーム識別名は? (スコア:1)
XPだと32bit版(x86)と64bit版(ia64)を分けていたけど、AMDのx86-64はどう表記されるかが既に気になっています。
amd64、とでもするのかな? それとも機能を活かして32bit版を包含したものにでもしてしまうんだろうか?
# 窓2000ですが、nec98、なんてものがいまだにメンテされていることに素直に拍手。
by NEC (スコア:0)
ところでItaniumは? (スコア:0)
どこでどなたが使っているのでしょうか???
# iAPX432のように歴史から抹殺されるのか???
Re:ところでItaniumは? (スコア:1)
そりゃそうか、日本でIA-64を“まじめ”にやってる客(会社)って、いくつあるんだよ…
(“まじめ”ってのは、チップセットを自社開発するとか…)
某/某じゃぜんぜんわかんないのでID(^^;)
Re:ところでItaniumは? (スコア:1)
> 日本でIA-64を“まじめ”にやってる客(会社)って、いくつあるんだよ…
日本じゃNECのAsAmAぐらいじゃないでしょうか. あれもHP-UX, Linux, Windows Serverの3種類のOSが動くんで, ローエンド側は鼻から相手にしていないっぽいんですが. まだ予定ですが, こんなシステム [osakafu-u.ac.jp]の導入予定があるみたいです.
Re:ところでItaniumは? (スコア:0)
いや、早いですよ。ええ。
ソフトがほとんどないだけで。
でも価格性能比を考えるとp690とかわらんので以下略。
#スケーラビリティも入れるとp690だろ…
Re:ところでItaniumは? (スコア:1)
秋葉原エレクトリックパーツ [akiele.com]