第7回関東qt勉強会
TRANSCRIPT
プログラマーのためのARM CPU概論
第7回関東Qt勉強会
11年11月26日土曜日
アジェンダ
•ARM CPUの概要•Cortex-Mシリーズ•Cortex-Aシリーズ•Linaroの概要
11年11月26日土曜日
Please Follow Me@himamura
•基本的にハード屋さんです•組み込み系です•Linaro倶楽部•関東Qt勉強会•関東MeeGo勉強会
11年11月26日土曜日
アジェンダ
•ARM CPUの概要•Cortex-Mシリーズ•Cortex-Aシリーズ•Linaroの概要
11年11月26日土曜日
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日土曜日
アジェンダ
•ARM CPUの概要•Cortex-Mシリーズ•Cortex-Aシリーズ•Linaroの概要
11年11月26日土曜日
ARM MCUの主力Cortex-M3
高性能MCU1.25 DMIPS/MHzすべてC言語で記述できるThumb-2, 16/32ビット混在のハイブリッドな命令セット柔軟なコンフィギュレーションが可能ネスト可能なベクタ割り込みコントローラ(NVIC)洗練されたデバッグとトレース対応スリープモードによる省電力が可能実績あるMCUコア2004年に発表世界中での実績
11年11月26日土曜日
デジタル信号処理への展開Cortex-M4
これまでのCortex-MとDSP機能を一つのコアに統合既存のCortex-Mの技術、機能、利点をすべて活用信号処理技術への差別要因を加える⇒ DSP、SIMD、浮動小数点ひとつの開発ツールで利用できる
CortexM4
従来のCortex-M3使いやすい高性能低消費電力
信号処理要素シングルサイクルMAC統合したSIMD浮動小数点
11年11月26日土曜日
下位のコアを包含する命令セット
11年11月26日土曜日
OMAP5の中のCortex-M4
11年11月26日土曜日
アジェンダ
•ARM CPUの概要•Cortex-Mシリーズ•Cortex-Aシリーズ•Linaroの概要
11年11月26日土曜日
11年11月26日土曜日
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日土曜日
Cortex-A8/A9の特徴
特徴 利点
NEON メディア・プロセシング・エンジン
浮動小数点ユニット
Thumb2テクノロジー
TrustZoneテクノロジー
Jazelle RCT、DBX テクノロジー
メディアと信号を高速処理することにより、特定アプリケーション向けの性能を高め、アプリケーション・ソフトウェアの開発とサポートを統合する利便性を提供単精度と倍精度のスカラ浮動小数点演算を大幅に高速化します。また、従来のARM FPU の2 倍の性能により、業界をリードする画像処理、グラフィックス、科学技術計算機能を提供
従来の ARM コードのピーク性能を提供しつつ、命令の保存に必要なメモリを最大30%縮小
デジタル著作権管理から電子決済まで、多様なセキュリティ・アプリケーションの信頼性高い実装を保証
バイト・コード言語のJIT、AOT コンパイルにおいてコード・サイズを3 分の1まで縮小すると同時に、Java 命令の直接バイト・コード実行によって従来の仮想マシンでの高速処理に対応
11年11月26日土曜日
高いメモリ効率Thumb2命令
データの有効利用/効率的なアクセスアンアラインドデータをコアがサポートパックした構造体を容易に扱う事ができるデータ領域を有効に利用コードサイズが小さいコード密度の高いThumb-2命令セットARM7のThumb命令の上位互換16ビット長と32ビット長の命令を混在実行モードの切り替えが不要
11年11月26日土曜日
浮動小数点ユニット
• 高性能な単精度、倍精度浮動小数点命令を提供• これらの命令は、ARM VFPv3アーキテクチャとの互換性を持ち、先行世代のARM浮動小数点コプロセッサともソフトウェア互換
• IEEE-754 完全準拠の浮動小数点に対応し、初めて従来の「ランファスト」モードと同じ速度で動作
• トラップ例外がないため、ソフトウェアが簡素化され、浮動小数点コードの性能がさらに高くなる
• ARM Mali™グラフィックス・プロセッサなどの組み込み3D プロセッサとのインタラクションを強化するため、16 ビットの浮動小数点データ型変換を行う命令も追加されている
• 先行世代の ARM 浮動小数点コプロセッサに比べ、平均2 倍以上の浮動小数点性能を提供する
• Cortex-A9 FPU は、高度なグラフィックス、3D、イメージング、科学技術計算を使用する各種ソリューションを大幅に強化する
11年11月26日土曜日
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日土曜日
オープンソースでのNEON
11年11月26日土曜日
11年11月26日土曜日
NEONが無い有名なCPU
Tegra2
11年11月26日土曜日
11年11月26日土曜日
11年11月26日土曜日
11年11月26日土曜日
11年11月26日土曜日
アジェンダ
•ARM CPUの概要•Cortex-Mシリーズ•Cortex-Aシリーズ•Linaroの概要
11年11月26日土曜日
11年11月26日土曜日
LinuxベースのディストリビューションとSoC
11年11月26日土曜日
Linaroの作業範囲
11年11月26日土曜日
Linaroのエンジニアユニット
11年11月26日土曜日
Linaroの立ち位置
11年11月26日土曜日
Linaroのロードマップ
11年11月26日土曜日
Linaroのロードマップ
11年11月26日土曜日
Abobe FlashとAIRのサポート
11年11月26日土曜日
HTML5
11年11月26日土曜日
CSSとSMPのロードマップ
11年11月26日土曜日
OESFによるLinaro Android
11年11月26日土曜日
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日土曜日
ご清聴ありがとうございました。
Q&A
11年11月26日土曜日