スマホ初心者でも知っておきたい、(SoC上の)CPUとGPUの違い

ビルの窓・部屋のようにたくさんあるGPUコアのイメージ画像

ちなみにCPUはシー(C)ピーユー、GPUはジー(G)ピーユーと読みます。
(※SoCは、CPU+GPU+その他の集積回路部品をまとめたものと解釈してください。)

両者のわかりやすい比較ポイントとしては。そうですねえ。
コア数を比較したイメージとしては。

前者のCPU(Central Precessing Unit: 中央演算処理装置) は二階建てくらいの小規模アパートの部屋数、後者のGPU(Graphics Processing Unit: 画像演算処理装置)はビル十数棟分の部屋数といったほどの数の差に開きがあります。

GPUつまり画像専用ICのコア数はスマホ用CPUの8コア(オクタコア)どころではなく数千個とかそれ以上の規模になります。まあコア自体の機能はCPUのそれとは異なっていますが。

なおGraphics を上では画像と翻訳(ほんやく)しましたが英語翻訳では「製図法」となっています。製図法とかリアル絵画の描画方法には「透視投影図法」という意味・呼び名もも有りますから3D(three-dimentional-space:  三次元)画像処理という翻訳もあながち間違いではないわけです。

CPUとGPUの大きな違いは何か

最初に断っておきますが、CPUもGPUもSoCというICユニット上の集積回路の各パーツです。ちなみに一昔前はそれぞれ単一ユニットの集積回路として分かれていました。

最近ではIC加工技術が発達した等の理由で一緒にまとめられる事も多いです。特にスマホ用のIC回路ではその傾向があります。

  • CPUは汎用的な処理をする中央演算処理装置(プロセッサ)
  • GPUは画像処理専門(特に3Dグラフィックス)用のプロセッサ

CPUが汎用的(はんようてき)なとは、どんなことでもそれなりに高速でやってしまうのに対し、GPUが専門的というのはグラフィックス計算がめちゃ速いけどその他の計算はあまり得意ではないという意味合いです。

CPUはあらゆる計算をこなす

そうですね。大昔(といってもあなたが生まれる前かもしれない数十年前くらい)である西暦1970年代以前ではGPUという回路は少なくとも一般向け用途では無かったので今GPUがやっている3D画像処理の計算はGPUにやってもらうしかありませんでした。

CPUの仕事を料理に例えると、星が幾つもついた和食・洋食・中華などの高級料理から自分たちのまかない食までを分担してこなすアパートの住人といったところでしょうか。

GPUは3D画像処理をメインに計算する

CPUが仕方なく暇をみて副業していた3D画像処理(+一部2D画像処理)の計算をGPUへ外注するよう時代になってから。3D画像処理のアウトプットは飛躍的に発展しました。

今あなたが3Dがグリグリ動くデモ画像を見ながらスマホゲーム(デモ画像はある意味アイキャッチとしての意味合いしかないというぜい沢な使い方もされがち)を快適に遊べるのはGPUというSoC上の回路のおかげでもあります。

GPUを料理に例えると、協力して超大量にお刺身を作るのを依頼された、高層ビルに住まう住人たちの仕事(原材料のお魚を号令アナウンスの下で次々にカットしてお刺身にする)に例えることができます。

GPUは単純な計算を大量に処理する?(失礼)

なめてもらってはこまります(GPU談)

それなりに高度?な計算を担当しております。四則演算(和、差、積、商)つまり+、-、X、÷(※画像文字を打つのは不安)はもちろんのこと4X4行列と4Dベクトルとの掛け算や4X4行列同士の掛け算などもやってます。

あと内積(ドット)、外積(クロス)、などの演算を基礎として具体的には座標変換や写像という変換処理を同時並行処理しているのです。

比較的単純な計算といわれる理由の一つは、型が決まっているという意味合いもありますし、そうした一定形式の演算を繰り返し繰り返し大量の要素に行うことも意味しています。

4K分のループ計算

最近のディスプレー、例えばスマホとか液晶TVの画素数が2Kとか4Kとか言われますがKはキロつまり千個の意味で具体的には幅方向の画素数を示しています。幅つまり横方向に4千個。ちなみに高さ・縦方向にはバランス的にたとえば2千個。

この4千X2千=4KX2K=4*2*10^6=8百万個の画素に対して単純(失礼)と愚弄(ぐろう)された専門計算を短時間(マイクロ秒程度)で同時並行的に行うわけですね。どうだ、まいりましたか(GPUの実力に)。

プログラム(回路にHW的に焼かれて、変数を指定できる)的な特徴はループ(Loop)つまり繰り返し処理を伴いやすいということです。先ほどGPUのコアを高層ビル数棟の住人に例えましたが、一人で繰り返すよりはみんなでいっせいに一度行うほうが短時間のうちにお刺身をカットし尽くすことができるのです。

