Arm Architecture: Memory Management (MMU) [Author-led Lecture Part 3-5]

The author of "The Structure and Principles of Arm Architecture for System Software Development" will provide a solid foundation on 'Memory Management (MMU)', the absolute fundamental of system software and the core of the latest Arm architectures (Armv8-A, Armv7-A)!

(5.0) 3 reviews

131 learners

Level Basic

Course period Unlimited

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

What you will gain after the course

  • You can understand the basic operating principles of Memory Management (MMU) in the Arm architecture (Armv8-A).

  • You can learn how the Memory Management Unit (MMU) features of the Arm architecture are utilized in actual projects.

  • You can grasp the big picture of the execution flow and structure related to Memory Management Unit (MMU).

  • I can answer questions about memory management (MMU) well in an interview.

<Notice>

1. Issuance of 30% discount coupon for surpassing 300 students 

To celebrate surpassing 300 students (Parts 1 and 2), we are issuing a 30% discount coupon. Thank you. Limited to the first 300 people.

2. Roadmap Guide 🎯

This lecture, <Arm Architecture: Memory Management (MMU) [Author's Lecture Part 3-5]>, is included in the roadmap 'Arm for System Software Developers - advanced course'.


For those who wish to learn the Arm architecture (Armv8-A, Armv7-A) systematically, it is recommended to take advantage of the roadmap (30% discount on all lectures). For your reference, the Arm Architecture Roadmap (full series taught by the author) consists of two parts: Basic Course and Advanced Course.


In modern system software,
the most important Arm architecture

Arm processors used in smartphones, AI SoC system semiconductors, electric vehicle automotive (autonomous driving, infotainment), cloud servers, and MacBooks are all Armv8-A based 64-bit Cortex-A processors (Cortex-A53, Cortex-A57, Cortex-A72, etc.). It can be said that the Armv8-A architecture is the area where foundational knowledge is most in demand in the current system software industry.

The first step to becoming an advanced system SW developer!
Understanding memory management methods 🙋‍♂


However, to become an advanced system software developer, you must have a good understanding of how memory is managed, which is one of the key features of the Arm architecture. The core of memory management consists of 'Memory Management (MMU)', 'Cache Principles', and 'Memory Models and Barriers'.
Among these, one of the most important features a system software developer must know is 'Memory Management (MMU) related to virtual memory systems'.


'Memory Management Unit (MMU)', why should we learn it?

1⃣ First, when performing bring-up or developing device drivers in RTOS or Linux kernel-based systems, you cannot proceed with development properly without a solid understanding of virtual memory concepts. Situations may arise where you need to configure virtual address attributes or permissions during board bring-up, and the concepts of virtual memory and MMU are essential for this.

2⃣ Second, virtual memory and MMU are the foundational knowledge required to understand memory aborts, page faults, and demand paging operations. Without a solid understanding of how virtual addresses are managed in pages, it is impossible to properly grasp these operational principles.

3⃣ Third, virtual memory and MMU are foundational knowledge for understanding the internal operating principles of the Arm processor in detail.

4⃣ Fourth, you need to have a good understanding of the 'concepts of virtual memory and MMU' to perform well in technical interviews related to system software development. One of the most common questions in interviews for experienced developers is related to 'virtual memory and the MMU'.

Since most modern system software is executed in a virtual memory system environment, knowledge of this subject is essential.

The know-how of a system SW developer
is captured easily and in detail!


This course is a lecture by the author of 'Arm Architecture: Structure and Principles for System Software Development', and it covers in detail the Memory Management Unit (MMU) of the Arm architecture (Armv8-A), which is the core of the memory system.
This lecture is the one I have invested the most time in among all the author-led lectures I have produced so far.


⭐️ Key Differentiating Points of the Lecture

1⃣ In this lecture, I will clearly explain all the core concepts of virtual memory, virtual addresses, and the virtual memory system supported by the Arm architecture.

2⃣ When writing the book 'The Structure and Principles of Arm Architecture for System Software Development,' there were many topics I couldn't cover due to space limitations; I have included all of them in this lecture and explained them in detail.

3⃣ Detailed explanations are provided for assembly instructions and related system registers that configure the detailed operations of the MMU, using example code from the Linux kernel and the XEN hypervisor.

4⃣ Using debugging tools such as TRACE32 and crash-utility, I will explain in detail everything from the key bit fields of system registers to the flow of exception handling.

If you master this course, you will be able to grow into a senior system software developer. I support you in upgrading your career with a higher salary and position.

What you will learn 📕

It explains the key functions and flows of memory management in detail.


It explains how to utilize content related to memory management from a practical development perspective.


Before explaining the main functions of the MMU, it is necessary to first understand the concept of virtual memory.
The key elements and structure that make up the virtual memory system are explained in detail.

We explain the structure and execution flow of the MMU, as well as its key components, in detail.
We also explain the detailed operating principles of converting virtual addresses to physical addresses and the structure of multi-level pages.

It explains the detailed operating principles of converting virtual addresses to physical addresses, along with the structure of multi-level pages.

We provide a detailed introduction to the assembly instructions executed when setting the virtual address range and configuring MMU functions.

While using the TRACE32 debugging program, we explain the major bit fields that constitute the TCR_EL1 register in detail. We also analyze and practice with various system registers that provide fault-related information using a debugging program called crash-utility.

Based on my experience writing books and lecturing,
deeper and more detailed than anyone else!

I am the author of the unprecedented books on 'Arm Architecture (Armv8-A, Armv7-A)' and 'Linux Kernel' in the domestic system software field. I am also an active developer who is well-versed in the latest system software trends (electric vehicles, system semiconductors - system software), and an educator who is most actively engaged in spreading knowledge within the system software field.

  • Author of 'The Structure and Principles of Arm Architecture for System Software Development' (2024, National Academy of Sciences Outstanding Book Award)

  • 'Structure and Principles of the Linux Kernel Learned Through Debugging' (2021, National Academy of Sciences Outstanding Book Award) Author

  • Main Instructor for 'Programmers Dev Course: Linux System and Kernel Expert'

  • June 2022, Korea Computer Congress (KCC2022) - Tutorial Presentation [Conquering the Linux Kernel Using ftrace]

  • LG Electronics 'Linux Kernel' and 'Armv8 Architecture' Internal Instructor (Including domestic and overseas developers) - (2020~2024)


I can confidently say that I am an educator who can explain the key features of the Arm architecture (Armv8-A, Armv7-A) better than anyone else in Korea.

Vivid course reviews left by learners

<Structure and Principles of Arm Architecture for System Software Development - Part 1/2 Taught by the Author>


Notes before taking the course

Prerequisites and Notices

  • The 'Memory Management (MMU)' lecture is a course that can be easily followed even without prior knowledge.

  • You must have a basic understanding of assembly instructions and registers.

  • It is helpful to have an understanding of multi-core systems and system architecture.

Recommended for
these people

Who is this course right for?

  • A junior developer who wants to build expertise in the system software field, including system semiconductors (fabless) and the electric vehicle sector (autonomous driving, infotainment).

  • A job seeker who wants to develop system software in the fields of system semiconductors (fabless) and electric vehicles.

  • System software developers (system semiconductors, electric vehicles) who want to learn how to debug in practice by leveraging the features of the Arm architecture.

  • A developer from another field seeking to transition their career into system software.

  • An undergraduate student aiming to pursue graduate studies in the field of system software (memory, file systems, operating systems).

Need to know before starting?

  • Computer Architecture

  • Operating System

Hello
This is austinkim

6,384

Learners

247

Reviews

99

Answers

4.9

Rating

23

Courses

Global Author & Linux System Software Developer (Arm, RISC-V Architecture)

A global author who has written unprecedented books on 'Arm Architecture (Armv8-A, Armv7-A)' and the 'Linux Kernel' in the domestic system software field (both books were selected as Excellent Academic Books by the National Academy of Sciences of the Republic of Korea), and is the first in Korea to author the book (in English) "Reverse Engineering Armv8-A Systems" through an international publisher (Packt). Above all, he is an active developer who is most well-versed in the latest system software trends (electric vehicles, system semiconductors-system software). He is also an educator who is most actively engaged in spreading knowledge within the system software field.

  • Author of the book (English) 'Reverse Engineering Armv8-A Systems: A practical guide to Kernel, Firmware, and TrustZone analysis', (Packt Publishing)

  • Author of 'Structure and Principles of Arm Architecture for System Software Development' (2024 National Academy of Sciences Outstanding Book Award)

  • Author of 'Structure and Principles of the Linux Kernel Learned Through Debugging' (2021, National Academy of Sciences Outstanding Scholarly Book Award)

  • Main Instructor for 'Programmers Dev Course: Linux System and Kernel Expert'

  • June 2022, Korea Computer Congress (KCC2022) - Tutorial Presentation [Conquering the Linux Kernel Using ftrace]

  • LG Electronics 'Linux Kernel' and 'Armv8 Architecture' internal instructor (including domestic and overseas developers) - (2020–Present)

I can confidently say that I am an educator who can explain the Linux kernel and Arm architecture (Armv8-A, Armv7-A) better than anyone else in Korea.

Lecture Inquiries: austindh.kim@gmail.com

Main Roadmap 🎯

'Arm for System Software Developers - basic course'

'Arm for System Software Developers - advanced course'

Linux kernel for system software developers - basic course

More

Curriculum

All

25 lectures ∙ (4hr 18min)

Published: 
Last updated: 

Reviews

All

3 reviews

5.0

3 reviews

  • cydphj1717님의 프로필 이미지
    cydphj1717

    Reviews 4

    Average Rating 5.0

    5

    100% enrolled

    I have completed all three parts (TrustZone, Virtualization, and Memory (Memory Model, Cache, MMU)). Especially in the memory section, the vague and abstract memory-related concepts I previously had in my head were organized sequentially, down to the register level. Thank you for explaining it so kindly!!

    • aceoftop1975님의 프로필 이미지
      aceoftop1975

      Reviews 121

      Average Rating 5.0

      5

      100% enrolled

      2024/7/30/Tue 07:55 I listened to the lecture well. I always gain new knowledge every time I listen to the lecture. Thank you for explaining such difficult content so well.

      • heecheolsong님의 프로필 이미지
        heecheolsong

        Reviews 23

        Average Rating 5.0

        5

        32% enrolled

        austinkim's other courses

        Check out other courses by the instructor!

        $26.40