アカウント名:
パスワード:
それは物理アドレス=アプリケーションが使用しているアドレスだったX68kとか、x86上のMS-DOSまでですね。8ビット時代だと、CPUのスタックポインタにVRAMをマップして、ドットがムニョムニョ動くのを見て「スタックが可視化できたyo! すっげー最高」などと遊べたものです。まあ目で見てデバッグとかほとんど無理なんですけど。
VRAMはCPUの物理アドレス空間にマップされてるので、CPUからVRAMを参照することはこれまでもやろうと思えば可能でしたが、GPUがプロセスのページテーブルを参照できない等で、GPUからプロセスの仮想アドレス空間を参照できないという形でした。
GPUは基本データドリブンなので、大量のデータを一気に食ってくれますが、上記の制限があるためCPU側からデータをVRAMに転送する必要があり、それがオーバーヘッドになっていたが、それが緩和されるね、というのがそこそこのメリットかと。
8ビット時代はVRAMをメインメモリ代わりに使える機種はいくらかはありましたがメインメモリをVRAM代わりに使える機種はほとんど無かったと思いますよ
VRAMをマップして、などと間違って書いてしまったので誤解を招いたようです。SPにVRAMのアドレスをロードする、ですね。
暴走するとVRAMにデータぶちまけることがあったり、VRAMも何もかもメインメモリにマップされてましたから。
関係ないけど、どういうわけか暴走するとビープ(PSG)のポートとカセットテープを制御するリレーのポートを叩くことが多かったので、ブピーカチン、「うひょー暴走した」、リセットポンみたいな一連の反射行動を取ったりしてたのを生々しく記憶してます。あの音を聞くと今でも反射的にリセットボタンに手が伸びるかもしれません。いまのPCにはPSGとかリレーはないから聞けないですけどね。
特権だとかページング仮想記憶だとか何とか面倒なことがも何もない、のんびりした時代だったってことで(実際には主に使っていた8ビット機がMB-S1だったのでページング仮想記憶はあったが)
CRTの表示出力を切ると処理能力があがりましたね。CRTの画面は砂嵐のようになってましたが。
Apple IIとか。区別が無かっただけだけど。
> メインメモリをVRAM代わりに使える機種はほとんど無かったと思いますよ
How many pages?
# わからんか…
構造的に、厳密に言えば画期的なのかもしれないけど、メインメモリをVRAMとして使えるなんて10年以上前から当たり前にやってることなんじゃないの?
ついでにテキスト表示専用のVRAMもつけちゃえ!とならないかとわくわくしてしまいます。
ついでに、テキスト表示専用のROMもつけよう。漢字ROM。
それならいっそのこと、テキスト表示用のRAMとROMを制御するCPUも乗っけちゃえ。
フォントROMの書き換え機能も忘れないで。
> メインメモリをVRAMとして使えるなんて10年以上前から当たり前にやってるそれが思い浮かぶなら、i810 [wikipedia.org]などで採用された、メインメモリの一部をVRAMとして使う機能のことをUMA [wikipedia.org]と呼ぶことも思い出して欲しいですね。
今回AMDが発表したのは、その名が「hUMA」であることからして、従来のUMAを拡張したもの、であるのは明白でしょう。
日本語版にしかエントリがないのを訝しんだりしないんだろうか
> i810 [wikipedia.org]などで採用された、メインメモリの一部をVRAMとして使う機能のことをUMA [wikipedia.org]と呼ぶことも思い出して欲しいですね。
それ違う。
あなたが例示したUMAはUnified Memory Architecture。今回の例はUniform Memory Accessですよ。対称型マルチプロセッシングにおけるメモリアクセス手法(の一方式)のことをUMA、非対称型マルチプロセッシングでのそれをNUMAと呼ぶわけですが、今回のhUMAは、このNUMAの一種、と考える方がより近いでしょう。
いみじくも例示された日本語版のWikipediaでは
複数のCPUが共有するメインメモリにアクセスする対称型マルチプロセ
大転換させたら、360度回っていたでござる。みたいなものですね。
いや寧ろ近いのは10年以上前だ。
物理メモリの共用と論理空間の共用の差がしっかり示されていてすら理解していない人が多いのは何故か判らん、
キャッシュコヒーレンシも
CPUとGPUがメモリをアクセスしてもハードウェアによってコヒーレンシが確保されているのは超重要。久しぶりに楽しみな技術に出会った感じがする。
PS4で作っている内容のことじゃないか。1つのメモリをCPUとGPUで共通するので計算結果をいちいち転送しなくて済むのでその分の処理が不要。データ転送は昔から処理能力を下げる要因ですから。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
192.168.0.1は、私が使っている IPアドレスですので勝手に使わないでください --- ある通りすがり
それほんとに新技術なの?? (スコア:1)
メインメモリをVRAMとして使えるなんて10年以上前から当たり前にやってることなんじゃないの?
#GPUをVRAMにアクセスさせる時に自動的にメインメモリに置き換えるだけのラッパーだったら笑いますがw
Re:それほんとに新技術なの?? (スコア:2)
それは物理アドレス=アプリケーションが使用しているアドレスだったX68kとか、x86上の
MS-DOSまでですね。
8ビット時代だと、CPUのスタックポインタにVRAMをマップして、ドットがムニョムニョ動くのを
見て「スタックが可視化できたyo! すっげー最高」などと遊べたものです。まあ目で見てデバッグ
とかほとんど無理なんですけど。
VRAMはCPUの物理アドレス空間にマップされてるので、CPUからVRAMを参照することは
これまでもやろうと思えば可能でしたが、GPUがプロセスのページテーブルを参照
できない等で、GPUからプロセスの仮想アドレス空間を参照できないという形でした。
GPUは基本データドリブンなので、大量のデータを一気に食ってくれますが、上記の
制限があるためCPU側からデータをVRAMに転送する必要があり、
それがオーバーヘッドになっていたが、それが緩和されるね、というのがそこそこの
メリットかと。
Re: (スコア:0)
8ビット時代は
VRAMをメインメモリ代わりに使える機種はいくらかはありましたが
メインメモリをVRAM代わりに使える機種はほとんど無かったと思いますよ
Re:それほんとに新技術なの?? (スコア:2)
VRAMをマップして、などと間違って書いてしまったので誤解を招いた
ようです。SPにVRAMのアドレスをロードする、ですね。
暴走するとVRAMにデータぶちまけることがあったり、
VRAMも何もかもメインメモリにマップされてましたから。
関係ないけど、どういうわけか暴走するとビープ(PSG)のポートとカセットテープを
制御するリレーのポートを叩くことが多かったので、
ブピーカチン、「うひょー暴走した」、リセットポン
みたいな一連の反射行動を取ったりしてたのを生々しく記憶してます。
あの音を聞くと今でも反射的にリセットボタンに手が伸びるかもしれません。
いまのPCにはPSGとかリレーはないから聞けないですけどね。
特権だとかページング仮想記憶だとか何とか面倒なことがも何もない、
のんびりした時代だったってことで
(実際には主に使っていた8ビット機がMB-S1だったのでページング仮想記憶はあったが)
Re: (スコア:0)
CRTの表示出力を切ると処理能力があがりましたね。CRTの画面は砂嵐のようになってましたが。
Re: (スコア:0)
Apple IIとか。区別が無かっただけだけど。
Re: (スコア:0)
> メインメモリをVRAM代わりに使える機種はほとんど無かったと思いますよ
How many pages?
# わからんか…
Re:それほんとに新技術なの?? (スコア:2)
構造的に、厳密に言えば画期的なのかもしれないけど、
メインメモリをVRAMとして使えるなんて10年以上前から当たり前にやってることなんじゃないの?
ついでにテキスト表示専用のVRAMもつけちゃえ!
とならないかとわくわくしてしまいます。
Re: (スコア:0)
ついでに、テキスト表示専用のROMもつけよう。漢字ROM。
Re: (スコア:0)
それならいっそのこと、テキスト表示用のRAMとROMを制御するCPUも乗っけちゃえ。
Re: (スコア:0)
フォントROMの書き換え機能も忘れないで。
Re:それほんとに新技術なの?? (スコア:1)
> メインメモリをVRAMとして使えるなんて10年以上前から当たり前にやってる
それが思い浮かぶなら、i810 [wikipedia.org]などで採用された、メインメモリの一部をVRAMとして使う機能のことをUMA [wikipedia.org]と呼ぶことも思い出して欲しいですね。
今回AMDが発表したのは、その名が「hUMA」であることからして、従来のUMAを拡張したもの、であるのは明白でしょう。
Re: (スコア:0)
日本語版にしかエントリがないのを訝しんだりしないんだろうか
Re: (スコア:0)
> i810 [wikipedia.org]などで採用された、メインメモリの一部をVRAMとして使う機能のことをUMA [wikipedia.org]と呼ぶことも思い出して欲しいですね。
それ違う。
あなたが例示したUMAはUnified Memory Architecture。今回の例はUniform Memory Accessですよ。
対称型マルチプロセッシングにおけるメモリアクセス手法(の一方式)のことをUMA、非対称型マルチプロセッシングでのそれをNUMAと呼ぶわけですが、今回のhUMAは、このNUMAの一種、と考える方がより近いでしょう。
いみじくも例示された日本語版のWikipediaでは
Re: (スコア:0)
大転換させたら、360度回っていたでござる。みたいなものですね。
Re: (スコア:0)
いや寧ろ近いのは10年以上前だ。
物理メモリの共用と論理空間の共用の差がしっかり示されていてすら理解していない人が多いのは何故か判らん、
Re: (スコア:0)
キャッシュコヒーレンシも
Re: (スコア:0)
CPUとGPUがメモリをアクセスしてもハードウェアによってコヒーレンシが確保されているのは超重要。
久しぶりに楽しみな技術に出会った感じがする。
Re: (スコア:0)
PS4で作っている内容のことじゃないか。
1つのメモリをCPUとGPUで共通するので
計算結果をいちいち転送しなくて済むのでその分の処理が不要。
データ転送は昔から処理能力を下げる要因ですから。