OSD(OnScreen Display)オーエスディー
画面上に、文字や画像を重ね合わせて表示する機能。ディスプレイなどの諸設定を画面上に表示しながら調整する機能として各社の製品に採用されています。
PCI(Peripheral Component Interconnect))ピーシーアイ
Intelが提唱し、現在はPCI-SIG(PCI-Special Interest Group)が管理している汎用バスアーキテクチャ。
ISAに代わる汎用バス規格として、1991年インテルが提唱
ISA(Industry Standard Architecture)バスに代わる高速な汎用バス規格として、Intelが1991年に提唱したもので、翌年に、ベースとなる32bit/33MHzのバス仕様が1.0としてまとめられ、その後は、同時期に設立されたPCI-SIGに移管され、同SIGよって標準化が進められています。
1993年「PCI-2.0」登場、PCIの基本仕様が完成する
1993年には、第2世代の2.0がリリースされ、このバージョンで初めて、拡張スロットやカードの仕様が盛り込まれ、PCIの基本仕様が完成。
1994年「PCI-2.1」登場
Pentiumへの移行と並行して、本格的な普及が始まる。94年にリリースされた2.1では、64bit/66MHzの拡張仕様(64bit用のスロットは、32bitバスに継ぎ足す形で拡張)や、速度の異なるデバイス間でバスを効率よく使用するためのコンカレントオペレーションなどが採用されます。
1998年:「PCI-2.2」登場
2.2(1998年発表1999年出版)では、パワーマネージメントやホットプラグなどが、2.3(2002年)では小型マシン向けのLow Profile PCIやSM Bus(System Management Bus)などが仕様に盛り込まれます。
2003年:「PCI-3.0」登場
2003年にリリースされた3.0では目立った機能追加はなく、2.3でサポートが停止された5Vカードを廃止。3.3Vカードまたは3.3/5Vのユニバーサルカードのみのサポートとなります。
サーバー向けの「PCI-X」の標準化
2.1以降、PCI自体のパフォーマンス向上は図られていませんが、サーバー向けには、64bit/66MHzバスを拡張したPCI-Xが標準化されます。1.0(1999年)では、100MHzと133MHzの高速転送モードが、2.0(2002年)では、266MHzと533MHzの高速転送モードがサポートされています。
2003年:「PCI Express」が標準化
さらに、次世代インターフェース(3GIO:3rdGenerationI/O)と言われていた、シリアル伝送方式のPCI Expressが標準化(2002年)され、コンシューマ市場は、こちらへの移行がほぼ完了しています。
PCI Express(Peripheral Component Interconnect Express)ピーシーアイエクスプレス
PCI-SIGが2002年に標準化した、シリアル伝送方式のPCIバスアーキテクチャ。従来のPCIが32bitや64bitのパラレル伝送であったのに対し、PCI Expressでは、一方向のシリアル伝送となります。
高速なパラレル伝送の問題点
同じクロックならば、シリアル伝送よりもパラレル伝送のほうが高速なのですが、クロックが上昇するにつれて、パラレル伝送では信号間のわずかなズレ(スキュー)が問題になり、クロックを高めることが難しくなってしまいます。
シンプルな高クロック化してスピードアップを図る「PCI Express」
そこで、シンプルなシリアル伝送にし、一気に高クロック化してスピードアップを図ろうというのが、PCI Expressの高速化手法です。
シンプルさを追求した「PCI Express」の手法
実際のインターフェースは、デバイス間を送受信1対ずつ4本の信号線で接続するシンプルな仕様で、各種制御線は一切なくデータも制御もすべてパケットのやり取りで行います。
接続は、現行のPCIのようなバス型の接続ではなく、I/Oスイッチを使ったファブリック接続。インターフェース的には、スイッチングハブを使ったイーサネットと同じように、ポイントツーポイントで通信を行ないます。
PCI Expressの伝送速度
伝送速度は、初代のPCI Expressで一方向あたり2.5GT/s。信号にクロック成分を盛り込むために、8bitを10bitに符号化する8b/10bエンコードを用いるため、実質的なデータレートは2GT/sとなります。byte換算では、250MB/s(1,024単位なら約238MB/s)、双方向で考えるなら500MB/s。この送受信1組の信号を1レーン(x1)と言い、必要があれば複数のレーン(x2〜x32)を束ねて広帯域を確保することができます。
2007年、PCI Express2.0を正式リリース
2007年には2倍の伝送速度となる片方向500MB/sを実現したPCI Express2.0を正式リリース。さらに片方向約1GB/sを実現するPCI Express3.0が2010年に発表され、現在の自作PCにおける標準的な内部拡張インターフェースとなっています。
2017年、PCI Express4.0を策定
また、2017年には片方向約2GB/sを実現したPCI Express4.0が策定されており、2019年に登場した第3世代Ryzenシステムで採用されています。
PCI Express4.0の仕様
PCの拡張スロットにおけるコネクタは、従来どおりのエッジコネクタで、一般的なI/Oカードを想定したx1は、わずか36ピンの非常にコンパクトな設計。コネクタにはこのほかに、ビデオカード用途を想定したx16(164ピン)とサーバー用途を想定したx4(64ピン)x8(98ピン)の4種類があります。
M.2スロット対応のPCI Express
このほか、デスクトップPC、ノートPC双方での実装を考慮したM.2スロットではいくつかのインターフェースを選択して採用できますが、PCI Expressインターフェースもその中に含まれています。そのため、PCI Express対応のM.2型拡張カードは、変換アダプターを介してPCIExpressスロットに接続して使用することができるものもあります。
PureVideoピュアビデオ
NVIDIAが2004年に発表した、動画の高画質再生技術。動画のデコードなどをハードウェア処理することにより、システムに負荷をかけずに 高画質な動画再生を行なうもの。
同社のGeForce6シリーズからGPU内に動画処理専用のエンジンが搭載されています。
MPEG2やWMV(後にVC-1やH.264も)のデコード、プログレッシブ化、テレシネ変換、スケーリングなどの再生処理をハードウェア側で支援します。
PureVideoの進化
GeForce7シリーズからは、HD動画にも対応したPureVideo HDにアップグレードされ、GeForce8シリーズからは、エンジンそのものが改良された第2世代のPureVideoが搭載されます。第2世代のPureVideoでは、新たにハードウェアによるbitストリーム処理が加わり、ATIのUVD同様、H.264の再生に必要な全工程がハードウェア処理となります。
RDNA(Radeon DNA)アールディーエヌエー
AMDが2019年に発表した7nm世代のGPU、RadeonRX5700シリーズ(Navi)から採用されたアーキテクチャ。
それまでAMDは2012年に投入したGCNアーキテクチャの改良を続けることで新GPUをリリースしましたが、このRDNAによって設計が一新されることに。PCI Express4.0にいち早く対応したことも特徴。
ROP(Rendering Operation Processor)アールオーピー
GPU内部の機能ブロックの一つで、レンダリング結果をビデオメモリに書き出す役割を持つ。NVIDIA GPUでは内蔵されている固定処理ユニット「RasterOperationProcessor」のこと。AMD GPUでは「Rendering Output Pipeline」と呼びますが「Render Back-End」と呼ばれていた時期もあります。
SLI(Scalable Link Interface)エスエルアイ
NVIDIAが2004年に発表した、複数のビデオカードを接続してマルチGPU化する技術。3-waySLIで3基、QuadSLIで4基の並列駆動をサポートします。
もともとは同社が買収した3D fx Interactiveが1998年にVoodooよりサポートした機能で、当時は「Scan-Line Interleave」と呼ばれていました。
その名のとおり専用ケーブルで接続した2枚のカードに対し、走査線を交互に振り分けることで並列処理させ、描画の高速化を実現していました。
現在、SLIは対応マザーボードと複数枚のSLI対応ビデオカードを用意し、さらにSLIアダプターでビデオカード同士を接続することで実現できます。また、SLIの効果を得るためにはハードウェアの対応だけでなく、ゲーム側の対応も必要。
Shaderシェーダー
3Dグラフィックスにおいて、定義された3Dモデルや光源の情報をもとに、その見え方を計算するプログラム。
SSAA(Super Sampling Anti-Aliasing)エスエスエーエー
表示解像度よりも高い解像度で描画したものを、表示解像度に縮小変換することによって、画面全体のアンチエイリアス処理(FSAA:Full-Scene Anti-Aliasing)を行なう手法。
S-VIDEO(Separated VIDEO)エスビデオ
主にホームビデオで使われていたコンポーネント信号の一種で、輝度信号と色信号の2系統に分けて扱います。コネクタは、2回路分が配線された4ピンのミニDINを使用し、一般にS端子と呼ばれていました。
このS端子にワイド画面(16:9)の識別信号を付加したものもあり、スクイーズ信号をサポートするタイプをS1端子、さらにレターボックス信号をサポートするタイプをS2端子と言います。
現在でも、過去の映像ソースを扱うことを目的としてS-VIDEO入力端子を備えたビデオキャプチャーデバイスが存在しています。
TGP/TBP(Total Graphic Power / Typical Board Power)ティジーピー/ティビーピー
主に、ビデオカードの消費電力の指標となるスペック。GPU単体のTDP(Thermal Design Power)ではなく、ビデオカード全体の消費電力を指します。NVIDIA(GeForce)の仕様表では「Graphics Card Power」(グラフィックスカード電力)と表記していますが、TGPのことを「TDP」と表記していることも。
AMD(Radeon)ではTBPはカード全体、TDPはGPU単体の指標としています。
VRAM(VideoRandomAccessMemory)ブイラム
画面出力に使用するメモリ。オーソドックスな画面表示は、画面に表示するイメージをVRAM上に書き込み、ビデオカードのDAC(Digitalto Analog Converter)がこれを読み出してアナログのビデオ信号に変換、あるいはトランスミッタがデジタルのままディスプレイに送って表示します。
この時使用する、表示イメージを格納しておくメモリをフレームバッファと言い、このフレームバッファを代表とする、グラフィックスアダプタが使用するメモリを総称してVRAMと呼んでいます。
現在主流のGPUは、このフレームバッファ以外にも、描画のための演算やそのための情報、オブジェクトの表面に貼り付ける画像データ(テクスチャ)の保管などにも大量のメモリを使用しています。
市販のビデオカードの場合、VRAM用のメモリは、カード上に専用のものを搭載しており、必要に応じてそれをシステムのメモリアドレス上に割り当てます。しかし、CPU内蔵のグラフィックスは、専用のメモリを持たず、PCのメインメモリをVRAMとして利用します。
PCの世界では、ビデオメモリに使われるメモリチップの一つで、アクセス用のポートを2系統持つデュアルポートRAM(双方から同時にアクセスできるので、通常のDRAMよりも高速な動作が可能)を指してVRAMと呼ぶことも。
VC-1ブイシーワン
Microsoft SMPTE(Societyof Motion Pictureand Television Engineers)の標準規格となった動画圧縮技術。
MPEG4 ASPを発展させたもので、同社のWMV(Windows Media Video)をはじめ、Blu-ray DiscやHD DVD-Videoにも採用されている、HDコンテンツ対応のビデオコーデック。
シェーディング言語(Shading Language)
プログラマブルシェーダーのプログラミングに使用する言語。MicrosoftのDirectXでは、2000年にリリースしたDirectX8以降、Direct3Dにプログラマブルシェーダーを追加しています。
当初は、アセンブリ言語に似たシェーディング言語のみのサポートでしたが、後にC言語風の高級言語である「HLSL(High-Level Shader Language)」も追加されました。
この他に、NVIDIAがMicrosoftと共同で開発したC言語ライクなCg(Cforgraphics)も、DirectXのシェーダープログラミングに使用することができます。
リンク
ストリーミング(Streaming)
ストリームは流れという意味で、放送やCD、AV機器の入出力などに用いられるタイムラインを持つデータの転送方式。
メディア配信では、絶え間なくデータを流すリアルタイム再生用の配信方式を指し、パケット方式の伝送経路では、小分けにしたデータを実時間に沿って一定間隔で送信するアイソクロナス転送(IsochronousTransfer)とも呼ばれる方式を採り、配信には専用のサーバーとプレイヤーからなるシステム、転送量に応じた帯域保証が必要。
ただし、転送と同時に再生でき、ファイル保存の必要がなく、ライブ配信も可能といったメリットがあります。
ストリーミングの再生制御
再生制御は配信システムしだいで、ファイルベースのユニキャスト配信では、プレイヤー側からサーバーへコマンドを送り、指定位置から転送を再開する形でランダムアクセスも実現します。
ストリーミングは仕様上ファイルの保存を必要としない方式で、ファイル保存ができない方式ではない。保存できるかどうかは、プレイヤーの機能とDRM(Digital Rights Management)に左右されます。
ストリーミングプロセッサ(Streaming Processor)
複数のシェーディング処理機能を持つ統合型のシェーダー(シェーディング処理用のエンジン)。
旧来のGPUでは、ポリゴン(Polygon)の頂点単位の演算はバーテックスシェーダー(Vertex Shader)が、面のピクセル単位の演算はピクセルシェーダー(Pixel Shader)が、というように、あらかじめ役割の決まっている単機能のシェーダーが、パイプライン上でそれぞれの処理を行なっていました。
このためシェーディング処理の負荷が偏ってしまうと、ほかのシェーダーに余裕があっても、そこで処理が滞ってしまうデメリットがありました。
複数の機能を統合したストリーミングプロセッサ
どのシェーディング処理でもこなせる多機能なシェーダーを用意し、負荷に応じて各処理に動的に割り当てるようにすれば、GPUに搭載されたシェーダーユニットがフルに活用でき効率的に処理が行なえます。このような複数の機能を統合したシェーダーをストリーミングプロセッサ、あるいはユニファイドシェーダーと呼んでいます。
テクスチャユニット(Texture Unit)
GPUを構成する回路の一つで、3Dオブジェクトの表面に属性を貼り付ける、テクスチャリング処理(マッピング処理)を行なうエンジン。
マッピングとは
3Dの画像は通常、構成するポリゴン単位で色や光に対する特性などの属性を持たせます。このため、模様や形が複雑になればなるほど、大量のポリゴンで構成しなくてはならず、データ量や計算量が膨大になってしまいます。
これを補うために、模様を描いた画像などを立体の表面に貼り付け、ポリゴンのパラメータの変化として適用する手法が用いられており、これをマッピングと言います。
マッピングデータのパラメータを色に適用するカラーマッピングでは、本来ならば1色しか持たせることのできない一つのポリゴン上に微細な絵柄を描くことができ、法線に適用するバンプマッピングならば、微細な凹凸感を出す陰影付けが行なえます。
テクスチャユニットの役割
テクスチャユニットは、個々のポリゴンに対して座標計算や補間処理などを行ない、これらテクスチャ(マップ)を適用する処理を行ないます。
リンク
テッセレータ(Tessellator)
GPUを構成する回路の一つで、ポリゴンの分割処理を行なうエンジン。
面を小片に切り分けてモザイク式にすることをテッセレート(Tessellate)と言い、テッセレータはこのモザイク細工(テッセレーション:Tessellation)を行なうエンジンのことです。
リンク
バーテックスシェーダー(Vertex Shader)
GPUを構成する回路の一つで、ポリゴンの頂点単位の演算を行なうジオメトリ処理用のシェーダー。
3Dグラフィックスのレンダリング(描画計算)は、シーンデータの作成(Generation)、トラバーサル(Traversal)、ジオメトリ処理(Geometry)、ラスタライズ処理(Rasterize)、表示(Display=フレームバッファへの書き込み)という手順で処理されます。
リンク
ピクセルシェーダー(Pixel Shader)
GPUを構成する回路の一つで、面のドット単位の演算を行なうラスタライズ処理用のシェーダー。
ビデオカード(Video Card)
PCの映像信号を処理するパーツ。ビデオカードの基本は、メモリに書き込まれた内容をビデオ信号に変換して出力すること。古くは、この機能しか持たない製品も発売されていましたが、Windowsの普及に伴い、システムの描画処理の一部をハードウェア側で行なう機能が盛んにサポートされるようになります。
ゲームを意識した3Dグラフィックス製品の登場
初期は簡単な図形の描画機能やメモリコピーなどを行っていましたが、2D性能へのニーズが一段落すると、GPU(ビデオチップ、グラフィックスチップ)メーカーが注力するのは、ゲームを意識した3Dグラフィックス処理性能になっていきます。
様々な演算処理に活躍するGPU
その後のGPUの進化に伴ってゲーム以外の汎用的な処理にも対応できるように改良され、動画、写真編集処理といったクリエイティブアプリケーションの高速化や、科学技術計算、ディープラーニングなどでもビデオカードが用いられるようになってきています。
こうした用途を意識した業務用のビデオカードも存在します。
ビデオコーデック(VideoCodec:Compression / DECompression)
連続する静止画からなる動画は非常に情報量が多く、デジタル処理や伝送時の圧縮技術が欠かせない。
圧縮技術は、標準化団体や企業により多くの規格が策定されていますが、静止画としてのフレーム内圧縮(空間圧縮)、フレーム間圧縮、エントロピー符号化といった基礎技術が使われている点はおおむね共通しています。
リンク
プログラマブルシェーダー(Programmable Shader)
GPUを構成する回路の一つで、シェーディング処理の工程をプログラミングできるようにしたシェーダー。
シェーダーの処理が固定されている場合には、その都度シェーダーに最終的な出力を得るためのポリゴンを渡す必要があり、また、出力のクオリティや表現がシェーダーに依存してしまい、異なった表現を行なうときには別のシェーダーエンジンが必要になります。
たとえば波立つ水面を表現するには、あらかじめ波の凹凸一つ一つをモデリングし、波が揺らぐリアルな動きをフレームごとにシミュレート、処理したポリゴンをシェーダーに渡して再描画をするという、そうとうに重い一連の処理を繰り返さなければなりません。
そのためソフトウェアによる処理では、リアルタイムレンダリングの実現が困難なのです。
リンク
専用ハードでのシェーダー処理
シェーダーの処理を、プログラミングにより専用のハードウェアに実行させれば、このようなシミュレーション処理をはじめ、さまざまな表現、効果をより高速に実行できます。前述した波の場合には、水面のポリゴンをシェーダーに渡してバーテックスシェーダーで波の動きをシミュレートし、動きに応じた頂点座標の移動処理を行なうようプログラミングすれば、揺らぎの処理をすべてシェーダー側で表現することができます。
ヘテロジニアスコンピューティング(Heterogeneous Computing)
「ヘテロジニアス」(heterogeneous)とは、「異質の、異種の」という意味の英単語。IT用語としては、特定のベンダーやハードウェア、OSに依存せず、自由にデータのやり取りやシステムの増設などが行なえるオープンなシステム環境を指します。
PC向けハードウェアでの「ヘテロジニアス」
また、PC向けハードウェアに特化した用語としては、主にCPUとGPUを連係させることでシステム全体からより高いパフォーマンスを引き出そうする流れを意味する言葉としても使われます。
高い並列演算処理能力を持つGPU
これまでは、全般的な演算処理を行なうCPUとグラフィックス処理に特化したGPUという切り分けが行なわれていましたが、GPUはその進化に伴い、多数のストリーミングプロセッサを備えてCPUと比較して格段に高い並列演算処理能力を持つようになっていきます。
このGPUの性能をより有効に活用するために、グラフィックス処理以外のより柔軟な演算処理をGPUで扱おうとする流れがヘテロジニアスコンピューティングである。また、より明確に「GPGPU(General-purpose computing on graphics processing units)技術」とも呼ばれます。
NVIDIAが提供するGPU向けC言語の統合開発環境「CUDA」やAMDが提供する「APP」(旧ATIStream)がヘテロジニアスコンピューティング向け技術としてリリースされています。
マッピング(Mapping)
3Dグラフィックスで、物体の表面に属性を貼り付ける技法。3Dグラフィックスで描かれる三次元の物体は、それを構成するポリゴン単位で、形や色、光に対する特性などのパラメータを定義するのが基本。
このため、模様や形が複雑になればなるほど、微細で大量のポリゴンで構成しなくてはならず、手間やデータ量、計算量が膨大になってしまいます。これを補うために、模様を描いた画像などを立体の表面に貼り付け、ポリゴンのパラメータの変化として適用する手法がよく用いられており、これをマッピングと言います。
テクスチャマッピング(texture mapping)
テクスチャマッピングは、色に適用するタイプで、カラーマッピングと呼ぶこともあります。貼り付けた画像の色合いが、そのまま立体の表面に反映されるので、本来は1色しか反映できない一つのポリゴンに対し、微細な絵柄を描くことができます。
バンプマッピング(bump mapping)
バンプマッピングは、法線ベクトルに適用するタイプで、立体の表面に陰影を付ける効果が得られる手法。
法線は、入射する光と反射する光を二分する線のことで、通常は面に対し垂直方向を向いています。この法線の傾きをコントロールすると、反射光が変化し表面に凹凸が現われ、テクスチャマッピング同様、一つのポリゴンに対し、微細な法線の変化を付けられるので、複雑な凹凸模様を描き出すことができます。
ディスプレースメントマッピング(displacement mapping)
ディスプレースメントマッピングは、形状に適用するタイプで、マッピングデータのパラメータに従って頂点を生成し、それを引っ張ったり押し込んだりして、立体の形状そのものを変化させるもの。
ポリゴンの面だけを見ると、バンプマッピングと似た効果になりますが、形そのものが変化しているので、境界や影にも変化が反映されます。
リンク
マルチGPU(Multi-GPU)
複数のGPUを並列に動作させ、処理を分散させることで性能の向上を図る技術。
さまざまなプログラムが同時に実行されるWindowsのシステムレベルでは、個々のタスクやスレッドを複数のCPUに振り分けて分散処理させるマルチCPU技術により、性能の向上を図れます。
ゲームのリアルタイムレンダリング
ゲームなどのリアルタイムレンダリングでは、描画を高速化することで同じ品質のまま高いフレームレートを実現、なめらかな再生が可能になります。一方、同じフレームレートのまま処理を高度にすれば高品質な出力を得られる可能性も。
リンク
ユニファイドシェーダー(Unified Shader)
GPUを構成する回路の一つで、シェーディング処理全般の機能をサポートする、統合型のシェーダー。
従来シェーダーの課題
従来は、ポリゴンの頂点の処理を行なうジオメトリ系のバーテックスシェーダーと、面の処理を行なうラスタライズ系のピクセルシェーダーというように、シェーダーの役割分担があらかじめ決められていたため、処理内容によっては一方のシェーダーに負荷が偏り、ボトルネックが生じていました。
シェーダーユニットをフル活用できるようになった「DirectX10」
DirectX10では、負荷バランスに応じて各処理に統合型のシェーダーを動的に割り当てる機能を用意し、搭載したシェーダーユニットをフル活用できるようになります。
リンク
レイトレーシング(RayTracing)
3Dグラフィックスを描画する際の手法の一つで、光線の伝わり方を物理法則にのっとってシミュレーションする表現方法。
素材により異なる光の屈折反射、水面や鏡面、金属素材などへの映り込みなどの再現を写真のようにリアルに再現することが可能になります。一方で、演算処理は膨大になります。
ハードウェア処理できるようになった「NVIDIA GeForce RTX20シリーズ」
古くは大規模なシステムが必要とされるものだったが、CPU/GPUの高性能化によりクライアント環境での処理が可能になり、2018年に登場したNVIDIA GeForce RTX20シリーズには、リアルタイムにレイトレーシングをハードウェア処理する機能が搭載されました。
DirectXにはレイトレーシングのためのAPI「DirectXRaytracing」が導入されており、リアルタイムレイトレーシングに対応したPCゲームが登場しています。