inflearn logo
知識共有
inflearn logo

Armアーキテクチャ:メモリマネジメント(MMU) [著者直講 第3部-5]

システムソフトウェアの基本中の基本、最新Armアーキテクチャ(Armv8-A、Armv7-A)の核心である「メモリマネジメント(MMU)」を、『システムソフトウェア開発のためのArmアーキテクチャの構造と原理』の著者がしっかりと解説します!

難易度 初級

受講期間 無制限

cortex-a
cortex-a
ARM Architecture
ARM Architecture
armv8
armv8
memory-management
memory-management
cortex-a
cortex-a
ARM Architecture
ARM Architecture
armv8
armv8
memory-management
memory-management

受講後に得られること

  • Armアーキテクチャ(Armv8-A)のメモリマネジメント(MMU)の基本動作原理を把握することができます。

  • Armアーキテクチャのメモリマネジメント(MMU)関連機能が、実際のプロジェクトでどのように活用されているかを知ることができます。

  • メモリマネジメント(MMU)に関連する実行フローと構造を、大きな流れで把握することができます。

  • 面接でメモリマネジメント(MMU)に関する質問にうまく答えることができます。

<お知らせ>

1. 300人突破 30%割引クーポン発行

受講生300名突破(1、2部)を記念して、30%割引クーポンを発行いたします。ありがとうございます。先着300名様限定です。

2. ロードマップのご案内 🎯

今回の講義<Armアーキテクチャ: メモリマネジメント(MMU) [著者直伝 第3部-5]>は、ロードマップ'システムソフトウェア開発者のためのArm - advanced course'に含まれている講義です。


体系的にArmアーキテクチャ(Armv8-A、Armv7-A)を学びたい方は、ロードマップ(全講義30%割引)を活用することをお勧めします。ちなみに、Armアーキテクチャのロードマップ(著者直伝全編)はBasic CourseAdvanced Courseの2つで構成されています。..


最新のシステムソフトウェアにおいて
最も重要なArmアーキテクチャ

スマートフォンはもちろん、AI用SoCシステム半導体、電気自動車Automotive(自動運転、インフォテインメント)、そしてクラウドサーバーやMacBookで使用されているArmプロセッサは、すべてArmv8-Aベースの64ビットCortex-Aプロセッサ(Cortex-A53、Cortex-A57、Cortex-A72など...)です。現在のシステムソフトウェア業界において、最も必要とされる基礎知識がArmv8-Aアーキテクチャであると言えます。

高級システムSW開発者への第一歩!
メモリ管理方式を理解する 🙋‍♂


ところで、高級システムソフトウェア開発者になるためには、Armアーキテクチャを構成する主要機能のうち、メモリを管理する方式をよく知っておく必要があります。メモリ管理方式の核心は「メモリマネジメント(MMU)」、「キャッシュの動作原理」とメモリモデルとバリアです。
この中でシステムソフトウェア開発者が知っておくべき最も重要な機能の一つは、仮想メモリシステムに関連する「メモリマネジメント(MMU)」です。


'メモリマネジメント(MMU)'をなぜ学ぶ必要があるのでしょうか?

1⃣ 第一に、RTOSやLinuxカーネルベースのシステムでブリングアップを行ったり、デバイスドライバを開発したりする際、仮想メモリの概念をよく理解していなければ、適切に開発を進めることができません。ボードをブリングアップする際に仮想アドレスの属性や権限を設定する状況が生じることがありますが、そのために必要な概念が仮想メモリとMMUの概念です。

2⃣ 第二に、メモリアボートやページフォールト、そしてデマンドページングの動作方式を理解するための基礎知識が仮想メモリとMMUです。仮想アドレスをページで管理する方式をよく理解していなければ、このような動作原理を正しく把握することはできません。

3⃣ 第三に、仮想メモリとMMUはArmプロセッサ内部の動作原理を詳細に把握するための基礎知識です。

4⃣ 第四に、システムソフトウェア開発関連の技術面接に合格するためには、「仮想メモリとMMUの概念」をよく理解しておく必要があります。経験者採用の面接で頻出する質問の一つが、「仮想メモリとMMU」に関連する内容です。

最近開発されているほとんどのシステムソフトウェアは仮想メモリシステム環境で実行されるため、これに関する知識は必ず知っておかなければなりません。

システムSW開発者のノウハウを
わかりやすく詳細に込めました!


