Arm® Cortex®-A53MP ソフトウェア開発スペシャルコース(オンライン:半日×2日間)
- 日程:※オンライン開催のため、2日間にて開催致します
- UNIT1 : 2021年03月18日(木)13:00〜17:00 (Arm®v8-Aアーキテクチャの概要と例外/バリア)
- UNIT2 : 2021年03月19日(金)13:00〜17:00(メモリモデル/キャッシュ/コヒーレンシ)
※進行状況により終了時間は少し変動の可能性があります
コースの概要
※各UNIT単体での受講が可能です。
このコースはArm®v8-Aをベースとしたプラットフォームでソフトウェアを開発するエンジニア向けに設計されています。
コースは2つのユニットから構成されており、習熟度や習得したい内容にあわせて、自由に組み合わせて御受講頂けます。UNIT1 Arm®v8-Aアーキテクチャの概要と例外/バリア
UNIT2 メモリモデル/キャッシュ/コヒーレンシ
受講対象者
- Arm® Cortex®-A53等、Arm®v8-Aアーキテクチャベースのプロセッサコア向けのアプリケーション・ソフトを開発時に必要になる知識を習得したいソフトウェアエンジニア
履修条件
- マイコンについて基礎的な理解があること(メモリマップ、レジスタ、割り込み、内蔵メモリの概念等)
- アセンブラやCプログラミングについて知識があること(C言語、アセンブリ言語でプログラムの作成経験がある等)※必須ではありません
- 組込みシステムのソフトウェアに関する基礎的な知識があること
- Arm®v7-Aアーキテクチャに関する知識があること
オンライン開催にあたり
- Zoomのウェビナー機能で開催します。
- ブラウザでのご視聴は「Google Chrome」のみ対応しています。
※Google Chromeの使用ができない場合は、Zoomアプリのインストールが必要になります。
※Zoomのアウントの取得は必須ではございません。
お申し込み方法
「Arm® Cortex®-A53MPソフトウェア開発コースのお申込について」
受付終了: 2021年03月11日(木)18:00まで
定員: UNIT1:20名 UNIT2:20名
受講料:- UNIT1 : 30,000円(税抜き)
- UNIT2 : 30,000円(税抜き)
- セット(UNIT1+UNIT2) : 54,000円(税抜き)
※受講料につきましてご不明な点がありましたらお問い合わせください。
お問い合わせ先
Arm®トレーニングセンタ
TEL : 03-6756-9405
E-mail : arm_training@dts-insight.co.jpコース内容
UNIT1 Arm®v8-Aアーキテクチャの概要とキャッシュ/メモリアクセス
1 Arm®v8-Aの概要
- 1.1 Arm® アーキテクチャバージョン
Arm®アーキテクチャの開発/Arm®v8-Aの新機能とは? - 1.2 特権レベル
AArch64特権モデル/AArch32特権モデル/AArch32とAArch64間の遷移 - 1.3 AArch64レジスタ
レジスタバンク/その他のレジスタ/プロセッサの状態/プロシージャコール標準/AArch64とAArch32間のレジスタマッピング/システム制御/いくつかの重要なシステムレジスタ - 1.4 A64命令セット
A64の概要 - 1.5 AArch64 例外モデル
AArch64の例外/例外の受付 - 1.6 AArch64 メモリモデル
メモリのタイプ/アラインメント/仮想アドレススペース/複数の仮想アドレススペース/物理アドレススペース/ MPCore設定 - 1.7 付録
Arm®v8用語参考情報/REServedビットおよびArm®v8アーキテクチャ/リセット時のシステムレジスタの内容/ Arm®v8.1-A/Arm®v8.2-A/Arm®v8-Aソフトウェアサポート
2 Arm®v8-A AArch64 例外モデル
- 2.1 AArch64例外モデル
例外レベル/AArch64例外/例外の受付/例外のルーティング/PSTATEとSPSR/実行状態の変更/例外のリターンアドレス/例外スタック/AArch32レジスタマッピング/AArch64ベクタテーブル - 2.2 割込み
割込みのハンドリング/汎用割込みコントローラ(GIC)/単純な割込みの例/単純な例外ハンドラの記述例/ネストされた例外の例/ネストされた例外ハンドラの記述例/例外の戻りアドレス/例外のスタック/AArch32レジスタマッピング/AArch64ベクタテーブル - 2.3 同期例外
同期例外/システムコール/同期例外のハンドリング/例外シンドロームレジスタ - 2.4 SError例外
SError例外 - 2.5 EL2およびEL3の例外
EL2/EL3へのシステムコール/EL2およびEL3への例外のルーティング/ EL3 への例外ルーティング例/ EL3 を使用したシステム例 – 非セキュア/ EL3 を使用したシステム例 – セキュア
3 Arm®v8-Aのバリア
- 3.1 Arm®v8-Aのバリア
メモリモデル/なぜアクセス順序が重要なのか?/バリア - 3.2 データバリア
DMB vs DSB/DMB/DSB/異なるオブザーバー/DMBおよびDSB修飾子/バリア修飾子/メールボックスの例/バリアをまたぐ投機/メモリマップされたペリフェラル/一方通行のバリア - 3.3 命令バリア
ISB/ISBの例/変換テーブル変更の例/自己修正コード/付録:コンパイラバリア、割り込みを伴うMailbox処理
UNIT2 メモリモデル/キャッシュ/コヒーレンシ
4 Arm®v8-Aメモリモデル
- 4.1 Arm®v8-Aメモリモデル
メモリモデル/属性の指定方法/階層の属性 - 4.2 タイプ
メモリタイプ/メモリタイプ(ノーマル)/メモリタイプ(デバイス)/デバイスアクセスの順序/タイプの指定/デバイスメモリの強弱 - 4.3 属性
キャッシュ可能/共有可能/ノーマルメモリの動作と保証/アクセスパーミッション/実行可能/アクセスフラグ/グローバル/ノン・グローバル 変換/ASID/予約ビット/物理アドレス空間 - 4.4 アラインメントとエンディアン
アラインメント/エンディアン - 4.5 タグ付きのポインタ
ポインタのタグ化/Linuxのアクセスフラグの例/ショート記述子フォーマットのASID - 4.6 Appendix
Linuxのアクセスフラグの例/ショート記述子フォーマットのASID
5 Arm®v8-A キャッシュと分岐予測
- 5.1 一般的なキャッシュの情報
キャッシュ/データはどのようにキャッシュへ保存される?/キャッシュのアクセス方法は?/32KB L1 Armデータキャッシュの例/Level1およびLevel2キャッシュの相互作用/分岐予測 - 5.2 キャッシュの属性
キャッシュのポリシー/ライトバックとライトスルー/内部と外部/投機とプリロード - 5.3 キャッシュのメンテナンス操作
キャッシュのメンテナンス/PoUとPoCおよびキャッシュメンテナンス/PoUとPoCを比較/AArch64命令/メンテナンスブロードキャスト/メンテナンスブロードキャスト-AArch64 - 5.4 キャッシュの検出
キャッシュ検出コード/非統合キャッシュ - 5.5 Appendix
AArch32 メンテナンス命令/キャッシュ ディセーブル動作/命令キャッシュポリシー
6 Arm®v8-Aキャッシュコヒーレンシ
- 6.1 コヒーレンシの概要
キャッシュコヒーレンシとは?/Armコヒーレンシサポートの進化/変換テーブル内の共有属性/Cortex-Aファミリにおけるコヒーレンシ/AMBA4 ACE および AMBA 5 CHI/GPUとDMAのシステムコヒーレンシ - 6.2 コヒーレンシの詳細-マルチコアプロセッサ
コヒーレンシ:実装の詳細/MPCoreのコヒーレンシ管理/コヒーレンシロジック/キャッシュコヒーレンシロジックの例 - 6.3 コヒーレンシの詳細-マルチプロセッサシステム
マルチクラスタコヒーレンシ/コヒーレンシの例:読み出し/コヒーレンシの例:書き込み/バリア/バリアとACE