パスワードを忘れた? アカウント作成
この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。

DirectX 12が正式発表される。よりGPUに近いローレベルなAPIに」記事へのコメント

  • by Anonymous Coward

    MSの発表を見る限り、中身はほぼAMDのMantleにしか聞こえないのだけど
    MantleのAPIは未定義 [impress.co.jp]で開発任せな現状らしいので
    AMDは始めからMSにDX12を作らせる目的でMantleを発表したのではないか、と思ってしまう。
    DX12の後ろにいるのはAMDのようだし。

    • by Anonymous Coward

      リンク先には

      Mantleはやっかいで、何も定義されてない。ゲーム機のAPIと似てはいるけど互換じゃない。

      とは書いてありますが、APIが未定義とは書いてないように思いますが…。
      実際、Wikipediaには

      Mantle is a graphics API specification developed by AMD as an alternative to Direct3D and OpenGL, primarily for use on the PC platform.

      とあります。

      「Mantleはやっかいで、何も定義されてない」という記載は意味不明です。
      というか、専門家気取りの半可通がいいかげんなことを言ってる記事で、ARM 32-bitの箇所とか、読んでてこっちが気恥ずかしくなってきますね。

      • by Anonymous Coward

        何がひどいか? RISCなのに汎用レジスタが16本しかない、その内の3本はプログラム関連で使っちゃうので、汎用に使えるのはたった13本。これで、ロード/ストアアーキテクチャのハンドリングをしなきゃならない。そうするとコンパイラが効率的なコードを吐けない。ので、コードステップが非常に長くなる。

        確かにこれはひどいね。素人以下。

        • ので、コードステップが非常に長くなる。

          なるほどわからん。
          レジスタ不足だから、主記憶に退避でもしているのだろうか。

          • by Anonymous Coward

            レジスタに割り付けられないローカル変数はスタックフレーム(主記憶)に割り付けられる、が、ARM の仕様でそれほと問題になることは実際大してない。thumb ならまた別だが。

            • by Anonymous Coward on 2014年03月25日 4時46分 (#2568678)

              確かに生成されたコードを見ると、レジスタが足りなくてロード、ストアが頻出するってことは少ない気はする。
              ただ、x86-64の例を見ると、汎用レジスタが増えるのはやっぱり効いてくるんではないかと思う。
              Apple A7の性能向上も64-bit化自体が効いてるとは考え難いし。

              親コメント
              • by Anonymous Coward

                ただ、x86-64の例を見ると、汎用レジスタが増えるのはやっぱり効いてくるんではないかと思う。

                IA-32 → x86-64 で汎用レジスタが何個から何個になったかご存知?

              • by Anonymous Coward

                知ってるけど、それが何か?
                もともとCISCの設計思想、かつスタックベースの命令が多いx86と、
                RISCの流れのARMとのレジスタの絶対数を比較してもあんまり意味が無いんじゃない?
                PPCやMIPSは32本のGPRを持ってるよね?
                あとA7については憶測だけど、レジスタの増加がパフォーマンスに全く効いてないとは考え難い。
                コンパイラで使うレジスタの数を制限するフラグでもあれば比較できて面白いかも。

              • by Anonymous Coward

                もともとCISCの設計思想、かつスタックベースの命令が多いx86と、
                RISCの流れのARMとのレジスタの絶対数を比較してもあんまり意味が無いんじゃない?

                汎用レジスタはいくつくらいあればまあ不足はないかというのを判断するのにRISCもCISCもあんま関係ないのでは?

                「スタックベースの命令が多いx86」ということだけど、汎用レジスタ上にデータ置くのとスタックフレーム上に置くのとで違いがないのであれば(あり得ないが)、x86-64 で汎用レジスタの数を増やしたメリットはないですね。

              • by Anonymous Coward

                x86のシステムレベルのアセンブリコード書いたことある?
                オフトピだからこれで最後にするけど、x86はメモリアクセスの遅延の影響を避けるために相当の資源を割いているよね。
                レジスタリネーミングはご存じ?
                実際のレジスタの数は、その辺のRISCよりよほど多いんじゃなかろうか。

              • by Anonymous Coward

                x86はメモリアクセスの遅延の影響を避けるために相当の資源を割いているよね。

                それでもレジスタアクセスより遅いしコードも長くなりますね。何が言いたいんでしょうか?

                レジスタリネーミングはご存じ?
                実際のレジスタの数は、その辺のRISCよりよほど多いんじゃなかろうか。

                あなたがレジスタリネーミングについて理解されてないことは分かりました。

                x86のシステムレベルのアセンブリコード書いたことある?

                話題の流れとして何か関係のある話ですか?

              • by Anonymous Coward

                どうとでもとれる中途半端な書き方をして、明言を避ける。
                質問で返して、相手の揚げ足をとろうとする。
                知ったかぶり同士の会話は微笑ましいね。

              • by Anonymous Coward

                実際のレジスタの数は、その辺のRISCよりよほど多いんじゃなかろうか。

                あなたがレジスタリネーミングについて理解されてないことは分かりました。

                自分も上のACと同じ理解してるけど間違ってるの?

              • by Anonymous Coward

                x86はメモリアクセスの遅延の影響を避けるために相当の資源を割いているよね。

                それでもレジスタアクセスより遅いしコードも長くなりますね。何が言いたいんでしょうか?

                まあ、これでも読んでくれ
                http://yarchive.net/comp/linux/x86.html [yarchive.net]

              • by Anonymous Coward

                レジスタに割り当てられるデータの数に影響する技術じゃないよ

              • by Anonymous Coward

                OoOで、同時に使われるレジスタは実質的には増えますが?

              • by Anonymous Coward

                コード上でのレジスタに割り当てられるデータの数は増えないよ

              • by Anonymous Coward

                コード上でのレジスタに割り当てられるデータの数は増えないよ

                なんだ、トロールか。真面目に聞いて損した。

              • by Anonymous Coward

                汎用レジスタはいくつくらいあればまあ不足はないかというのを判断するのにRISCもCISCもあんま関係ないのでは?

                RISCとCISCで(見かけ上)必要となるレジスタの数が違ってくるのは常識でしょ。

              • by Anonymous Coward

                いまどきRISCだCISCだなんて話しないでしょ。

              • by Anonymous Coward

                いまどきRISCだCISCだなんて話しないでしょ。

                いや、内部的にやってることが似通ってきても、x86のISAがCISCなのに変わりは無い。
                メモリ上の値を(見かけ上は)直接変更できる命令セットと、
                レジスタ上にロードしないと何もできないRISCで必要となるレジスタ数が同じと考える方がおかしい。

              • by Anonymous Coward

                何個から何個かは知らないけれど。
                IA-32/x86-64 でのレジスタ増加の効果に対し、ARMで同様に考えようとするのが方向違いなのは分かる。
                IA-32のレジスタが少なすぎに対し、ARMはもともとそれなりにある。
                ARM が倍になっても、効果がある機会は限られる。
                ARMではレジスタ不足のためのロード/ストアがあっても、(IA-32に比すれば)影響が十分小さいんじゃないかな。

                CISC/RISCに関係なく IA-32のレジスタ本数は足りてない。
                スタックベース命令も多く使われる命令はRISCにも同一機能は用意されているような。
                CISC的スタックベース命令って遅い命令が多かったような。今は違うの?
                32本のGPRがあってフル活用しても 16本の時と劇的に違うって場合はあまりなさそう(たまにありそう)。

                A7は・・・レジスタが 64bit長になったことがうれしいときもあるし、レジスタが増えたことがうれしいときもあると思うよ?

              • by Anonymous Coward

                アセンブリコードとか言いながらレジスタリネーミングとか片腹痛い
                レジスタリネーミングでマシン語プログラミングが楽になったら驚きだ。

                あなたの行っている「x86のシステムレベルのアセンブリコード」が プロセッサの実装で、
                レジスタリネーミングのついでに命令発行をバイパスしてやったぜ!とか言うなら脱帽ですが。

                そうじゃないならレジスタ退避で命令発行ポートストールされてろ

              • by Anonymous Coward

                x86でも実行効率とメモリ効率の両方を重視すればデータはレジスタ上に置くしかないし、結局は他のアーキテクチャと事情は変わらん。

              • by Anonymous Coward

                アセンブリコードとか言いながらレジスタリネーミングとか片腹痛い
                レジスタリネーミングでマシン語プログラミングが楽になったら驚きだ。

                アセンブリコードの件は、x86の作法で書けばそんなにレジスタが要らない理由が分かるはずと思ったんだけどね。
                まあ、それでもレジスタリネーミングで楽にはなるよ。適当に書いてもそれなりのパフォーマンスが出るからね。

              • by Anonymous Coward

                ああ、馬鹿丸出し

              • by Anonymous Coward

                ああ、馬鹿丸出し

                議論する気が無いならもういいけど、反論も出来ないの?

              • by Anonymous Coward

                x86でも実行効率とメモリ効率の両方を重視すればデータはレジスタ上に置くしかないし、結局は他のアーキテクチャと事情は変わらん。

                だから、これ読めって。
                http://yarchive.net/comp/linux/x86.html [yarchive.net]

              • by Anonymous Coward

                別ACだけど横から失礼。

                コンパイラって、汎用レジスタが多い方が性能が出るんじゃないの?
                最適化の過程でメモリアクセスのコストが一番小さくなるように
                汎用レジスタを使い回すコードを吐き出すようになっていても。

                そもそもレジスタリネーミング用のレジスタを大量に持っていても、
                汎用レジスタと違ってプログラムからは直接指定できないから、
                プログラム中の命令はデータアクセスを伴うものが多くなり、
                汎用レジスタを多く持つCPUと同等とは言えないのでは?

                データアドレスを比較して物理レジスタに割り当てるような
                ことまで行っても、プログラムの各ステップで生じたテンポラリの
                データは、プログラム的に指示されたアドレスに書き戻さないと、
                プログラムとメモリ内容の整合が取れなくなりますから。

              • by Anonymous Coward

                コードサイズと実行効率の両方でどの程度レジスタ数があれば適当かというアーキテクチャデザインの話と、少ないレジスタ数でも実行効率を引き出せるよう仕組みを実装するという話はそもそも話題として噛み合ってないことは理解できるかな?

                x86-64で汎用レジスタが追加された事実を思い出せば、

                アセンブリコードの件は、x86の作法で書けばそんなにレジスタが要らない理由が分かるはずと思ったんだけどね。
                まあ、それでもレジスタリネーミングで楽にはなるよ。適当に書いてもそれなりのパフォーマンスが出るからね。

                自分がどれだけ馬鹿なこと言ってるかも理解できると思うけどね。

              • by Anonymous Coward

                コードサイズと実行効率の両方でどの程度レジスタ数があれば適当かというアーキテクチャデザインの話と、少ないレジスタ数でも実行効率を引き出せるよう仕組みを実装するという話はそもそも話題として噛み合ってないことは理解できるかな?

                Linusの発言は読んでくれたかな?
                重要なのは実際の性能であって、どんなテクニックを使ってでも、
                結果的に少ないレジスタで最高の性能が出せるなら、それが現時点での適切なレジスタ数じゃないのかい?

                x86-64で汎用レジスタが追加された事実を思い出せば、

                アセンブリコードの件は、x86の作法で書けばそんなにレジスタが要らない理由が分かるはずと思ったんだけどね。
                まあ、それでもレジスタリネーミングで楽にはなるよ。適当に書いてもそれなりのパフォーマンスが出るからね。

                自分がどれだけ馬鹿なこと言ってるかも理解できると思うけどね。

                自分はGPRを増やすのが無駄だとは一言も言ってないけどね。(Linusはx86-64には不要だったと言ってるけど。)

                ただ、x86-64の例を見ると、汎用レジスタが増えるのはやっぱり効いてくるんではないかと思う。

              • by Anonymous Coward

                「何がひどいか? RISCなのに汎用レジスタが16本しかない」から話が始まってること理解してないのね。

              • by Anonymous Coward

                「何がひどいか? RISCなのに汎用レジスタが16本しかない」から話が始まってること理解してないのね。

                君は何を言ってるんだ?
                もともとは「16本しかない」発言に対して、素人以下、なんていう人がいるから、
                GPRを増やすのは正しいんじゃないのという、それだけの事だったのだが?
                x86-64のレジスタ数で横道にそれてしまったんだが。

              • by Anonymous Coward

                増やすのが正しい/正しくないじゃなくて、『「16本しかない」からひどいアーキテクチャ』と言えるほど少なくはないだろ、ってのが大元じゃないのか?

              • by Anonymous Coward

                増やすのが正しい/正しくないじゃなくて、『「16本しかない」からひどいアーキテクチャ』と言えるほど少なくはないだろ、ってのが大元じゃないのか?

                うむ、自分も”ひどい”ってのは言い過ぎだと思う。だが”素人以下”ってのは余りにも失礼だろう。
                PC Watchを読むことも少なくなったけど、後藤さんの記事は未だに更新されたら読んでいる。
                いつも丁寧に調べて書いてるし、今回は座談会で口がちょっと滑ったんじゃないの?

              • by Anonymous Coward

                今回は座談会で口がちょっと滑ったんじゃないの?

                以降は、「どう口が滑ったら上記のような馬鹿発言が出るか」が議題になります

              • by Anonymous Coward

                ま、この手の座談会記事の場合、本当に分かってないのはまとめて記事にした聞き手だろうな、って部分はあるけど。
                ただ、それにしても基本的に口が滑ったにしろ、あとでちゃんとニュアンスが伝わっているかを含めてチェックもしてないのか、って意味では杜撰だよな。

              • by Anonymous Coward

                以降は、「どう口が滑ったら上記のような馬鹿発言が出るか」が議題になります

                君も粘着だね。後学のために、どうしてそういう発言をしているか教えてくれないか?
                1. 後藤さんが嫌い、恨みがある。
                2. ARM関係者
                3. 単なるトロール
                4. その他

              • by Anonymous Coward

                http://developers.srad.jp/comments.pl?sid=627062&cid=2568409 [srad.jp]

                ふむ。どのように間違ってるんでしょ?>ARM32bitの箇所

                自分は半可通どころか努素人なので、ほほーと思って読んでたけど、いいかげんな話だったのか…。

                なんて読者もいることは、ライターも掲載メディアも理解すべきですね。

              • by Anonymous Coward

                なんて読者もいることは、ライターも掲載メディアも理解すべきですね。

                ARM関係者?激おこぷんぷん丸?

              • by Anonymous Coward

                えっこの人なんでこんな粘着してんの?四つのどれかから選べって馬鹿じゃないかしら。後藤本人かな?

                …なんてのは虚しいとは思わんかね?

              • by Anonymous Coward

                えっこの人なんでこんな粘着してんの?四つのどれかから選べって馬鹿じゃないかしら。後藤本人かな?

                …なんてのは虚しいとは思わんかね?

                それは別に構わん。どうせ答えてもらえないだろうからふざけて書いただけだから。
                「後藤本人かな?」は物書きの後藤さんに失礼だけど。
                でもインターネットトロールの行動心理に興味があるのは本当。
                もしトロールじゃなかったら、こんなとこで貶してないでimpressに直接抗議すべきだろう。
                facebookコメントだっていいじゃないか。

              • by Anonymous Coward

                「トロール」ってどういう意味ですか?なんでか得意になって使ってるみたいだけど、「自分はコミュニケーション能力低いです」と自己紹介してるのと変わらなく見えるけど、敢えてする意図が分からない。

              • by Anonymous Coward

                「トロール」ってどういう意味ですか?なんでか得意になって使ってるみたいだけど、「自分はコミュニケーション能力低いです」と自己紹介してるのと変わらなく見えるけど、敢えてする意図が分からない。

                いくらなんでもスラドに来る人がトロールを知らないとは思わんかったわ。
                答えはググってね。

              • by Anonymous Coward

                ああ、やっぱりコミュニケーション能力低い人だったんですね。了解です。

              • by Anonymous Coward

                ああ、やっぱり物書きの後藤さん本人だったんですね。了解です。
                知りもしないこと座談会で話されたところで恥晒すだけですよ。それどころか世間にも迷惑をかけますよ。老婆心ながら申し上げさせていただきます。

              • by Anonymous Coward

                ああ、やっぱりコミュニケーション能力低い人だったんですね。了解です。

                こんなつまらない煽りをして構ってほしいんだろうからつき合ってあげよう。

                なんでか得意になって使ってるみたいだけど

                トロール使ったくらいで、こんなこと書かれたらこっちが恥ずかしいわ。
                若者なら無知もある程度しょうがないけど、きみの目の前にあるものですぐに調べられるんだから、
                知らない言葉が出てきたら調べる癖をつけましょう。
                年寄りなのに知らなかったのならちょっと不勉強すぎます。

              • by Anonymous Coward

                ああ、やっぱり物書きの後藤さん本人だったんですね。了解です。
                知りもしないこと座談会で話されたところで恥晒すだけですよ。それどころか世間にも迷惑をかけますよ。老婆心ながら申し上げさせていただきます。

                本当にかまってちゃんだな。
                本人に何か言いたいなら、リンクされた記事にfacebookかtwitterでコメント出来るんだから書いてきなよ。
                いくらなんでも自分みたいな文才のない人間のコメントを本人認定したら失礼過ぎるわ。

              • by Anonymous Coward

                普及してない言葉/言い回しを得意になって使ってるから「コミュニケーション能力低い」って言われてんだけど、「知らない言葉が出てきたら調べる癖をつけましょう」って、更に上を行く馬鹿だね。

              • by Anonymous Coward

                x86は8→16だからものすごく意味があるけど、ARMの15→31は意味が薄いと言いたいです。
                必須レジスタ数(アキュムレータ、スタック、ベース、ついでにインデックスとか)除いた残りレジスタ数へのインパクトが違う。
                だから、ARMの話にx86 の例を関連づけてほしくない。

                あなたの反論は当を得ていない様に思う。なので以下は枝葉の話題。

                レジスタ数が少なくてもやっていけるのは豊富なアドレッシング(メモリ直接とか、有り余るほどの間接アドレッシングとか)のおかげであって、
                その辺は ISAとか CISC/RISC の話。
                レジスタリネーミングはアウトオブオーダ実行を効率よく行うための実装

              • by Anonymous Coward

                ACのお前が何言ってんの??

              • by Anonymous Coward

                レジスタリネーミングはご存じ?
                実際のレジスタの数は、その辺のRISCよりよほど多いんじゃなかろうか。

                爆笑ww 馬鹿じゃなかろうかwww

              • by Anonymous Coward

                > x86のシステムレベルのアセンブリコード書いたことある?

                なんて書いていて、このACは絶対に自分で書いたことないよね。
                プログラムと汎用レジスタの関係も知らないみたいだし。

              • by Anonymous Coward

                x86は8→16だからものすごく意味があるけど、ARMの15→31は意味が薄いと言いたいです。

                それでは、なぜ64-bit ARMではISAを変えてまでレジスタを増やしたの?
                他のRISCの多く(PPC, MIPS, Alpha, etc.)が32本のGPRを提供してるのに、なぜ32-bit ARMは15本で足りるの?
                SHが16本って話が出てたけど、その記事にはこう書かれている:

                すなわち組み込み用途で使われるほとんどのプログラムの実行にはレジスタが16本あれば足りる,よりたくさんのレジスタを必要とするマルチスレッド処理は多くないといった事実である。

                これは逆に、組み込み用途以外では16本では足りないってことじゃないの?

                必須レジスタ数(アキュムレータ、スタック、ベース、ついでにインデックスとか)除いた残りレジスタ数へのインパクトが違う。

                ってことはさ、IA-32の純粋なGPRは8本より更に少ないんだよね。それでもデスクトップからサーバーまでトップクラスの性能を保ってきたわけだ。その理由は考えた?

                だから、ARMの話にx86 の例を関連づけてほしくない。

                自分からすれば、これは逆。x86は少ない(ISA上の)レジスタでもやり繰りできるように改良されてきた。Linusの言葉を借りれば、

                So you think AMD extended the register file just for fun?

                I think the AMD register file extension was unnecessary, yes. They did it because they could, and it wasn't a big deal.

                Hell, the "PAE crud" is the *same* problem as the tiny register file. Insufficient virtual ad

              • by Anonymous Coward

                実際のレジスタの数は、その辺のRISCよりよほど多いんじゃなかろうか。

                爆笑ww 馬鹿じゃなかろうかwww

                もう少し気の利いたこと書こうよ。爆笑、馬鹿に、草生やしてさ、語彙が貧弱すぎるよ。
                そんなことだからトロールくらいで「得意になって」なんて書くことになるんだよ。
                まあ、これだけじゃなんだから一応調べておいてあげたよ。これ後藤さんの記事から:

                Cortex-A9は56物理レジスタだったのが、Cortex-A12は80物理レジスタになっている。

                Cortex-A15のは非公開みたいでみつけられなかったわ。
                これはWikipediaから、Ivy BridgからHaswellへの変更点:

                物理レジスタファイルの増加(整数160→168、浮動小数点144→168)

目玉の数さえ十分あれば、どんなバグも深刻ではない -- Eric Raymond

処理中...