この講義は「システムソフトウェア開発のためのArmアーキテクチャの構造と原理」の著者による直講講義で、メモリシステムの核心であるArmアーキテクチャ(Armv8-A)のメモリマネジメント(MMU)について詳細に扱います。
今回の講義は、これまで制作した著者直講講義の中で最も多くの時間をかけて制作しました。


⭐️ 講義の差別化ポイント

1⃣今回の講義では、仮想メモリと仮想アドレス、そしてArmアーキテクチャでサポートされている仮想メモリシステムの核心的な内容をすべて分かりやすく説明します。

2⃣書籍『システムソフトウェア開発のためのArmアーキテクチャの構造と原理』を執筆した際、紙面の都合上すべてを扱い切れませんでしたが、それらをすべて講義に盛り込み、詳細に説明します。

3⃣ MMUの詳細な動作を設定するアセンブリ命令と関連するシステムレジスタを、LinuxカーネルとXENハイパーバイザーのサンプルコードを用いて詳細に説明します。

4⃣ TRACE32やcrash-utilityなどのデバッグツールを使用して、システムレジスタの主要なビットフィールドや例外処理のフローまで詳細に説明します。

今回の講義をしっかりと習得すれば、高級システムソフトウェア開発者として成長することができます。より高い年俸とポジションでキャリアをアップグレードされることを応援しています。

こんな内容を学びます 📕

メモリーマネジメントを構成する主要な機能と流れを詳細に説明します。


実践的な開発の観点から、メモリマネジメントに関する内容をどのように活用できるかについて説明します。


MMUの主な機能を説明する前に、仮想メモリの概念をまず習得する必要があります。
仮想メモリシステムを構成する主要な要素と構造を詳細に説明します。

MMUの構造と実行フロー、そしてMMUを構成する主要な機能を詳細に説明します。
仮想アドレスを物理アドレスに変換する詳細な動作原理と、マルチレベルページの構造を併せて説明します。

仮想アドレスを物理アドレスに変換する詳細な動作原理と、マルチレベルページの構造を併せて説明します。

仮想アドレスの範囲とMMUの機能を設定する際に実行されるアセンブリ命令を詳細に紹介します。

TRACE32デバッグプログラムを使用しながら、TCR_EL1レジスタを構成する主要なビットフィールドを詳細に説明します。フォルトに関連する情報を把握できる各種システムレジスタを、crash-utilityというデバッグプログラムを通じて分析し、実習を行います。

本の執筆や講義の経験をもとに、
誰よりも深く詳細に!

国内のシステムソフトウェア分野において前例のない!「Armアーキテクチャ(Armv8-A、Armv7-A)」と「Linuxカーネル」の書籍を執筆した著者です。また、最新のシステムソフトウェアトレンド(電気自動車、システム半導体-システムソフトウェア)を最も熟知している現役の開発者であり、システムソフトウェア分野で最も活発に知識の普及活動を行っている教育者でもあります。

  • 'システムソフトウェア開発のためのArmアーキテクチャの構造と原理' (2024年、大韓民国学術院 優秀図書賞) 著者

  • 'デバッグを通じて学ぶLinuxカーネルの構造と原理' (2021年、大韓民国学術院 優秀図書賞) 著者)

  • 'プログラマーズ・デブコース:Linuxシステムおよびカーネルエキスパート' メイン講師

  • 2022年6月、韓国コンピューター総合学術大会 (KCC2022) - チュートリアル発表 [ftraceを利用してLinuxカーネルを征服する]

  • LG電子「Linuxカーネル」および「Armv8アーキテクチャ」社内講師(国内および海外開発者を含む) - (2020年〜2024年)


国内で誰よりもArmアーキテクチャ(Armv8-A、Armv7-A)を構成する主要機能を分かりやすく説明できる教育者であると、自信を持って申し上げます。

受講生が残したリアルな受講評

<システムソフトウェア開発のためのArmアーキテクチャの構造と原理 - 第1/2部 著者直講>


受講前のご参考事項

前提知識および注意事項

  • 「メモリーマネジメント(MMU)」講義は、予備知識がなくても無理なくついていける講義です。

  • アセンブリ命令とレジスタに関する基本概念を理解している必要があります。

  • マルチコアシステムとシステム構造について理解していると、より良いです。

こんな方に
おすすめです

