なんとなく綴ってみた

アクセスカウンタ

zoom RSS CPUとGPUの違い、例えていえば?・・・これはちょっと。

<<   作成日時 : 2016/06/09 11:20   >>

ナイス ブログ気持玉 5 / トラックバック 0 / コメント 0

ギズモード・ジャパンなのでこの程度なのだと思うが、MSNに載っていたので、読んだら残念だった。海外の記事だからこうなのかもしれないが・・・端折るにも、ちょっと方向が違う気がする。
http://www.gizmodo.jp/2016/06/cpugpu.html

たとえて言うなら、作業の仕方だけで言えば、沢山のお猿さん(群れ)にいくつかの単純作業を教えて作業させるという手法と、(猿を調教する人が本来は好ましい)数人で考えて作業する違いぐらいで例えないと、おかしなことになると思うが・・・。

そもそも、GPUにおけるcluster CoreやShader Core、Execution unitsの概念はCPUのコアとは違う上に、各社によって概念はまちまちである。コアと称するものをどこで分けるか、本当に小さなコア単位か、それ以外か・・・で変わるのだ。そう考えると、同じ種にはならないという点も難しさに繋がる。もっと言えば、何故コアが多いGPUが工場でCPUは、一人なのか?コア単位で考えるなら、最低でも二人以上いるのが今のプロセッサと思うのだがと思うと・・・もう書かずにはいられなくなった。

<GPUの歴史は、RGBボード(コネクター)→加速器(アクセラレータ)>

元々は、コンピュータグラフィックスの色や線、文字の生成を行うためのキャッシュ(VRAM)と、その生成を補助するアクセラレータ(ASIC)の構成であった。最初は、白黒(緑など)2値だった色が8色になるためのボードだったが、その後16色、256色・・・と進化した。
そのうち、S3 Graphics(VIA→現在はHTC)のViRGE頃から3D(三次元コンピュータグラフィックス)を安価に飲み込むようになった。

この頃でも、やることは、アルファブレンディングなどの透過や、平面や立体図形の生成補助で、大半の処理はCPUが行っていたが、1999年のnVIDIA Geforce 256の登場により、条件固定処理だが、これに光源や変形などを加えたほぼ全ての処理が、出来るようになった。

<GPU誕生>

その後、光源の加減、数などをプログラミングで自在に出来るように調整できるように徐々に改良された。それをする過程で生まれたのがShader Coreであり、描画以外の目的を本格的に与えたのが、nVIDIAである。その際に、CUDA(クーダ)と呼ばれるグラフィックス演算以外にも、グラフィックスアクセラレータを使うプログラミング手法が発表された。

ただ、Shader Coreは当初、陰影処理に特化したエンジンであった。そのため、初期のCUDAでは、出来る事に限界があった。CPUがやる作業の全てが出来る訳では無く、出来ない物ややっても最終的に速度が上がらないものもあった。しかし、特化型であるが故に、Shader Coreが得意とする処理は、速いという特性があったから、使われたに過ぎない。

<GPUが普及した理由と仕組み>

では、何故GPUは早くなったり遅くなったりと作業によって、違いが出るのか?

これは、専用道路を走るのと同じである。一般道なら道が有る限り、どこにでもいけるがスピードは出ない。信号もある。しかし、目的専用の道路をA点からB点まで敷設すれば、一般道を通らなくても短時間でたどり着ける。グラフィックス装置というのは、そのA点(CGの演算データ)からB地点(描画した結果を映像にする)役割に特化していた訳だ。
しかし、出入り口がその一カ所しかなく関係者以外立ち入り禁止であったり、その周りに民家などめぼしい建物が少なければ、他の道として使うこともない。これがグラフィックスアクセラレータであり、当時はそれしか出来なかった理由である。これは、動画のエンコーダーボードなど専用のハードウェアが持つ特徴でもある。


ただ、最初はそれだけだったが、CGをより複雑に(リアリティを高く)高速に処理する過程で、自由に光の角度や影の付け方、線の引き方などを専用に調整する計算装置が加わっていった訳だ。すると、AとBの途中にいくつかのインターチェンジやジャンクションが作られるようになった。即ち、そのインターで降りるような処理があれば、汎用命令も信号機のある一般道を通らなくても高速化出来る。それが、GPUという製品に繋がったわけだ。


即ち、CPUが行っている汎用演算の一部を、グラフィックスアクセラレータで代替出来るようになった訳だ。

GPUでの処理では、元々グラフィックス1回(1描画、1フレーム)の画面描写に複数の移動パターンがある。そのため、同時に複数の移動計算が必要になる。ただ計算の基礎範囲はあくまで描画に必要なものに限られる。この計算はsignだから計算機1で計算しなさいなどと、分岐を繰り返して、目的の演算器に分ける必要が少ない。そのため、CPUのように大きなプロセッサを少数載せるより、いくつかの小さなプロセッサを、命令にある程度特化して多数搭載した方が、目的に見合うのだ。それをいくつかの制御モジュールで(ボスザルに相当)統括した方が効率的だと判断して、実装されている。(このボスザルの部分をどこで区別するか、そもそもボスザルか、最小単位で区別するかで、コア数の概念がメーカー毎、目的毎に変わる)

そういう仕組みがGPUのベース技術である。

