Inflearn brand logo image
Inflearn brand logo image
Inflearn brand logo image
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) 2 reviews

114 learners

  • austinkim
저자 직강
이론 중심
임베디드리눅스
트러블슈팅
cortex-a
ARM Architecture
armv8
memory-management

What you will learn!

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

<Notice>

1. 30% discount coupon issued when 300 people sign up

To celebrate reaching 300 students (Part 1 and 2), we are issuing a 30% discount coupon. Thank you. It is for the first 300 people.

2. Roadmap Guide 🎯

This lecture is a roadmap 'Arm - advanced course for system software developers ' This lecture is included in .


If you want to learn Arm architecture (Armv8-A, Armv7-A) systematically , it is recommended to use the roadmap ( 30% discount on all lectures ). For reference, the Arm architecture roadmap (all author lectures) is Basic Course and Advanced Course It consists of two parts.


In the latest system software
The most important Arm architecture

The Arm processors used in smartphones, AI SoC system semiconductors, electric vehicles (autonomous driving, infotainment), cloud servers, and MacBooks are all Armv8-A based 64-bit Cortex-A processors (Cortex-A53, Cortex-A57, Cortex-A72, etc.). The Armv8-A architecture can be seen as the most needed basic knowledge in the current system software industry.

The first step to becoming an advanced system SW developer!
Understanding Memory Management 🙋‍♂


However, in order to become an advanced system software developer, you must have a good understanding of how to manage memory, which is one of the main functions that make up the Arm architecture. The core of how to manage memory is ' Memory Management (MMU) ', 'Cache Operation Principles', and ' Memory Model and Barrier ' .
One of the most important features that a system software developer should know is the 'Memory Management Unit (MMU)' related to the virtual memory system .


Why should we learn ' Memory Management Unit (MMU) '?

1⃣ First, when bringing up or developing a device driver in an RTOS or Linux kernel-based system, you cannot properly proceed with development if you do not understand the concept of virtual memory. When bringing up a board, there may be a situation where you need to set the properties or permissions of a virtual address, and the concepts needed for this are the concepts of virtual memory and MMU.

2⃣ Second, the basic knowledge that can help you understand memory aborts, page faults, and how dimension paging works is virtual memory and MMU. If you don’t know how to manage virtual addresses as pages, you won’t be able to properly understand these operating principles.

3⃣ Third, virtual memory and MMU are basic knowledge that can help you understand the operating principles inside the Arm processor in detail.

4⃣ Fourth, in order to do well in a technical interview related to system software development, you need to understand the concept of ‘virtual memory and MMU’. One of the questions that comes up frequently in interviews for experienced developers is related to ‘virtual memory and MMU’.

Most system software developed recently runs in a virtual memory system environment, so knowledge related to this is essential.

Know-how of system SW developers
It's easy and detailed!


This lecture is a direct lecture by the author of 'Structure and Principles of Arm Architecture for System Software Development' , and covers in detail the memory management (MMU) of the Arm architecture (Armv8-A), which is the core of the memory system.
This lecture took the most time to produce among all the author-directed lectures I have produced so far.


Differentiating Points of the Lecture

1⃣ This lecture thoroughly explains the core contents of virtual memory, virtual addresses, and the virtual memory system supported by the Arm architecture.

2⃣ When writing the book 'Structure and Principles of Arm Architecture for System Software Development', there were many contents that could not be covered due to space limitations, but all of this is explained in detail in the lecture.

3⃣ Assembly instructions and related system registers that set the detailed operation of the MMU are explained in detail with example codes of the Linux kernel and XEN hypervisor.

4⃣ Using debugging tools such as TRACE32 and crash-utility, we explain in detail the main bit fields of the system registers and the flow of exception handling.

If you successfully complete this course, you will be able to grow into an advanced system software developer. I hope you will upgrade your career with a higher salary and position.

Learn about these things 📕

Describes in detail the main functions and flow that make up memory management.


Explains how to leverage the content related to memory management from a practical development perspective.


Before explaining the main functions of the MMU, we first need to understand the concept of virtual memory.
Describes in detail the major elements and structures that make up the virtual memory system.

It explains in detail the structure and execution flow of the MMU and the main functions that make up the MMU.
It explains the detailed operation principles of converting virtual addresses to physical addresses and the structure of multi-level pages.

It explains the detailed operation principles of converting virtual addresses to physical addresses and the structure of multi-level pages.

Provides detailed information about the assembly instructions that are executed when setting the range of virtual addresses and the functionality of the MMU.

