第7回関東qt勉強会

38
プログラマーのため のARM CPU概論 第7回関東Qt勉強会 111126日土曜日

Upload: himamura-

Post on 31-May-2015

1.733 views

Category:

Technology


7 download

TRANSCRIPT

Page 1: 第7回関東qt勉強会

プログラマーのためのARM CPU概論

第7回関東Qt勉強会

11年11月26日土曜日

Page 2: 第7回関東qt勉強会

アジェンダ

•ARM CPUの概要•Cortex-Mシリーズ•Cortex-Aシリーズ•Linaroの概要

11年11月26日土曜日

Page 3: 第7回関東qt勉強会

Please Follow Me@himamura

•基本的にハード屋さんです•組み込み系です•Linaro倶楽部•関東Qt勉強会•関東MeeGo勉強会

11年11月26日土曜日

Page 4: 第7回関東qt勉強会

アジェンダ

•ARM CPUの概要•Cortex-Mシリーズ•Cortex-Aシリーズ•Linaroの概要

11年11月26日土曜日

Page 5: 第7回関東qt勉強会

ARMアーキテクチャ

ARM v4

ARM v5

ARM v6

ARM v7-A

ARM7TDMI SC100

ARM968E-SARM946E-S

ARM1026EJ-S

ARM926E-S

ARM1136J(F)-SARM1156T2(F)-S

ARM1176JZ(F)-SARM11 MPCore

Cortex-A8

Cortex-A9

Cortex-A15

Cortex-A5

Cortex-R4Cortex-R4F

ARM v7-R

ARM v7-M

Cortex-M3

Cortex-M1 Cortex-M0

Cortex-M4

ARM v6-M

SC300

SC000

アプリケーション

リアルタイム

マイクロコントローラ

11年11月26日土曜日

Page 6: 第7回関東qt勉強会

アジェンダ

•ARM CPUの概要•Cortex-Mシリーズ•Cortex-Aシリーズ•Linaroの概要

11年11月26日土曜日

Page 7: 第7回関東qt勉強会

ARM MCUの主力Cortex-M3

高性能MCU1.25 DMIPS/MHzすべてC言語で記述できるThumb-2, 16/32ビット混在のハイブリッドな命令セット柔軟なコンフィギュレーションが可能ネスト可能なベクタ割り込みコントローラ(NVIC)洗練されたデバッグとトレース対応スリープモードによる省電力が可能実績あるMCUコア2004年に発表世界中での実績

11年11月26日土曜日

Page 8: 第7回関東qt勉強会

デジタル信号処理への展開Cortex-M4

これまでのCortex-MとDSP機能を一つのコアに統合既存のCortex-Mの技術、機能、利点をすべて活用信号処理技術への差別要因を加える⇒ DSP、SIMD、浮動小数点ひとつの開発ツールで利用できる

CortexM4

従来のCortex-M3使いやすい高性能低消費電力

信号処理要素シングルサイクルMAC統合したSIMD浮動小数点

11年11月26日土曜日

Page 9: 第7回関東qt勉強会

下位のコアを包含する命令セット

11年11月26日土曜日

Page 10: 第7回関東qt勉強会

OMAP5の中のCortex-M4

11年11月26日土曜日

Page 11: 第7回関東qt勉強会

アジェンダ

•ARM CPUの概要•Cortex-Mシリーズ•Cortex-Aシリーズ•Linaroの概要

11年11月26日土曜日

Page 12: 第7回関東qt勉強会

11年11月26日土曜日

Page 13: 第7回関東qt勉強会

ARMインストラクションセットの進化

V4 V5 V6 V6

Jazelle

VFPv2

SIMD

TrustZone

Thumb-2

NEONAdv SIMD

VFPv3

Thumb-EE

Thumb-2 Only

ARM9ARM10

ARM11

Cortex

V5 V6 V7-A/R V7-M

11年11月26日土曜日

Page 14: 第7回関東qt勉強会

Cortex-A8/A9の特徴

特徴 利点

NEON メディア・プロセシング・エンジン

浮動小数点ユニット

Thumb2テクノロジー

TrustZoneテクノロジー

Jazelle RCT、DBX テクノロジー

メディアと信号を高速処理することにより、特定アプリケーション向けの性能を高め、アプリケーション・ソフトウェアの開発とサポートを統合する利便性を提供単精度と倍精度のスカラ浮動小数点演算を大幅に高速化します。また、従来のARM FPU の2 倍の性能により、業界をリードする画像処理、グラフィックス、科学技術計算機能を提供

従来の ARM コードのピーク性能を提供しつつ、命令の保存に必要なメモリを最大30%縮小

デジタル著作権管理から電子決済まで、多様なセキュリティ・アプリケーションの信頼性高い実装を保証

バイト・コード言語のJIT、AOT コンパイルにおいてコード・サイズを3 分の1まで縮小すると同時に、Java 命令の直接バイト・コード実行によって従来の仮想マシンでの高速処理に対応

11年11月26日土曜日

Page 15: 第7回関東qt勉強会

高いメモリ効率Thumb2命令

データの有効利用/効率的なアクセスアンアラインドデータをコアがサポートパックした構造体を容易に扱う事ができるデータ領域を有効に利用コードサイズが小さいコード密度の高いThumb-2命令セットARM7のThumb命令の上位互換16ビット長と32ビット長の命令を混在実行モードの切り替えが不要

11年11月26日土曜日