学習対象は
誰でしょう?

  • システム半導体(ファブレス)、電気自動車分野(自動運転、インフォテインメント)を含むシステムソフトウェア分野で、自らの能力を高めていきたいジュニア開発者

  • システム半導体(ファブレス)、電気自動車分野でシステムソフトウェア開発を志望している就活生

  • Armアーキテクチャの機能を活用し、実務でどのようにデバッグを行うかを知りたいシステムソフトウェア開発者(システム半導体、電気自動車)

  • システムソフトウェア分野へキャリアチェンジしようとしている他分野の開発者

  • システムソフトウェア分野(メモリ、ファイルシステム、オペレーティングシステム)の大学院進学を目指す大学生

前提知識、
必要でしょうか?

  • コンピュータ構成論

  • オペレーティングシステム

こんにちは
austinkimです。

6,369

受講生

244

受講レビュー

99

回答

4.9

講座評価

23

講座

グローバル著者 & リナックスシステムソフトウェア開発者 (Arm, RISC-V アーキテクチャ)

国内のシステムソフトウェア分野において前例のない!「Armアーキテクチャ(Armv8-A, Armv7-A)」と「Linuxカーネル」の本を執筆した著者(2冊とも大韓民国学術院の優秀図書に選定であり、国内初めて海外出版社(Packt)を通じて「Reverse Engineering Armv8-A Systems」の本(英語)を執筆したグローバル著者です。何よりも最新のシステムソフトウェアトレンド(電気自動車、システム半導体-システムソフトウェア)を最も熟知している現役エンジニアです。また、システムソフトウェア分野で最も活発に知識共有活動を行っている教育者でもあります。

  • 'Reverse Engineering Armv8-A Systems: A practical guide to Kernel, Firmware, and TrustZone analysis' 著者(英語、Packt出版), (Packt Publishing)

  • 『システムソフトウェア開発のためのArmアーキテクチャの構造と原理』2024年、大韓民国学術院優秀図書賞)著者)

  • 『デバッグを通じて学ぶLinuxカーネルの構造と原理』2021年、大韓民国学術院 優秀図書賞)著者)

  • 「Programmers Dev Course:Linuxシステムおよびカーネル専門家」メイン講師

  • 2022年6月、韓国コンピューター総合学術大会 (KCC2022) - チュートリアル発表 [ftraceを利用してリ눅스カーネルを攻略する]

  • LG電子「Linuxカーネル」および「Armv8アーキテクチャ」社内講師(国内および海外開発者を含む) - (2020年〜現在)

韓国国内で誰よりもリ눅스カーネルとArmアーキテクチャ(Armv8-A, Armv7-A)を分かりやすく説明できる教育者であると、自信を持って申し上げます。

講義に関するお問い合わせ:austindh.kim@gmail.com

主要ロードマップ 🎯

'システムソフトウェア開発者のためのArm - basic course'

'システムソフトウェア開発者のためのArm - advanced course'

システムソフトウェア開発者のためのLinux kernel - basic course

もっと見る

カリキュラム

全体

25件 ∙ (4時間 18分)

講座掲載日: 
最終更新日: 

受講レビュー

全体

3件

5.0

3件の受講レビュー

  • heecheolsong님의 프로필 이미지
    heecheolsong

    受講レビュー 22

    平均評価 5.0

    5

    32% 受講後に作成

    • cydphj1717님의 프로필 이미지
      cydphj1717

      受講レビュー 4

      平均評価 5.0

      5

      100% 受講後に作成

      3部(トラストゾーン、仮想化、メモリ(メモリモデル、キャッシュ、MMU))は全て受講しました。特にメモリに関して、これまで頭の中でぼんやりと知っていた抽象的なメモリ関連の内容が、正確にレジスタ単位まで順を追って整理される感じでした。親切にご説明いただき、ありがとうございます!!

      • aceoftop1975님의 프로필 이미지
        aceoftop1975

        受講レビュー 121

        平均評価 5.0

        5

        100% 受講後に作成

        2024/7/30/火 07:55 講義はよく聞きました。講義を聞くたびに、常に新しい知識を得ています。こんなに難しい内容をよくご説明いただきありがとうございます。

        austinkimの他の講座

        知識共有者の他の講座を見てみましょう!

        似ている講座

        同じ分野の他の講座を見てみましょう!

        ¥4,359