We will explain in detail the main bit fields that make up the TCR_EL1 register using the TRACE32 debugging program. We will analyze and practice various system registers that can provide information related to faults using the debugging program called crash-utility.

Based on my experience writing books and giving lectures
More in-depth and detailed than anyone else!

The author of the unprecedented 'Arm Architecture (Armv8-A, Armv7-A)' and 'Linux Kernel' books in the domestic system software field. He is also a working developer who knows the latest system software trends (electric vehicles, system semiconductors - system software) the best, and an educator who is most active in spreading knowledge in the system software field.

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

  • Author of 'Learning the Structure and Principles of the Linux Kernel through Debugging' ( 2021, Korean Academy of Sciences Outstanding Book Award )

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

  • June 2022, Korea Computer Conference (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 the 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 students

<Structure and Principles of Arm Architecture for System Software Development - Part 1/2 Author's Lecture>


Things to note before taking the class

Player Knowledge and Notes

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

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

  • It would be helpful 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

5,437

Learners

148

Reviews

84

Answers

4.9

Rating

21

Courses

글로벌 저자 & 리눅스 시스템 소프트웨어 개발자 (Arm, RISC-V 아키텍처)

국내 시스템 소프트웨어 분야에서 전무후무한! 'Arm 아키텍처(Armv8-A, Armv7-A)'와 '리눅스 커널' 책을 쓴 저자(2권의 책 모두 대한민국 학술원 우수도서에 선정)이며, 국내 최초로 해외 출판사(Packt)를 통해 "Reverse Engineering Armv8-A Systems" 책(영어)을 집필한 글로벌 저자입니다. 무엇보다 최신 시스템 소프트웨어 트렌드(전기자동차, 시스템 반도체- 시스템 소프트웨어)를 가장 잘 알고 있는 현업 개발자입니다. 또한 시스템 소프트웨어 분야에서 가장 지식 전파 활동을 활발하게 하는 교육자입니다. 

  • 'Reverse Engineering Armv8-A Systems: A practical guide to Kernel, Firmware, and TrustZone analysis' 책(영어) 저자, (Packt 출판사)

  • '시스템 소프트웨어 개발을 위한 Arm 아키텍처의 구조와 원리'(2024년, 대한민국 학술원 우수도서상) 저자

  • '디버깅을 통해 배우는 리눅스 커널의 구조와 원리' (2021년, 대한민국 학술원 우수도서상) 저자

  • '프로그래머스 데브 코스: 리눅스 시스템 및 커널 전문가' 메인 강사

  • 2022년 6월, 한국컴퓨터종합학술대회 (KCC2022) - 튜토리얼 발표 [ftrace를 이용해 리눅스 커널 정복하기]

  • LG전자 '리눅스 커널' 및 'Armv8 아키텍처' 사내 강사(국내 및 해외 개발자 포함) - (2020년~현재)

국내에서 어느 누구보다 리눅스 커널과 Arm 아키텍처(Armv8-A, Armv7-A)를 잘 설명할 수 있는 교육자라고 자신있게 말씀드릴 수 있습니다.

강의문의 : austindh.kim@gmail.com

주요 로드맵 🎯

'시스템 소프트웨어 개발자를 위한 Arm - basic course'

'시스템 소프트웨어 개발자를 위한 Arm - advanced course'

시스템 소프트웨어 개발자를 위한 Linux kernel - basic course

Curriculum

All

25 lectures ∙ (4hr 18min)

Published: 
Last updated: 

Reviews

All

2 reviews

5.0

2 reviews

  • cydphj1717님의 프로필 이미지
    cydphj1717

    Reviews 4

    Average Rating 5.0

    5

    100% enrolled

    Tôi đã học xong cả 3 phần (TrustZone, ảo hóa, bộ nhớ (mô hình bộ nhớ, cache, MMU)). Đặc biệt là phần bộ nhớ, những kiến thức trừu tượng mơ hồ mà tôi đã biết trước đây đã được sắp xếp một cách tuần tự và chính xác đến từng đơn vị thanh ghi. Cảm ơn vì đã giải thích một cách tận tình!!

    • aceoftop1975님의 프로필 이미지
      aceoftop1975

      Reviews 94

      Average Rating 5.0

      5

      100% enrolled

      2024/7/30/Thứ ba 07:55 Tôi rất thích bài giảng. Tôi luôn có được kiến ​​thức mới mỗi khi tôi nghe bài giảng. Cảm ơn bạn đã giải thích một chủ đề khó khăn như vậy rất tốt.

      $26.40

      austinkim's other courses

      Check out other courses by the instructor!