Page 16: 第7回関東qt勉強会

浮動小数点ユニット

• 高性能な単精度、倍精度浮動小数点命令を提供• これらの命令は、ARM VFPv3アーキテクチャとの互換性を持ち、先行世代のARM浮動小数点コプロセッサともソフトウェア互換

• IEEE-754 完全準拠の浮動小数点に対応し、初めて従来の「ランファスト」モードと同じ速度で動作

• トラップ例外がないため、ソフトウェアが簡素化され、浮動小数点コードの性能がさらに高くなる

• ARM Mali™グラフィックス・プロセッサなどの組み込み3D プロセッサとのインタラクションを強化するため、16 ビットの浮動小数点データ型変換を行う命令も追加されている

• 先行世代の ARM 浮動小数点コプロセッサに比べ、平均2 倍以上の浮動小数点性能を提供する

• Cortex-A9 FPU は、高度なグラフィックス、3D、イメージング、科学技術計算を使用する各種ソリューションを大幅に強化する

11年11月26日土曜日

Page 17: 第7回関東qt勉強会

NEON(メディア・プロセシング・エンジン)

• Cortex-A8 プロセッサに最初に導入されたARM NEON Advanced SIMD 命令セットの実装により、メディア処理および信号処理機能を高速実行

• MPE は、Cortex-A9 プロセッサの浮動小数点ユニット(FPU)を拡張するもので、4 個のMAC および64 ビット、128 ビット・レジスタ・セットの追加により、8、16、32 ビット整数、32 ビット浮動小数点のデータ量について毎サイクル、豊富なSIMD 演算を実行

• SIMD 機能を高める特長として、このMPE は、Fused データ型に対応しているためにパッキング/アンパッキングのオーバヘッドがなく、ストラクチャード・ロード/ストア機能によってアルゴリズム形式とマシン形式の間のデータ・シャッフルが無い

• MPE の使用により、FPU が使えるレジスタ・ファイルも大きくなり、設計は32 個の倍精度レジスタをサポートできることになる

• 32/64 ビット・スカラ浮動小数点およびコア整数演算性能はそのまま

11年11月26日土曜日

Page 18: 第7回関東qt勉強会

オープンソースでのNEON

11年11月26日土曜日

Page 19: 第7回関東qt勉強会

11年11月26日土曜日

Page 20: 第7回関東qt勉強会

NEONが無い有名なCPU

Tegra2

11年11月26日土曜日

Page 21: 第7回関東qt勉強会

11年11月26日土曜日

Page 22: 第7回関東qt勉強会

11年11月26日土曜日

Page 23: 第7回関東qt勉強会

11年11月26日土曜日

Page 24: 第7回関東qt勉強会

11年11月26日土曜日

Page 25: 第7回関東qt勉強会

アジェンダ

•ARM CPUの概要•Cortex-Mシリーズ•Cortex-Aシリーズ•Linaroの概要

11年11月26日土曜日

Page 26: 第7回関東qt勉強会

11年11月26日土曜日

Page 27: 第7回関東qt勉強会

LinuxベースのディストリビューションとSoC

11年11月26日土曜日

Page 28: 第7回関東qt勉強会

Linaroの作業範囲

11年11月26日土曜日

Page 29: 第7回関東qt勉強会

Linaroのエンジニアユニット

11年11月26日土曜日

Page 30: 第7回関東qt勉強会

Linaroの立ち位置

11年11月26日土曜日

Page 31: 第7回関東qt勉強会

Linaroのロードマップ

11年11月26日土曜日

Page 32: 第7回関東qt勉強会

Linaroのロードマップ

11年11月26日土曜日

Page 33: 第7回関東qt勉強会

Abobe FlashとAIRのサポート

11年11月26日土曜日

Page 34: 第7回関東qt勉強会

HTML5

11年11月26日土曜日

Page 35: 第7回関東qt勉強会

CSSとSMPのロードマップ

11年11月26日土曜日

Page 36: 第7回関東qt勉強会

OESFによるLinaro Android

11年11月26日土曜日

Page 37: 第7回関東qt勉強会

Linaro 11.10 Ubuntu

* This month Linaro Ubuntu LEB images are based on Ubuntu 11.10 (Oneiric) featuring the latest and greatest Unity 3D experience ported to OpenGL ES by the Linaro Graphics Working Group. Note that this is one month ahead of plan and a remarkable achievement of the Developer Platform Team with support from the whole Linaro engineering organization.

* The Graphics Working Group has integrated GLEW with OpenGL ES support on Ubuntu 11.10 images. It is packaged and available at the Linaro Overlay PPA.

* After a few month of investment into libjpeg-turbo optimization by the Multimedia Working Group, the recently started libpng effort carried successes this month and an initial component release of libpng 1.5 with a first set of ARM optimization is included in this release. PNG is a key building block of web browsing technology and improvements will be a direct benefit for usability in todays ARM based products.

The Ubuntu-based images consist of two parts. The first part is a hardware pack, which can be found under the hwpacks directory and contains hardwarespecific packages (such as the kernel and bootloader). The second part is the rootfs, which is combined with the hardware pack to create a completeimage. For more information on how to create an image please see: http://wiki.linaro.org/Platform/DevPlatform/Ubuntu/ImageInstallation

11年11月26日土曜日

Page 38: 第7回関東qt勉強会

ご清聴ありがとうございました。

Q&A

11年11月26日土曜日