アカウント名:
パスワード:
MSの発表を見る限り、中身はほぼAMDのMantleにしか聞こえないのだけどMantleのAPIは未定義 [impress.co.jp]で開発任せな現状らしいのでAMDは始めからMSにDX12を作らせる目的でMantleを発表したのではないか、と思ってしまう。DX12の後ろにいるのはAMDのようだし。
リンク先には
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の箇所とか、読んでてこっちが気恥ずかしくなってきますね。
何がひどいか? RISCなのに汎用レジスタが16本しかない、その内の3本はプログラム関連で使っちゃうので、汎用に使えるのはたった13本。これで、ロード/ストアアーキテクチャのハンドリングをしなきゃならない。そうするとコンパイラが効率的なコードを吐けない。ので、コードステップが非常に長くなる。
確かにこれはひどいね。素人以下。
ので、コードステップが非常に長くなる。
なるほどわからん。レジスタ不足だから、主記憶に退避でもしているのだろうか。
レジスタに割り付けられないローカル変数はスタックフレーム(主記憶)に割り付けられる、が、ARM の仕様でそれほと問題になることは実際大してない。thumb ならまた別だが。
確かに生成されたコードを見ると、レジスタが足りなくてロード、ストアが頻出するってことは少ない気はする。ただ、x86-64の例を見ると、汎用レジスタが増えるのはやっぱり効いてくるんではないかと思う。Apple A7の性能向上も64-bit化自体が効いてるとは考え難いし。
ただ、x86-64の例を見ると、汎用レジスタが増えるのはやっぱり効いてくるんではないかと思う。
IA-32 → x86-64 で汎用レジスタが何個から何個になったかご存知?
知ってるけど、それが何か?もともとCISCの設計思想、かつスタックベースの命令が多いx86と、RISCの流れのARMとのレジスタの絶対数を比較してもあんまり意味が無いんじゃない?PPCやMIPSは32本のGPRを持ってるよね?あとA7については憶測だけど、レジスタの増加がパフォーマンスに全く効いてないとは考え難い。コンパイラで使うレジスタの数を制限するフラグでもあれば比較できて面白いかも。
何個から何個かは知らないけれど。IA-32/x86-64 でのレジスタ増加の効果に対し、ARMで同様に考えようとするのが方向違いなのは分かる。IA-32のレジスタが少なすぎに対し、ARMはもともとそれなりにある。ARM が倍になっても、効果がある機会は限られる。ARMではレジスタ不足のためのロード/ストアがあっても、(IA-32に比すれば)影響が十分小さいんじゃないかな。
CISC/RISCに関係なく IA-32のレジスタ本数は足りてない。スタックベース命令も多く使われる命令はRISCにも同一機能は用意されているような。CISC的スタックベース命令って遅い命令が多かったような。今は違うの?32本のGPRがあってフル活用しても 16本の時と劇的に違うって場合はあまりなさそう(たまにありそう)。
A7は・・・レジスタが 64bit長になったことがうれしいときもあるし、レジスタが増えたことがうれしいときもあると思うよ?
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
UNIXはただ死んだだけでなく、本当にひどい臭いを放ち始めている -- あるソフトウェアエンジニア
Mantleは当て馬? (スコア:0)
MSの発表を見る限り、中身はほぼAMDのMantleにしか聞こえないのだけど
MantleのAPIは未定義 [impress.co.jp]で開発任せな現状らしいので
AMDは始めからMSにDX12を作らせる目的でMantleを発表したのではないか、と思ってしまう。
DX12の後ろにいるのはAMDのようだし。
Re: (スコア:0)
リンク先には
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の箇所とか、読んでてこっちが気恥ずかしくなってきますね。
Re: (スコア:0)
確かにこれはひどいね。素人以下。
Re: (スコア:2)
なるほどわからん。
レジスタ不足だから、主記憶に退避でもしているのだろうか。
Re: (スコア:0)
レジスタに割り付けられないローカル変数はスタックフレーム(主記憶)に割り付けられる、が、ARM の仕様でそれほと問題になることは実際大してない。thumb ならまた別だが。
Re: (スコア:0)
確かに生成されたコードを見ると、レジスタが足りなくてロード、ストアが頻出するってことは少ない気はする。
ただ、x86-64の例を見ると、汎用レジスタが増えるのはやっぱり効いてくるんではないかと思う。
Apple A7の性能向上も64-bit化自体が効いてるとは考え難いし。
Re: (スコア:0)
ただ、x86-64の例を見ると、汎用レジスタが増えるのはやっぱり効いてくるんではないかと思う。
IA-32 → x86-64 で汎用レジスタが何個から何個になったかご存知?
Re: (スコア:0)
知ってるけど、それが何か?
もともとCISCの設計思想、かつスタックベースの命令が多いx86と、
RISCの流れのARMとのレジスタの絶対数を比較してもあんまり意味が無いんじゃない?
PPCやMIPSは32本のGPRを持ってるよね?
あとA7については憶測だけど、レジスタの増加がパフォーマンスに全く効いてないとは考え難い。
コンパイラで使うレジスタの数を制限するフラグでもあれば比較できて面白いかも。
Re:Mantleは当て馬? (スコア:0)
何個から何個かは知らないけれど。
IA-32/x86-64 でのレジスタ増加の効果に対し、ARMで同様に考えようとするのが方向違いなのは分かる。
IA-32のレジスタが少なすぎに対し、ARMはもともとそれなりにある。
ARM が倍になっても、効果がある機会は限られる。
ARMではレジスタ不足のためのロード/ストアがあっても、(IA-32に比すれば)影響が十分小さいんじゃないかな。
CISC/RISCに関係なく IA-32のレジスタ本数は足りてない。
スタックベース命令も多く使われる命令はRISCにも同一機能は用意されているような。
CISC的スタックベース命令って遅い命令が多かったような。今は違うの?
32本のGPRがあってフル活用しても 16本の時と劇的に違うって場合はあまりなさそう(たまにありそう)。
A7は・・・レジスタが 64bit長になったことがうれしいときもあるし、レジスタが増えたことがうれしいときもあると思うよ?