
システムソフトウェア開発のためのArmアーキテクチャの構造と原理 - 第2部 著者直講(2024年版)
austinkim
システムソフトウェアの基本中の基本、最新Armアーキテクチャ(Armv8-A、Armv7-A)の核心を『システムソフトウェア開発のためのArmアーキテクチャの構造と原理』の著者がしっかりとお教えします!
初級
Hardware Hacking, Embedded, ARM Architecture
システムソフトウェアの基本中の基本、最新Armアーキテクチャ(Armv8-A)の核心を『システムソフトウェア開発のためのArmアーキテクチャの構造と原理』の著者がしっかりとお教えします!
受講生 97名
難易度 入門
受講期間 無制限
ArmアーキテクチャとArmプロセッサの特徴
レジスタとアセンブリ命令の処理方式
例外レベル(Exception Level)と例外レベル別に実行されるソフトウェアスタック
例外(Exception)の種類と動作の仕組み
サブルーチン呼び出しのための規約であるAAPCS(Arm呼び出し規約)
TrustZoneを構成するノンセキュアワールドとセキュアワールドの概念
仮想化とハイパーバイザーの動作原理
バリア、キャッシュ、そして仮想メモリシステムの動作原理
今回の講義<新人開発者のためのArmv8-A Architecture(著者直講)>は、ロードマップ 'システムソフトウェア開発者のためのArm - basic course' に含まれている講義です。
体系的にArmアーキテクチャ(Armv8-A, Armv7-A)を学びたい方は、ロードマップ(全講義30%割引)を活用することをお勧めします。ちなみに、Armアーキテクチャのロードマップ(著者直講 全体)は Basic Courseと Advanced Course の2つで構成されています。
AI半導体、電気自動車のAutomotive(自動運転、インフォテインメント)、そしてスマートフォンはもちろん、デジタルTVに使用されるArmプロセッサは、すべてArmv8-Aベースの64ビットCortex-Aプロセッサ(Cortex-A53、Cortex-A57、Cortex-A72など...)です。現在、システムソフトウェア業界で最も必要とされている知識がArmv8-Aアーキテクチャであると言えます。
私はArmv8-Aアーキテクチャを解説する本を執筆し、Inflearn(インフラン)で60時間以上の講義も制作しました。
しかし、60時間以上の講義は、初めてArmアーキテクチャを学ぼうとする方が消化するには3ヶ月以上の時間を要します。もちろん、一歩ずつ講義を聴き、Armアーキテクチャを体系的に学ぶことが最善の方法です。しかし、現実的には就職準備生の方々やジュニア開発者の方々は、1〜2週間以内の短期間で技術面接を準備しなければならないケースが多いです。このような受講生のニーズを反映し、コンパクトながらも核心は逃さないArmv8-Aアーキテクチャ入門講義をローンチすることになりました。
短時間でArmv8-Aアーキテクチャに関連する技術面接に備える必要があるシステムSW分野の就職準備生
Armv8-Aの核心的な内容を把握して、実務を早く身につけたい新入およびジュニア開発者 muốn nắm bắt các nội dung cốt lõi của Armv8-A để nhanh chóng làm quen với công việc thực tế.
Armv8-Aの核心的な機能を理解し、プロジェクトを管理しようとするシステムソフトウェア分野の管理者
1⃣ 技術面接で聞かれる可能性のあるArmv8-Aアーキテクチャの主要機能を要約整理
システムソフトウェア開発者の技術面接において、Armv8-Aアーキテクチャに関する質問をされる可能性は非常に高いです。ほとんどの国内リナックスシステムソフトウェア開発者(ファブレス、組み込み開発)の要件として、Armアーキテクチャが明示されています。面接の準備時間は短い一方で、膨大なArmスペック文書を分析するのは大きな負担となります。本講義を受講すれば、Armv8-Aアーキテクチャを構成する核心的な概念を短時間で把握することができます。
2⃣ 新人開発者の立場で必ず知っておくべき内容を整理
実務プロジェクトを進める際には、Armアーキテクチャ(Arm Architecture)をよく理解しておく必要があります。ブリングアップやデバッグを行う際、Armアーキテクチャを知らないと開発を進めるのが困難です。
Armv8-Aアーキテクチャを構成する機能は膨大です。関連するリファレンス文書は2000ページを超え、どの内容が現場のプロジェクトで活用されているのか把握するのは困難です。新人開発者の視点で必ず知っておくべきArmv8-Aアーキテクチャの実用的な機能を分かりやすくまとめました。
3⃣ 様々なケーススタディの紹介
Armアーキテクチャの核心的な内容を説明しながら、実戦プロジェクトでどのような方式で開発業務を進めるかを扱います。また、学んだ内容が実際の現場のプロジェクトでどのように活用されるかについて、多様なケーススタディ(実戦プロジェクトのイシュー)も説明します。さらに、Armアーキテクチャの主要機能が実装されたLinuxカーネルやブートローダーについても扱います。
今回の講義をしっかりと習得すれば、高級システムソフトウェア開発者として成長することができます。
より高い年収とポジションでキャリアをアップグレードされることを応援しています。
システム半導体を開発するプロセスを説明しながら、Armプロセッサについて紹介します。また、Armv8-Aアーキテクチャを構成する基本的な機能についても紹介します。
レジスタの構造を説明し、レジスタがどのように使用されるかを様々な例を挙げて説明します。
スペシャルレジスタについて説明し、関連するレジスタが変更される実行フローを扱います。
ブートプロセスを紹介しながら、アセンブリ命令が実際のプロジェクトでどのように活用されているかを説明します。続いて、アセンブリ命令の基本フォーマットと命令ルーチンを分析します。
様々な方式でアセンブリ命令を詳細に分析し、命令の構文(Syntax)を分かりやすく説明します。
実践的なデバッグプログラムであるTRACE32を使用して、アセンブリ命令をデバッグします。アセンブリ命令を分析しながら、レジスタがどのように使用されるかを詳細に説明します。
例外レベル(Exception Level)と特権レベル(Privilege level)の概念を分かりやすく説明します。
例外レベルごとにソフトウェアがどのように実行されるか、さまざまな事例を挙げて説明します。
ブートプロセスにおいて例外レベル(Exception Level)が設定される過程を詳細に説明します。例外レベルを確認する方法を、アセンブリ命令を通じて説明します。
例外ベクトルテーブルと例外が処理される実行フローを詳細に説明します。
割り込みはArmv8-Aアーキテクチャではエクセプションの一種として処理されます。様々な実行フローを通じて、IRQ割り込みエクセプションが処理される過程を分かりやすく説明します。
システムコールが実行される過程でエクセプションが誘発される過程を説明します。また、エクセプションベクトルテーブルとともに、エクセプションの実行フローを説明します。
TRACE32デバッグ実習を通じて、エクセプションが発生した際にArmコアがエクセプションベクタアドレスに分岐する動作を詳細に説明します。
関数のようなサブルーチンへ分岐する方法を明示したAAPCSについて、基本的な核心概念と実行フローを説明します。
ソフトウェアの観点からスタックが使用される方式と、実際のプロジェクトにすぐ適用できる最適化案について説明します。
TrustZoneの核心概念(ノンセキュアワールド、セキュアワールド)と実行フローについて、分かりやすく説明します。
TRACE32デバッグ実習を通じて、Secure monitor callの動作原理を説明します。EL1でSMC命令を実行した際にEL3へ遷移する動作を詳細に解説し、この過程で発生する例外の動作方式についても詳しく分析します。
電気自動車(Automotive)開発で広く活用されているハイパーバイザの構造と、Virtualization(仮想化)機能について説明します。
仮想化技術の核心であるHypervisor callを通じて、ゲストOSからハイパーバイザへ移行する過程を説明します。また、例外をハイパーバイザで受け取って処理する実行フローについて説明します。
TRACE32デバッグ実習を通じて、HVC命令をEL1(ゲストOS)で実行した際にEL2(ハイパーバイザー)へ進入する動作を詳細に説明します。この過程で誘発される例外の動作方式についても分かりやすく説明します。
キャッシュの基本概念を説明し、マルチレベルキャッシュの基本構造とポリシーについて分かりやすく説明します。
メモリモデルとメモリバリアについて分かりやすく説明します。
仮想メモリシステムを構成する要素と、仮想アドレスが処理される実行フローについて説明します。
国内のシステムソフトウェア分野において前例のない!「Armアーキテクチャ(Armv8-A, Armv7-A)」と「Linuxカーネル」の本を執筆した著者です。また、最新のシステムソフトウェアトレンド(電気自動車、システム半導体-システムソフトウェア)を最も熟知している現職のエンジニアであり、システムソフトウェア分野で最も活発に知識の普及活動を行っている教育者でもあります。
『システムソフトウェア開発のためのArmアーキテクチャの構造と原理』(2024年、大韓民国学術院優秀図書賞)著者
'デバッグを通じて学ぶLinuxカーネルの構造と原理' (2021年、大韓民国学術院 優秀図書賞) 著者))
'プログラマーズ・デブコース:Linuxシステムおよびカーネルエキスパート' メイン講師(1〜2期)
2022年6月、韓国コンピューター総合学術大会 (KCC2022) - チュートリアル発表 [ftraceを利用してLinuxカーネルを征服する]
LG電子「Linuxカーネル」および「Armv8アーキテクチャ」社内講師(国内および海外開発者を含む) - (2020年〜2024年)
国内の誰よりも、Armv8-Aアーキテクチャを構成する主要な機能を分かりやすく説明できる教育者であると、自信を持って申し上げます。
<システムソフトウェア開発のためのArmアーキテクチャの構造と原理 - 第1/2部 著者直講>