まあ、実際にはGPUと言っても、世代毎にドラスティック(大胆)に構造が変化しており、CPUよりも内部構造の世代変化は激しい。さらに、演算に使える命令も、CUDAやPhysX(フィジックス)の影響もあり、グラフィックスアーキテクチャの標準技術として搭載されるようになり、現在はDirectX、OpenGL、PowerVRなど全てのAPIにおいて、Direct Compute Shaderとしてサポートされている。現在は、より追加命令が増え、様々な用途で使えるようになったのだ。

そのため、今では全ての製品が、GPUを搭載しそれを活用するようになった。折しも、GPUが普及し始めてから、CPUの発展に陰りも見えていたため、それも普及を後押しした。

尚、何故GPUが内部構造を大きく変えても、互換性を保てるのかというと、ASICの発展から生まれたGPUは、CPUとは違って、汎用演算の中枢を担っている訳では無い。要は、CPUやチップセットという核が、コンピュータの演算方法を決めているわけだが、GPUはその目的がない拡張デバイスの一つから始まっている。周辺機器として動作するGPUはドライバとソフトウェアファームでその違いを吸収できるという特徴がある。

即ち、GPUはCPUにはなれないということであり、もし、組織に例えるなら、決定権の全てを握るのがCPUであり、GPUはその一部門での管理者である。CPUから、専門のお仕事を分けて貰い猛烈な早さでこなす役割を持つが、彼らが苦手とする仕事を間違って与えることがあれば、彼らは上手にこなすことが出来なくなる。


尚、近年はCPUにGPU機能を内蔵したり統合するケースも見られる。これは、アクセラレータ(加速器)という役割だったグラフィックス処理が、既に当たり前の機能になり、目的が共通化されたこと。さらに、半導体の微細化技術が発展し、小さなパッケージにCPUもGPUも収められるだけの製造技術が確立したこと、さらに先に述べたようにCPUの性能向上よりも、GPUの性能向上の方が重宝されるようになり、それに合わせてプログラミング技術も発達したことが理由である。



ちなみに、当該の記事は、GPUは工場のようなもの、CPUはスティーヴン・ホーキング博士みたいなものになっているが、そもそもお互いが別々の存在になることはないし、CPUに特別な頭(有名な人)を与える必要はない。

本来は、上にあるなら誰でも良いのだ。上長として(周りに気を配れるだけの力をもって)上にいられるというだけだ。基本的にGPUの最終管理はCPUでありそれが状況確認をしている。(ソフトウェアによるOSカーネルとHAL制御を担う)即ち、互いに相互作用を持っている訳だ。CPUは上にあって万能だが特化ではないというだけの違いだ。

社長が、遊び人かそれとも、仕事人かは、作業内容による。CPUが遊んでいようが、GPUは僅かでも、ずっと描画を続けているのだ・・・。電源を入れていてGPUが遊びだすとしたら、壊れた時ぐらいだろう。


<これを、簡単にまとめると・・・>

即ち、CPUは何でもそこそここなす社長、GPUは片手間に他作業も手伝う職人(専門家)である。

CPUは管理者だから責任もあり、嫌な事でも、何でも一通りは出来る。しかし、作業速度は普通である。代々CPUさんは社長(CEO)の席に座っている。

一方で、GPUは専門部署の職人である。CPUさんの会社で代々仕事をしてきたという歴史がある。
CPUさんの会社では、曾祖父が時より臨時社員として雇われていた。祖父の代頃に、曾祖父は正規採用になり、祖父が臨時から入社。その後、父へと代替わりし、父は正規社員としてCPUさんの会社で雇われ、毎日正規で働くようになった。その子もまたCPUさんの会社に入り、GPUと呼ばれるようになる。その覚えの良さと、作業の速さからCPUさんの仕事の一部を任せられるまでに出世した。ただ、職人気質があるためか、苦手なことはやらない。出来ないと結構堅物である。

今、孫娘は、社長室で秘書兼技術部門長をしていたりする(IGP/CPU内蔵グラフィックス)が、やっぱり親の影響か堅物なところがまだまだ多く残っている。

例えるなら、このぐらいに例えると歴史も含めて分かり易い。




【送料無料】ZOTAC GeForce GTX1080 Founder edition 正規代理店保証付
メモリーショップ・アーク
NVIDIA GeForce GTX 1080を搭載。優れたゲーミング性能とVR体験を実現するハイパ


楽天市場 by 【送料無料】ZOTAC GeForce GTX1080 Founder edition 正規代理店保証付 の詳しい情報を見る / ウェブリブログ商品ポータル



テーマ

関連テーマ 一覧


月別リンク

ブログ気持玉

クリックして気持ちを伝えよう!
ログインしてクリックすれば、自分のブログへのリンクが付きます。
→ログインへ
気持玉数 : 5
ナイス ナイス ナイス
なるほど(納得、参考になった、ヘー) なるほど(納得、参考になった、ヘー)

トラックバック(0件)

タイトル (本文) ブログ名/日時

トラックバック用URL help


自分のブログにトラックバック記事作成(会員用) help

タイトル
本 文

コメント(0件)

内 容 ニックネーム/日時

コメントする help

ニックネーム
本 文
CPUとGPUの違い、例えていえば?・・・これはちょっと。 なんとなく綴ってみた/BIGLOBEウェブリブログ
文字サイズ:       閉じる