昔は座標変換、最近では写像がメイン

GPUと呼ばれる以前の画像処理回路は2D処理しかできませんでした。やがて3D画像処理を専門的に任されるようになると、3D空間どうしで変換したりとか、3Dを2Dに射影したりとかの「座標変換処理」を主におこなっていました。

やがてIC回路の製造技術に余裕がうまれ、コアの余力はテクスチャ処理のための「写像」処理をメインに担当できるようになりました。座標変換はどちらかというと身近な空間座標どおしの数値演算ですが、写像となると一風変わった空間どうしの変換であるから「写像(mapping)」と呼ぶのが適切でしょうね。

前者のGPU処理回路部はバーテックスシェーダ、後者はピクセルシェーダーなどというコア集合部の二大名称が付いています。

CPUは何でも屋さん

GPUは単純というか型にはまった定型的な計算を大量に時にはいっせいに(同時並行処理)おこなうのですが。CPUはどんな仕事(計算・処理)でも請け負って無事にこなします。

GPUではループが特徴でしたが、CPUでは条件分岐(if else構文などといいます)をプログラムで使う事が多いです。いろんな計算を行うのですから最適な判断して条件によって自分に都合の良い高級料理完成スケジュールを立てることが可能なわけです。

オクタコアとか8コアとかいうとCPUの基本ユニットがたくさんあって高級な感じがしていたかと思いますが、GPU様のコア数(数千個ないしはそれ以上)を知ると圧倒されてしまいますね。

それじゃあ、GPUの大量のコアをお刺身のカッティングという単純作業をさせておくのはコンピュータ資源を遊ばせすぎだ。高級料理の仕事も担当させてはいかがなものであろうか、と考えた人(研究者)もかつていたそうです。

GPUの可能性、GPUコンピューティング

すでに解説したとおり、GPUは行列とかベクトルの計算がお得意です。内積とか外積、三角関数の入った現実空間から一見非現実的な空間まで含めた写像処理ですね。そしてそういった演算を並列(同時並行的、パラレルとかコンカーレントといいますが)処理をその高速仕事処理能力の肝としています。

そんなに複雑ではなく、条件分岐(どっちがいいか判断して悩んで決める処理)も必要最小限にした比較的単調ではあるが並行処理に向いているジョブ(仕事の単位)をGPUに任せれば、なんとか無事にしかも高速に処理してもらえるんではなかろうか?研究者たちはそう予想します。

GPUコンピューティング

天気図の予測とかに使えるらしいですね(※リンクはnvidiaのページ)、GPUコンピューティング。いわゆるベクトル解析という手法ですが、GPUもなかなか立派。

まあそうは言っても一部の計算領域に限定されてしまうわけですが。CPUより圧倒的な数の多さを誇るGPUではありますが、汎用計算にはあまり向かないためコア数の物量を生かしきれてはいないのが現実のようです。

スマホ選びではどんなCPUとGPU(の入ったSoC)が良いか

さて本題にまいります。あなたのスマホを快適に使うにあたり、どんなCPUやGPUを選んだらよいのでしょうか?

但し実際にはSoC(System-on-a-chip: システム・オン・チップ、ソック?えすおーしー?) 選びとなります。スペックの紹介表などでCPUはコア数の「オクタコア」とか4X2とか、処理速度の何GHz(ギガヘルツ)とかで表現されます。他方GPUはブランド名程度くらいしか表示されてないケースもありますが。

まあGPUに関しては直接スマホメーカーのwebページなりスマホの公式マニュアルなりpdfを探してみれば具体的なスペックも判明するでしょう。それにカメラの性能とかディスプレイの画素数とかに見合ったGPU(を組み込んだSoC)が通常はスマホに搭載されていがちです。

エントリーモデル、ビギナー系のスマホ

2~3万円台(一括で買うときの価格)のスマホでも最低4コア(クワッドコア)時には8コアCPUのモデルが見つかりますね。MVNOのスマホ一括契約でも、比較的低価格のスマホでもマルチコアで処理速度もギガ以上あります。

でも実はチップセットの速度やキャッシュ容量、果てはRAM容量が処理速度に大きく影響します。前者はさほどの速度差はもたらしませんが後者は劇的に影響します。理由はいわゆるスワップが起こるからです。

スワップを説明する前に少しRAMやROMといったメモリーからキャッシュやMicro-SDまでを含めた「メモリー階層」というものを説明します。一言で表現すると。メモリーは小容量だが高額で高機能なメモリーと、大容量だが低価格で低機能なメモリーの二種類に分けられます。それをもう少し細かく分割したものがメモリー階層です。

