英ARMは11月11日(現地時間)から開発者向けのイベント「ARM TechCon 2015」を開催している。このイベントは、ハードウェア、ソフトウェアの開発者向けに同社が毎年開催しているもの。会場は米カルフォルニア州サンタクララ市。ここは、某大手プロセッサメーカーの「お膝元」での開催というところに"挑戦的な感じ"がしないでもない。ちなみにARMの米国拠点は、テキサス州のオースティン市にある。
同イベントは、基調講演やセッション、会場での展示で構成され、米国の一般的な技術イベントと変わらないが、いままでもARMv8-AアーキテクチャやmBed OSなど、ARMの戦略的な製品がここで発表されてきただけに、今回も注目が集まる。さて、ここでは初日と2日目に行われた基調講演の模様をレポートする。
第二世代のLITTLEプロセッサ「Cortex-A35」
ARM CTOのMike Muller氏 |
初日の基調講演に登場したのは、ARM CTOのMike Muller氏。同氏の講演では、大きく2つの発表があった。1つは、電力効率の高いアプリケーションプロセッサ「Cortex-A35」、もう1つは組み込み系プロセッサの新アーキテクチャとなる「ARMv8-M」だ。
Muller氏は、薄いプラスティックの板の上に作られたCortex-M0プロセッサを持って登場。これは印刷技術で作られた半導体デバイスで、2015年の現在では、こんなものも作ることができると示したあと、2015年がARM設立25周年ということもあり、ARMの歴史を振り返った。
「モバイルコンピューティングは変貌しつつある」と話し始め、Muller氏は、「モバイル・ファースト」という考え方が世界を変えつつあるとした。その後紹介されたのがCortex-A35プロセッサだ。同プロセッサは、電力効率を高めた「LITTLE」プロセッサとなる。
ARMのアプリケーションプロセッサは、大きく2つに大別できる。1つは、性能を重視した「big」プロセッサ、もう1つは、電力効率を重視した「LITTLE」プロセッサだ。bigプロセッサは、アウトオブオーダーなどを実装し、クロックあたりの実行効率を高めるなど、高速処理を想定しており、サーバー向けに作られるものもある。これに対してLITTLEプロセッサは、インオーダー実行で短いパイプラインを持ち処理速度よりも電力効率を重視し、bigプロセッサよりも小さな消費電力で動作できる。ただし、両者は機能的にはまったく同じもので、特にbig用、LITTLE用の回路が入っているわけではない。
ARMは、このbigとLITTLEの2つを組み合わせて、システム負荷などに応じて処理性能と低消費電力を実現するbig.LITTLE構成を可能にしている。もちろん、それぞれを単独で利用することも可能だ。
64bitアーキテクチャとなるARMv8-Aのプロセッサでは、これまで、LITTLEプロセッサとしてCortex-A53があった。これは、第一世代のARMv8-AプロセッサでCortex-A57と組み合わせることが想定されていた。その後、bigプロセッサのほうは、A72が登場して第二世代になった。今回発表されたA35は、第二世代のLITTLEプロセッサになる。
Muller氏は、A35を従来のARMv7アーキテクチャのLITTLEプロセッサであるA7と比較する。それによれば、A35は、A7よりも10%消費電力が小さく、性能的には同じ32bitコードの実行で6~40%の性能向上があり、L2のあるマルチコア構成から、L2なしのシングルコア構成まで幅広い構成が可能になるという。
さらにA35は、製造時に性能を重視して作ることも、消費電力やダイサイズを重視して作ることも可能な設計になっているという。28ナノメートルという成熟した製造プロセスを使う場合、最大1GHzで動作するフル構成で作ることも、100MHzで動作するオプション機能を省いた小さなダイサイズのA35も作ることが可能になっているという。
後者はウェアラブルなどのバッテリや機器サイズに制限があるような場合に利用可能なもので、A35は低価格のスマートフォンだけでなく、本格的にウェアラブルデバイスもターゲットにしている。消費電力は、構成の違いで最大15倍、ダイサイズでは10倍以上の違いが出るとのことだ。
組み込み系にセキュリティを - 組み込み向けのTrustZoneを導入した「ARMv8-M」
次にMuller氏は、IoTで増大する組み込み系プロセッサへの攻撃について解説した。多数のIoTデバイスの登場により、セキュリティ的なリスクが高まっている。特にIoTデバイスは、ネットワーク接続を前提にしているために攻撃のターゲットになりやすいという。そこでMuller氏は、「セキュティの経験がまったくない人でも利用できる1ドル以下のセキュアーなマイクロコントローラーのデザインが必要な時代になった」として、組み込み系のプロセッサの新しいアーキテクチャであるARMv8-Mについて紹介した。
ARMv8-Mは、命令セットの強化などいくつかの強化点があるが、最大の違いは、組み込み向けのTrustZoneを導入したことだ。TrustZoneは、ARMのアプリケーションプロセッサが持つ、保護された実行環境などのセキュリティ機能の名称だ。しかし、ARMv8-MでいうTrustZoneは名前だけは、アプリケーションプロセッサと同一だが、機構としては大きく違っている。
ARMv8-MのTrustZoneでは、拡張された命令により、セキュリティの高い状態に入る。ARMv7/v8-Aのように、モードやコンテキストを完全に切り替えて別の特権モードで動作するわけではない。このような状態だけを切り替えることにした理由は、モードやコンテキスト切り替えはハードウェア規模が拡大してしまうこと、また、コンテキスト切り替えなどにオーバーヘッドがあり、割り込みへの応答時間などに影響が出るからだ。ARMv8-Mでは、レジスタもそのまま使うために切り替えのオーバーヘッドは小さい。ただし、スタックだけはセキュア状態用のものに切り替わるようだ。
ただし、周辺回路やセキュアストレージ、メモリへのアクセスは、同時に発表された周辺回路接続技術であるAMBA 5 AHB5を利用する。AHB5は、CPUのセキュア状態を認識してセキュアメモリやストレージ、周辺デバイスへのアクセスを制御できる。
ARMv8-MのTrustZoneは、命令ストリームの保護機能となるため、セキュアでない状態のアプリや割り込みハンドラへの移行が簡単に行える。これに対してARMv8/v-AのTrustZoneは、コンテキスト切り替えが必要でさらに出入りを管理するセキュアモニターを経由する必要がある。
また、Muller氏は、ARMのmbed OS用の「mbed Device Connector」も発表した。これは、mbed Device Serverの代わりになるクラウドベースのサービスだ。mbed OSでは、mbed Device Serverを使って、デバイスを管理する必要がある。実際の製品では、クラウド側のインフラを構築するのはあたりまえなのだが、開発時や少量生産の場合、インフラの構築は過大な負荷となってしまう。mbed Device Connectorはこのような場合に利用できるクラウドベースのサービスでDevice Serverの機能を持ち、ここでIoTデバイスのインフラ側のアプリを開発、動作させることができる。開発者向けには2016年から無料で提供される(ただし、デバイス数は100以下、1時間あたり1万イベント以下という制限がある)。