アカウント名:
パスワード:
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については憶測だけど、レジスタの増加がパフォーマンスに全く効いてないとは考え難い。コンパイラで使うレジスタの数を制限するフラグでもあれば比較できて面白いかも。
もともとCISCの設計思想、かつスタックベースの命令が多いx86と、RISCの流れのARMとのレジスタの絶対数を比較してもあんまり意味が無いんじゃない?
汎用レジスタはいくつくらいあればまあ不足はないかというのを判断するのにRISCもCISCもあんま関係ないのでは?
「スタックベースの命令が多いx86」ということだけど、汎用レジスタ上にデータ置くのとスタックフレーム上に置くのとで違いがないのであれば(あり得ないが)、x86-64 で汎用レジスタの数を増やしたメリットはないですね。
RISCとCISCで(見かけ上)必要となるレジスタの数が違ってくるのは常識でしょ。
いまどきRISCだCISCだなんて話しないでしょ。
いや、内部的にやってることが似通ってきても、x86のISAがCISCなのに変わりは無い。メモリ上の値を(見かけ上は)直接変更できる命令セットと、レジスタ上にロードしないと何もできないRISCで必要となるレジスタ数が同じと考える方がおかしい。
x86でも実行効率とメモリ効率の両方を重視すればデータはレジスタ上に置くしかないし、結局は他のアーキテクチャと事情は変わらん。
だから、これ読めって。http://yarchive.net/comp/linux/x86.html [yarchive.net]
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
最初のバージョンは常に打ち捨てられる。
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: (スコア:0)
もともとCISCの設計思想、かつスタックベースの命令が多いx86と、
RISCの流れのARMとのレジスタの絶対数を比較してもあんまり意味が無いんじゃない?
汎用レジスタはいくつくらいあればまあ不足はないかというのを判断するのにRISCもCISCもあんま関係ないのでは?
「スタックベースの命令が多いx86」ということだけど、汎用レジスタ上にデータ置くのとスタックフレーム上に置くのとで違いがないのであれば(あり得ないが)、x86-64 で汎用レジスタの数を増やしたメリットはないですね。
Re: (スコア:0)
汎用レジスタはいくつくらいあればまあ不足はないかというのを判断するのにRISCもCISCもあんま関係ないのでは?
RISCとCISCで(見かけ上)必要となるレジスタの数が違ってくるのは常識でしょ。
Re: (スコア:0)
いまどきRISCだCISCだなんて話しないでしょ。
Re: (スコア:0)
いまどきRISCだCISCだなんて話しないでしょ。
いや、内部的にやってることが似通ってきても、x86のISAがCISCなのに変わりは無い。
メモリ上の値を(見かけ上は)直接変更できる命令セットと、
レジスタ上にロードしないと何もできないRISCで必要となるレジスタ数が同じと考える方がおかしい。
Re: (スコア:0)
x86でも実行効率とメモリ効率の両方を重視すればデータはレジスタ上に置くしかないし、結局は他のアーキテクチャと事情は変わらん。
Re:Mantleは当て馬? (スコア:0)
x86でも実行効率とメモリ効率の両方を重視すればデータはレジスタ上に置くしかないし、結局は他のアーキテクチャと事情は変わらん。
だから、これ読めって。
http://yarchive.net/comp/linux/x86.html [yarchive.net]