レジスタやキャッシュ(一次>二次>三次)、RAM(主メモリー:ラム)、ROM(補助記憶装置、ロム)、Micro-SD(SDHC, SDXCも含む)

先のものほど高額&小容量&高速処理のメモリーであり、後のものほど低価格&大容量&’低速なメモリーです。スワップとは先のものから後のものへ処理を任せることを言います。

おわかりでしょうか。
一流のベテラン料理人が、見習い数ヶ月の新米料理人に調理を任せるのがスワップ現象という事になります。仕事が多すぎて処理できない。RAMが少ないとROMにスワップします。その結果スマホの動作は劇的に遅くなり、時には重くなりときには固まります(フリーズ)

CPUに関しては価格相応なものが通常搭載されています。だから特に低価格なエントリースマホではあまり考える余地が有りません。付け加えるなら、極端な低価格(一万円を切る)ではCPUは機能が低めではありますがそれ以上に致命的になりがちなのはRAMが1~1.5GBとかの容量でありがちな事です。

ちなみにiPhoneではRAMのことは考えなくていいですよ。ROM容量を見てどれだけデータが保存できるかを選ぶのは自由ですが。android端末ではRAMを気にしてください、CPUはまあ価格相応ですから選択の余地はありません。

実はGPUも似たような選び方つまり「価格相応」になってしまいます。CPUの時もそうでしたが動画やゲームなどの遊び方失礼、スマホの仕事が動的になりがちならばRAM容量はもっと余裕のあるスマホを探したほうがいいでしょう。

ミドルレンジ、中程度な価格帯・性能のスマホ

3万円後半から5万円前後クラスのスマホでしょうか。SoCが高機能でもRAMが少ないとかmicro-SDのような外部記憶装置がついていないなどの見落としがないようにしましょう。使い方によりますが。

ガラケー機能(おサイフやワンセグ)についても、このクラスでは付いているのと引き換えにRAMが少なかったりその他の機能をこっそり省いていたりします。目を隈にしてチェックしたほうがいいかもしれません。

せっかくAI機能とかカメラのAIアシストとか生体認証(指紋、顔、虹彩?)がついていても、CPUやGPUおよびRAMで外れをひく可能性はないわけではありません。まあ使い方によっては十分な場合もあれば不十分きわまるケースもあるわけで。

端的に言うと、たくさんのアプリを同時に使いたいなら大目RAM容量のスマホを選ぶ、3Dネットゲームを楽しみたいなら高機能GPUを載せているSoCを搭載したスマホを選ぶ、とよいでしょうね。

高機能・ハイエンドやフラッグシップ機

一見外れがなさそうですが、むしろ注意が必要です。6~8万円クラスのスマホはMVNOでは上級レベルですからさまざまな最先端機能を持ち合わせています。でも価格と性能の妥協点はやはりあるわけで、使い方によってはRAMが足りないとかカメラが重い、アプリがフリーズするといった現象をもたらしかねません。

SoCが有名なものならばCPUやGPUは高機能なものが搭載されています。そこは安心できますが、RAMが少なかったり防水防塵(ぼうじん)すら付いていなかったり、ROMが多いと満足していたら実は外部用micro-SD挿入口がついてなかったり。高額機種のスマホでもMVNO用のものはオール・イン・ワンではないと、すべての機能が入っているとは限らない、と前もって意識しておきましょう。

まとめ(スマホ選びでCPU、GPUに求めるべき点)

CPUやGPUは、SoCによってだいたいそれらのグレードが決まっている。そしてSoC自体のグレードはスマホの価格相当である。

CPUはコア数やギガヘルツ(処理速度)もそれなりに大事ではあるが、むしろキャッシュ容量が速度への貢献が大きい。

CPUには致命的な差はない。コア数もそんなに大々的にパフォーマンスへ影響しはしない。

RAMである。RAM容量こそがCPUの処理速度、ひいてはアプリ使用の快適さを決定する肝である。

諸悪の根源は、メモリー階層間におけるデータ移動を伴う「スワップ」である。

3D(スリーディー:三次元)CG(コンピュータ・グラフィックス)を使ったハイエンドなゲームでもサクサク遊びたかったら、GPUを意識しよう。

高機能なスマホにはハイエンドなSoC(※snapdragon 845とか)が積み込まれていて、それにはやはり高機能なGPUが詰まれがち。

だからスマホのSoCの名称がすばらしければ、多分GPUもハイエンドで高速・大容量な処理を期待できる。

高額スマホであっても、MVNOスマホでは一部の機能が付いていないという落とし穴がある。予算に余裕が有り余るのならば、もはやCPUやGPUのことは忘れてもいいが、省略された機能があるに違いない事を念頭において目を隈にしてチェックしましょう。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA