第542回:マルチコア とは

大和 哲
1968年生まれ東京都出身。88年8月、Oh!X(日本ソフトバンク)にて「我 ら電脳遊戯民」を執筆。以来、パソコン誌にて初歩のプログラミング、HTML、CGI、インターネットプロトコルなどの解説記事、インターネット関連の Q&A、ゲーム分析記事などを書く。兼業テクニカルライター。ホームページはこちら
(イラスト : 高橋哲史)


 最近のスマートフォンやタブレットでは、“デュアルコア”のアプリケーションプロセッサを搭載して高性能をアピールすることがあります。本誌でもそういった点は、関連記事において必ずと言っていいほど記載されます。

 たとえば、アップルが製造している「iPhone」シリーズでは、直近のモデルである「iPhone 4S」にA5デュアルコアプロセッサを搭載しており、広告などでもアピールしています。また最近の本誌で、NTTドコモの「AQUOS PHONE SH-01D」の発売を報じる記事で1GHz駆動のデュアルコアCPUを搭載することを、「GALAXY S II LTE」の記事で1.5GHz駆動のデュアルコアCPUを搭載することをそれぞれ記載しています。

 ここで言う「デュアルコア」とは、LSI(集積回路)に2つのCPUコアを搭載していることを言います。CPUとはコンピュータの「中央演算装置」、つまりプログラムを実行するCPUの中心が“コア”と呼ばれ、これが2つあると“デュアルコア”と呼ばれるのです。今回紹介する「マルチコア」は、CPUコアを複数搭載するチップセットのことを指す言葉です。

 ちなみにアプリケーションプロセッサとは、携帯電話内部にいくつか搭載されているコンピュータの中でも、OSやブラウザ、アプリケーションなどを実行するコンピュータのことです。これが高性能となることで、たとえば、ユーザーインターフェイス(UI)の反応が早くなったり、ブラウザの表示が速くなったりするほか、より高度なアプリケーションが実行できるなど、操作感などユーザーエクスペリエンスに関する部分の性能向上が期待できるわけです。さらに、シングルコア(コアが1つのこと)と比べて処理時間を短縮できれば消費電力の削減にも繋がります。

1つのアプリケーションプロセッサで性能倍増

 アプリケーションプロセッサに限った話ではありませんが、コンピュータの性能向上や処理を高速化するためにはいくつかのやり方があります。

 もっとも単純なものとしてはCPUの動作周波数(クロック)を向上させて高速にする、という方法が挙げられます。コンピュータは、1回クロックを与えられるとそれを基準にプログラムを1挙動をさせますから、たとえば1GHz、つまり1秒間に10億回クロックを与えるよりも、2GHz(1秒間に20億回)に増やしてやれば、決められた時間に2倍の仕事ができるようになります。しかし、この方法ではクロックを向上させればさせるほど、熱設計などで物理的に難しい課題が生じて、簡単には成長できなくなります。

 そこで、クロック数を2倍にするのではなく、プログラムを実行するCPUを複数同時に動かすことで解決しようというのが、マルチコアの基本的な発想です。

 通常、実行しなければいけない複数のプログラムがあれば、CPUが1つの場合、CPUはプログラムを順に実行します。一方、コアが2つ搭載される“デュアルコア”では、互いに干渉しない処理内容という条件は必要ですが、2つのプログラムを同時に実行できます。

 たとえばAndroidの場合、アプリケーションプログラムでは、お互い干渉しない作業単位で「プロセス」が起動し、実行されます。この場合、「プロセス」ごとにどのCPUに作業を実行するかを割り振れることになり、デュアルコアは基本的にシングルコアのほぼ2倍のスピードでアプリケーションを実行できる、と考えられます。

 こうしたマルチコアの弱点には、コストや大きさが挙げられます。LSIの中に、CPU関連の回路を複数組み込む必要がありますから、その分、製造コストは高くつき、回路は大きくなり、パッケージ自体も大きくなりがちです。

 パソコンではさまざまなマルチコアチップセットが登場していますが、最近のスマートフォン市場では、デュアルコアの採用が広がっていました。さらにデュアルコアに続いて、各チップセットメーカーからは、CPUコアをさらに多く搭載する方針が示されています。クアルコムやNVIDIAはCPUコアを4つ搭載する「クアッドコア」のチップセットを提供します。こうしたマルチコアなCPUは、ハイエンドなスマートフォン/タブレットだけではなく、消費電力を抑えることもあって、国内外の普及クラスの機種にも今後、広く搭載されるかもしれません。




(大和 哲)

2011/11/29 12:37