• 締切済み

GPUのパイプラインについて

PlayStation2などのゲーム機に搭載されているGPUのアーキテクチャについて詳しい方、参考文献やURLなどありましたら、教えてください。 具体的には、 1.CPU(PS2ではEE)からGPU(GS)に渡されるデータは何? 2.ラスタ処理とは? 3.パイプラインにおける処理 4.ピクセルシェーディングとは?nVIDIAのGPUについて 色々知りたいのですが…。よろしくお願いします。

みんなの回答

  • parts
  • ベストアンサー率62% (6364/10149)
回答No.3

ちょっと回答が遅くなりました。 ちょっと、誤解が生じたようですね。 以後気をつけたいと思います。これからはもっと考えて回答しますから、もし間違いとかあればどんどんつっこんでください。 ただ、私が述べた RISC-CPUにおいてというのは、CISCの原型はパイプライン処理との違い(高級言語処理を優先する)から生じたものですから述べただけです。現CISC-CPUは内部的にRISCを格納(吸収)しているというのが正式な言い方かと思いますし・・・ (もともとのRISCの定義は命令を簡略化したパイプライン処理のことです。高速化のためにCISCがそれを加えたのであって、この場合特定の簡易命令を下すグラフィックスチップという点などを考えてRISC-CPUにおいて、と述べたのです。まあ、屁理屈かもしれませんね) 本当に質問者の方にも難しい回答になってしまったかも・・・すみません。 本題です。 まず、PS2の簡易仕様サイトを見てくださいな http://www.watch.impress.co.jp/mobile/column/ps2/2000/03/24/ GS側はvertexシェーダー(以下VSD)やpixel シェーダー(以下PSD、こちらは最近のものなので当時は組み込めなかった)自体は含まれませんが、高度なポリゴン処理を可能にしています。 基本的にpixelシェーダーはGSではGF3のようなネイティブなハードウェアサポートではありません。 そのため、いずれもPS2ではEEが基本処理することになるでしょう。逆にGF3は両方をnfiniteFX Engine(いわゆるGPU)が行うことになります。 ついでにnfiniteFX EngineのVSDとPSD機能についても簡易的に、 http://www.vwalker.com/news/0102/25_/25_213601.html これをそのまま、転載しないでね。 私は、保証できませんよ。 既に、前の方がほぼ回答されているので、私はこのぐらいですかね。もし、3Dプログラマーでもお探しなら、参考のリンクを見ても良いかも・・・

参考URL:
http://homepage2.nifty.com/tenk/prog/plink.htm
  • alfeim
  • ベストアンサー率58% (114/195)
回答No.2

