第496回:Cortexとは

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


 「Cortex」とは、マイクロプロセッサの設計や開発を行っている企業、英ARMが2005年に発表した一連のCPUファミリーの名称です。

  • Cortex-Aシリーズ
  • Cortex-Rシリーズ
  • Cortex-Mシリーズ

の3種類からなっていて、現世代のARMファミリーを構成しています。

 ARMでは、アーキテクチャーとしてARM 7ファミリー、ARM9ファミリー、ARM9Eファミリー、ARM11ファミリーを提供してきましたが、Cortexはその後継となるファミリーです。

 ARMプロセッサは、携帯電話から家電製品、産業機器、おもちゃまでさまざまな機械に組み込まれてきましたが、その範囲はあまりに広くなり、要求される性能に開きが出てきました。

 たとえば、スマートフォンのアプリケーションプロセッサとしては、パソコン並みにさまざまなアプリケーションソフトを実行するため、非常に高い性能が求められています。一方、自動車のサスペンション制御のように単純な動作で高速な制御が求められるような分野にもARMプロセッサは使われています。

 そこで、Coretexファミリーからは、アーキテクチャーに用途別の「プロファイル」を設定し、CPUシリーズを別としたのです。

3つのCortexの特徴

 Cortexシリーズの特徴は、それぞれ以下のようになっています。

Cortex-Aシリーズ
 3つの中ではもっともハイエンドで、高度なオペレーションシステム(OS)などに向けたアプリケーションプロセッサです。Cortex-Aの「A」とは、このシリーズが得意とする「アプリケーションプロセッサ」を意味しています。命令セット(CPUが理解できるコマンド集)としては、ARM、Thumb、Thumb-2と最も多く、3つのセットがサポートされています。

 このうちThumb-2命令セットは、ARMアーキテクチャの新しい命令セットで、従来からある命令セットをさらに拡張したものです。ARMの命令シリーズでとして最も古くからあるARM、ARMより非常に高いコード密度を実現できるThumbの2つがそれまで存在しています。ARMは性能と確保、Thumbは少ないプログラムサイズでさまざまなことができることが特徴です。Thumb-2は命令の拡張によって、コード密度と性能両方を確保できるアーキテクチャとして新たに作られました。ARMでは、これにより、過去のARMアーキテクチャと比べ「同じ用途のコードではメモリの使用量を26%少なく、25%の性能向上が期待できる」としています。

 2010年現在では、このシリーズとしては、Cortex-A5、Cortex-A8、Cortex-A9、Cortex-A15シリーズが存在します。

Cortex-Rシリーズ
 3つの中では真ん中、ミドルクラスに相当するシリーズです。「R」はリアルタイム・システムの“R”から来ています。その名前の通り、リアルタイム制御を必須とされる組み込み用途に最適なシリーズです。

 命令セットは、ARM、Thumb、Thumb-2をサポートしています。現在このシリーズには、Cortex-R4、Cortex-R4(F)が存在しています。

Cortex-Mシリーズ
 マイクロコントローラを意味する「M」から名づけられたCortex-Mシリーズは、3つのシリーズの中では、ローエンドに位置付けられるシリーズです。コストを重視し、アプリケーションに最適化した組み込み用プロセッサです。Thumb-2命令セットのみをサポートしていて簡素化が計られています。

 2010年現在、このシリーズにはCortex-M4、Cortex-M3、Cortex-M1、Cortex-M0が存在しています。これらは、Cortex-Mシリーズの中でもそれぞれ性能によってシリーズが分けられています。

 Cortex-M4は32bit/DSCアプリケーション用で、デジタル信号処理を強化されているバージョン、Cortex-M3は16/32bitアプリケーション用と中間に位置するモデルとなり、Cortex-M0は8/16bitアプリケーション用途で非常にコアが小さく消費電力が少ないことが特徴となっています。

スマートフォンで多く採用されているのは……

 携帯電話に採用されているCPUの多くは、ARMアーキテクチャを採用したものです。さらに性能が要求されるスマートフォンでは、特にCortex-Aシリーズを採用したCPUが多くなっています。

 たとえば、ドコモから販売されているサムスン製スマートフォン「GALAXY S」に採用されているCPUを含むLSIはサムスン製の「Hummingbird S5PC110」という製品ですが、このパーツのアプリケーションCPUコアには、Coretex-A8コアが採用されています。

 ソフトバンク向けのスマートフォン「HTC Desire HD」のCPUで採用されているクアルコム製「Snapdragon MSM8255」、またauの「IS03」で採用されているクアルコム製「Snapdragon QSD8650」も同じく、アプリケーションCPUコアにはCoretex-A8コアを採用しています。

 CPUとしては、NVIDIAのTegra2がその次の代の「Cortex-A9コア」を採用しています。Tegra2は、韓国のLGがスマートフォン「Optimus」シリーズで採用することを発表しています。

 Cortex-A9コアの特徴としては、マルチCPUコア版が存在することが挙げられます。NVIDIAの「Tegra2」もアプリケーションCPUがデュアルコアとなっていて、アプリケーションの実行で従来の2倍近いパフォーマンスを出せる、とされています。

 Cortex-A9コアは、クアルコムではSnapdragon MSM8260/8660、QSD8672で、またサムスンではOrionで採用しています。これらがスマートフォンに搭載されるようになるとアプリケーション実行性能はさらに向上することになるでしょう。

 



(大和 哲)

2010/12/14 12:23