今回の講義は予備知識がなくても無理なくついていける講義です。
OSやコンピュータの構造に関する知識があれば、講義を理解するのに役立ちます。
講義ではC言語の基本文法は習得しているものと想定し、サンプルコードの紹介と説明を行います。
今回の講義で使用するTRACE32プログラムは提供しておりません。
TRACE32教育用の実習プログラムをダウンロードして、アセンブリ命令を詳細にデバッグしたい方は、すでに公開されている「システムソフトウェア開発のためのArmアーキテクチャの構造と原理 - 第1部/第2部」の著者直講義を受講してください。
学習対象は
誰でしょう?
システム半導体(ファブレス)、電気自動車分野(自動運転、インフォテインメント)を含むシステムソフトウェア分野で、自らの能力を高めていきたいジュニア開発者
システムソフトウェア分野へキャリアチェンジしようとしている他分野の開発者
システム半導体(ファブレス)、電気自動車分野でシステムソフトウェア開発を志望している就活生
システムソフトウェア分野(メモリ、ファイルシステム、オペレーティングシステム)の大学院進学を目指す大学生
Armアーキテクチャの機能を活用し、実務でどのようにデバッグを行うかを知りたいシステムソフトウェア開発者(システム半導体、電気自動車)
前提知識、
必要でしょうか?
マイクロプロセッサ
CPU
組み込み
C言語
オペレーティングシステム
コンピュータ構成論
キャリア認証
6,649
受講生
268
受講レビュー
104
回答
4.9
講座評価
23
講座
グローバル著者 & リナックスシステムソフトウェア開発者 (Arm, RISC-V アーキテクチャ)
国内のシステムソフトウェア分野において前例のない!「Armアーキテクチャ(Armv8-A, Armv7-A)」と「Linuxカーネル」の本を執筆した著者(2冊とも大韓民国学術院の優秀図書に選定)であり、国内初めて海外出版社(Packt)を通じて「Reverse Engineering Armv8-A Systems」の本(英語)を執筆したグローバル著者です。何よりも最新のシステムソフトウェアトレンド(電気自動車、システム半導体-システムソフトウェア)を最も熟知している現役の開発者です。また、システムソフトウェア分野で最も活発に知識の普及活動を行っている教育者でもあります。"Reverse Engineering Armv8-A Systems" (bằng tiếng Anh) thông qua nhà xuất bản nước ngoài (Packt). Trên hết, ông là một nhà phát triển đang làm việc thực tế, người nắm rõ nhất các xu hướng phần mềm hệ thống mới nhất (xe điện, bán dẫn hệ thống - phần mềm hệ thống). Ngoài ra, ông còn là một nhà giáo dục hoạt động tích cực nhất trong việc truyền bá kiến thức trong lĩnh vực phần mềm hệ thống.
Professional 知識共有者およびコンサルタント
LG電子 Linuxカーネルオープンソースチーム勤務(〜2026年5月)
'Reverse Engineering Armv8-A Systems: A practical guide to Kernel, Firmware, and TrustZone analysis' 著書(英語) 著者、(Packt 出版社)
『システムソフトウェア開発のためのArmアーキテクチャの構造と原理』(2024年、大韓民国学術院 優秀図書賞)著者))
『デバッグを通じて学ぶLinuxカーネルの構造と原理』 (2021年、大韓民国学術院 優秀学術図書賞) 著者)
'Programmers Dev Course: リナックスシステムおよびカーネル専門家' メイン講師
韓国国内で誰よりもリヌックスカーネルとArmアーキテクチャ(Armv8-A, Armv7-A)を分かりやすく説明できる教育者であると、自信を持って申し上げます。
講義に関するお問い合わせ : austindh.kim@gmail.com
'システムソフトウェア開発者のための Arm - basic course'
'システムソフトウェア開発者のためのArm - advanced course'
システムソフトウェア開発者のための Linux kernel - basic course
全体
71件 ∙ (8時間 31分)
全体
3件
5.0
3件の受講レビュー
受講レビュー 2
∙
平均評価 5.0
受講レビュー 2
∙
平均評価 5.0
受講レビュー 25
∙
平均評価 5.0
知識共有者の他の講座を見てみましょう!
同じ分野の他の講座を見てみましょう!