確か復刊後のOh!Xの4号目ぐらいにPSのアーキテクチャについて解説してあったと思います。 その他ではOpenGLやDirectXの解説書あたりでしょうか? OpenGLでは ・OpenGLプログラミングガイド第2版  ピアソン・エデュケーション発行 星雲社発売 定価12000円  通称赤本と呼ばれるOpenGLの解説書です。3Dの基礎的なシステムはこの本で分かるかと思います。 DirectXでは ・MSDN Online - DirectX Developer Center http://www.microsoft.com/japan/developer/directx/default.asp  Microsoftのwebサイトです。  DirectXの技術情報が解説されています。 ・DirectX 8.0のプログラマブルシェーダ http://www.microsoft.com/japan/developer/directx/welcome/dsmsdn/directx01152001.asp  DirectX Developer Center内のドキュメントです。 ・DirectX 8 SDK  Microsoft発行 http://www.microsoft.com/downloads/release.asp?ReleaseID=26072 にてダウンロード可。書籍として出ているもの(アスキー刊)も多分同内容だと思います。 んでpartsさんの回答にちょっとしたツッコミ。 >3.パイプライン処理とはRISC-CPUにおいて 別にRISC-CPUである必要はありません。 Intelのx86シリーズはCISCタイプのCPUですが(PentiumProからはそうとも言えないですが・・・)8086の時代から命令デコード用のパイプラインを持ってます。ただ書籍などでは RISC CPUで・・・といったくだりが多いようですが。 ピクセルシェーディングについて  ピクセルシェーダは3D処理のステージの片割れであるラスタライズ処理をプログラマブルにしたものです。今まではラスタライズ処理の高速化のため専用のハードウェアを使ってラスタライズがされてきていました。しかし、近年さまざまなエフェクトが施された3D映像が必要になり、固定化されたハードウェアではその要求にこたえる事ができません。確かにラスタライズ処理自体をソフトウェアにすれば可能ですが、ラスタライズ処理はとんでもない計算コストがかかるため、汎用に設計されたCPUとメモリでは処理速度やメモリバンドなどの面で問題が出ます。  そこで出てきたのがPixelShaderです。PixelShaderは今までハードウェア固定であったラスタライズ処理ハードウェアをいくつかの命令セットとレジスタを用意し、ラスタライズ処理をプログラマに任せています。これによって今まではハードウェアラスタライズ後に画素情報にアクセスしなければ実現できなかった処理などもラスタライズ処理中で実現できるようになります。  PixelShaderの考え方自体はCPUにおけるマイクロコードの考え方に近いですね。確かNintendo64はラスタライズユニットにマイクロコードをセットしていろいろできたらしいです。  あと >汎用に設計されたCPUとメモリでは処理速度やメモリバンドなどの面で問題が出ます。 とかいてますが、実際にはSGIからOpenGL ShaderというまんまSoftwareで実現されてるPixelShaderがあったり・・・。 5について 考えられるのはViewやModel変換後の頂点座標、色情報、法線、あとはテクスチャ座標でしょうか? 6について DDAが何の事か・・・前後の文が無いとDDAが何を指しているのか分からないです。PS2ハードウェアに関するものでしょうか? 7について PS2ではEE内のVU0、VU1がジオメトリエンジンであり、各種操作はプログラムがVU0,1を叩いて操作するため、VertexShader相当の処理はここで実現できるでしょう。 GSのアーキテクチャについてはあまり知りませんが、PS2のVRAM容量がたった4MBと考えると、PixelShader相当の機能はあると考えるのが妥当でしょう。 なお、nVidiaのGPUでは両方ともGPU内部で処理されます。 8について Oh!XとかC Magazine・・・ぐらいしか思い付きませんね。というより最新情報はnet上のプログラマに聞いた方が早いです。プログラマが集まる掲示板やMailingListを当たる方が良いでしょう。 >nVIDIAのGeForce3とATIのSmartShaderのpixelpipeまわりの性能についての比較をレビューすることになりまして…(しかも〆切が来週の水曜)。 来週の水曜日ですか・・・前提知識があるならともかく・・・ 一番いいのは近くにいる3Dプログラムのできる人を捕まえて聞く事でしょう。 自身で覚える事自体は悪くは無いですが、期間が短すぎるかと。

  • parts
  • ベストアンサー率62% (6364/10149)
回答No.1

1.演算命令やPS2ではCPUで描画データの作成→モデリング→座標計算→光源計算(CPUによる座標光源計算をソフトウェアT&Lという)→クリッピングが行われ、そのデータをエモーションエンジンからグラフィックシンセサイザーに受け渡します。ということで、クリッピング後のデータが受け渡されるわけです。 ただし、ハードウェアT&L登載GPUでは、座標~クリッピングはGPUが負担しますから、モデリング後の画像がやりとりされます。 2.ラスタ処理ですか上の処理を終えたあとグラフィックアクセラレータ側(GPU)が処理する工程です。 まずラスタ変換→隠面消去→テクスチャー処理までの工程を言います。 3.パイプライン処理とはRISC-CPUにおいて、複数の処理を同時にこなせることです。 GeForce2では、7つのピクセル処理を同時に実行できる能力を持っています。 RADEON256ではレタリングパイプライン1つで3つのテクスチャー処理が可能です。 4.ピクセルシェーダー、ピクセル光源に陰を付ける技術です。GeForce3ではこれとアンチェリアス処理で画像をよりリアルに再現できます。 しかしこんなこと、何で知りたいわけ? 物好きですね! これ以降を本気で知りたいなら、自力で徹底的に探してください。雑誌なんかにも最近は書いてありますよ。 定期購読していれば、分かるはずですけど・・・ (たとえば、DirectX8SDKにはピクセルシェーダーについてのことも書いてあったような?・・・SDKは全て英語のはずです)

ko-mai
質問者

お礼

ご回答ありがとうございます! >しかしこんなこと、何で知りたいわけ? こういったCG関係については全くのど素人なのですが、とあることがきっかけでnVIDIAのGeForce3とATIのSmartShaderのpixelpipeまわりの性能についての比較をレビューすることになりまして…(しかも〆切が来週の水曜)。聞いたこともなかったので、PS2のGS当たりから調べていたのですが、専門用語の連続で…。はっきり言って間に合いませんっ!!救世主になりそうな本やURLもあったらよろしくお願いします。 補足質問になってしまうのですが、 5.EEから渡されるデータというのは、ポリゴンの頂点データですよね?そのデータというのはRBG等の色情報やXYZ等の位置情報のほかにどういったものが渡されるのでしょうか。 6.ラスタライジングについて、「プリミティブを構成するピクセルをDDAによって発生します」という表現で説明しているものがあったのですが、これはどういうことでしょうか? 7.ピクセルシェーダについてなのですが、PS2では頂点シェーダをCPUのEEで行い、GF3ではGPUでピクセル単位のシェーディングを行う、という解釈で間違ってませんでしょうか。 8.この当たりの事が書いてある雑誌とはどういったものでしょうか。ぜひ知りたいです! 以上です。またよろしくお願いします。m(_ _)m

