강의

멘토링

커뮤니티

Hardware

/

Embedded IoT

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

The author of "Structure and Principles of Arm Architecture for System Software Development" will properly guide you through 'Memory Management (MMU)', the very foundation of system software and the core of the latest Arm architectures (Armv8-A, Armv7-A)!

(5.0) 3 reviews

125 learners

Level Basic

Course period Unlimited

  • austinkim
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 the Memory Management (MMU) in Arm architecture (Armv8-A).

  • You can learn how Arm architecture's Memory Management (MMU) related features are used in actual projects.

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

  • I can answer questions about Memory Management (MMU) well in interviews.

1. 30% Discount Coupon Issued for Breaking 300 Students

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

2. Roadmap Guide 🎯

This lectureRoad Map'Arm for System Software Developers - Advanced Course'is included in the course.


For those who want to learn Arm architecture (Armv8-A, Armv7-A) systematically, it would be good to utilize the roadmap (30% discount on all courses). For reference, the Arm architecture roadmap (all courses taught directly by the author) isBasic Course andAdvanced CourseIt consists of 2 parts.


In the latest system software
The most important Arm architecture

Not only smartphones, but also AI SoC system semiconductors, electric vehicle Automotive (autonomous driving, infotainment), and Arm processors used in cloud servers and MacBooks are all Armv8-A based 64-bit Cortex-A processors (Cortex-A53, Cortex-A57, Cortex-A72, etc...). Currently, the content that requires the most fundamental knowledge needed in the system software industry can be considered the Armv8-A architecture.

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


However, to become an advanced system software developer, you need to have a good understanding of how memory is managed among the key features that make up the Arm architecture. The core of memory management consists of 'Memory Management Unit (MMU)', 'cache operation principles', and 'memory model and barriers'.
Among these, one of the most important features that system software developers need to know is the 'Memory Management Unit (MMU)' related to virtual memory systems.


'Memory Management (MMU)' - Why should we learn it?

1⃣ First, when bringing up systems based on RTOS or Linux kernel or developing device drivers, you cannot proceed with development properly without a good understanding of virtual memory concepts. When bringing up a board, situations may arise where you need to set the attributes or permissions of virtual addresses, and the concepts of virtual memory and MMU are necessary for this.

2⃣ Second, the foundational knowledge for understanding memory abort, page fault, and demand paging operation mechanisms is virtual memory and MMU. Without a proper understanding of how virtual addresses are managed in pages, you cannot properly grasp these operational principles.

3⃣ Third, virtual memory and MMU are foundational knowledge that allows you to understand the detailed operational principles inside Arm processors.

4⃣ Fourth, to perform well in technical interviews related to system software development, you must have a good understanding of 'the concepts of virtual memory and MMU'. One of the frequently asked questions in experienced developer interviews is content related to 'virtual memory and MMU'.

Since most system software developed recently runs in virtual memory system environments, knowledge related to this is essential.

The know-how of system SW developers
presented in an easy and detailed way!


This course is a direct lecture by the author of 'Structure and Principles of Arm Architecture for System Software Development', covering in detail the Memory Management Unit (MMU) of Arm architecture (Armv8-A), which is the core of memory systems.
This lecture took the most time to produce among all the author's direct lectures I have created so far.


⭐️ Course Differentiation Points

1⃣ In this lecture, we thoroughly explain all the key concepts of virtual memory, virtual addresses, and the virtual memory system supported by the Arm architecture in an easy-to-understand way.

2⃣ When writing the book 'Structure and Principles of Arm Architecture for System Software Development', there was a lot of content that couldn't be covered due to space limitations, but all of this will be included in the lectures with detailed explanations.

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

4⃣ Provides detailed explanations of key bit fields in system registers and the flow of exception handling using debugging tools like TRACE32 and crash-utility.

If you digest this course well, you can grow into an advanced system software developer. I support you in upgrading your career to higher salaries and positions.

You'll learn this kind of content 📕

It provides a detailed explanation of the main functions and flow that constitute memory management.


Explains how to utilize memory management-related content from a practical development perspective.


Before explaining the main functions of the MMU, it is necessary to first understand the concept of virtual memory.
This section provides a detailed explanation of the key components and structure that make up a virtual memory system.

This section provides a detailed explanation of the MMU's structure, execution flow, and the main functions that comprise the MMU.
It explains the detailed operating principles of converting virtual addresses to physical addresses along with the structure of multi-level pages.

This explains the detailed operational principles of converting virtual addresses to physical addresses along with the structure of multi-level pages.

This section provides a detailed introduction to the assembly instructions executed when setting the range of virtual addresses and the functions of the MMU.

This course provides a detailed explanation of the major bit fields that make up the TCR_EL1 register while using the TRACE32 debugging program. It analyzes various system registers that provide fault-related information through a debugging program called crash-utility and includes hands-on practice.

Based on book writing/lecture experience
Deeper and more detailed than anyone else!

In the domestic system software field, I am the unprecedented author who wrote books on 'Arm Architecture (Armv8-A, Armv7-A)' and 'Linux Kernel'. I am also a current industry developer who has the best understanding of the latest system software trends (electric vehicles, system semiconductors - system software), and an educator who is most actively engaged in knowledge dissemination activities in the system software field.

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

  • 'Learning Linux Kernel Structure and Principles Through Debugging' (2021 Korea Academy 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' In-house Instructor (including domestic and overseas developers) - (2020~2024)


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

Vivid course reviews left by learners


Pre-enrollment Reference Information

Prerequisites and Important Notes

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

  • You need to know the basic concepts of assembly instructions and registers.

  • It would be good to have an understanding of multi-core systems and system architecture.

Recommended for
these people

Who is this course right for?

  • Junior developer eager to develop skills in system software, including system semiconductors (fabless) and the electric vehicle sector (autonomous driving, infotainment).

  • Job seeker who wants to do system software development in the field of system semiconductor (fabless) and electric vehicles.

  • System software developer (system semiconductors, electric vehicles) seeking practical debugging methods leveraging Arm architecture features.

  • Developers from other fields who want to transition their careers to the system software field

  • University student aiming for graduate school in the system software field (memory, file system, operating system)

Need to know before starting?

  • Computer Architecture

  • Operating System

Hello
This is

6,220

Learners

233

Reviews

93

Answers

4.9

Rating

22

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

Curriculum

All

25 lectures ∙ (4hr 18min)

Published: 
Last updated: 

Reviews

All

3 reviews

5.0

3 reviews

  • heecheolsong님의 프로필 이미지
    heecheolsong

    Reviews 19

    Average Rating 5.0

    5

    32% enrolled

    • 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 114

        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.

        $26.40

        austinkim's other courses

        Check out other courses by the instructor!