関連するQ&A

  • GPUとビデオメモリについて

    この2つのパソコンはどちらが、映像処理能力に優れているのでしょうか? sonyのvaio Fシリーズ(カスタマイズできるタイプ)のスペック表には グラフィックアクセラレーター:NVIDIA GeForce 310M GPU (NVIDIA GeForce GT 425M GPUも選択可) ビデオメモリー:512MB (1GBも選択可) とあります。一方 necのlavie GタイプL(カスタマイズできるタイプ)のスペック表には グラフィックアクセラレーター:インテル® HD グラフィックス(CPUに内蔵) ビデオメモリー:最大1696MB とあります。 基本的にビデオメモリの容量が多いほど解像度や表示色数がよく、 GPUがCPUに内蔵されていないもののほうが性能がよく、処理速度等も速くなるとのことでした。 lavie GタイプLはビデオメモリーは大きいですが、GPUは内蔵されているタイプです。 一方、vaio Fシリーズはビデオメモリーの容量は小さいですが、独立したGPUを搭載しています。 ということは、どちらも同じCPU、同じ容量のメインメモリーを搭載している場合、vaio Fシリーズの方が、ゲームやフルハイビジョン動画の再生をするのには優れているといえるのでしょうか?

  • 最新APUや内蔵GPUでPS4並のゲームできるの?

    グラボが高いですが、PS4レベルのゲームやりたいです PS4も最近中古高いので 自作でグラボ買わずに内蔵GPUやAPU搭載のそこそこの CPU買ってパソコン組んで遊べないかと考えています アドバイスよろしくおねがいします(*´ω`*)

  • GPUの活用につきまして

    サイコムのBTOのデスクトップを使用しています。グラフィックボードはNvidia 1080tiです。ブラウザはEdgeを利用中で、その設定は「GPUレンダリング」を使用するに指定しています。しかしEdgeで以下のリンクを開いて、負荷をかけてもタスクマネージャーのパフォーマンス、GPUの使用率は上がりません。CPUのみで処理されているようです。何か他の設定がありましたらご教示ください。よろしくお願いいたします。 https://testdrive-archive.azurewebsites.net/performance/fishietank/

  • GPUは、CPUよりも高速で省エネ

     日経コンピュータ1月6日号に、 グラフィック処理専用プロセッサであるGPUは、CPUよりも高速で省エネ、 個人のPC用途からスパコン、そしてモバイル機器まで、 あらゆるコンピュータにGPUは搭載されつつある、 とありました。  「CPUよりも高速で省エネ」とは、どういうことでしょうか? もしそれが本当なら、みんなCPUで計算させるような計算機の設計にすればいいような気がするのですが。

  • 何故CPU内蔵GPUだと画像が安定するの?

    偶々グラボの不具合だったのかもしれませんが、IntelCPUの内蔵GPUの方が、処理は遅いが、画像が安定していると思っています。何故、CPU内蔵GPUは安定しているのでしょうか?Windows11が自動インストールする、Intelのドライバーの出来栄えが良いからですか?また、NVIDIAのグラボの方がAMDのグラボより安定しているのでしょうか?Intel Arcの発売は遅れるそうですから、NVIDIAに期待していますが、アドバイスください。

  • ノートPC:オンボードかGPU付きかで悩んでます

    次のノートPCをどんなのにしようかと検討中です。 特に放熱がうまく出来ているものを探しています。 今使っているノートPCはどうも放熱に疎く、 NVIDIA Geforce 8600M GSを積んでますが、 7,8ヶ月しか持たずにGPU部が熱暴走してしまいます。 2年ほど経っているのですが、既にグラフィック部の同じ箇所で3度修理に出しています。 来年サポートが切れるので、また同じ箇所が壊れたらと思うとやるせないです。 GPU付きのノートPCの場合、CPU部とGPU部の2つにファンがないと かなりきついと思うのですが、今のPCは実質CPU部とGPU部を兼用に放熱しているような構造です。 (ノートPCにファンが2つ付いているようなものが、そもそもあるのでしょうか?) そこでグラフィックメモリがオンボードのものを検討しているのですが、 こちらはグラフィック部の放熱に関してはどうでしょうか? GPU付きのものに比べて、あまり放熱は気にしなくて良い構造なのでしょうか? 今所有しているPCの修理度合いを見ると、 ノートPCを考える上で一番大事なのは放熱だと感じました。 今後の参考にさせて下さい。 宜しくご回答お願い致します。

  • GPUのパワーを使えていない、CPUへの負担をGPUにまわしたい。

    GPUのパワーを使えていない、CPUへの負担をGPUにまわしたい。 以前 熱によって故障したので電源とM/B、グラフィックボードを付け替えました。 M/Bは以前と同じものです。 デュアルモニターなので当然、処理は大きくなります、が GPUの使用率をソフトウェアで監視していますがほとんど動いていません (Webブラウザをつかんで振り回すと5%ほと使用される) 3Dゲーム(Company of Heroes)グラフィック設定は高め をプレイ時はやはりGPU使用率は20%を超えることはなく CPU使用率は80%以上となります。 以前の環境からは電源とグラフィックがパワーアップしているにもかかわらず GPUのパワーを使えていないのかゲームが非常に重く感じます。 CPUがパワー不足になりつつあることは自覚していますが、なんとかGPUのパワーを引き出せないでしょうか、上手な設定などを教えてください。 以下 スペック OS:XPHome M/B:Intel DP965LT  オンボードグラフィック機能なし、以前使っているものと同じ型を買い換えた CPU:Core2Duo E6600 2.4Ghz*2 メモリ:1G*4 HDD:320GB+500GB  デフラグ済 グラフィックボード:EVGA 450GTS   以前のものは7900GS 電源:EARTH WATTS   650W 12V ディスプレイ:1024*768 をデュアルで2つ ハードウェアの温度は正常、ウィルススパイウェアチェック済、 ブルースクリーンなし、ドライバもインストールをして安定化させています、

  • Nvidia のGPUの使用方法について

    GPUのハードウェアもだいぶ前からあるようなので古いものはご利益もないかなとは思いますが、練習にはなるかもしれないと思っています。 手持ちの、GPUですが、NVIDIA GeForce GT 750M という5,6年前のものです。 これを使ってGPUの処理の練習が可能なのでしょうか。 CUDAの環境を持ってきてソースプログラムの高速性を見るとか、あるいはパッケージ化されているソフト(スイッチでGPUを指定)でやってみるとかです。 古すぎてネットから環境をダウンロードしても対応してないものでしょうか。あ、なるほど早いなあ、と思わせるような簡単な材料がないかなと思っているのですが。 PCはWindowsなのですが、もともと7だったのをアップして10にしているのでドライバなどが対応しているのかどうかイマイチ不明なのですが、Nvidiaコントロールパネルは動作してサンプルの動画などはスムーズに出ています。それでも最高のパフォーマンスなのかどうかも実はわからない、というのが本音ですが、実用面では支障はないという状態なのです。よろしくお願いします。 ※実はSSD換装する前は動作が遅く、期待もしていなかったのですが、換装したらサクサク動くようになり、だったら搭載しているGPUはどうなの?と思っているわけです。古いパソコンで廃棄かなと思っていたものが次々に現役復帰しています。 パソコンがダメになる=HDDがダメになる だったんだなと思います(話題が逸れました)。

  • バイオ VGC-RC52のCPU交換について

    現在、バイオ VGC-RC52を使って動画のエンコード処理などをさせているんですが、やはりいくつかのフィルターを同時に処理させると結構な時間がかかってしまってます(当たり前ですが)。 そのため、CPUもしくはGPUの交換(値段しだいでは両方)をして処理速度を向上させたいのです。 因みに現在搭載されているのは CPU:Pentium D 930  3GHz GPU:nVIDIA GeForce 6600 GT です。 CPUの交換はデュアルコア、有効であればクアッドコアに変えたいと思ってます。 GPUの交換は、エンコードソフト(TMPGEnc 4.0)がCUDAに対応したらしいんですが、このGPUではどうやら使えないようなので、使用可能なものが望ましいです。 後、わかるのであれば(返答者が見たときの)店頭での販売価格も教えてもらえれば幸いです。 回答、お願いします。

  • 1万円以下のGPUでオンラインゲームは可能でしょうか?

    1万円以下のGPUでオンラインゲームは可能でしょうか?  3年4ヶ月前にBTOパソコンを購入したのですが、最近HDDが壊れてしまったので、HDDを買うついでにCPU、電源、PCファン、CPUクーラーを交換しました。  ですが、GPUも壊れてしまったため、1万円以内で低発熱なオンラインゲームができるGPUを探しています。  やりたいオンラインゲームの推奨スペックは以下の通りです。 -------------------------------------------- *推奨動作環境* ・CPU:Pentium4 2.4Ghz 以上 ・ビデオカード:Geforce FX 5200 以上 (64MB) ・メモリー:512MB 以上 ・ディスク容量:500MB以上の空き容量 ・OS:Microsoft Windows XP Professional Service Pack 2以上 ※Server版や64bit版は動作保証外です。 -------------------------------------------- 参考までに組んだ当時のスペックと、パーツを交換した後のスペックを載せておきます。 ※2007/03/31に購入 → 2010/07/09に購入 --------------------------------------------  OS:WindowsXP SP3  電源:TAO-480MPVR(定格480W最大570W) → WIN+ 550W HEC-550TE-2WX(定格550W)  マザーボード:MSI P965 Neo-F → MSI P45 Neo-F(※故障のため1年程前に交換)  CPU:Intel Core 2 Duo E6600 → Intel Core 2 Quad Q8400  GPU:NVIDIA GeForce7900GS → 【今回購入予定のものです】  メモリ:PC5300 DDR-2 SDRAM 1024MB×2 → 1024MB追加(※1年程前に追加。型番は忘れました)  HDD:SATA2 320GB 7200rpm(メーカー不明) → HGST製 SATA2 1TB 7200rpm×2 --------------------------------------------  今回GPUを交換するのですが、以下の条件を踏まえてGeForce7900GSから変えるとしたら、どのGPUがいいでしょうか?  (1)GeForce7900GSと同等以上の性能  (2)GeForce7900GS以下の発熱(温度)  (3)1万円付近かそれ以下の値段  1万円以下での候補はRadeon HD5550か、Radeon HD5670なのですが、それらはGeForce7900GSよりも性能は良いのでしょうか?RadeonのGPUは使ったことが無いのでよく分かりません…  それではよろしくお願い致します。